I. КОМАНДЫ ПЕРЕСЫЛОК ДАННЫХ




 

КОП Команда Действие команды Комментарии
  88 /r 89 /r 8A /r 8B /r 8C /r 8E /r A0 A1 A2 A3 Обычные пересылки MOV r/m,r8 MOV r/m 16(32),r16(32) MOV r8,r/m8 MOV r16(32),r/m16(32) MOV r/m16,sr MOV sr,r/m16 MOV AL,moffs8 MOV AX(EAX),moffs16(32) MOV moffs8,AL MOV moffs16(32),AX(EAX)   r8®r/m8 r16(32)®r/m16/32 r/m8®r8 r/m16(32)®r16(32) sr®r/m16 r/m16®sr seg:offset®AL seg:offset®AX(EAX) AL®seg:offset AX(EAX)®seg:offset     Флаги не мо-дифицируются
  B0 +rb B8 +rw(rd) C6 /0 C7 /0     E4 ib E5 ib EC ED     E6 ib E7 ib EE EF   8D /r     C5 /r C4 /r 0F B2 /r 0F B4 /r 0F B5 /r     90 +rw(rd) 86 /r 87 /r 0F C0 /r   0F C1 /r   D7   0F C8 /r Обычные пересылки MOV r8,imm8 MOV r16(32),imm16(32) MOV r/m8,imm8 MOV r/m16(32),imm16(32)   Ввод из порта IN AL,imm8 IN AX(EAX),imm8 IN AL,DX IN AX(EAX),DX   Вывод из порта OUT imm8,AL OUT imm8,AX(EAX) OUT DX,AL OUT DX,AX(EAX)     Загрузка эффективного адреса LEA r16(32),m   Загрузка полного указателя адреса   LDS r16(32),m16:16(32) LES r16(32),m16:16(32) LSS r16(32),m16:16(32) LFS r16(32),m16:16(32) LGS r16(32),m16:16(32)   Обмен данными XCHG AX(EAX),r16(32) XCHG r/m8,r8 XCHG r/m16(32),r16(32) XADD r/m8,r8   XADD r/m16(32),r16(32)   Табличное преобразование XLAT m8 (XLATB)     Изменение порядка байт в 32 битовых операндах. BSWAP r32   imm8 ® r8 imm 16(32) ® r16(32) imm 8 ® r/m8 imm16(32) ® r/m16(32)     Port imm8 ® AL Port imm8 ® AX(EAX) Port [DX] ® AL Port [DX] ® AX(EAX)     AL ® Port imm8 AX(EAX) ® Port imm8 AL ® Port [DX] AX(EAX) ® Port[DX]   EA ® r16(32)     m16:16(32) ® DS:r16(32) m16(32) ® ES:r16(32) m16(32) ® SS:r16(32) m16(32) ® FS:r16(32) m16(32) ® GS:r16(32)     r16(32) «AX(EAX) r8 «r/m8 r16(32) «r/m16(32) r/m8 ® temp; temp+r8®r/m8; temp ® r8 r/m16(32)®temp; temp+r16(32) ®r/m16(32); temp®r16(32).   DS:[BX(EBX)+AL] ® AL   r(3b,2b,1b,0b) ® r(0b,1b,2b,3b)   Флаги не мо- дифицируются     Флаги не мо- дифицируются   Флаги не мо- дифицируются   Флаги не мо- дифицируются   Флаги не мо- дифицируются     Флаги модифи- цируются как при команде ADD. (i486)     Флаги не моди- фицируются   Флаги не моди- фицируются (i486)

 

II. КОМАНДЫОБРАБОТКИ ДАННЫХ

Команды арифметических операций

