📄 intel奔腾系列cpu指令全集(包含p4).htm
字号:
0F 8E cw/cd JNG rel16/32 Jump near if not greater (ZF=1 or SF<>OF)
0F 8C cw/cd JNGE rel16/32 Jump near if not greater or equal (SF<>OF)
0F 8D cw/cd JNL rel16/32 Jump near if not less (SF=OF)
0F 8F cw/cd JNLE rel16/32 Jump near if not less or equal (ZF=0 and SF=OF)
0F 81 cw/cd JNO rel16/32 Jump near if not overflow (OF=0)
0F 8B cw/cd JNP rel16/32 Jump near if not parity (PF=0)
0F 89 cw/cd JNS rel16/32 Jump near if not sign (SF=0)
0F 85 cw/cd JNZ rel16/32 Jump near if not zero (ZF=0)
0F 80 cw/cd JO rel16/32 Jump near if overflow (OF=1)
0F 8A cw/cd JP rel16/32 Jump near if parity (PF=1)
0F 8A cw/cd JPE rel16/32 Jump near if parity even (PF=1)
0F 8B cw/cd JPO rel16/32 Jump near if parity odd (PF=0)
0F 88 cw/cd JS rel16/32 Jump near if sign (SF=1)
0F 84 cw/cd JZ rel16/32 Jump near if 0 (ZF=1)
EB cb JMP rel8 Jump short, relative, displacement relative
to next instruction
E9 cw JMP rel16 Jump near, relative, displacement relative
to next instruction
E9 cd JMP rel32 Jump near, relative, displacement relative
to next instruction
FF /4 JMP r/m16 Jump near, absolute indirect, address given in r/m16
FF /4 JMP r/m32 Jump near, absolute indirect, address given in r/m32
EA cd JMP ptr16:16 Jump far, absolute, address given in operand
EA cp JMP ptr16:32 Jump far, absolute, address given in operand
FF /5 JMP m16:16 Jump far, absolute indirect, address given in m16:16
FF /5 JMP m16:32 Jump far, absolute indirect, address given in m16:32
9F LAHF Load: AH ←EFLAGS(SF:ZF:0:AF:0:PF:1:CF)
0F 02 /r LAR r16,r/m16 r16 ←r/m16 masked by FF00H
0F 02 /r LAR r32,r/m32 r32 ←r/m32 masked by 00FxFF00H
0F,AE,/2 LDMXCSR m32 Load MXCSR register from m32.
C5 /r LDS r16,m16:16 Load DS:r16 with far pointer from memory
C5 /r LDS r32,m16:32 Load DS:r32 with far pointer from memory
0F B2 /r LSS r16,m16:16 Load SS:r16 with far pointer from memory
0F B2 /r LSS r32,m16:32 Load SS:r32 with far pointer from memory
C4 /r LES r16,m16:16 Load ES:r16 with far pointer from memory
C4 /r LES r32,m16:32 Load ES:r32 with far pointer from memory
0F B4 /r LFS r16,m16:16 Load FS:r16 with far pointer from memory
0F B4 /r LFS r32,m16:32 Load FS:r32 with far pointer from memory
0F B5 /r LGS r16,m16:16 Load GS:r16 with far pointer from memory
0F B5 /r LGS r32,m16:32 Load GS:r32 with far pointer from memory
8D /r LEA r16,m Store effective address for m in register r16
8D /r LEA r32,m Store effective address for m in register r32
C9 LEAVE SET SP to BP, then pop BP
C9 LEAVE SET ESP to EBP, then pop EBP
0F AE /5 LFENCE Serializes load operations.
0F 01 /2 LGDT m16&32 Load m into GDTR
0F 01 /3 LIDT m16&32 Load m into IDTR
0F 00 /2 LLDT r/m16 Load segment selector r/m16 into LDTR
0F 01 /6 LMSW r/m16 Loads r/m16 in machine status word of CR0
F0 LOCK Asserts LOCK# signal for duration of
the accompanying instruction
AC LODS m8 Load byte at address DS:(E)SI into AL
AD LODS m16 Load word at address DS:(E)SI into AX
AD LODS m32 Load doubleword at address DS:(E)SI into EAX
AC LODSB Load byte at address DS:(E)SI into AL
AD LODSW Load word at address DS:(E)SI into AX
AD LODSD Load doubleword at address DS:(E)SI into EAX
E2 cb LOOP rel8 Decrement count; jump short if count ≠0
E1 cb LOOPE rel8 Decrement count; jump short if count ≠0 and ZF=1
E1 cb LOOPZ rel8 Decrement count; jump short if count ≠0 and ZF=1
E0 cb LOOPNE rel8 Decrement count; jump short if count ≠0 and ZF=0
E0 cb LOOPNZ rel8 Decrement count; jump short if count ≠0 and ZF=0
0F 03 /r LSL r16,r/m16 Load: r16 ←segment limit, selector r/m16
0F 03 /r LSL r32,r/m32 Load: r32 ←segment limit, selector r/m32
0F 00 /3 LTR r/m16 Load r/m16 into task register
66 0F F7 /r MASKMOVDQU xmm1, xmm2 Selectively write bytes from xmm1 to memory
location using the byte mask in xmm2.
0F F7 /r MASKMOVQ mm1, mm2 Selectively write bytes from mm1 to memory
location using the byte mask in mm2
66 0F 5F /r MAXPD xmm1, xmm2/m128 Return the maximum double-precision floating-point
values between xmm2/m128 and xmm1.
0F 5F /r MAXPS xmm1, xmm2/m128 Return the maximum single-precision floating-point
values between xmm2/m128 and xmm1.
F2 0F 5F /r MAXSD xmm1, xmm2/m64 Return the maximum scalar double-precision
floating-point value between xmm2/mem64 and xmm1.
F3 0F 5F /r MAXSS xmm1, xmm2/m32 Return the maximum scalar single-precision
floating-point value between xmm2/mem32 and xmm1.
0F AE /6 MFENCE Serializes load and store operations.
66 0F 5D /r MINPD xmm1, xmm2/m128 Return the minimum double-precision floating-point
values between xmm2/m128 and xmm1.
0F 5D /r MINPS xmm1, xmm2/m128 Return the minimum single-precision floating-point
values between xmm2/m128 and xmm1.
F2 0F 5D /r MINSD xmm1, xmm2/m64 Return the minimum scalar double-precision
floating-point value between xmm2/mem64 and xmm1.
F3 0F 5D /r MINSS xmm1, xmm2/m32 Return the minimum scalar single-precision
floating-point value between xmm2/mem32 and xmm1.
88 /r MOV r/m8,r8 Move r8 to r/m8
89 /r MOV r/m16,r16 Move r16 to r/m16
89 /r MOV r/m32,r32 Move r32 to r/m32
8A /r MOV r8,r/m8 Move r/m8 to r8
8B /r MOV r16,r/m16 Move r/m16 to r16
8B /r MOV r32,r/m32 Move r/m32 to r32
8C /r MOV r/m16,Sreg** Move segment register to r/m16
8E /r MOV Sreg,r/m16** Move r/m16 to segment register
A0 MOV AL,moffs8* Move byte at (seg:offset) to AL
A1 MOV AX,moffs16* Move word at (seg:offset) to AX
A1 MOV EAX,moffs32* Move doubleword at (seg:offset) to EAX
A2 MOV moffs8*,AL Move AL to (seg:offset)
A3 MOV moffs16*,AX Move AX to (seg:offset)
A3 MOV moffs32*,EAX Move EAX to (seg:offset)
B0+ rb MOV r8,imm8 Move imm8 to r8
B8+ rw MOV r16,imm16 Move imm16 to r16
B8+ rd MOV r32,imm32 Move imm32 to r32
C6 /0 MOV r/m8,imm8 Move imm8 to r/m8
C7 /0 MOV r/m16,imm16 Move imm16 to r/m16
C7 /0 MOV r/m32,imm32 Move imm32 to r/m32
0F 22 /r MOV CR0,r32 Move r32 to CR0
0F 22 /r MOV CR2,r32 Move r32 to CR2
0F 22 /r MOV CR3,r32 Move r32 to CR3
0F 22 /r MOV CR4,r32 Move r32 to CR4
0F 20 /r MOV r32,CR0 Move CR0 to r32
0F 20 /r MOV r32,CR2 Move CR2 to r32
0F 20 /r MOV r32,CR3 Move CR3 to r32
0F 20 /r MOV r32,CR4 Move CR4 to r32
0F 21 /r MOV r32, DR0-DR7 Move debug register to r32
0F 23 /r MOV DR0-DR7,r32 Move r32 to debug register
0F 24 /r MOV r32, TR0-TR7 Move test register to r32
0F 26 /r MOV TR0-TR7,r32 Move r32 to test register
66 0F 28 /r MOVAPD xmm1, xmm2/m128 Move packed double-precision floating-point values
from xmm2/m128 to xmm1.
66 0F 29 /r MOVAPD xmm2/m128, xmm1 Move packed double-precision floating-point values
from xmm1 to xmm2/m128.
0F 28 /r MOVAPS xmm1, xmm2/m128 Move packed single-precision floating-point values
from xmm2/m128 to xmm1.
0F 29 /r MOVAPS xmm2/m128, xmm1 Move packed single-precision floating-point values
from xmm1 to xmm2/m128.
0F 6E /r MOVD mm, r/m32 Move doubleword from r/m32 to mm.
0F 7E /r MOVD r/m32, mm Move doubleword from mm to r/m32.
66 0F 6E /r MOVD xmm, r/m32 Move doubleword from r/m32 to xmm.
66 0F 7E /r MOVD r/m32, xmm Move doubleword from xmm register to r/m32.
66 0F 6F /r MOVDQA xmm1, xmm2/m128 Move aligned double quadword from xmm2/m128 to xmm1.
66 0F 7F /r MOVDQA xmm2/m128, xmm1 Move aligned double quadword from xmm1 to xmm2/m128.
F3 0F 6F /r MOVDQU xmm1, xmm2/m128 Move unaligned double quadword from xmm2/m128 to xmm1.
F3 0F 7F /r MOVDQU xmm2/m128, xmm1 Move unaligned double quadword from xmm1 to xmm2/m128.
F2 0F D6 MOVDQ2Q mm, xmm Move low quadword from xmm to mmx register .
OF 12 /r MOVHLPS xmm1, xmm2 Move two packed single-precision floating-point values
from high quadword of xmm2 to low quadword of xmm1.
66 0F 16 /r MOVHPD xmm, m64 Move double-precision floating-point value
from m64 to high quadword of xmm.
66 0F 17 /r MOVHPD m64, xmm Move double-precision floating-point value
from high quadword of xmm to m64.
0F 16 /r MOVHPS xmm, m64 Move two packed single-precision floating-point values
from m64 to high quadword of xmm.
0F 17 /r MOVHPS m64, xmm Move two packed single-precision floating-point values
from high quadword of xmm to m64.
OF 16 /r MOVLHPS xmm1, xmm2 Move two packed single-precision floating-point values
from low quadword of xmm2 to high quadword of xmm1.
66 0F 12 /r MOVLPD xmm, m64 Move double-precision floating-point value from m64 to
low quadword of xmm register.
66 0F 13 /r MOVLPD m64, xmm Move double-precision floating-point nvalue from low
quadword of xmm register to m64.
0F 12 /r MOVLPS xmm, m64 Move two packed single-precision floating-point values
from m64 to low quadword of xmm.
0F 13 /r MOVLPS m64, xmm Move two packed single-precision floating-point values
from low quadword of xmm to m64.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -