Intel系列CPU指令必备速查手册 下载本文

MOV CR2,r32 0F 22 /r MOV CR3,r32 0F 22 /r MOV CR4,r32 0F 22 /r MOV r32,CR0 0F 20 /r MOV r32,CR2 0F 20 /r MOV r32,CR3 0F 20 /r MOV r32,CR4 0F 20 /r MOV r32, MOV DR0-DR7 MOV DR0-DR7,r32 MOVD mm, r/m32 0F 21 /r 不影响标志位 0F 23 /r 调试寄存器传送指令 MOV CR2,EAX MOV CR3,EAX MOV CR4,EAX MOV EAX,CR0 MOV EAX,CR2 MOV EAX,CR3 MOV EAX,CR4 MOV EAX,DR0 MOV DR0,EAX 0F 6E /r MOVD MOVD r/m32, 0F 7E /r mm MOVD xmm, r/m32 66 0F 6E /r 不影响标志位 双字传送指令 MOVD r/m32, 66 0F 7E /r xmm MOVQ mm, r/m64 MOVQ mm/m64, MOVQ mm MOVQ xmm1, xmm2/m64 MOVQ xmm2/m64, 66 0F D6 xmm1 F3 0F 7E 0F 7F /r 不影响标志位 八字节传送指令 0F 6F /r MOVS StrING1, MOVS m8, m8 A4 字符串传送,每次传送1StrING2 ;源串个字节 DS:(E)SI,目的串:ES:(E)DI MOVS StrING1, MOVS m16, MOVS m16 A5 字符串传送,每次传送1StrING2 ;源串不影响标志位 个字 DS:(E)SI,目的串:ES:(E)DI MOVS StrING1, MOVS m32, m32 字符串传送,每次传送1个双字 StrING2 ;源串DS:(E)SI,目的串:ES:(E)DI (386+) A5

MOVSB A4 字符串传送,每次传送1个字节 MOVSB ;源串DS:(E)SI,目的串:ES:(E)DI MOVSW ;源串DS:(E)SI,目的串:ES:(E)DI MOVSD ;源串MOVSW A5 字符串传送,每次传送1个字 MOVSD A5 字符串传送,每次传送1DS:(E)SI,目的个双字 串:ES:(E)DI (386+) MOVSX r16,r/m8 MOVSX MOVSX r32,r/m8 MOVSX r32,r/m16 MOVZX r16,r/m8 MOVZX MOVZX r32,r/m8 MOVZX r32,r/m16 MUL r/m8 0F BE /r MOVSX AX, BL 0F BE /r 不影响标志位 带符号扩展传送指令 MOVSX EAX,BL 0F BF /r MOVSX EAX,BX 0F B6 /r MOVZX AX, BL 0F B6 /r 不影响标志位 零扩展传送指令 MOVZX EAX,BL 0F B7 /r 无符号乘法:AX←AL*r/m8 设置CF OF (SF ZF AF PF未定义) 无符号乘法:DX:AX←AX*r/m16 无符号乘法:EDX:EAX←EAX*r/m32 MOVZX EAX,BX F6 /4 MUL CL MUL MUL r/m16 F7 /4 MUL CX MUL r/m32 NEG r/m8 NEG r/m16 F7 /4 F6 /3 F7 /3 设置CF OF SF ZF AF PF MUL ECX 取负:r/m8=-r/m8 NEG CL 取负:r/m16=-r/m16 取负:r/m32=-r/m32 不影响标志位 空操作 按位取反:r/m8=NOT r/m8 按位取反:NEG CX NEG r/m32 NOP NOP NOT r/m8 F7 /3 90 F6 /2 NEG ECX NOP NOT CL NOT NOT r/m16 F7 /2 设置CF OF SF r/m16=NOT ZF AF PF r/m16 按位取反:NOT CX NOT r/m32 F7 /2 r/m32=NOT r/m32 NOT ECX

OR AL, imm8 0C ib OR AX, imm16 OR EAX, imm32 OR r/m8, imm8 OR r/m16,imm181 /1 iw 6 OR r/m32,imm381 /1 id 2 OR r/m16,imm8 OR r/m32,imm8 OR r/m8,r8 83 /1 ib 设置 CF OF PF 逻辑或 SF ZF 0D iw OR AL, 1F OR AX, 4F80 OR EAX, 00004F80 OR BYTE Ptr [006387EA], 39 OR WORD Ptr [006387EA], 1039 0D id 80 /1 ib OR WORD Ptr [006387EA], 39 OR DWORD Ptr [006387EA], 39 OR [006387EA], AL OR 83 /1 ib 08 /r OR r/m16,r16 09 /r [006387EA], AX OR OR r/m32,r32 09 /r [006387EA], EAX OR r8,r/m8 OR r16,r/m16 OR r32,r/m32 0A /r OR AL, [006387EA] OR AX, [006387EA] OR EAX, [006387EA] 将AL输出到imm8指定的端口 将AX输出到imm8指定的端口 将EAX输出到imm8不影响标志位 指定的端口 将AL输出到DX指定的端口 将AX输出到DX指定的端口 OUT E0,AL 0B /r 0B /r OUT imm8,AL E6 ib OUT imm8,AX E7 ib OUT OUT imm8,EAX OUT AL,DX OUT E0,AX E7 ib OUT E0,EAX EE OUT DX,AL OUT AX,DX EF OUT DX,AX OUT EAX,DX EF 将EAX输出到DX指定OUT DX,EAX

的端口 OUTS DX,m8 6E 将DS:(E)SI处的字节输出到DX指定的端口 不影响标志位 将DS:(E)SI处的字输出到DX指定的端口 将DS:(E)SI处的双字输出到DX指定的端口 不影响标志位 将DS:(E)SI处的字节输出到DX指定的端口 将DS:(E)SI处的字输出到DX指定的端口 将DS:(E)SI处的双字输出到DX指定的端口 OUTS OUTS DX,m16 6F OUTS DX,m32 6F OUTSB OUTSB 6E OUTSB OUTSW OUTSW 6F 不影响标志位 OUTSW OUTSD OUTSD PACKSSWB mm1, 6F 不影响标志位 OUTSD 0F 63 /r 不影响标志位 紧缩带符号字到字节,溢出取饱和值 mm2/m64 PACKSSWB xmm1,xmm266 0F 63 /r /m128 PACKSSDW mm1, 0F 6B /r PACKSSWB XMM0,XMM1 不影响标志位 紧缩带符号双字到字,溢出取饱和值 PACKSSDW XMM0,XMM1 PACKSSDmm2/m64 W PACKSSDW xmm1,xmm266 0F 6B /r /m128 PACKUSWB mm1, PACKUSWB mm2/m64 PACKUSWB xmm1,xmm266 0F 67 /r /m128 PADDB mm, mm/m64 PADDB PADDB xmm1,xmm266 0F FC /r /m128 PADDW mm, mm/m64 PADDW PADDW xmm1,xmm266 0F FD /r /m128 PADDD PADDD mm, 0F FE /r 0F FD /r 0F FC /r 0F 67 /r 不影响标志位 紧缩无符号字到字节,溢出取饱和值 PACKUSWB XMM0,XMM1 不影响标志位 紧缩字节相加,溢出则回绕 PADDB XMM6,XMM7 不影响标志位 紧缩字相加,溢出则回绕 PADDW XMM6,XMM7 不影响标志位 紧缩双字相加,溢出则回