←предыдущая следующая→
1 2 3 4 5 6 7 8
Исполь-
зуется в командах с атрибутом размера операнда 16 разрядов.
Может иметь значение от -32768 до +32767 включительно.
imm32 Непосредственный операнд размером 1 двойное слово.
Используется в командах с атрибутом размера операнда 32 разря-
да. Может иметь значение от -2147483648 до +2147483647 включи-
тельно.
m8 Байт памяти. Адресуется через регистры DS:SI или ES:DI.
m16 Слово памяти.
m32 Двойное слово памяти.
moffs8, moffs16, moffs32 Относительный адрес. Простая пе-
ременная типа BYTE, WORD или DWORD, используемая некоторыми
вариантами команды MOV. Фактический адрес записывается в виде
простого смещения относительно базы сегмента. Число при аббре-
виатуре "moffs" указывает разрядность смещения определяемую
аттрибутом размера адреса в команде. Байт MOD R/M в команде не
используется.
ptr16:16, ptr16:32 Указатель FAR (дальний). Обычно он на-
ходится в другом программном сегменте по отношению к команде.
Обозначение 16:16 говорит о том, что указатель состоит из двух
частей. Величина слева от двоеточия - это смещение в сегменте
приемнике. Величина справа от двоеточия - это 16-разрядный се-
лектор или величина, предназначенная для регистра программного
сегмента. Если атрибут размера операнда команды равен 16,
используйте 16:16. Для 32-разрядного атрибута используйте
16:32.
r8 Один из байтовых регистров: AL, CL, DL, BL, AH, CH,
DH, BH.
r16 Один из однословных регистров: AX, CX, DX, BX, SP,
BP, SI, DI.
r32 Один из двухсловных регистров: EAX, ECX, EDX, EBX,
ESP, EBP, ESI, EDI.
rel8 Смещение для перехода в диапазоне от 128 байтов пе-
ред концом команды до 127 байтов после конца команды.
rel16, rel32 Смещение для перехода в том же программном
сегменте, что и ассемблируемая команда, rel16 относится к ко-
мандам с атрибутом размера операнда 16 разрядов. rel32 от-
носится к командам с атрибутом размера операнда 32 разряда.
r/m8, r/m16, r/m32 Соответственно одно-, двух- и четырех-
байтовый операнд. Представляет собой содержимое либо памяти,
- 11 -
либо регистра.
rrr Когда обозначение rrr появляется в колонке двоичного
эквивалента кода операции, оно указывает конкретный адресуемый
регистр.
000 = AX/EAX 100 = SP/ESP
001 = CX/ECX 101 = BP/EBP
010 = DX/EDX 110 = SI/ESI
011 = BX/EBX 111 = DI/EDI
Sreg Регистр сегмента. Кодирование сегментных регистров в
поле reg: ES=0, CS=1, DS=3, FS=4, GS=5.
5.3. Список команд
AAA ASCII-коррекция после сложения.
Команда AAA преобразует содержимое регистра AL в неупако-
ванное десятичное число и сбрасывает его старшие четыре разря-
да. Она должна всегда следовать за сложением двух неупакован-
ных десятичных операндов в AL. Если возникает перенос, уста-
навливается флаг CF и происходит инкремент в регистре AH.
AAD ASCII-коррекция регистра AX перед делением.
Команда AAD преобразует число в регистрах AH и AL, подго-
тавливая деления двух неупакованных десятичных операндов так,
чтобы полученное в результате деления частное было бы правиль-
ным неупакованным десятичным числом. В регистре AH должна на-
ходится старшая цифра, в AL - младшая. Команда AAD корректиру-
ет число и помещает результат в AL. Регистр AH содержит 0.
AAM ASCII-коррекция в регистре AX после умножения.
Команда AAM корректирует результат умножения двух неупа-
кованных десятичных чисел. Эта команда должна всегда следовать
за умножением двух десятичных цифр с целью образования пра-
вильного десятичного результата. Старшая цифра помещается в
регистр AH, младшая - в AL.
AAS ASCII-коррекция регистра AL после вычитания.
Команда AAS преобразует содержимое регистра AL в неупако-
ванную десятичную цифру и заполняет нулями старшие четыре раз-
ряда. Эта команда должна всегда следовать за вычитанием одного
неупакованного десятичного операнда из другого в AL. Флаг CF
устанавливается, а при наличии займа выполняется декремент в
регистре AH.
- 12 -
ADC Сложение с переносом целых чисел.
Команда ADC суммирует операнды, прибавляет 1, если уста-
новлен флаг CF, и помещает результат по адресу назначения. Ес-
ли флаг CF сброшен, команда ADC выполняет ту же операцию, что
и ADD. Комбинация команды ADD и нескольких команд ADC позволя-
ет складывать числа, содержащие более 32 разрядов.
ADD Сложение целых чисел.
В результате выполнения команды операнд-приемник заменя-
ется суммой обоих операндов (источника и приемника). При нали-
чии переполнения устанавливается флаг CF.
AND Логическое И.
Команда AND используется для сброса битов, указанных
пользователем, например бита четности во входном потоке кодов
ASCII от терминала. Будучи использована совместно с командой
сравнения, команда AND позволяет убедиться, что указанные биты
установлены.
ARPL Коррекция в селекторе уровня привилегий инициато-
ра запроса.
Команда ARPL используется системными программами для
обеспечения правильности передачи подпрограмме селекторов в
качестве параметров. Селекторы не должны требовать больше при-
вилегий, чем разрешено инициатору запроса.
В команде ARPL используются два операнда. первый предс-
тавляет собой 16-разрядный регистр или слово памяти, содержа-
щее значение селектора. В качестве второго операнда обычно
выступает регистр, содержащий значение селектора программного
сегмента CS инициатора запроса.
BOUND Проверка индекса массива на выход за границы.
Команда BOUND проверяет, лежит ли знаковая величина, на-
ходящаяся в заданном регистре, внутри заданных границ. Если
значение этой величины меньше нижней границы или больше верх-
ней, возникает прерывание 5. Каждое из значений верхней и ниж-
ней границ может быть словом или двойным словом.
BSF прямое сканирование битов.
Эта команда сканирует слово или двойное слово в поисках
бита, равного 1, и заносит в регистр номер первого установлен-
- 13 -
ного бита. Сканируемая строка может находиться как в регистре,
так и в памяти. Если все слово равно 0, т.е. в нем нет единич-
ных битов, устанавливается флаг ZF. Если единичный бит найден,
флаг ZF сбрасывается.
BSR Обратное сканирование битов.
Эта команда действует также как и BSF, но начинает скани-
рование со старшего бита. Это новая команда, специфичная для
МП 80386.
BT Проверка бита.
Команда BT служит для определения того, установлен или
нет определенный бит в битовом массиве. Значение проверяемого
бита копируется во флаг CF. Это новая команда, специфичная для
МП 80386.
BTC Проверка и инверсия бита.
Команда BTC проверяет указанный бит, копирует его в CF и
инвертирует найденный бит. Это новая команда, специфичная для
МП 80386.
BTR Проверка и сброс
←предыдущая следующая→
1 2 3 4 5 6 7 8
|
|