Реферат: 80386 процессор

cb, cw, cd, cp Величина размером 1 байт (cb), 2 байта (cw), 4 байта (cd) или 6 байт (cp) следует за кодом операции и определяет относительный адрес, а также, возможно новое значе­ние программного сегмента.

ib, iw, id Непосредственный операнд размером 1 байт (id), 2 байта (iw) или 4 байта (id) следует за байтами кода опера­ции, MOD R/M или SIB. Код операции указывает, является ли опе­ранд знаковой величиной.

imm8 Непосредственный операнд размером 1 байт. Величина imm8 является знаковой величиной между -128 и +127 включитель­но. В командах, где размер второго операнда составляет слово или двойное слово, величина imm8 расширяется до слова или двойного слова. Старшие байты расширенной величины заполняются старшим битом непосредственного операнда.

imm16 Непосредственный операнд размером 1 слово. Исполь­зуется в командах с атрибутом размера операнда 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 Соответственно одно-, двух- и четырех­байтовый операнд. Представляет собой содержимое либо памяти, либо регистра.

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 после вычитания.

К-во Просмотров: 939
Бесплатно скачать Реферат: 80386 процессор