Лисья Нора

§ Список базовых инструкции

Карта инструкции вместе с группами.
IDМнемоникаОперандыModRMImmКратко64Bit
00ADDrm,r8mСложить (byte)
01ADDrm,r16/32/64mСложить (int)
02ADDr8,rmmСложить (byte)
03ADDr16/32/64,rmmСложить (int)
04ADDal,i81Сложить аккумулятор и imm (byte)
05ADDax,i16/322Сложить аккумулятор и imm (int)
06PUSHesЗаписать в стек ES#
07POPesИзвлечь из стека ES#
08ORrm,r8mБитовое OR (byte)
09ORrm,r16/32/64mБитовое OR (int)
0AORr8,rmmБитовое OR (byte)
0BORr16/32/64,rmmБитовое OR (int)
0CORal,i81Битовое OR аккумулятор и imm (byte)
0DORax,i16/322Битовое OR аккумулятор и imm (int)
0EPUSHcsЗаписать в стек CS#
0FexteПрефикс расширения инструкции
10ADCrm,r8mСложить с переносом (byte)
11ADCrm,r16/32/64mСложить с переносом (int)
12ADCr8,rmmСложить с переносом (byte)
13ADCr16/32/64,rmmСложить с переносом (int)
14ADCal,i81Сложить с переносом аккумулятор и imm (byte)
15ADCax,i16/322Сложить с переносом аккумулятор и imm (int)
16PUSHssЗаписать в стек SS#
17POPssИзвлечь из стека SS#
18SBBrm,r8mВычесть с переносом (byte)
19SBBrm,r16/32/64mВычесть с переносом (int)
1ASBBr8,rmmВычесть с переносом (byte)
1BSBBr16/32/64,rmmВычесть с переносом (int)
1CSBBal,i81Вычесть с переносом аккумулятор и imm (byte)
1DSBBax,i16/322Вычесть с переносом аккумулятор и imm (int)
1EPUSHdsЗаписать в стек DS#
1FPOPdsИзвлечь из стека DS#
20ANDrm,r8mБитовое AND (byte)
21ANDrm,r16/32/64mБитовое AND (int)
22ANDr8,rmmБитовое AND (byte)
23ANDr16/32/64,rmmБитовое AND (int)
24ANDal,i81Битовое AND аккумулятор и imm (byte)
25ANDax,i16/322Битовое AND аккумулятор и imm (int)
26ES:pПрефикс ES:
27DAAalДесятичная коррекция после сложения#
28SUBrm,r8mВычесть (byte)
29SUBrm,r16/32/64mВычесть (int)
2ASUBr8,rmmВычесть (byte)
2BSUBr16/32/64,rmmВычесть (int)
2CSUBal,i81Вычесть аккумулятор и imm (byte)
2DSUBax,i16/322Вычесть аккумулятор и imm (int)
2ECS:pПрефикс CS:
2FDASalДесятичная коррекция после вычитания#
30XORrm,r8mБитовое исключающее "или" (byte)
31XORrm,r16/32/64mБитовое исключающее "или" (int)
32XORr8,rmmБитовое исключающее "или" (byte)
33XORr16/32/64,rmmБитовое исключающее "или" (int)
34XORal,i81Битовое исключающее "или" аккумулятор и imm (byte)
35XORax,i16/322Битовое исключающее "или" аккумулятор и imm (int)
36SS:pПрефикс SS:
37AAAalASCII коррекция после сложения#
38CMPrm,r8mСравнить (byte)
39CMPrm,r16/32/64mСравнить (int)
3ACMPr8,rmmСравнить (byte)
3BCMPr16/32/64,rmmСравнить (int)
3CCMPal,i81Сравнить аккумулятор и imm (byte)
3DCMPax,i16/322Сравнить аккумулятор и imm (int)
3EDS:pПрефикс DS:
3FAASalASCII коррекция после вычитания#
40INCaxДоступ к новым 8-битным операндамREX
41INCcxРасширение регистра в R/M поле (ModRM/SIB) до r8-r15REX.B
42INCdxРасширение SIB Index регистра (r8-r15)REX.X
43INCbxREX.BX
44INCspРасширение REG-части R/M поля (r8-r15)REX.R
45INCbpREX.RB
46INCsiREX.RX
47INCdiREX.RBX
48DECaxРасширение операнда до 64 битаREX.W
49DECcxREX.WB
4ADECdxREX.WX
4BDECbxREX.WBX
4CDECspREX.WR
4DDECbpREX.WRB
4EDECsiREX.WRX
4FDECdiREX.WRBX
50PUSHaxЗапись в стек
51PUSHcxЗапись в стек
52PUSHdxЗапись в стек
53PUSHbxЗапись в стек
54PUSHspЗапись в стек
55PUSHbpЗапись в стек
56PUSHsiЗапись в стек
57PUSHdiЗапись в стек
58POPaxИзвлечь из стека
59POPcxИзвлечь из стека
5APOPdxИзвлечь из стека
5BPOPbxИзвлечь из стека
5CPOPspИзвлечь из стека
5DPOPbpИзвлечь из стека
5EPOPsiИзвлечь из стека
5FPOPdiИзвлечь из стека
60PUSHAЗапись всех 8 регистров в стек#
61POPAИзвлечение 8 регистров из стека#
62BOUNDr16/32/64,mmПроверка границы диапазона#
63ARPLrm,r16/32/64mКоррекция Request Privilege Level
MOVSXD r32/64,r/m32
#
64FS:pПрефикс FS:
65GS:pПрефикс GS:
66opsizeeРасширение операнда
67rgsizeeРасширение адреса
68PUSHi16/322Запись в стек 16/32 imm
69IMULr16/32/64,rm,i16/32m2Умножить с imm (int)
6APUSHi81Запись в стек 8 imm
6BIMULr16/32/64,rm,i8m1Умножить с imm (byte)
6CINSBЧтение байта из порта
6DINSWЧтение int из порта
6EOUTSBЗапись байта в порт
6FOUTSWЗапись int в порт
70JOb81Переход если OF=1
71JNOb81Переход если OF=0
72JBb81Переход если CF=1
73JNBb81Переход если CF=0
74JEb81Переход если ZF=1
75JNEb81Переход если ZF=0
76JBEb81Переход если CF=1 OR ZF=1
77JAb81Переход если CF=0 AND ZF=0
78JSb81Переход если SF=1
79JNSb81Переход если SF=0
7AJPb81Переход если PF=1
7BJNPb81Переход если PF=0
7CJLb81Переход если SF!=OF
7DJNLb81Переход если SF=OF
7EJLEb81Переход если (ZF=1) OR (SF!=OF)
7FJGb81Переход если (ZF=0) AND (SF=OF)
80GRP1rm,i8g1
81GRP1rm,i16/32g2
82GRP1rm8,i8g1
83GRP1rm16,i8g1
84TESTrm,r8m
85TESTrm,r16/32/64m
86XCHGr8,rmm
87XCHGr16/32/64,rmm
88MOVrm,r8m
89MOVrm,r16/32/64m
8AMOVr8,rmm
8BMOVr16/32/64,rmm
8CMOVrm16,sregm
8DLEAr16/32/64,rmm
8EMOVsreg,rm16m
8FPOPrm16m
90NOP
91XCHGax,cx
92XCHGax,dx
93XCHGax,bx
94XCHGax,sp
95XCHGax,bp
96XCHGax,si
97XCHGax,di
98CBW
99CWD
9ACALLptr16/32/64:164
9BFWAIT
9CPUSHF
9DPOPF
9ESAHF
9FLAHF
A0MOVal,[m16]2
A1MOVax,[m16]2
A2MOV[m16],al2
A3MOV[m16],ax2
A4MOVSB
A5MOVSW
A6CMPSB
A7CMPSW
A8TESTal,i81
A9TESTax,i16/322
AASTOSB
ABSTOSW
ACLODSB
ADLODSW
AESCASB
AFSCASW
B0MOVal,i81
B1MOVcl,i81
B2MOVdl,i81
B3MOVbl,i81
B4MOVah,i81
B5MOVch,i81
B6MOVdh,i81
B7MOVbh,i81
B8MOVax,i16/322
B9MOVcx,i16/322
BAMOVdx,i16/322
BBMOVbx,i16/322
BCMOVsp,i16/322
BDMOVbp,i16/322
BEMOVsi,i16/322
BFMOVdi,i16/322
C0GRP2rm8,i8g1
C1GRP2rm16,i8g1
C2RETi16/322
C3RET
C4LESr16/32/64,[m16]m
C5LDSr16/32/64,[m16]m
C6MOVrm8,i8m1
C7MOVrm16,i16/32m2
C8ENTERi16/32,i83
C9LEAVE
CARETFi16/322
CBRETF
CCINT3
CDINTi81
CEINTO
CFIRET
D0GRP2rm8,1g
D1GRP2rm16,1g
D2GRP2rm8,clg
D3GRP2rm16,clg
D4AAM1
D5AAD1
D6SALC
D7XLATB
D8FPU0g
D9FPU1g
DAFPU2g
DBFPU3g
DCFPU4g
DDFPU5g
DEFPU6g
DFFPU7g
E0LOOPNZb81
E1LOOPZb81
E2LOOPb81
E3JCXZb81
E4INal,i81
E5INax,i81
E6OUTi8,al1
E7OUTi8,ax1
E8CALLb162
E9JMPb162
EAJMPptr16/32/64:164
EBJMPb81
ECINal,dx
EDINax,dx
EEOUTdx,al
EFOUTdx,ax
F0LOCK:p
F1INT1
F2REPNZ:p
F3REPZ:p
F4HLT
F5CMC
F6GRP38*g1
F7GRP316*g2
F8CLC
F9STC
FACLI
FBSTI
FCCLD
FDSTD
FEGRP48*g
FFGRP416*g