⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 586指令.txt

📁 会变语言实现的一些程序
💻 TXT
📖 第 1 页 / 共 5 页
字号:
IDIV r/m32 F7 /7 IDIV EBX;EDX:EAX除以BX,商在EAX中,余数在EDX中 
IMUL IMUL r/m8 F6 /5 设置CF OF
(SF ZF AF PF未定义) 有符号乘法:AX←AL*r/m8 IMUL CL 
IMUL r/m16 F7 /5 有符号乘法:DX:AX←AX*r/m16 IMUL CX 
IMUL r/m32 F7 /5 有符号乘法:EDX:EAX←EAX*r/m32 IMUL ECX 
IMUL r16, r/m16 0F AF /r 有符号乘法:r16←r16*r/m16 IMUL AX, BX 
IMUL r32, r/m32 0F AF /r 有符号乘法:r32←r32*r/m32 IMUL EAX, EBX 
IMUL r16,r/m16,imm8 6B /r ib 有符号乘法:r16←r/m16*imm8 IMUL AX, BX, 39 
IMUL r32,r/m32,imm8 6B /r ib 有符号乘法:r32←r/m32*imm8 IMUL EAX, EBX, 39 
IMUL r16, imm8 6B /r ib 有符号乘法:r16←r16*imm8 IMUL AX, 37 
IMUL r32, imm8 6B /r ib 有符号乘法:r32←r32*imm8 IMUL EAX, 37 
IMUL r16,r/m16,imm16 69 /r iw 有符号乘法:r16←r/m16*imm16 IMUL AX, BX, 387E 
IMUL r32,r/m32,imm32 69 /r id 有符号乘法:r32←r/m32*imm32 IMUL EAX, EBX, 006387EA 
IMUL r16, imm16 69 /r iw 有符号乘法:r16←r16*imm16 IMUL AX, 387E 
IMUL r32, imm32 69 /r id 有符号乘法:r32←r32*imm32 IMUL EAX, 006387EA 
IN IN AL,imm8 E4 ib 不影响标志位 从imm8指定的端口读字节(BYTE)到AL IN AL,E0 
IN AX,imm8 E5 ib 从imm8指定的端口读字节(BYTE)到AX IN AX,E0 
IN EAX,imm8 E5 ib 从imm8指定的端口读字节(BYTE)到EAX IN EAX,E0 
IN AL,DX EC 从DX指定的端口读字节(BYTE)到AL IN AL,DX 
IN AX,DX ED 从DX指定的端口读字(WORD)到AX IN AX,DX 
IN EAX,DX ED 从DX指定的端口读双字(DWORD)到EAX IN EAX,DX 
INC INC r/m8 FE /0 设置 OF SF ZF AF PF 目标加1 INC BYTE Ptr [00459AF0] 
INC r/m16 FF /0 INC WORD Ptr [00459AF0] 
INC r/m32 FF /0 INC DWORD Ptr [00459AF0] 
INC r16 40+rw INC DX 
INC r32 40+rd INC EDX 
INS INS m8, DX 6C 不影响标志位 从DX指定的端口读字节(BYTE)到ES:(E)DI   
INS m16, DX 6D 从DX指定的端口读字(WORD)到ES:(E)DI   
INS m32, DX 6D 从DX指定的端口读双字(DWORD)到ES:(E)DI   
INSB INSB 6C 不影响标志位 从DX指定的端口读字节(BYTE)到ES:(E)DI INSB 
INSW INSW 6D 不影响标志位 从DX指定的端口读字(WORD)到ES:(E)DI INSW 
INSD INSD 6D 不影响标志位 从DX指定的端口读双字(DWORD)到ES:(E)DI INSD 
INT 3 INT 3 CC 标志位被保存压栈 调试陷阱中断 INT 3 
INT imm8 INT imm8 CD ib 标志位被保存压栈 中断功能调用,imm8是中断向量号 INT 21 
INTO INTO CE 标志位被保存压栈 溢出中断,条件:OV=1,4号中断功能调用 INTO 
INVD INVD 0F 08 不影响标志位 使内部CACHES无效,初始化外部CACHES INVD 
INVLPG INVLPG 0F 01/7 不影响标志位 使TLB项无效 INVLPG [EBX] 
IRET IRET CF 恢复被压栈的标志位 中断返回(16位) IRET 
IREtd IREtd CF 恢复被压栈的标志位 中断返回(32位) IREtd 
Jcc JA rel8 77 cb 高于(CF=0 and ZF=0) 条件转移指令   
JAE rel8 73 cb 高于等于(CF=0)   
JB rel8 72 cb 低于(CF=1)   
JBE rel8 76 cb 低于等于(CF=1 or ZF=1)   
JC rel8 72 cb 有进位(CF=1)   
JCXZ rel8 E3 cb CX=0则跳   
JECXZ rel8 E3 cb ECX=0则跳   
JE rel8 74 cb 等于(ZF=1)   
JG rel8 7F cb 大于(ZF=0 and SF=OF)   
JGE rel8 7D cb 大于等于(SF=OF)   
JL rel8 7C cb 小于(SF<>OF)   
JLE rel8 7E cb 小于等于(ZF=1 or SF<>OF)   
JNA rel8 76 cb 不高于(CF=1 or ZF=1)   
JNAE rel8 72 cb 不高等于(CF=1)   
JNB rel8 73 cb 不低于(CF=0)   
JNBE rel8 77 cb 不低等于(CF=0 and ZF=0)   
JNC rel8 73 cb 无进位(CF=0)   
JNE rel8 75 cb 不等于(ZF=0)   
JNG rel8 7E cb 不大于(ZF=1 or SF<>OF)   
JNGE rel8 7C cb 不大等于(SF<>OF)   
JNL rel8 7D cb 不小于(SF=OF)   
JNLE rel8 7F cb 不小等于(ZF=0 and SF=OF)   
JNO rel8 71 cb 无溢出(OF=0)   
JNP rel8 7B cb 非偶数(PF=0)   
JNS rel8 79 cb 非负数(SF=0)   
JNZ rel8 75 cb 非零(ZF=0)   
JO rel8 70 cb 溢出(OF=1)   
JP rel8 7A cb 偶数(PF=1)   
JPE rel8 7A cb 偶数(PF=1)   
JPO rel8 7B cb 奇数(PF=0)   
JS rel8 78 cb 负数(SF=1)   
JZ rel8 74 cb 为零(ZF=1)   
JA rel16/32 0F 87 cw/cd 高于(CF=0 and ZF=0)   
JAE rel16/32 0F 83 cw/cd 高于等于(CF=0)   
JB rel16/32 0F 82 cw/cd 低于(CF=1)   
JBE rel16/32 0F 86 cw/cd 低于等于(CF=1 or ZF=1)   
JC rel16/32 0F 82 cw/cd 有进位(CF=1)   
JE rel16/32 0F 84 cw/cd 等于(ZF=1)   
JZ rel16/32 0F 84 cw/cd 为零(ZF=1)   
JG rel16/32 0F 8F cw/cd 大于(ZF=0 and SF=OF)   
JMP JMP rel8 EB cb 不影响标志位 无条件转移指令   
JMP rel16 E9 cw   
JMP rel32 E9 cd   
JMP r/m16 FF /4   
JMP r/m32 FF /4   
JMP ptr16:16 EA cd   
JMP ptr16:32 EA cp   
JMP m16:16 FF /5   
JMP m16:32 FF /5   
LAHF LAHF 9F 不影响标志位 将标志寄存器的低字节送入AH,格式为:AH=(SF:ZF:0:AF:0:PF:1:CF) LAHF 
LAR LAR r16,r/m16 0F 02 /r 设置ZF 将源操作数指定的选择子访问权送目标寄存器 LAR AX,BX 
LAR r32,r/m32 LAR EAX,EBX 
LDS LDS r16,m16:16 C5 /r 不影响标志位 从内存位置m16:16装入地址值DS:r16   
LDS r32,m16:32 从内存位置m16:32装入地址值DS:r32   
LSS LSS r16,m16:16 0F B2 /r 不影响标志位 从内存位置m16:16装入地址值SS:r16   
LSS r32,m16:32 从内存位置m16:32装入地址值SS:r32   
LES LES r16,m16:16 C4 /r 不影响标志位 从内存位置m16:16装入地址值ES:r16   
LES r32,m16:32 从内存位置m16:32装入地址值ES:r32   
LFS LFS r16,m16:16 0F B4 /r 不影响标志位 从内存位置m16:16装入地址值FS:r16   
LFS r32,m16:32 从内存位置m16:32装入地址值FS:r32   
LGS LGS r16,m16:16 0F B5 /r 不影响标志位 从内存位置m16:16装入地址值GS:r16   
LGS r32,m16:32 从内存位置m16:32装入地址值GS:r32   
LEA LEA r16,m 8D /r 不影响标志位 将源操作数的有效地址送r16   
LEA r32,m 将源操作数的有效地址送r32   
LEAVE LEAVE C9 不影响标志位 子过程返回释放堆栈框架 LEAVE 
LGDT LGDT m16&32 0F 01 /2 不影响标志位 将内存m16&32处的值装入全局描述符表寄存器 LGDT [EBP] 
LIDT LIDT m16&32 0F 01 /3 不影响标志位 将内存m16&32处的值装入中断描述符表寄存器 LIDT [SI] 
LLDT LLDT r/m16 0F 00 /2 不影响标志位 将r/m16处的值装入局部描述符表寄存器 LLDT BX 
LMSW LMSW r/m16 0F 01 /6 不影响标志位 将r/m16处的值装入机器状态字 LMSW [BP] 
LOCK LOCK F0 不影响标志位 总线锁定 LOCK 
LODS LODS m8 AC 不影响标志位 将地址DS:(E)SI的值装入AL   
LODS m16 AD 将地址DS:(E)SI的值装入AX   
LODS m32 AD 将地址DS:(E)SI的值装入EAX   
LODSB LODSB AC 不影响标志位 将地址DS:(E)SI的值装入AL LODSB 
LODSW LODSW AD 不影响标志位 将地址DS:(E)SI的值装入AX LODSW 
LODSD LODSD AD 不影响标志位 将地址DS:(E)SI的值装入EAX LODSD 
LOOP LOOP rel8 E2 cb 不影响标志位 条件循环指令,循环条件:CX/ECX != 0   
LOOPE LOOPE rel8 E1 cb 不影响标志位 条件循环指令,循环条件:CX/ECX != 0 且 ZF=1   
LOOPZ LOOPZ rel8 E1 cb 不影响标志位 条件循环指令,循环条件:CX/ECX != 0 且 ZF=1   
LOOPNE LOOPNE rel8 E1 cb 不影响标志位 条件循环指令,循环条件:CX/ECX != 0 且 ZF=0   
LOOPNZ LOOPNZ rel8 E1 cb 不影响标志位 条件循环指令,循环条件:CX/ECX != 0 且 ZF=0   
LSL LSL r16,r/m16 0F 03 /r 设置ZF 装入选择子对应的描述符的段界限 LSL AX,BX 
LSL r32,r/m32 LSL EAX,EBX 
Ltr Ltr r/m16 0F 00 /3 不影响标志位 装入任务寄存器 Ltr AX 
MOV MOV r/m8,r8 88 /r 不影响标志位 传送指令 MOV [00459AF0],AL 
MOV r/m16,r16 89 /r MOV [00459AF0],AX 
MOV r/m32,r32 89 /r MOV [00459AF0],EAX 
MOV r8,r/m8 8A /r MOV AL,[00459AF0] 
MOV r16,r/m16 8B /r MOV AX,[00459AF0] 
MOV r32,r/m32 8B /r MOV EAX,[00459AF0] 
MOV r/m16,Sreg 8C /r MOV AX,ES 
MOV Sreg,r/m16 8E /r MOV ES,AX 
MOV AL,moffs8 A0 MOV AL,ES:[459A] 
MOV AX,moffs16 A1 MOV AX,ES:[459A] 
MOV EAX,moffs32 A1 MOV EAX,ES:[00459AF0] 
MOV moffs8,AL A2 MOV ES:[459A],AL 
MOV moffs16,AX A3 MOV ES:[459A],AX 
MOV moffs32,EAX A3 MOV ES:[00459AF0],EAX 
MOV r8,imm8 B0+rb MOV AL,F0 
MOV r16,imm16 B8+rw MOV AX,9AF0 
MOV r32,imm32 B8+rd MOV EAX,00459AF0 
MOV r/m8,imm8 C6 /0 MOV BYTE Ptr [00459AF0],F0 
MOV r/m16,imm16 C7 /0 MOV WORD Ptr [00459AF0],9AF0 
MOV r/m32,imm32 C7 /0 MOV DWORD Ptr [00459AF0],00459AF0 
MOV MOV CR0,r32 0F 22 /r 不影响标志位 控制寄存器传送指令 MOV CR0,EAX 
MOV CR2,r32 0F 22 /r MOV CR2,EAX 
MOV CR3,r32 0F 22 /r MOV CR3,EAX 
MOV CR4,r32 0F 22 /r MOV CR4,EAX 
MOV r32,CR0 0F 20 /r MOV EAX,CR0 
MOV r32,CR2 0F 20 /r MOV EAX,CR2 
MOV r32,CR3 0F 20 /r MOV EAX,CR3 
MOV r32,CR4 0F 20 /r MOV EAX,CR4 
MOV MOV r32, DR0-DR7 0F 21 /r 不影响标志位 调试寄存器传送指令 MOV EAX,DR0 
MOV DR0-DR7,r32 0F 23 /r MOV DR0,EAX 
MOVD MOVD mm, r/m32 0F 6E /r 不影响标志位 双字传送指令   
MOVD r/m32, mm 0F 7E /r   
MOVD xmm, r/m32 66 0F 6E /r   
MOVD r/m32, xmm 66 0F 7E /r   
MOVQ MOVQ mm, r/m64 0F 6F /r 不影响标志位 八字节传送指令   
MOVQ mm/m64, mm 0F 7F /r   
MOVQ xmm1, xmm2/m64 F3 0F 7E   
MOVQ xmm2/m64, xmm1 66 0F D6   
MOVS MOVS m8, m8 A4 不影响标志位 字符串传送,每次传送1个字节 MOVS StrING1, StrING2 ;源串DS:(E)SI,目的串:ES:(E)DI 
MOVS m16, m16 A5 字符串传送,每次传送1个字 MOVS StrING1, StrING2 ;源串DS:(E)SI,目的串:ES:(E)DI 
MOVS m32, m32 A5 字符串传送,每次传送1个双字 MOVS StrING1, StrING2 ;源串DS:(E)SI,目的串:ES:(E)DI (386+) 
MOVSB A4 字符串传送,每次传送1个字节 MOVSB ;源串DS:(E)SI,目的串:ES:(E)DI 
MOVSW A5 字符串传送,每次传送1个字 MOVSW ;源串DS:(E)SI,目的串:ES:(E)DI 
MOVSD A5 字符串传送,每次传送1个双字 MOVSD ;源串DS:(E)SI,目的串:ES:(E)DI (386+) 
MOVSX MOVSX r16,r/m8 0F BE /r 不影响标志位 带符号扩展传送指令 MOVSX AX, BL 
MOVSX r32,r/m8 0F BE /r MOVSX EAX,BL 
MOVSX r32,r/m16 0F BF /r MOVSX EAX,BX 
MOVZX MOVZX r16,r/m8 0F B6 /r 不影响标志位 零扩展传送指令 MOVZX AX, BL 
MOVZX r32,r/m8 0F B6 /r MOVZX EAX,BL 
MOVZX r32,r/m16 0F B7 /r MOVZX EAX,BX 
MUL MUL r/m8 F6 /4 设置CF OF
(SF ZF AF PF未定义) 无符号乘法:AX←AL*r/m8 MUL CL 
MUL r/m16 F7 /4 无符号乘法:DX:AX←AX*r/m16 MUL CX 
MUL r/m32 F7 /4 无符号乘法:EDX:EAX←EAX*r/m32 MUL ECX 
NEG NEG r/m8 F6 /3 设置CF OF SF ZF AF PF 取负:r/m8=-r/m8 NEG CL 
NEG r/m16 F7 /3 取负:r/m16=-r/m16 NEG CX 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -