奔腾指令速查手册(九)S-X

本文详细介绍了奔腾系列处理器中的多种指令,包括算术逻辑指令如SAL、SAR、SHL、SHR等,条件设置指令如SETcc,以及特殊功能指令如SYSENTER、SYSEXIT等。每种指令均附有操作格式、功能描述及具体实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

奔腾指令速查手册(九)X-S
SAHFSAHF9E设置SF ZF AF PF CF装入AH到标志寄存器,格式:(SF:ZF:0:AF:0:PF:1:CF)←AHSAHF
SALSAL r/m8, 1D0 /4CF(或OF)被改变算术左移1次(乘法:r/m8=r/m8*2)SAL AL,1
SAL r/m8, CLD2 /4算术左移CL次(乘法:r/m8=r/m8*(2^CL))SAL AL,CL
SAL r/m8, imm8C0 /4 ib算术左移imm8次(乘法:r/m8=r/m8*(2^imm8))SAL AL,03
SAL r/m16, 1D1 /4算术左移1次(乘法:r/m16=r/m16*2)SAL AX,1
SAL r/m16, CLD3 /4算术左移CL次(乘法:r/m16=r/m16*(2^CL))SAL AX,CL
SAL r/m16, imm8C1 /4 ib算术左移imm8次(乘法:r/m16=r/m16*(2^imm8))SAL AX,03
SAL r/m32, 1D1 /4算术左移1次(乘法:r/m32=r/m32*2)SAL EAX,1
SAL r/m32, CLD3 /4算术左移CL次(乘法:r/m32=r/m32*(2^CL))SAL EAX,CL
SAL r/m32, imm8C1 /4 ib算术左移imm8次(乘法:r/m32=r/m32*(2^imm8))SAL EAX,03
SARSAR r/m8, 1D0 /7CF(或OF)被改变算术右移1次(有符号除法:r/m8=r/m8 / 2)SAR AL,1
SAR r/m8, CLD2 /7算术右移CL次(有符号除法:r/m8=r/m8 / (2^CL))SAR AL,CL
SAR r/m8, imm8C0 /7 ib算术右移imm8次(有符号除法:r/m8=r/m8 / (2^imm8))SAR AL,03
SAR r/m16, 1D1 /7算术右移1次(有符号除法:r/m16=r/m16 / 2)SAR AX,1
SAR r/m16, CLD3 /7算术右移CL次(有符号除法:r/m16=r/m16 / (2^CL))SAR AX,CL
SAR r/m16, imm8C1 /7 ib算术右移imm8次(有符号除法:r/m16=r/m16 / (2^imm8))SAR AX,03
SAR r/m32, 1D1 /7算术右移1次(有符号除法:r/m32=r/m32 / 2)SAR EAX,1
SAR r/m32, CLD3 /7算术右移CL次(有符号除法:r/m32=r/m32 / (2^CL))SAR EAX,CL
SAR r/m32, imm8C1 /7 ib算术右移imm8次(有符号除法:r/m32=r/m32 / (2^imm8))SAR EAX,03
SHLSHL r/m8, 1D0 /4CF(或OF)被改变逻辑左移1次(乘法:r/m8=r/m8*2)SHL AL,1
SHL r/m8, CLD2 /4逻辑左移CL次(乘法:r/m8=r/m8*(2^CL))SHL AL,CL
SHL r/m8, imm8C0 /4 ib逻辑左移imm8次(乘法:r/m8=r/m8*(2^imm8))SHL AL,03
SHL r/m16, 1D1 /4逻辑左移1次(乘法:r/m16=r/m16*2)SHL AX,1
SHL r/m16, CLD3 /4逻辑左移CL次(乘法:r/m16=r/m16*(2^CL))SHL AX,CL
SHL r/m16, imm8C1 /4 ib逻辑左移imm8次(乘法:r/m16=r/m16*(2^imm8))SHL AX,03
SHL r/m32, 1D1 /4逻辑左移1次(乘法:r/m32=r/m32*2)SHL EAX,1
SHL r/m32, CLD3 /4逻辑左移CL次(乘法:r/m32=r/m32*(2^CL))SHL EAX,CL
SHL r/m32, imm8C1 /4 ib逻辑左移imm8次(乘法:r/m32=r/m32*(2^imm8))SHL EAX,03
SHRSHR r/m8, 1D0 /5CF(或OF)被改变逻辑右移1次(无符号除法:r/m8=r/m8 / 2)SHR AL,1
SHR r/m8, CLD2 /5逻辑右移CL次(无符号除法:r/m8=r/m8 / (2^CL))SHR AL,CL
SHR r/m8, imm8C0 /5 ib逻辑右移imm8次(无符号除法:r/m8=r/m8 / (2^imm8))SHR AL,03
SHR r/m16, 1D1 /5逻辑右移1次(无符号除法:r/m16=r/m16 / 2)SHR AX,1
SHR r/m16, CLD3 /5逻辑右移CL次(无符号除法:r/m16=r/m16 / (2^CL))SHR AX,CL
SHR r/m16, imm8C1 /5 ib逻辑右移imm8次(无符号除法:r/m16=r/m16 / (2^imm8))SHR AX,03
SHR r/m32, 1D1 /5逻辑右移1次(无符号除法:r/m32=r/m32 / 2)SHR EAX,1
SHR r/m32, CLD3 /5逻辑右移CL次(无符号除法:r/m32=r/m32 / (2^CL))SHR EAX,CL
SHR r/m32, imm8C1 /5 ib逻辑右移imm8次(无符号除法:r/m32=r/m32 / (2^imm8))SHR EAX,03
SBBSBB AL, imm81C ib设置 AF CF OF SF PF ZF带借位减法SBB AL, 1F
SBB AX, imm161D iwSBB AX, 4F80
SBB EAX, imm321D idSBB EAX, 00004F80
SBB r/m8, imm880 /3 ibSBB BYTE PTR [006387EA], 39
SBB r/m16,imm1681 /3 iwSBB WORD PTR [006387EA], 1039
SBB r/m32,imm3281 /3 idSBB DWORD PTR [006387EA], 00001039
SBB r/m16,imm883 /3 ibSBB WORD PTR [006387EA], 39
SBB r/m32,imm883 /3 ibSBB DWORD PTR [006387EA], 39
SBB r/m8,r818 /rSBB [006387EA], AL
SBB r/m16,r1619 /rSBB [006387EA], AX
SBB r/m32,r3219 / rSBB [006387EA], EAX
SBB r8,r/m81A /rSBB AL, [006387EA]
SBB r16,r/m161B /rSBB AX, [006387EA]
SBB r32,r/m321B /rSBB EAX, [006387EA]
SCASSCAS m8AE设置OF SF ZF AF PF CF用AL中的字节值扫描字符串ES:(E)DI,然后设置标志位 
SCAS m16AF用AX中的字值扫描字符串ES:(E)DI,然后设置标志位 
SCAS m32AF用EAX中的双字值扫描字符串ES:(E)DI,然后设置标志位 
SCASBSCASBAE设置OF SF ZF AF PF CF用AL中的字节值扫描字符串ES:(E)DI,然后设置标志位SCASB
SCASWSCASWAF设置OF SF ZF AF PF CF用AX中的字值扫描字符串ES:(E)DI,然后设置标志位SCASW
SCASDSCASDAF设置OF SF ZF AF PF CF用EAX中的双字值扫描字符串ES:(E)DI,然后设置标志位SCASD
SETccSETA r/m80F 97高于(CF=0 and ZF=0)条件设置指令,如果条件满足则r/m8=1,否则r/m8=0SETA AL
SETAE r/m80F 93高于等于(CF=0)SETAE AL
SETB r/m80F 92低于(CF=1)SETB AL
SETBE r/m80F 96低于等于(CF=1 or ZF=1)SETBE AL
SETC r/m80F 92有进位(CF=1)SETC AL
SETE r/m80F 94等于(ZF=1)SETE AL
SETG r/m80F 9F大于(ZF=0 and SF=OF)SETG AL
SETGE r/m80F 9D大于等于(SF=OF)SETGE AL
SETL r/m80F 9C小于(SF<>OF)SETL AL
SETLE r/m80F 9E小于等于(ZF=1 or SF<>OF)SETLE AL
SETNA r/m80F 96不高于(CF=1 or ZF=1)SETNA AL
SETNAE r/m80F 92不高等于(CF=1)SETNAE AL
SETNB r/m80F 93不低于(CF=0)SETNB AL
SETNBE r/m80F 97不低等于(CF=0 and ZF=0)SETNBE AL
SETNC r/m80F 93无进位(CF=0)SETNC AL
SETNE r/m80F 95不等于(ZF=0)SETNE AL
SETNG r/m80F 9E不大于(ZF=1 or SF<>OF)SETNG AL
SETNGE r/m80F 9C不大等于(SF<>OF)SETNGE AL
SETNL r/m80F 9D不小于(SF=OF)SETNL AL
SETNLE r/m80F 9F不小等于(ZF=0 and SF=OF)SETNLE AL
SETNO r/m80F 91无溢出(OF=0)SETNO AL
SETNP r/m80F 9B非偶数(PF=0)SETNP AL
SETNS r/m80F 99非负数(SF=0)SETNS AL
SETNZ r/m80F 95非零(ZF=0)SETNZ AL
SETO r/m80F 90溢出(OF=1)SETO AL
SETP r/m80F 9A偶数(PF=1)SETP AL
SETPE r/m80F 9A偶数(PF=1)SETPE AL
SETPO r/m80F 9B奇数(PF=0)SETPO AL
SETS r/m80F 98负数(SF=1)SETS AL
SETZ r/m80F 94为零(ZF=1)SETZ AL
SGDTSGDT m0F 01 /0不影响标志位保存全局描述符表寄存器到内存m处SGDT [EBP]
SIDTSIDT m0F 01 /1不影响标志位保存中断描述符表寄存器到内存m处SIDT [ESI]
SLDTSLDT r/m160F 00 /0不影响标志位保存LDT选择子到r/m16SLDT SI
SLDT r/m32保存LDT选择子到r/m32SLDT ESI
SHLDSHLD r/m16, r16, imm80F A4设置CF SF ZF PF AF OF双精度左移SHLD AX,BX,3
SHLD r/m16, r16, CL0F A5SHLD AX,BX,CL
SHLD r/m32, r32, imm80F A4SHLD EAX,EBX,3
SHLD r/m32, r32, CL0F A5SHLD EAX,EBX,CL
SHRDSHRD r/m16, r16, imm80F AC设置CF SF ZF PF AF OF双精度右移SHRD AX,BX,3
SHRD r/m16, r16, CL0F ADSHRD AX,BX,CL
SHRD r/m32, r32, imm80F ACSHRD EAX,EBX,3
SHRD r/m32, r32, CL0F ADSHRD EAX,EBX,CL
SMSWSMSW r/m160F 01 /4不影响标志位保存机器状态字到r/m16SMSW SI
SMSW r32/m16保存机器状态字到r32/m16SMSW ESI
STCSTCF9设置CF设置CF=1STC
STDSTDFD设置DF设置DF=1STD
STISTIFB设置IF设置IF=1,开中断STI
STOSSTOS m8AA不影响标志位将AL保存到地址ES:(E)DI 
STOS m16AB将AX保存到地址ES:(E)DI 
STOS m32AB将EAX保存到地址ES:(E)DI 
STOSBSTOSBAA不影响标志位将AL保存到地址ES:(E)DISTOSB
STOSWSTOSWAB不影响标志位将AX保存到地址ES:(E)DISTOSW
STOSDSTOSDAB不影响标志位将EAX保存到地址ES:(E)DISTOSD
STRSTR r/m160F 00 /1不影响标志位保存任务寄存器到r/m16STR AX
SUBSUB AL, imm82C ib设置 AF CF OF SF PF ZF减法SUB AL, 1F
SUB AX, imm162D iwSUB AX, 4F80
SUB EAX, imm322D idSUB EAX, 00004F80
SUB r/m8, imm880 /5 ibSUB BYTE PTR [006387EA], 39
SUB r/m16,imm1681 /5 iwSUB WORD PTR [006387EA], 1039
SUB r/m32,imm3281 /5 idSUB DWORD PTR [006387EA], 00001039
SUB r/m16,imm883 /5 ibSUB WORD PTR [006387EA], 39
SUB r/m32,imm883 /5 ibSUB DWORD PTR [006387EA], 39
SUB r/m8,r828 /rSUB [006387EA], AL
SUB r/m16,r1629 /rSUB [006387EA], AX
SUB r/m32,r3229 / rSUB [006387EA], EAX
SUB r8,r/m82A /rSUB AL, [006387EA]
SUB r16,r/m162B /rSUB AX, [006387EA]
SUB r32,r/m322B /rSUB EAX, [006387EA]
SYSENTERSYSENTER0F 34设置VM IF RF快速调用系统0级过程(用于系统3级应用程序),配合SYSEXIT使用 
SYSEXITSYSEXIT0F 35不影响标志位快速返回到系统3级用户代码,配合SYSENTER使用 
TESTTEST AL, imm8A8 ib设置 CF OF PF SF ZF逻辑与测试,但是不改变目的操作数,只设置相关标志位TEST AL, 1F
TEST AX, imm16A9 iwTEST AX, 4F80
TEST EAX, imm32A9 idTEST EAX, 00004F80
TEST r/m8, imm8F6 /0 ibTEST BYTE PTR [006387EA], 39
TEST r/m16,imm16F7 /0 ibTEST WORD PTR [006387EA], 1039
TEST r/m32,imm32F7 /0 ibTEST DWORD PTR [006387EA], 00001039
TEST r/m8,r884 /rTEST BYTE PTR [006387EA], AL
TEST r/m16,r1685 /rTEST WORD PTR [006387EA], AX
TEST r/m32,r3285 /rTEST DWORD PTR [006387EA], EAX
UD2UD20F 0B不影响标志位产生无效代码异常,用于软件测试UD2
VERRVERR0F 00 /4设置ZF如果目标选择子对应段可读,则ZF置1VERR
VERWVERW0F 00 /5设置ZF如果目标选择子对应段可写,则ZF置1VERW
WAITWAIT9BC0,C1, C2, C3 未定义等待,检查非屏蔽浮点异常WAIT
WBINVDWBINVD0F 09不影响标志位写回内部CACHE并使之失效WBINVD
WRMSRWRMSR0F 30不影响标志位把EDX:EAX的内容写入ECX指定的模型专用寄存器WRMSR
XADDXADD r/m8, r80F C0 /r设置 CF PF AF SF ZF OF目的操作数和源操作数相加,并使源操作数保存目的操作数的值XADD AL,BL
XADD r/m16, r160F C1 /rXADD AX,BX
XADD r/m32, r320F C1 /rXADD EAX,EBX
XCHGXCHG AX, r1690+rw不影响标志位目的操作数和源操作数的值交换XCHG AX,BX
XCHG r16, AX90+rwXCHG CX,AX
XCHG EAX, r3290+rdXCHG EAX,EBX
XCHG r32, EAX90+rdXCHG ECX,EAX
XCHG r/m8, r886 /rXCHG [006387EA],BL
XCHG r8, r/m886 /rXCHG AX,[006387EA]
XCHG r/m16, r1687 /rXCHG [006387EA],BX
XCHG r16, r/m1687 /rXCHG AX,[006387EA]
XCHG r/m32, r3287 /rXCHG [006387EA],EBX
XCHG r32, r/m3287 /rXCHG EAX,[006387EA]
XLATXLAT m8D7不影响标志位换码:DS:[(E)BX + unsigned AL]←AL 
XLATBXLATBD7不影响标志位换码:DS:[(E)BX + unsigned AL]←ALXLATB
XORXOR AL, imm834 ib设置 CF OF PF SF ZF逻辑异或XOR AL, 1F
XOR AX, imm1635 iwXOR AX, 4F80
XOR EAX, imm3235 idXOR EAX, 00004F80
XOR r/m8, imm880 /6 ibXOR BYTE PTR [006387EA], 39
XOR r/m16,imm1681 /6 iwXOR WORD PTR [006387EA], 1039
XOR r/m32,imm3281 /6 idXOR DWORD PTR [006387EA], 00001039
XOR r/m16,imm883 /6 ibXOR WORD PTR [006387EA], 39
XOR r/m32,imm883 /6 ibXOR DWORD PTR [006387EA], 39
XOR r/m8,r830 /rXOR BYTE PTR [006387EA], AL
XOR r/m16,r1631 /rXOR WORD PTR [006387EA], AX
XOR r/m32,r3231 /rXOR DWORD PTR [006387EA], EAX
XOR r8,r/m832 /rXOR AL, [006387EA]
XOR r16,r/m1633 /rXOR AX, [006387EA]
XOR r32,r/m3233 /rXOR EAX, [006387EA]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值