Записывает значение из порта, номер которого задаётся источником, в приёмник.
Приёмником может быть регистр AL, AX или EAX.
Источником может быть:
— непосредственный операнд — номер порта от 0 до 255;
— регистр DX, содержащий номер порта.
OUT приёмник, источник записать данные в порт 8086
Записывает значение из источника в порт, номер которого задаётся приёмником.
Источником может быть регистр AL, AX или EAX.
Приёмником может быть:
— непосредственный операнд — номер порта от 0 до 255;
— регистр DX, содержащий номер порта.
CBW преобразование байта AL в слово AX 8086
CWD преобразование слова AX в двойное слово DX:AX 8086
CWDE преобразование слова AX в двойное слово EAX 80386
CDQ преобразование двойного слова EAX в четверное EDX:EAX 80386
Во всех четырёх командах расширение выполняется путём установки всех разрядов старшей половины результата равными старшему биту исходного числа. Таким образом сохраняется знак числа.
Примечание. CBW
и CWDE
— две мнемоники одной команды с
кодом 98H, а CWD
и
CDQ
— две мнемоники одной команды с кодом
99H. Их интерпретация определяется тем, в каком режиме
они выполняются. Если команда CWDE
или CDQ
используется в 16-разрядном режиме, ассемблер
записывает перед ней префикс изменения размерности операнда.
MOVSX приёмник, источник пересылка с расширением знака 80386
Копирует содержимое одно- или двухбайтного источника в соответственно двух- или четырёхбайтный приёмник, расширяя знак аналогично вышеприведённым командам.
Источником может быть:
— регистр общего назначения;
— память.
Приёмником может быть регистр общего назначения.
MOVZX приёмник, источник пересылка с заполнением нулями 80386
Копирует содержимое одно- или двухбайтного источника в соответственно двух- или четырёхбайтный приёмник, заполняя разряды старшей половины приёмника нулями.
Источником может быть:
— регистр общего назначения;
— память.
Приёмником может быть регистр общего назначения.
Например, команда
MOVZX AX, BL
эквивалентна паре команд
MOV AL, BL
MOV AH, 0
Примечание. Для обнуления регистров грамотные программисты используют не команду MOV, а команду XOR — «исключающее или», которая описана ниже. Например, вместо
MOV AX, 0
используется
XOR AX, AX
Вторая из приведённых команд, во-первых, имеет более короткий код, за отсутствием необходимости хранить значение непосредственного операнда, а во-вторых, зачастую, быстрее выполняется.
XLAT [таблица] трансляция по таблице 8086
XLATB [таблица] то же 8086
Помещает в регистр AL байт из одномерной таблицы в памяти по адресу DS:BX в 16-разрядном режиме или DS:EBX — в 32-разрядном со смещением относительно начала таблицы, равным значению в AL. В качестве операнда можно указать:
— смещение таблицы или её имя, которое по общему правилу ассемблер заменяет на смещение. Такой операнд считается комментарием и игнорируется ассемблером;
— сегментный регистр и смещение или имя таблицы. Смещение или имя игнорируется, как и в предыдущем случае, но соответственно указанному сегментному регистру ассемблер генерирует префикс замены сегмента и в результате смещение по регистру BX или EBX отсчитывается от другой базы.
LEA приёмник, источник вычисление эффективного адреса 8086
Вычисляет эффективный адрес источника и помещает его в приёмник.
Источником может быть память.
Приёмником может быть 16- или 32-разрядный регистр.
Команда предназначена для вычисления адреса переменной, описанной сложным способом адресации.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.