📄 586指令.txt
字号:
PUSH ES 06 寄存器ES数据压栈 PUSH ES
PUSH FS 0F A0 寄存器FS数据压栈 PUSH FS
PUSH GS 0F A8 寄存器GS数据压栈 PUSH GS
PUSHA PUSHA 60 不影响标志位 压栈全部16位通用寄存器:AX, CX, DX, BX, SP, BP, SI, DI PUSHA
PUSHAD PUSHAD 60 不影响标志位 压栈全部32位通用寄存器:EAX, ECX, EDX, EBX, ESP, EBP, ESI, EDI PUSHAD
PUSHF PUSHF 9C 设置所有标志位 压栈16位标志寄存器 PUSHF
PUSHFD PUSHFD 9C 设置所有标志位 压栈32位标志寄存器 PUSHFD
PXOR PXOR mm, mm/m64 0F EF /r 不影响标志位 逻辑异或操作
PXOR xmm1,xmm2/m128 66 0F EF /r PXOR XMM6,XMM7
RCL RCL r/m8, 1 D0 /2 CF(或OF)被改变 带进位循环左移1次 RCL AL,1
RCL r/m8, CL D2 /2 带进位循环左移CL次 RCL AL,CL
RCL r/m8, imm8 C0 /2 ib 带进位循环左移imm8次 RCL AL,03
RCL r/m16, 1 D1 /2 带进位循环左移1次 RCL AX,1
RCL r/m16, CL D3 /2 带进位循环左移CL次 RCL AX,CL
RCL r/m16, imm8 C1 /2 ib 带进位循环左移imm8次 RCL AX,03
RCL r/m32, 1 D1 /2 带进位循环左移1次 RCL EAX,1
RCL r/m32, CL D3 /2 带进位循环左移CL次 RCL EAX,CL
RCL r/m32, imm8 C1 /2 ib 带进位循环左移imm8次 RCL EAX,03
RCR RCR r/m8, 1 D0 /3 CF(或OF)被改变 带进位循环右移1次 RCR AL,1
RCR r/m8, CL D2 /3 带进位循环右移CL次 RCR AL,CL
RCR r/m8, imm8 C0 /3 ib 带进位循环右移imm8次 RCR AL,03
RCR r/m16, 1 D1 /3 带进位循环右移1次 RCR AX,1
RCR r/m16, CL D3 /3 带进位循环右移CL次 RCR AX,CL
RCR r/m16, imm8 C1 /3 ib 带进位循环右移imm8次 RCR AX,03
RCR r/m32, 1 D1 /3 带进位循环右移1次 RCR EAX,1
RCR r/m32, CL D3 /3 带进位循环右移CL次 RCR EAX,CL
RCR r/m32, imm8 C1 /3 ib 带进位循环右移imm8次 RCR EAX,03
ROL ROL r/m8, 1 D0 /0 CF(或OF)被改变 循环左移1次 ROL AL,1
ROL r/m8, CL D2 /0 循环左移CL次 ROL AL,CL
ROL r/m8, imm8 C0 /0 ib 循环左移imm8次 ROL AL,03
ROL r/m16, 1 D1 /0 循环左移1次 ROL AX,1
ROL r/m16, CL D3 /0 循环左移CL次 ROL AX,CL
ROL r/m16, imm8 C1 /0 ib 循环左移imm8次 ROL AX,03
ROL r/m32, 1 D1 /0 循环左移1次 ROL EAX,1
ROL r/m32, CL D3 /0 循环左移CL次 ROL EAX,CL
ROL r/m32, imm8 C1 /0 ib 循环左移imm8次 ROL EAX,03
ROR ROR r/m8, 1 D0 /1 CF(或OF)被改变 循环右移1次 ROR AL,1
ROR r/m8, CL D2 /1 循环右移CL次 ROR AL,CL
ROR r/m8, imm8 C0 /1 ib 循环右移imm8次 ROR AL,03
ROR r/m16, 1 D1 /1 循环右移1次 ROR AX,1
ROR r/m16, CL D3 /1 循环右移CL次 ROR AX,CL
ROR r/m16, imm8 C1 /1 ib 循环右移imm8次 ROR AX,03
ROR r/m32, 1 D1 /1 循环右移1次 ROR EAX,1
ROR r/m32, CL D3 /1 循环右移CL次 ROR EAX,CL
ROR r/m32, imm8 C1 /1 ib 循环右移imm8次 ROR EAX,03
RDMSR RDMSR 0F 32 不影响标志位 把ECX指定的模型专用寄存器内容送EDX:EAX RDMSR
RDPMC RDPMC 0F 33 不影响标志位 把ECX指定的性能监测计数器内容送EDX:EAX RDPMC
RDTSC RDTSC 0F 31 不影响标志位 读时间标记计数器到EDX:EAX RDTSC
REP REP INS r/m8, DX F3 6C 不影响标志位 从DX指定的端口读(E)CX个字节(BYTE)到ES:[(E)DI]
REP INS r/m16, DX F3 6D 从DX指定的端口读(E)CX个字(WORD)到ES:[(E)DI]
REP INS r/m32, DX F3 6D 从DX指定的端口读(E)CX个双字(DWORD)到ES:[(E)DI]
REP MOVS m8, m8 F3 A4 连续字符串传送,每次传送1个字节,传送(E)CX次 REP MOVS StrING1, StrING2 ;源串DS:[(E)SI],目的串:ES:[(E)DI]
REP MOVS m16, m16 F3 A5 连续字符串传送,每次传送1个字,传送(E)CX次 REP MOVS StrING1, StrING2 ;源串DS:[(E)SI],目的串:ES:[(E)DI]
REP MOVS m32, m32 F3 A5 连续字符串传送,每次传送1个双字,传送(E)CX次 REP MOVS StrING1, StrING2 ;源串DS:[(E)SI],目的串:ES:[(E)DI]
REP OUTS DX,r/m8 F3 6E 将DS:[(E)SI]处的(E)CX个字节输出到DX指定的端口
REP OUTS DX,r/m16 F3 6F 将DS:[(E)SI]处的(E)CX个字输出到DX指定的端口
REP OUTS DX,r/m32 F3 6F 将DS:[(E)SI]处的(E)CX个双字输出到DX指定的端口
REP LODS AL F3 AC 将地址DS:[(E)SI]处的(E)CX个字节装入AL
REP LODS AX F3 AD 将地址DS:[(E)SI]处的(E)CX个字装入AX
REP LODS EAX F3 AD 将地址DS:[(E)SI]处的(E)CX个双字装入EAX
REP STOS m8 F3 AA 用AL填充地址ES:[(E)DI]处的(E)CX个字节
REP STOS m16 F3 AB 用AX填充地址ES:[(E)DI]处的(E)CX个字
REP STOS m32 F3 AB 用EAX填充地址ES:[(E)DI]处的(E)CX个双字
REPE REPE CMPS m8, m8 F3 A6 设置 AF CF OF PF SF ZF 比较字符串,每次比较1个字节,直到不相等字节停止 REPE CMPS StrING1, StrING2 ;源串DS:[(E)SI],目的串:ES:[(E)DI]
REPE CMPS m16, m16 F3 A7 比较字符串,每次比较1个字,直到不相等字停止 REPE CMPS StrING1, StrING2 ;源串DS:[(E)SI],目的串:ES:[(E)DI]
REPE CMPS m32, m32 F3 A7 比较字符串,每次比较1个双字,直到不相等双字停止 REPE CMPS StrING1, StrING2 ;源串DS:[(E)SI],目的串:ES:[(E)DI]
REPE SCAS m8 F3 AE 扫描字符串ES:[(E)DI]中的AL字节值,遇到非AL值停止 REPE SCAS StrING1
REPE SCAS m16 F3 AF 扫描字符串ES:[(E)DI]中的AX字值,遇到非AX值停止 REPE CMPS StrING1
REPE SCAS m32 F3 AF 扫描字符串ES:[(E)DI]中的EAX双字值,遇到非EAX值停止 REPE CMPS StrING1
REPNE REPNE CMPS m8, m8 F2 A6 设置 AF CF OF PF SF ZF 比较字符串,每次比较1个字节,直到相等字节停止 REPNE CMPS StrING1, StrING2 ;源串DS:[(E)SI],目的串:ES:[(E)DI]
REPNE CMPS m16, m16 F2 A7 比较字符串,每次比较1个字,直到相等字停止 REPNE CMPS StrING1, StrING2 ;源串DS:[(E)SI],目的串:ES:[(E)DI]
REPNE CMPS m32, m32 F2 A7 比较字符串,每次比较1个双字,直到相等双字停止 REPNE CMPS StrING1, StrING2 ;源串DS:[(E)SI],目的串:ES:[(E)DI]
REPNE SCAS m8 F2 AE 扫描字符串ES:[(E)DI]中的AL字节值,遇到AL值停止 REPNE SCAS StrING1
REPNE SCAS m16 F2 AF 扫描字符串ES:[(E)DI]中的AX字值,遇到AX值停止 REPNE CMPS StrING1
REPNE SCAS m32 F2 AF 扫描字符串ES:[(E)DI]中的EAX双字值,遇到EAX值停止 REPNE CMPS StrING1
REPZ REPZ CMPS m8, m8 F3 A6 设置 AF CF OF PF SF ZF 比较字符串,每次比较1个字节,直到不相等字节停止 REPZ CMPS StrING1, StrING2 ;源串DS:[(E)SI],目的串:ES:[(E)DI]
REPZ CMPS m16, m16 F3 A7 比较字符串,每次比较1个字,直到不相等字停止 REPZ CMPS StrING1, StrING2 ;源串DS:[(E)SI],目的串:ES:[(E)DI]
REPZ CMPS m32, m32 F3 A7 比较字符串,每次比较1个双字,直到不相等双字停止 REPZ CMPS StrING1, StrING2 ;源串DS:[(E)SI],目的串:ES:[(E)DI]
REPZ SCAS m8 F3 AE 扫描字符串ES:[(E)DI]中的AL字节值,遇到非AL值停止 REPZ SCAS StrING1
REPZ SCAS m16 F3 AF 扫描字符串ES:[(E)DI]中的AX字值,遇到非AX值停止 REPZ CMPS StrING1
REPZ SCAS m32 F3 AF 扫描字符串ES:[(E)DI]中的EAX双字值,遇到非EAX值停止 REPZ CMPS StrING1
REPNZ REPNZ CMPS m8, m8 F2 A6 设置 AF CF OF PF SF ZF 比较字符串,每次比较1个字节,直到相等字节停止 REPNZ CMPS StrING1, StrING2 ;源串DS:[(E)SI],目的串:ES:[(E)DI]
REPNZ CMPS m16, m16 F2 A7 比较字符串,每次比较1个字,直到相等字停止 REPNZ CMPS StrING1, StrING2 ;源串DS:[(E)SI],目的串:ES:[(E)DI]
REPNZ CMPS m32, m32 F2 A7 比较字符串,每次比较1个双字,直到相等双字停止 REPNZ CMPS StrING1, StrING2 ;源串DS:[(E)SI],目的串:ES:[(E)DI]
REPNZ SCAS m8 F2 AE 扫描字符串ES:[(E)DI]中的AL字节值,遇到AL值停止 REPNZ SCAS StrING1
REPNZ SCAS m16 F2 AF 扫描字符串ES:[(E)DI]中的AX字值,遇到AX值停止 REPNZ CMPS StrING1
REPNZ SCAS m32 F2 AF 扫描字符串ES:[(E)DI]中的EAX双字值,遇到EAX值停止 REPNZ CMPS StrING1
RET RET C3 恢复压栈的标志位 子过程返回(Near) RET
RET CB 子过程返回(Far) RET
RET imm16 C2 iw 子过程返回(Near),并从堆栈弹出imm16字节 RET 08
RET imm16 CA iw 子过程返回(Far),并从堆栈弹出imm16字节 RET 08
RSM RSM 0F AA 恢复所有标志位 从系统管理模式返回 RSM
SAHF SAHF 9E 设置SF ZF AF PF CF 装入AH到标志寄存器,格式:(SF:ZF:0:AF:0:PF:1:CF)←AH SAHF
SAL SAL r/m8, 1 D0 /4 CF(或OF)被改变 算术左移1次(乘法:r/m8=r/m8*2) SAL AL,1
SAL r/m8, CL D2 /4 算术左移CL次(乘法:r/m8=r/m8*(2^CL)) SAL AL,CL
SAL r/m8, imm8 C0 /4 ib 算术左移imm8次(乘法:r/m8=r/m8*(2^imm8)) SAL AL,03
SAL r/m16, 1 D1 /4 算术左移1次(乘法:r/m16=r/m16*2) SAL AX,1
SAL r/m16, CL D3 /4 算术左移CL次(乘法:r/m16=r/m16*(2^CL)) SAL AX,CL
SAL r/m16, imm8 C1 /4 ib 算术左移imm8次(乘法:r/m16=r/m16*(2^imm8)) SAL AX,03
SAL r/m32, 1 D1 /4 算术左移1次(乘法:r/m32=r/m32*2) SAL EAX,1
SAL r/m32, CL D3 /4 算术左移CL次(乘法:r/m32=r/m32*(2^CL)) SAL EAX,CL
SAL r/m32, imm8 C1 /4 ib 算术左移imm8次(乘法:r/m32=r/m32*(2^imm8)) SAL EAX,03
SAR SAR r/m8, 1 D0 /7 CF(或OF)被改变 算术右移1次(有符号除法:r/m8=r/m8 / 2) SAR AL,1
SAR r/m8, CL D2 /7 算术右移CL次(有符号除法:r/m8=r/m8 / (2^CL)) SAR AL,CL
SAR r/m8, imm8 C0 /7 ib 算术右移imm8次(有符号除法:r/m8=r/m8 / (2^imm8)) SAR AL,03
SAR r/m16, 1 D1 /7 算术右移1次(有符号除法:r/m16=r/m16 / 2) SAR AX,1
SAR r/m16, CL D3 /7 算术右移CL次(有符号除法:r/m16=r/m16 / (2^CL)) SAR AX,CL
SAR r/m16, imm8 C1 /7 ib 算术右移imm8次(有符号除法:r/m16=r/m16 / (2^imm8)) SAR AX,03
SAR r/m32, 1 D1 /7 算术右移1次(有符号除法:r/m32=r/m32 / 2) SAR EAX,1
SAR r/m32, CL D3 /7 算术右移CL次(有符号除法:r/m32=r/m32 / (2^CL)) SAR EAX,CL
SAR r/m32, imm8 C1 /7 ib 算术右移imm8次(有符号除法:r/m32=r/m32 / (2^imm8)) SAR EAX,03
SHL SHL r/m8, 1 D0 /4 CF(或OF)被改变 逻辑左移1次(乘法:r/m8=r/m8*2) SHL AL,1
SHL r/m8, CL D2 /4 逻辑左移CL次(乘法:r/m8=r/m8*(2^CL)) SHL AL,CL
SHL r/m8, imm8 C0 /4 ib 逻辑左移imm8次(乘法:r/m8=r/m8*(2^imm8)) SHL AL,03
SHL r/m16, 1 D1 /4 逻辑左移1次(乘法:r/m16=r/m16*2) SHL AX,1
SHL r/m16, CL D3 /4 逻辑左移CL次(乘法:r/m16=r/m16*(2^CL)) SHL AX,CL
SHL r/m16, imm8 C1 /4 ib 逻辑左移imm8次(乘法:r/m16=r/m16*(2^imm8)) SHL AX,03
SHL r/m32, 1 D1 /4 逻辑左移1次(乘法:r/m32=r/m32*2) SHL EAX,1
SHL r/m32, CL D3 /4 逻辑左移CL次(乘法:r/m32=r/m32*(2^CL)) SHL EAX,CL
SHL r/m32, imm8 C1 /4 ib 逻辑左移imm8次(乘法:r/m32=r/m32*(2^imm8)) SHL EAX,03
SHR SHR r/m8, 1 D0 /5 CF(或OF)被改变 逻辑右移1次(无符号除法:r/m8=r/m8 / 2) SHR AL,1
SHR r/m8, CL D2 /5 逻辑右移CL次(无符号除法:r/m8=r/m8 / (2^CL)) SHR AL,CL
SHR r/m8, imm8 C0 /5 ib 逻辑右移imm8次(无符号除法:r/m8=r/m8 / (2^imm8)) SHR AL,03
SHR r/m16, 1 D1 /5 逻辑右移1次(无符号除法:r/m16=r/m16 / 2) SHR AX,1
SHR r/m16, CL D3 /5 逻辑右移CL次(无符号除法:r/m16=r/m16 / (2^CL)) SHR AX,CL
SHR r/m16, imm8 C1 /5 ib 逻辑右移imm8次(无符号除法:r/m16=r/m16 / (2^imm8)) SHR AX,03
SHR r/m32, 1 D1 /5 逻辑右移1次(无符号除法:r/m32=r/m32 / 2) SHR EAX,1
SHR r/m32, CL D3 /5 逻辑右移CL次(无符号除法:r/m32=r/m32 / (2^CL)) SHR EAX,CL
SHR r/m32, imm8 C1 /5 ib 逻辑右移imm8次(无符号除法:r/m32=r/m32 / (2^imm8)) SHR EAX,03
SBB SBB AL, imm8 1C ib 设置 AF CF OF SF PF ZF 带借位减法 SBB AL, 1F
SBB AX, imm16 1D iw SBB AX, 4F80
SBB EAX, imm32 1D id SBB EAX, 00004F80
SBB r/m8, imm8 80 /3 ib SBB BYTE Ptr [006387EA], 39
SBB r/m16,imm16 81 /3 iw SBB WORD Ptr [006387EA], 1039
SBB r/m32,imm32 81 /3 id SBB DWORD Ptr [006387EA], 00001039
SBB r/m16,imm8 83 /3 ib SBB WORD Ptr [006387EA], 39
SBB r/m32,imm8 83 /3 ib SBB DWORD Ptr [006387EA], 39
SBB r/m8,r8 18 /r SBB [006387EA], AL
SBB r/m16,r16 19 /r SBB [006387EA], AX
SBB r/m32,r32 19 / r SBB [006387EA], EAX
SBB r8,r/m8 1A /r SBB AL, [006387EA]
SBB r16,r/m16 1B /r SBB AX, [006387EA]
SBB r32,r/m32 1B /r SBB EAX, [006387EA]
SCAS SCAS m8 AE 设置OF SF ZF AF PF CF 用AL中的字节值扫描字符串ES:(E)DI,然后设置标志位
SCAS m16 AF 用AX中的字值扫描字符串ES:(E)DI,然后设置标志位
SCAS m32 AF 用EAX中的双字值扫描字符串ES:(E)DI,然后设置标志位
SCASB SCASB AE 设置OF SF ZF AF PF CF 用AL中的字节值扫描字符串ES:(E)DI,然后设置标志位 SCASB
SCASW SCASW AF 设置OF SF ZF AF PF CF 用AX中的字值扫描字符串ES:(E)DI,然后设置标志位 SCASW
SCASD SCASD AF 设置OF SF ZF AF PF CF 用EAX中的双字值扫描字符串ES:(E)DI,然后设置标志位 SCASD
SETcc SETA r/m8 0F 97 高于(CF=0 and ZF=0) 条件设置指令,如果条件满足则r/m8=1,否则r/m8=0 SETA AL
SETAE r/m8 0F 93 高于等于(CF=0) SETAE AL
SETB r/m8 0F 92 低于(CF=1) SETB AL
SETBE r/m8 0F 96 低于等于(CF=1 or ZF=1) SETBE AL
SETC r/m8 0F 92 有进位(CF=1) SETC AL
SETE r/m8 0F 94 等于(ZF=1) SETE AL
SETG r/m8 0F 9F 大于(ZF=0 and SF=OF) SETG AL
SETGE r/m8 0F 9D 大于等于(SF=OF) SETGE AL
SETL r/m8 0F 9C 小于(SF<>OF) SETL AL
SETLE r/m8 0F 9E 小于等于(ZF=1 or SF<>OF) SETLE AL
SETNA r/m8
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -