CL r/m16=r/m16*(2^CL)) 逻辑左移imm8次(乘SHL r/m16, imm8 C1 /4 ib 法:r/m16=r/m16*(2^imm8)) SHL AX,03 逻辑左移1次(乘法:r/m32=r/m32*2) SHL EAX,1 SHL r/m32, 1 D1 /4 SHL r/m32, CL SHL r/m32, imm8 C1 /4 ib D3 /4 逻辑左移CL次(乘法:r/m32=r/m32*(2SHL EAX,CL ^CL)) 逻辑左移imm8次(乘法:r/m32=r/m32*(2^imm8)) 逻辑右移1次(无符号除SHL EAX,03 SHR r/m8, 1 D0 /5 法:r/m8=r/m8 / SHR AL,1 2) 逻辑右移CL次(无符号SHR r/m8, CL D2 /5 除法:r/m8=r/m8 / SHR AL,CL (2^CL)) 逻辑右移imm8次(无SHR r/m8, imm8 C0 /5 ib 符号除法:r/m8=r/m8 / (2^imm8)) 逻辑右移1次(无符号除SHR AL,03 SHR r/m16, 1 D1 /5 SHR SHR r/m16, CL 法:r/m16=r/m16 / SHR AX,1 CF(或OF)被改2) 变 逻辑右移CL次(无符号除法:r/m16=r/m16 / (2^CL)) 逻辑右移imm8次(无SHR AX,CL D3 /5 SHR r/m16, imm8 C1 /5 ib 符号除法:r/m16=r/m16 / (2^imm8)) SHR AX,03 逻辑右移1次(无符号除 SHR r/m32, 1 D1 /5 法:r/m32=r/m32 / SHR EAX,1 2)
SHR r/m32, CL D3 /5 逻辑右移CL次(无符号除法:r/m32=r/m32 / (2^CL)) 逻辑右移imm8次(无C1 /5 ib 符号除法:r/m32=r/m32 / (2^imm8)) SBB AL, imm8 1C ib SBB AX, imm16 SBB EAX, imm32 SBB r/m8, imm8 SBB r/m16,imm181 /3 iw 6 SBB r/m32,imm381 /3 id 2 SBB r/m16,imm8 83 /3 ib 设置 AF CF OF 带借位减法 SF PF ZF SBB WORD Ptr [006387EA], 39 SBB DWORD Ptr [006387EA], 39 SBB [006387EA], AL SBB 19 /r [006387EA], AX SBB 19 / r [006387EA], EAX SBB AL, [006387EA] SBB AX, [006387EA] SBB EAX, [006387EA] 设置OF SF ZF AF PF CF 用AL中的字节值扫描字符串ES:(E)DI,然 后设置标志位 1D iw SBB AL, 1F SBB AX, 4F80 SBB EAX, 00004F80 SBB BYTE Ptr [006387EA], 39 SBB WORD Ptr [006387EA], 1039 SHR EAX,03 SHR EAX,CL SHR r/m32, imm8 1D id 80 /3 ib SBB SBB r/m32,imm8 83 /3 ib SBB r/m8,r8 18 /r SBB r/m16,r16 SBB r/m32,r32 SBB r8,r/m8 1A /r SBB r16,r/m16 SBB r32,r/m32 1B /r 1B /r SCAS SCAS m8 AE
用AX中的字值扫描字SCAS m16 AF 符串ES:(E)DI,然后 设置标志位 用EAX中的双字值扫描SCAS m32 AF 字符串ES:(E)DI,然 后设置标志位 设置OF SF ZF AF PF CF 用AL中的字节值扫描字符串ES:(E)DI,然SCASB 后设置标志位 用AX中的字值扫描字符串ES:(E)DI,然后SCASW 设置标志位 用EAX中的双字值扫描字符串ES:(E)DI,然SCASD 后设置标志位 SETA AL SCASB SCASB AE SCASW SCASW AF 设置OF SF ZF AF PF CF SCASD SCASD AF 设置OF SF ZF AF PF CF 高于(CF=0 and ZF=0) 高于等于(CF=0) 低于(CF=1) SETA r/m8 0F 97 SETAE r/m8 0F 93 SETB r/m8 0F 92 SETAE AL SETB AL SETBE AL SETC AL SETE AL SETG AL SETBE r/m8 0F 96 SETC r/m8 SETE r/m8 SETG r/m8 0F 92 0F 94 0F 9F 低于等于(CF=1 or ZF=1) 有进位(CF=1) 等于(ZF=1) 大于(ZF=0 and SF=OF) 大于等于(SF=OF) 小于(SF<>OF) 条件设置指令,如果条件满足则r/m8=1,否则r/m8=0 SETGE r/m8 0F 9D SETcc SETGE AL SETL r/m8 0F 9C SETL AL SETLE r/m8 0F 9E 小于等于(ZF=1 or SF<>OF) 不高于(CF=1 or ZF=1) 不高等于(CF=1) 不低于(CF=0) 不低等于(CF=0 and ZF=0) 无进位(CF=0) 不等于(ZF=0) 不大于(ZF=1 SETLE AL SETNA r/m8 0F 96 SETNA AL SETNAE r/m8 0F 92 SETNB r/m8 0F 93 SETNBE r/m8 0F 97 SETNC r/m8 0F 93 SETNE r/m8 0F 95 SETNG r/m8 0F 9E SETNAE AL SETNB AL SETNBE AL SETNC AL SETNE AL SETNG AL
or SF<>OF) SETNGE r/m8 0F 9C 不大等于(SF<>OF) 不小于(SF=OF) 不小等于(ZF=0 and SF=OF) 无溢出(OF=0) 非偶数(PF=0) 非负数(SF=0) 非零(ZF=0) 溢出(OF=1) 偶数(PF=1) 偶数(PF=1) 奇数(PF=0) 负数(SF=1) 为零(ZF=1) 不影响标志位 保存全局描述符表寄存器到内存m处 保存中断描述符表寄存器到内存m处 保存LDT选择子到0F 00 /0 SLDT r/m32 SHLD r/m16, r16, imm8 SHLD r/m16, SHLD r16, CL SHLD r/m32, r32, imm8 SHLD r/m32, r32, CL SHRD r/m16, r16, imm8 SHRD r/m16, SHRD r16, CL SHRD r/m32, r32, imm8 SHRD r/m32, r32, CL SMSW 不影响标志位 r/m16 保存LDT选择子到r/m32 0F A4 SETNGE AL SETNL r/m8 0F 9D SETNL AL SETNLE r/m8 0F 9F SETNO r/m8 0F 91 SETNP r/m8 0F 9B SETNS r/m8 0F 99 SETNZ r/m8 0F 95 SETO r/m8 SETP r/m8 0F 90 0F 9A SETNLE AL SETNO AL SETNP AL SETNS AL SETNZ AL SETO AL SETP AL SETPE AL SETPO AL SETS AL SETZ AL SGDT [EBP] SETPE r/m8 0F 9A SETPO r/m8 0F 9B SETS r/m8 SETZ r/m8 SGDT SGDT m 0F 98 0F 94 0F 01 /0 SIDT SIDT m 0F 01 /1 不影响标志位 SIDT [ESI] SLDT r/m16 SLDT SLDT SI SLDT ESI SHLD AX,BX,3 SHLD AX,BX,设置CF SF ZF PF AF OF 双精度左移 CL SHLD EAX,EBX,3 SHLD EAX,EBX,CL SHRD AX,BX,3 SHRD AX,BX,设置CF SF ZF PF AF OF 双精度右移 CL SHRD EAX,EBX,3 SHRD EAX,EBX,CL 不影响标志位 保存机器状态字到SMSW SI 0F A5 0F A4 0F A5 0F AC 0F AD 0F AC 0F AD SMSW r/m16 0F 01 /4