КОП Команда Действие команды Комментарии
Операции сложения   imm8 - знакорас- ширяется до 16(32) бит
04 ib ADD AL,imm8 AL+imm8 ® AL
05 iw(id) ADD AX(EAX),imm16(32) AX(EAX)+imm16(32)® AX(EAX)
80 /0 ib ADD r/m8,imm8 r/m8+imm8 ® r/m8
81 /0 iw(id) ADD r/m16(32),imm16(32) r/m16(32)+imm16(32)→ r/m16(32)
83 /0 ib ADD r/m16(32),imm8 r/m16(32)+imm8 ® r/m16(32)
00 /r ADD r/m8,r8 r8+r/m8 ® r/m8
01 /r ADD r/m16(32),r16(32) r16(32)+r/m16(32) ® r/m16(32)
02 /r ADD r8,r/m8 r8+r/m8 ® r8
03 /r ADD r16(32),r/m16(32) r16(32)+r/m16(32) → r16(32)
Сложение с переносом     imm8-знакорасши- ряется до 16(32)бит
14 ib ADC AL,imm8 AL+imm8+CF ® AL
15 iw(id) ADC AX(EAX),imm16(32) AX(EAX)+imm16(32)+CF ® AX(EAX)
80 /2 ib ADC r/m8,imm8 r/m8+imm8+CF ® r/m8
81 /2 iw(id) ADC r/m16(32),imm16(32) r/m16(32)+imm16(32)+CF ® r/m16(32)
83 /2 ib ADC r/m16(32),imm8 r/m16(32)+imm8+CF ® ® r/m16(32)
10 /r ADC r/m8,r8 r/m8+r8+CF ® r/m8
11 /r ADC r/m16(32),r16(32) r/m16(32)+r16(32)+CF ® ® r/m16(32)
12 /r ADC r8,r/m8 r8+r/m8+CF ® r8
13 /r ADC r16(32),r/m16(32) r16(32)+r/m16(32)+CF ® ® r16(32)
Операции вычитания   imm8-знакорас- ширяется до 16(32) бит
2C ib SUB AL,imm8 AL- imm8®AL
2D iw(id) SUB AX(EAX),imm16(32) AX(EAX) - imm16(32)® ®AX(EAX)
80 /5 ib SUB r/m8,imm8 r/m8-imm8®r/m8
81 /5 iw(id) SUB r/m16(32),imm16(32) r/m16(32)-imm16(32)® ®r/m16(32)
83 /5 ib SUB r/m16(32),imm8 r/m16(32)-imm8® ®r/m16(32)
28 /r SUB r/m8,r8 r/m8-r8 ® r/m8  
29 /r SUB r/m16(32),r16(32) r/m16(32)-r16(32) ® ® r/m16(32)
2A /r SUBr8,r/m8 r8-r/m8 ® r8
2B /r SUB r16(32),r/m16(32) r16(32)-r/m16(32)® →r16(32)
Вычитание с заемом     imm-знакорасши- ряется до 16(32) бит
1С ib SBB AL,imm8 AL-imm8-CF ® AL
1D iw(id) SBB AX(EAX),imm16(32) AX(EAX)-imm16(32) - - CF ® AX(EAX)
80 /3 ib SBB r/m8,imm8 r/m8-imm8-CF ® r/m8
81 /3 iw(id) SBB r/m16(32),imm16(32) r/m16(32)-imm16(32)-CF ® r/m16(32)
83 /3 ib SBB r/m16(32),imm8 r/m16(32)-imm8-CF® ® r/m16(32)
18 /r SBB r/m8,r8 r/m8-r8-CF ® r/m8
19 /r SBB r/m16(32),r16(32) r/m16(32)-r16(32)-CF® ® r/m16(32)
1A /r SBB r8,r/m8 r8-r/m8-CF ® r8
1B /r SBB r16(32),r/m16(32) r16(32)-r/m16(32)-CF® ®r16(32)
Операции инкремента и декремента  
FE /0 INC r/m8 r/m8+1 ® r/m8
FF /0 INC r/m16(32) r/m16(32)+1® r/m16(32)
40 +rw(rd) INC r16(32) r16(32)+1® r16(32)
FE /1 DEC r/m8 r/m8-1® r/m8
FF /1 DEC r/m16(32) r/m16(32)-1® r/m16(32)
48 +rw(rd) DEC r16(32) r16(32)-1® r16(32)
Получение дополнительного кода числа (изменение знака числа)  
F6 /3 NEG r/m8 - r/m8 ® r/m8
F7 /3 NEG r/m16(32) - r/m16(32) ® r/m16(32)
Преобразование длин слов Флаги не опреде- лены
  CBW sAL ® AX
  CWDE sAX ® EAX
  CWD sAX ® DX:AX
  CDQ sEAX ® EDX:EAX
Умножение беззнаковое Флаги OF,CF=0 При AH,DX,EDX=0; иначе равны 1
F6 /4 MUL AL,r/m8 AL×r/m8®AX
F7 /4 MUL AX(EAX),r/m16(32) AX(EAX)×r/m16(32)® ®DX:AX(EDX:EAX)
Умножение знаковое  
F6 /5 IMUL r/m8 AL×r/m®AX При знаковом умножении множитель предваритель- но знакорасши- ряется до размера множимого. Флаги OF,CF=0 при AH,DX,EDX=0, иначе OF,CF=1. Флаги SF,ZF,PF, AF не определены
F7 /5 IMUL r/m16(32) AX(EAX)×r/m16(32) ® ® DX:AX(EDX:EAX)
0F AF /r IMUL r16(32),r/m16(32) r16(32)×r/m16(32)® →r16(32)
6B /r ib IMUL r16(32),r/m16(32),imm8 r/m16(32)×imm8® r16(32)
6B /r ib IMUL r16(32),imm8 r16(32)×imm8 ® r16(32)
69 /r iw(id) IMUL r16(32),r/m16(32), imm16(32) r/m16(32)×imm16(32) ® ®r16(32)
69 /r iw(id) IMUL r16(32),imm16(32) r16(32)×imm16(32) ® ®r16(32)
     
Деление беззнаковое     Флаги не определены
F6 /6 DIV AL,r/m8 AX/(r/m8) ® AL; AX MOD (r/m8) ® AH
F7 /6 DIV AX,r/m16 DX:AX/(r/m16) ® AX; DX:AX MOD (r/m16) ® ® DX
F7 /6 DIV EAX,r/m32 EDX:EAX/(r/m32)® EAX; EDX:EAX MOD (r/m32) ® EDX
Деление знаковое     Флаги не определены
F6 /7 IDIV AL,r/m8 AX/(r/m8) ® AL; AX MOD (r/m8) ® AH.
F7 /7 IDIV AX,r/m16 DX:AX/(r/m16) ® AX; DX:AX MOD(r/m16)→ DX
F7 /7 IDIV EAX,r/m32 EDX:EAX/(r/m32)® EAX; EDX:EAX MOD(r/m32)® EDX.
  Коррекция результатов арифметических операций
  DAA Десятичная коррекция сложения в регистре AL. Модифицируются флаги: SF,ZF,AF,PF,CF
2F DAS Десятичная коррекция вычитания в регистре AL
  AAA ASCII- коррекция после cложения в регистре AL Модифицируются флаги AF и CF
3A AAS ASCII-коррекция после вычитания в регистре AL
D4 0A AAM ASCII-коррекция после умножения Модифицируются флаги SF,ZF,PF
В5 0A AAD ASCII-коррекция перед делением
         


Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-04-03 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: