Научная литература
booksshare.net -> Добавить материал -> Физика -> Александров Е.К. -> "Микропроцессорные системы" -> 52

Микропроцессорные системы - Александров Е.К.

Александров Е.К., Грушвицкий Р.И., Купрянов М.С., Мартынов О.Е. Микропроцессорные системы — Спб.: Политехника, 2002. — 935 c.
ISBN 5-7325-0516-4
Скачать (прямая ссылка): mikroprocessorniesistemi2002.djvu
Предыдущая << 1 .. 46 47 48 49 50 51 < 52 > 53 54 55 56 57 58 .. 528 >> Следующая

SBB r/m(8,16,32), r(8,16,32) r/m(8,16,32) - r(8,16,32) - CF ->
r/m(8,16,32)
r(8,16,32), r/m(8,16,32) r(8,16,32) - r/m(8,16,32) - CF -h
r(8,16,32)
r/m(8,16,32), im(8,16,32) r/m(8,16,32) - im(8,16,32) - CF ->
r/m(8,16,32)
r/m(16,32), im8 r/m(16,32) - im8(3HaK) - CF -* r/m(8,16,32)
EAX(AX.AL), im( 16,8) EAX(AX.AL) - im32(16,8) - CF -h EAX(AX.AL)
CMP r/m(8,16,32), r(8,16,32) r/m(8,16,32) - r(8,16,32), установка
OF,SF,ZF,AF,PF,CF
r(8,16,32), r/m(8,16,32) r(8,16,32) - r/m(8,16,32), установка
OF,SF,ZF,AF,PF,CF
r/m(8,16,32), im(8,16,32) r/m(8,16,32)-im(8,16,32), установка
OF,SF,ZF,AF,PF,CF
r/m(16,32), im8 r/m(16,32) - 1т8(знак), установка
OF,SF,ZF,AF,PF,CF
EAX(AX.AL), im(16,8) EAX(AX,AL)-im32( 16,8), установка F,SF,ZF,AF,
PF,CF
MUL AL, r/m8 AL * r/m8 -т AX AX* r/m16 * EAX EAX * r/m32 EDX : EAX
IMUL r/m(8,16,32) AL(AX,EAX) * r/m(8,16,32) -h AX(EAX,EDX: EAX)
r(16,32), r/m(16,32) r(16,32) * г/гп(16,32)-н r( 16,32)
r(16,32), im(16,32) r( 16,32) * im( 16,32) -h r(16,32)
r(16,32), im8 r(16,32) * ип8(знак) -> r(16,32)
r( 16,32), r/m(16,32),im8 r( 16,32) * r/m(16,32) * im8(3HaK) -h
r(16,32)
r(16,32),r/m( 16,32),im( 16,32) r( 16,32) * r/m(16,32) * im(
16,32) -н г(16,32)
DIV AL, r/m8 AX / r/m8 -> AL, остаток -> AH
AX, r/m16 DX : AX / r/m16 -> AX, остаток -> DX
EAX, r/m32 EDX : EAX / r/m32 -> EAX, остаток -> EDX
СИСТЕМА КОМАНД: ОПЕРАЦИИ НАД ЦЕЛЫМИ ЧИСЛАМИ
Продолжение табл. 2.16 >
Синтаксис команды Операция
IDIV AL, r/m8 АХ, г/т16 ЕАХ, г/т32 AX / r/m8 -> AL, остаток -> AH DX
: AX / r/m 16 -> AX, остаток -> DX EDX : EAX / r/m32 -> EAX, остаток ->
EDX
CBW С WOE CWD CDQ Знаковое расширение AL -> AX Знаковое расширение
AX -> EAX Знаковое расширение AX -" DX : AX Знаковое расширение EAX ->
EDX : EAX
AAA AAS ААМ AAD Десятичная коррекция после сложения (команда ADD) двух
неупакованных двоично-десятичных чисел Десятичная коррекция после
вычитания (команда SUB) двух неупакованных двоично-десятичных чисел
Десятичная коррекция после умножения (команда MUL) двух неупакованных
двоично-десятичных чисел Десятичная коррекция после деления (команда DIV)
двух неупакованных двоично-десятичных чисел
DAA DAS Десятичная коррекция после сложения (команды ADD, INC) двух
упакованных двоично-десятичных чисел Десятичная коррекция после вычитания
(команды SUB, DEC) двух упакованных двоично-десятичных чисел
INC r/m(8,16,32) r(16,32) r/m(8,16,32) + 1 r/m{8,16,32) r(16,32) + 1 ->
r{16,32)
DEC r/m(8,16,32) r(16,32) r/m(8,16,32) - 1 r/m(8,16,32) r(16,32) - 1 ->
r( 16,32)
NEG r/m(8,16,32) - r/m(8,16,32) -> r/m(8,16,32)
XADD r/m(8,16,32), r(8,16,32) r/m(8,16,32) <-> r(8,16,32)
r/m(8,16,32) + r(8,16,32) -> r/m(8,16,32)
CMPXCHG r/m(8,16,32),r(8,16,32) r(8,16,32) -"r/m(8,16,32), ZF=1, если
(AL,AX,EAX)=r(8,16,32) r/m(8,16,32) (AL, AX,EAX), ZF=0, если (AL.AX.EAX)
j* r(8,16,32)
CMPXCHG8B r/m(64) ECX:EBX -> r/m64, ZF=1, если EDX:EAX = r(m64),
расширение нулями EDX:EAX -у r/m64, ZF=0, если EDX:EAX ^ r(m64),
расширение нулями
Команды сложения, вычитания (ADD, SUB) и сложения, вычитания с
переносом/заемом (ADC, SBB), учитывающие значение признака CF, имеют
несколько модификаций для различных вариантов адресации операндов.
Отметим, что при операциях, использующих 16- или 32-разрядный операнд,
хранящийся в регистре или памяти, и непосредственно заданный 8-раз-рядный
операнд im8, производится его знаковое расширение до разрядности слова
или двойного слова.
При выполнении команды сравнения СМР производится вычитание содержимого
адресуемых регистров и ячеек памяти без их изменения и устанавливаются
значения признаков в регистре EFLAGS, определяющих результат сравнения.
При равенстве операндов устанавливается значение ZF = 1, при неравенстве-
ZF = 0. Если при сравнении операндов
ПРОЦЕССОРЫ ОБЩЕГО НАЗНАЧЕНИЯ И СИСТЕМЫ НА ИХ ОСНОВЕ
без знака уменьшаемое выше (больше) вычитаемого, то устанавливается
значение CF = О, если уменьшаемое ниже (меньше) вычитаемого, то CF = 1.
Если при сравнении операндов со знаком уменьшаемое больше вычитаемого, то
устанавливаются значения SF = OF = 0 или SF = OF = 1; если меньше, то SF
= О, OF = 1 или SF = 1, OF = 0.
Для умножения 8-, 16- или 32-разрядных операндов используются
одноадресная команда MUL и команда IMUL, имеющая одно-, двух- или
трехадресную форму. Команда MUL служит для умножения беззнаковых
операндов, команда IMUL -для умножения операндов со знаком.
В одноадресных командах MUL и IMUL один из сомножителей и произведение
размещаются в аккумуляторе: AL, АХ или ЕАХ в соответствии с разрядностью
операндов. Так как разрядность произведения может вдвое превышать
разрядность операндов, то для его размещения производится расширение
аккумулятора AL -> АХ, АХ -> DX:AX, ЕАХ -> EDX:EAX. При этом 16-разрядное
произведение 8-разрядных операндов заносится в AL (младшие разряды), АН
(старшие разряды), 32-разрядное произведение - в АХ (младшие разряды), DX
(старшие разряды), 64-разрядное произведение - в ЕАХ (младшие разряды),
Предыдущая << 1 .. 46 47 48 49 50 51 < 52 > 53 54 55 56 57 58 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

Есть, чем поделиться? Отправьте
материал
нам
Авторские права © 2009 BooksShare.
Все права защищены.
Rambler's Top100

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed