奔腾指令速查手册(二)ABC

奔腾指令速查手册(二)ABC
指令名称指令形式机器码标志位(设置/测试)说      明应用举例
AAAAAA37设置 AF CF加法后的ASCII码调整ALAAA
AADAADD5 0A 或 D5 ib设置 SF ZF PF除法前的ASCII码调整AXAAD
AAMAAMD4 0A 或 D4 ib设置 PF SF ZF乘法后的ASCII码调整AXAAM
AASAAS3F设置 AF CF减法后的ASCII码调整ALAAS
ADCADC AL, imm814 ib设置 AF CF OF SF PF ZF带进位加法ADC AL, 1F
ADC AX, imm1615 iwADC AX, 4F80
ADC EAX, imm3215 idADC EAX, 00004F80
ADC r/m8, imm880 /2 ibADC BYTE PTR [006387EA], 39
ADC r/m16,imm1681 /2 iwADC WORD PTR [006387EA], 1039
ADC r/m32,imm3281 /2 idADC DWORD PTR [006387EA], 00001039
ADC r/m16,imm883 /2 ibADC WORD PTR [006387EA], 39
ADC r/m32,imm883 /2 ibADC DWORD PTR [006387EA], 39
ADC r/m8,r810 /rADC [006387EA], AL
ADC r/m16,r1611 /rADC [006387EA], AX
ADC r/m32,r3211 / rADC [006387EA], EAX
ADC r8,r/m812 /rADC AL, [006387EA]
ADC r16,r/m1613 /rADC AX, [006387EA]
ADC r32,r/m3213 /rADC EAX, [006387EA]
ADDADD AL, imm804 ib设置 AF CF OF SF PF ZF加法ADD AL, 1F
ADD AX, imm1605 iwADD AX, 4F80
ADD EAX, imm3205 idADD EAX, 00004F80
ADD r/m8, imm880 /0 ibADD BYTE PTR [006387EA], 39
ADD r/m16,imm1681 /0 iwADD WORD PTR [006387EA], 1039
ADD r/m32,imm3281 /0 idADD DWORD PTR [006387EA], 00001039
ADD r/m16,imm883 /0 ibADD WORD PTR [006387EA], 39
ADD r/m32,imm883 /0 ibADD DWORD PTR [006387EA], 39
ADD r/m8,r800 /rADD [006387EA], AL
ADD r/m16,r1601 /rADD [006387EA], AX
ADD r/m32,r3201 / rADD [006387EA], EAX
ADD r8,r/m802 /rADD AL, [006387EA]
ADD r16,r/m1603 /rADD AX, [006387EA]
ADD r32,r/m3203 /rADD EAX, [006387EA]
ANDAND AL, imm824 ib设置 CF OF PF SF ZF逻辑与AND AL, 1F
AND AX, imm1625 iwAND AX, 4F80
AND EAX, imm3225 idAND EAX, 00004F80
AND r/m8, imm880 /4 ibAND BYTE PTR [006387EA], 39
AND r/m16,imm1681 /4 iwAND WORD PTR [006387EA], 1039
AND r/m32,imm3281 /4 idAND DWORD PTR [006387EA], 00001039
AND r/m16,imm883 /4 ibAND WORD PTR [006387EA], 39
AND r/m32,imm883 /4 ibAND DWORD PTR [006387EA], 39
AND r/m8,r820 /rAND BYTE PTR [006387EA], AL
AND r/m16,r1621 /rAND WORD PTR [006387EA], AX
AND r/m32,r3221 /rAND DWORD PTR [006387EA], EAX
AND r8,r/m822 /rAND AL, [006387EA]
AND r16,r/m1623 /rAND AX, [006387EA]
AND r32,r/m3223 /rAND EAX, [006387EA]
ARPLARPL r/m16,r1663 /r设置 ZF调整请求特权级 (286+ PM)ARPL AX, BX ;如果AX的RPL小于BX的RPL,则改为BX的RPL,且ZF置1,否则ZF清0
BOUNDBOUND r16,m16&1662 /r不影响标志位越界检查 (80188+)BOUND AX, [006387EA] ;如果AX不在[006387EA]及[006387EA+2]的值中间,则产生异常5
BOUND r32,m32&32BOUND EAX, [006387EA] ;如果EAX不在[006387EA]及[006387EA+4]的值中间,则产生异常5
BSFBSF r16,r/m160F BC设置 ZF从低到高扫描目标,查找对应为1的位 (386+)BSF AX, BX ;把BX由低到高第一个1的位置送AX,如全0则ZF置1,否则ZF清0
BSF r32,r/m32BSF EAX, EBX ;把EBX由低到高第一个1的位置送EAX,如全0则ZF置1,否则ZF清0
BSRBSR r16,r/m160F BD设置 ZF从高到低扫描目标,查找对应为1的位 (386+)BSR AX, BX ;把BX由高到低第一个1的位置送AX,如全0则ZF置1,否则ZF清0
BSR r32,r/m32BSR EAX, EBX ;把EBX由高到低第一个1的位置送EAX,如全0则ZF置1,否则ZF清0
BSWAPBSWAP reg320F C8+rd不影响标志位32位寄存器高低字节交换(486+)BSWAP EAX
BTBT r/m16,r160F A3设置 CF测试目标的指定位 (386+)BT AX, BX ;如果AX中BX指定的位为1,则CF置1,否则CF清0
BT r/m32,r320F A3BT EAX, EBX ;如果EAX中EBX指定的位为1,则CF置1,否则CF清0
BT r/m16,imm80F BA /4BT AX, 01 ;如果AX中01位为1,则CF置1,否则CF清0
BT r/m32,imm80F BA /4BT EAX, 01 ;如果EAX中01位为1,则CF置1,否则CF清0
BTCBTC r/m16,r160F BB设置 CF将目标指定位取反 (386+)BTC AX, BX ;将AX中BX指定的位取反,CF存放指定位并取反位
BTC r/m32,r320F BBBTC EAX, EBX ;将EAX中EBX指定的位取反,CF存放指定位并取反
BTC r/m16,imm80F BA /7BTC AX, 01 ;将AX中01位取反,CF存放指定位并取反
BTC r/m32,imm80F BA /7BTC EAX, 01 ;将EAX中01位取反,CF存放指定位并取反
BTRBTR r/m16,r160F B3设置 CF将目标指定位清0 (386+)BTR AX, BX ;将AX中BX指定的位清0,CF存放指定位并清0
BTR r/m32,r320F B3BTR EAX, EBX ;将EAX中EBX指定的位清0,CF存放指定位并清0
BTR r/m16,imm80F BA /6BTR AX, 01 ;将AX中01位清0,CF存放指定位并清0
BTR r/m32,imm80F BA /6BTR EAX, 01 ;将EAX中01位清0,CF存放指定位并清0
BTSBTS r/m16,r160F AB设置 CF将目标指定位置1 (386+)BTS AX, BX ;将AX中BX指定的位置1,CF存放指定位并置1
BTS r/m32,r320F ABBTS EAX, EBX ;将EAX中EBX指定的位置1,CF存放指定位并置1
BTS r/m16,imm80F BA /5BTS AX, 01 ;将AX中01位置1,CF存放指定位并置1
BTS r/m32,imm80F BA /5BTS EAX, 01 ;将EAX中01位置1,CF存放指定位并置1
CALLCALL rel16E8 cw不影响标志位子程序调用(16位相对寻址) 
CALL rel32E8 cd子程序调用(32位相对寻址) 
CALL r/m16FF /2子程序调用(16位间接寻址) 
CALL r/m32FF /2子程序调用(32位间接寻址) 
CALL ptr16:169A cd子程序调用(直接绝对寻址) 
CALL ptr16:329A cp子程序调用(直接绝对寻址) 
CALL m16:16FF /3子程序调用(间接绝对寻址) 
CALL m16:32FF /3子程序调用(间接绝对寻址) 
CBWCBW98不影响标志位将AL值带符号扩展到AXCBW
CDQCDQ99不影响标志位将EAX值带符号扩展到EDX:EAXCDQ
CLDCLDFC设置 DF清除方向位(DF)标志CLD
CLICLIFA设置 IF清除中断允许位(IF)标志CLD
CLTSCLTS0F 06不影响标志位清除任务开关标志(TSF)CLTS
CMCCMCF5设置 CF进位标志取反CMC
CMOVccCMOVA r16, r/m160F 47 /r高于(CF=0 and ZF=0)条件传送指令CMOVA AX, BX
CMOVA r32, r/m32CMOVA EAX, EBX
CMOVAE r16, r/m160F 43 /r高于等于(CF=0)CMOVAE AX, BX
CMOVAE r32, r/m32CMOVAE EAX, EBX
CMOVB r16, r/m160F 42 /r低于(CF=1)CMOVB AX, BX
CMOVB r32, r/m32CMOVB EAX, EBX
CMOVBE r16, r/m160F 46 /r低于等于(CF=1 or ZF=1)CMOVBE AX, BX
CMOVBE r32, r/m32CMOVBE EAX, EBX
CMOVC r16, r/m160F 42 /r有进位(CF=1)CMOVC AX, BX
CMOVC r32, r/m32CMOVC EAX, EBX
CMOVE r16, r/m160F 44 /r等于(ZF=1)CMOVE AX, BX
CMOVE r32, r/m32CMOVE EAX, EBX
CMOVG r16, r/m160F 4F /r大于(ZF=0 and SF=OF)CMOVG AX, BX
CMOVG r32, r/m32CMOVG EAX, EBX
CMOVGE r16, r/m160F 4D /r大于等于(SF=OF)CMOVGE AX, BX
CMOVGE r32, r/m32CMOVGE EAX, EBX
CMOVL r16, r/m160F 4C /r小于(SF<>OF)CMOVL AX, BX
CMOVL r32, r/m32CMOVL EAX, EBX
CMOVLE r16, r/m160F 4E /r小于等于(ZF=1 or SF<>OF)CMOVLE AX, BX
CMOVLE r32, r/m32CMOVLE EAX, EBX
CMOVNA r16, r/m160F 46 /r不高于(CF=1 or ZF=1)CMOVNA AX, BX
CMOVNA r32, r/m32CMOVNA EAX, EBX
CMOVNAE r16, r/m160F 42 /r不高等于(CF=1)CMOVNAE AX, BX
CMOVNAE r32, r/m32CMOVNAE EAX, EBX
CMOVNB r16, r/m160F 43 /r不低于(CF=0)CMOVNB AX, BX
CMOVNB r32, r/m32CMOVNB EAX, EBX
CMOVNBE r16, r/m160F 47 /r不低等于(CF=0 and ZF=0)CMOVNBE AX, BX
CMOVNBE r32, r/m32CMOVNBE EAX, EBX
CMOVNC r16, r/m160F 43 /r无进位(CF=0)CMOVNC AX, BX
CMOVNC r32, r/m32CMOVNC EAX, EBX
CMOVNE r16, r/m160F 45 /r不等于(ZF=0)CMOVNE AX, BX
CMOVNE r32, r/m32CMOVNE EAX, EBX
CMOVNG r16, r/m160F 4E /r不大于(ZF=1 or SF<>OF)CMOVNG AX, BX
CMOVNG r32, r/m32CMOVNG EAX, EBX
CMOVNGE r16, r/m160F 4C /r不大等于(SF<>OF)CMOVNGE AX, BX
CMOVNGE r32, r/m32CMOVNGE EAX, EBX
CMOVNL r16, r/m160F 4D /r不小于(SF=OF)CMOVNL AX, BX
CMOVNL r32, r/m32CMOVNL EAX, EBX
CMOVNLE r16, r/m160F 4F /r不小等于(ZF=0 and SF=OF)CMOVNLE AX, BX
CMOVNLE r32, r/m32CMOVNLE EAX, EBX
CMOVNO r16, r/m160F 41 /r无溢出(OF=0)CMOVNO AX, BX
CMOVNO r32, r/m32CMOVNO EAX, EBX
CMOVNP r16, r/m160F 4B /r非偶数(PF=0)CMOVNP AX, BX
CMOVNP r32, r/m32CMOVNP EAX, EBX
CMOVNS r16, r/m160F 49 /r非负数(SF=0)CMOVNS AX, BX
CMOVNS r32, r/m32CMOVNS EAX, EBX
CMOVNZ r16, r/m160F 45 /r非零(ZF=0)CMOVNZ AX, BX
CMOVNZ r32, r/m32CMOVNZ EAX, EBX
CMOVO r16, r/m160F 40 /r溢出(OF=1)CMOVO AX, BX
CMOVO r32, r/m32CMOVO EAX, EBX
CMOVP r16, r/m160F 4A /r偶数(PF=1)CMOVP AX, BX
CMOVP r32, r/m32CMOVP EAX, EBX
CMOVPE r16, r/m160F 4A /r偶数(PF=1)CMOVPE AX, BX
CMOVPE r32, r/m32CMOVPE EAX, EBX
CMOVPO r16, r/m160F 4B /r奇数(PF=0)CMOVPO AX, BX
CMOVPO r32, r/m32CMOVPO EAX, EBX
CMOVS r16, r/m160F 48 /r负数(SF=1)CMOVS AX, BX
CMOVS r32, r/m32CMOVS EAX, EBX
CMOVZ r16, r/m160F 44 /r为零(ZF=1)CMOVZ AX, BX
CMOVZ r32, r/m32CMOVZ EAX, EBX
CMPCMP AL, imm83C ib设置 AF CF OF PF SF ZF比较大小,然后设置标志位CMP AL, 1F
CMP AX, imm163D iwCMP AX, 4F80
CMP EAX, imm323D idCMP EAX, 00004F80
CMP r/m8, imm880 /7 ibCMP BYTE PTR [006387EA], 39
CMP r/m16,imm1681 /7 iwCMP WORD PTR [006387EA], 1039
CMP r/m32,imm3281 /7 idCMP DWORD PTR [006387EA], 00001039
CMP r/m16,imm883 /7 ibCMP WORD PTR [006387EA], 39
CMP r/m32,imm883 /7 ibCMP DWORD PTR [006387EA], 39
CMP r/m8,r838 /rCMP BYTE PTR [006387EA], AL
CMP r/m16,r1639 /rCMP WORD PTR [006387EA], AX
CMP r/m32,r3239 / rCMP DWORD PTR [006387EA], EAX
CMP r8,r/m83A /rCMP AL, [006387EA]
CMP r16,r/m163B /rCMP AX, [006387EA]
CMP r32,r/m323B /rCMP EAX, [006387EA]
CMPSCMPS m8, m8A6设置 AF CF OF PF SF ZF比较字符串,每次比较1个字节CMPS STRING1, STRING2 ;源串DS:(E)SI,目的串:ES:(E)DI
CMPS m16, m16A7比较字符串,每次比较1个字CMPS STRING1, STRING2 ;源串DS:(E)SI,目的串:ES:(E)DI
CMPS m32, m32A7比较字符串,每次比较1个双字CMPS STRING1, STRING2 ;源串DS:(E)SI,目的串:ES:(E)DI (386+)
CMPSBA6比较字符串,每次比较1个字节CMPSB ;源串DS:(E)SI,目的串:ES:(E)DI
CMPSWA7比较字符串,每次比较1个字CMPSW ;源串DS:(E)SI,目的串:ES:(E)DI
CMPSDA7比较字符串,每次比较1个双字CMPSD ;源串DS:(E)SI,目的串:ES:(E)DI (386+)
CMPXCHGCMPXCHG r/m8,r80F B0 /r设置 AF CF OF PF SF ZF比较交换 (486+)CMPXCHG BL,CL ;如果AL与BL相等,则CL送BL且ZF置1;否则BL送CL,且ZF清0
CMPXCHG r/m16,r160F B1 /rCMPXCHG BX,CX ;如果AX与BX相等,则CX送BX且ZF置1;否则BX送CX,且ZF清0
CMPXCHG r/m32,r320F B1 /rCMPXCHG EBX,ECX ;如果EAX与EBX相等,则ECX送EBX且ZF置1;否则EBX送ECX,且ZF清0
CMPXCHG8BCMPXCHG8B m640F C7 /1 m64设置 ZF比较交换 (486+)CMPXCHG [ESI] ;比较EDX:EAX与64位的目标,如果相等则ECX:EBX送往目标且ZF置1,否则目标送EDX:EAX且ZF清0
CPUIDCPUID0F A2不影响标志位CPU标识送EAX、EBX、ECX、EDXCPUID
CWDCWD99不影响标志位将AX带符号扩展到DX:AXCWD
CWDECWDE98不影响标志位将AX带符号扩展到EAX

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值