Intel系列CPU指令速查手册++祝你学得知识Word格式.docx
《Intel系列CPU指令速查手册++祝你学得知识Word格式.docx》由会员分享,可在线阅读,更多相关《Intel系列CPU指令速查手册++祝你学得知识Word格式.docx(109页珍藏版)》请在冰豆网上搜索。
15id
ADCEAX,00004F80
ADCr/m8,imm8
80/2ib
ADCBYTEPtr[006387EA],39
ADCr/m16,imm16
81/2iw
ADCWORDPtr[006387EA],1039
ADCr/m32,imm32
81/2id
ADCDWORDPtr[006387EA],00001039
ADCr/m16,imm8
83/2ib
ADCWORDPtr[006387EA],39
ADCr/m32,imm8
ADCDWORDPtr[006387EA],39
ADCr/m8,r8
10/r
ADC[006387EA],AL
ADCr/m16,r16
11/r
ADC[006387EA],AX
ADCr/m32,r32
11/r
ADC[006387EA],EAX
ADCr8,r/m8
12/r
ADCAL,[006387EA]
ADCr16,r/m16
13/r
ADCAX,[006387EA]
ADCr32,r/m32
ADCEAX,[006387EA]
ADD
ADDAL,imm8
04ib
加法
ADDAL,1F
ADDAX,imm16
05iw
ADDAX,4F80
ADDEAX,imm32
05id
ADDEAX,00004F80
ADDr/m8,imm8
80/0ib
ADDBYTEPtr[006387EA],39
ADDr/m16,imm16
81/0iw
ADDWORDPtr[006387EA],1039
ADDr/m32,imm32
81/0id
ADDDWORDPtr[006387EA],00001039
ADDr/m16,imm8
83/0ib
ADDWORDPtr[006387EA],39
ADDr/m32,imm8
ADDDWORDPtr[006387EA],39
ADDr/m8,r8
00/r
ADD[006387EA],AL
ADDr/m16,r16
01/r
ADD[006387EA],AX
ADDr/m32,r32
01/r
ADD[006387EA],EAX
ADDr8,r/m8
02/r
ADDAL,[006387EA]
ADDr16,r/m16
03/r
ADDAX,[006387EA]
ADDr32,r/m32
ADDEAX,[006387EA]
AND
ANDAL,imm8
24ib
设置CFOFPFSFZF
逻辑与
ANDAL,1F
ANDAX,imm16
25iw
ANDAX,4F80
ANDEAX,imm32
25id
ANDEAX,00004F80
ANDr/m8,imm8
80/4ib
ANDBYTEPtr[006387EA],39
ANDr/m16,imm16
81/4iw
ANDWORDPtr[006387EA],1039
ANDr/m32,imm32
81/4id
ANDDWORDPtr[006387EA],00001039
ANDr/m16,imm8
83/4ib
ANDWORDPtr[006387EA],39
ANDr/m32,imm8
ANDDWORDPtr[006387EA],39
ANDr/m8,r8
20/r
ANDBYTEPtr[006387EA],AL
ANDr/m16,r16
21/r
ANDWORDPtr[006387EA],AX
ANDr/m32,r32
ANDDWORDPtr[006387EA],EAX
ANDr8,r/m8
22/r
ANDAL,[006387EA]
ANDr16,r/m16
23/r
ANDAX,[006387EA]
ANDr32,r/m32
ANDEAX,[006387EA]
ARPL
ARPLr/m16,r16
63/r
设置ZF
调整请求特权级(286+PM)
ARPLAX,BX;
如果AX的RPL小于BX的RPL,则改为BX的RPL,且ZF置1,否则ZF清0
BOUNDr16,m16&
16
62/r
不影响标志位
越界检查(80188+)
BOUNDAX,[006387EA];
如果AX不在[006387EA]及[006387EA+2]的值中间,则产生异常5
BOUNDr32,m32&
32
BOUNDEAX,[006387EA];
如果EAX不在[006387EA]及[006387EA+4]的值中间,则产生异常5
BSF
BSFr16,r/m16
0FBC
从低到高扫描目标,查找对应为1的位(386+)
BSFAX,BX;
把BX由低到高第一个1的位置送AX,如全0则ZF置1,否则ZF清0
BSFr32,r/m32
BSFEAX,EBX;
把EBX由低到高第一个1的位置送EAX,如全0则ZF置1,否则ZF清0
BSR
BSRr16,r/m16
0FBD
从高到低扫描目标,查找对应为1的位(386+)
BSRAX,BX;
把BX由高到低第一个1的位置送AX,如全0则ZF置1,否则ZF清0
BSRr32,r/m32
BSREAX,EBX;
把EBX由高到低第一个1的位置送EAX,如全0则ZF置1,否则ZF清0
BSWAP
BSWAPreg32
0FC8+rd
32位寄存器高低字节交换(486+)
BSWAPEAX
BT
BTr/m16,r16
0FA3
设置CF
测试目标的指定位(386+)
BTAX,BX;
如果AX中BX指定的位为1,则CF置1,否则CF清0
BTr/m32,r32
BTEAX,EBX;
如果EAX中EBX指定的位为1,则CF置1,否则CF清0
BTr/m16,imm8
0FBA/4
BTAX,01;
如果AX中01位为1,则CF置1,否则CF清0
BTr/m32,imm8
BTEAX,01;
如果EAX中01位为1,则CF置1,否则CF清0
BTC
BTCr/m16,r16
0FBB
将目标指定位取反(386+)
BTCAX,BX;
将AX中BX指定的位取反,CF存放指定位并取反位
BTCr/m32,r32
BTCEAX,EBX;
将EAX中EBX指定的位取反,CF存放指定位并取反
BTCr/m16,imm8
0FBA/7
BTCAX,01;
将AX中01位取反,CF存放指定位并取反
BTCr/m32,imm8
BTCEAX,01;
将EAX中01位取反,CF存放指定位并取反
Btr
Btrr/m16,r16
0FB3
将目标指定位清0(386+)
BtrAX,BX;
将AX中BX指定的位清0,CF存放指定位并清0
Btrr/m32,r32
BtrEAX,EBX;
将EAX中EBX指定的位清0,CF存放指定位并清0
Btrr/m16,imm8
0FBA/6
BtrAX,01;
将AX中01位清0,CF存放指定位并清0
Btrr/m32,imm8
BtrEAX,01;
将EAX中01位清0,CF存放指定位并清0
BTS
BTSr/m16,r16
0FAB
将目标指定位置1(386+)
BTSAX,BX;
将AX中BX指定的位置1,CF存放指定位并置1
BTSr/m32,r32
BTSEAX,EBX;
将EAX中EBX指定的位置1,CF存放指定位并置1
BTSr/m16,imm8
0FBA/5
BTSAX,01;
将AX中01位置1,CF存放指定位并置1
BTSr/m32,imm8
BTSEAX,01;
将EAX中01位置1,CF存放指定位并置1
CALLrel16
E8cw
子程序调用(16位相对寻址)
CALLrel32
E8cd
子程序调用(32位相对寻址)
CALLr/m16
FF/2
子程序调用(16位间接寻址)
CALLr/m32
子程序调用(32位间接寻址)
CALLptr16:
9Acd
子程序调用(直接绝对寻址)
9Acp
CALLm16:
FF/3
子程序调用(间接绝对寻址)
CBW
98
将AL值带符号扩展到AX
CDQ
99
将EAX值带符号扩展到EDX:
EAX
CLD
FC
设置DF
清除方向位(DF)标志
CLI
FA
设置IF
清除中断允许位(IF)标志
CLTS
0F06
清除任务开关标志(TSF)
CMC
F5
进位标志取反
CMOVcc
CMOVAr16,r/m16
0F47/r
高于(CF=0andZF=0)
条件传送指令
CMOVAAX,BX
CMOVAr32,r/m32
CMOVAEAX,EBX
CMOVAEr16,r/m16
0F43/r
高于等于(CF=0)
CMOVAEAX,BX
CMOVAEr32,r/m32
CMOVAEEAX,EBX
CMOVBr16,r/m16
0F42/r
低于(CF=1)
CMOVBAX,BX
CMOVBr32,r/m32
CMOVBEAX,EBX
CMOVBEr16,r/m16
0F46/r
低于等于(CF=1orZF=1)
CMOVBEAX,BX
CMOVBEr32,r/m32
CMOVBEEAX,EBX
CMOVCr16,r/m16
有进位(CF=1)
CMOVCAX,BX
CMOVCr32,r/m32
CMOVCEAX,EBX
CMOVEr16,r/m16
0F44/r
等于(ZF=1)
CMOVEAX,BX
CMOVEr32,r/m32
CMOVEEAX,EBX
CMOVGr16,r/m16
0F4F/r
大于(ZF=0andSF=OF)
CMOVGAX,BX
CMOVGr32,r/m32
CMOVGEAX,EBX
CMOVGEr16,r/m16
0F4D/r
大于等于(SF=OF)
CMOVGEAX,BX
CMOVGEr32,r/m32
CMOVGEEAX,EBX
CMOVLr16,r/m16
0F4C/r
小于(SF<
>
OF)
CMOVLAX,BX
CMOVLr32,r/m32
CMOVLEAX,EBX
CMOVLEr16,r/m16
0F4E/r
小于等于(ZF=1orSF<
CMOVLEAX,BX
CMOVLEr32,r/m32
CMOVLEEAX,EBX
CMOVNAr16,r/m16
不高于(CF=1orZF=1)
CMOVNAAX,BX
CMOVNAr32,r/m32
CMOVNAEAX,EBX
CMOVNAEr16,r/m16
不高等于(CF=1)
CMOVNAEAX,BX
CMOVNAEr32,r/m32
CMOVNAEEAX,EBX
CMOVNBr16,r/m16
不低于(CF=0)
CMOVNBAX,BX
CMOVNBr32,r/m32
CMOVNBEAX,EBX
CMOVNBEr16,r/m16
不低等于(CF=0andZF=0)
CMOVNBEAX,BX
CMOVNBEr32,r/m32
CMOVNBEEAX,EBX
CMOVNCr16,r/m16
无进位(CF=0)
CMOVNCAX,BX
CMOVNCr32,r/m32
CMOVNCEAX,EBX
CMOVNEr16,r/m16
0F45/r
不等于(ZF=0)
CMOVNEAX,BX
CMOVNEr32,r/m32
CMOVNEEAX,EBX
CMOVNGr16,r/m16
不大于(ZF=1orSF<
CMOVNGAX,BX
CMOVNGr32,r/m32
CMOVNGEAX,EBX
CMOVNGEr16,r/m16
不大等于(SF<
CMOVNGEAX,BX
CMOVNGEr32,r/m32
CMOVNGEEAX,EBX
CMOVNLr16,r/m16
不小于(SF=OF)
CMOVNLAX,BX
CMOVNLr32,r/m32
CMOVNLEAX,EBX
CMOVNLEr16,r/m16
不小等于(ZF=0andSF=OF)
CMOVNLEAX,BX
CMOVNLEr32,r/m32
CMOVNLEEAX,EBX
CMOVNOr16,r/m16
0F41/r
无溢出(OF=0)
CMOVNOAX,BX
CMOVNOr32,r/m32
CMOVNOEAX,EBX
CMOVNPr16,r/m16
0F4B/r
非偶数(PF=0)
CMOVNPAX,BX
CMOVNPr32,r/m32
CMOVNPEAX,EBX
CMOVNSr16,r/m16
0F49/r
非负数(SF=0)
CMOVNSAX,BX
CMOVNSr32,r/m32
CMOVNSEAX,EBX
CMOVNZr16,r/m16
非零(ZF=0)
CMOVNZAX,BX
CMOVNZr32,r/m32
CMOVNZEAX,EBX
CMOVOr16,r/m16
0F40/r
溢出(OF=1)
CMOVOAX,BX
CMOVOr32,r/m32
CMOVOEAX,EBX
CMOVPr16,r/m16
0F4A/r
偶数(PF=1)
CMOVPAX,BX
CMOVPr32,r/m32
CMOVPEAX,EBX
CMOVPEr16,r/m16
CMOVPEAX,BX
CMOVPEr32,r/m32
CMOVPEEAX,EBX
CMOVPOr16,r/m16
奇数(PF=0)
CMOVPOAX,BX
CMOVPOr32,r/m32
CMOVPOEAX,EBX
CMOVSr16,r/m16
0F48/r
负数(SF=1)
CMOVSAX,BX
CMOVSr32,r/m32
CMOVSEAX,EBX
CMOVZr16,r/m16
为零(ZF=1)
CMOVZAX,BX
CMOVZr32,r/m32
CMOVZEAX,EBX
CMP
CMPAL,imm8
3Cib
设置AFCFOFPFSFZF
比较大小,
然后设置标志位
CMPAL,1F
CMPAX,imm16
3Diw
CMPAX,4F80
CMPEAX,imm32
3Did
CMPEAX,00004F80
CMPr/m8,imm8
80/7ib
CMPBYTEPtr[006387EA],39
CMPr/m16,imm16
81/7iw
CMPWORDPtr[006387EA],1039
CMPr/m32,imm32
81/7id
CMPDWORDPtr[006387EA],00001039
CMPr/m16,imm8
83/7ib
CMPWORDPtr[006387EA],39
CMPr/m32,imm8
CMPDWORDPtr[006387EA],39
CMPr/m8,r8
38/r
CMPBYTEPtr[006387EA],AL
CMPr/m16,r16
39/r
CMPWORDPtr[006387EA],AX
CMPr/m32,r32
39/r
CMPDWORDPtr[006387EA],EAX
CMPr8,r/m8
3A/r
CMPAL,[006387EA]
CMPr16,r/m16
3B/r
CMPAX,[006387EA]
CMPr32,r/m32
CMPEAX,[006387EA]
CMPS
CMPSm8,m8
A6
比较字符串,每次比较1个字节
CMPSStrING1,StrING2;
源串DS:
(E)SI,目的串:
(E)DI
CMPSm16,m16
A7
比较字符串,每次比较1个字
CMPSm32,m32
比较字符串,每次比较1个双字
(E)DI(386+)
CMPSB
CMPSB;
CMPSW
CMPSW;
CMPSD
CMPSD;
CMPXCHG
CMPXCHGr/m8,r8
0FB0/r
比较交换(486+)
CMPXCHGBL,CL;
如果AL与BL相等,则CL送BL且ZF置1;
否则BL送CL,且ZF清0
CMPXCHGr/m16,r16
0FB1/r
CMPXCHGBX,CX;
如果AX与BX相等,则CX送BX且ZF置1;
否则BX送CX,且ZF清0
CMPXCHGr/m32,r32
CMPXCHGEBX,ECX;
如果EAX与EBX相等,则ECX送EBX且ZF置1;
否则EBX送ECX,且ZF清0
CMPXCHG8B
CMPXCHG8Bm64
0FC7/1m64
CMPXCHG[ESI];
比较EDX:
EAX与64位的目标,如果相等则ECX:
EBX送往目标且ZF置1,否则目标送EDX:
EAX且ZF清0
CPUID
0FA2
CPU标识送EAX、EBX、ECX、EDX
CWD
将AX带符号扩展到DX:
AX
CWDE
将AX带符号扩展到EAX
DAA
27
设置AFCFPFSFZF
加法后的10进制调整AL
DAS
2F
减法后的10进制调整AL
DEC
DECr/m8
FE/1
设置AFOFPFSFZF
目标减1
DECBYTEPtr[00458A90]
DECr/m16
FF/1
DECWORDPtr[00458A90]
DECr/m32
DECDWORDPtr[00458A90]
DECr16
48+rw
DECAX
DECr32
48+rd
DECEAX
DIV
DIVr/m8
F6/6
AFCFOFPFSFZF未定义
无符号除法
DIVBL;
AX除以BL,商在AL中,余