Ассемблер для Windows



         

Команды пересылки данных



Команды пересылки данных

MOV dest,src

Пересылка данных в регистр из регистра, памяти или непосредственного операнда. Пересылка данных в память из регистра или непосредственного операнда. Например, MOV AX,10; MOV EBX,ESI; MOV AL, BYTE PTR MEM.

XCHG r/m,r

Обмен данными между регистрами или регистром и памятью. Команда "память - память" в микропроцессоре Intel не предусмотрена.

BSWAP reg32

Перестановка байт из порядка "младший - старший" в порядок "старший - младший". Разряды 7-0 обмениваются с разрядами 31-24, а разряды 15-8 с разрядами 23-16. Команда появилась в 486-м микропроцессоре.

MOVSXB r,r/m

Пересылка байта с его расширением до слова или двойного слова с дублированием знакового бита: MOVSXB AX,BL; MOVSXB EAX,byte ptr mem. Команда появилась с 386-ого процессора.

MOVSXW r,r/m

Пересылка слова с расширением до двойного слова с дублированием знакового бита: MOVSXW EAX,WORD PTR MEM. Команда появилась с 386-ого процессора.

MOVZXB r,r/m

Пересылка байта с его расширением до слова или двойного слова с дублированием нулевого бита: MOVSXB AX,BL; MOVSXB EAX,byte ptr mem. Команда появилась с 386-ого процессора.

MOVZXW r,r/m

Пересылка слова с расширением до двойного слова с дублированием нулевого бита: MOVZXW EAX,WORD PTR MEM. Команда появилась с 386-ого процессора.

XLAT

Загрузить в AL байт из таблицы в сегменте данных, на начало которой указывает EBX (ВХ), при этом начальное значение AL играет роль смещения.

LEA r,m

Загрузка эффективного адреса. Например, LEA EAX,MEM; LEA EAX,[EBX]. Данная команда обладает магичаскими свойствами, позволяющими эффективно выполнять арифметические действия. Например, команда LEA EAX,[EAX*8] умножает содержимое EAX на 8, LEA EAX,[EAX][EAX*4] на 5, Команда LEA ECX,[EAX][ESI+5] эквивалента 3(!) командам MOV ECX,EAX/ADD ECX,ESI/ADD ECX,5.

LDS r,m

Загрузить пару DS:reg из памяти. Причем вначале идет слово (или двойное слово), а в DS - последующее слово.

LES r,m

Аналогично предыдущему, но для пары ES:reg.

LFS r,m

Аналогично предыдущему, но для пары FS:reg.

LGS r,m

Аналогично предыдущему, но для пары GS:reg.

LSS r,m

Аналогично предыдущему, но для пары SS:reg.

SETcc r/m

Проверяет условие "cc", если выполняется, то первый бит байта устанавливается в 1, в противном случае в 0. Условия аналогичны в условных переходах (je, jc). Например, SETE AL. Команда появилась с 386-ого микропроцессора.

LAHF

Загрузить флаги в АН (устарела).

SAHF

Сохранить АН в регистре флагов (устарела).




Содержание  Назад  Вперед