Quick navigation: [
Jump to body
]
Menu
Intro
Home
Architecture Overview
Conventions
Instructions
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
[
jump to top
]
Quick navigation: [
Jump to menu
]
Intel Pentium Instruction Set Reference
Instruction Index
A
AAA
- ASCII Adjust for Addition
AAD
- ASCII Adjust AX Before Division
AAM
- ASCII Adjust AX After Multiply
AAS
- ASCII Adjust AL After Subtraction
ADC
- Add with Carry
ADD
- Add
AND
- Logical AND
ARPL
- Adjust RPL Field of Segment Selector
B
BOUND
- Check Array Index Against Bounds
BSF
- Bit Scan Forward
BSR
- Bit Scan Reverse
BSWAP
- Byte Swap
BT
- Bit Test
BTC
- Bit Test and Compliment
BTR
- Bit Test and Reset
BTS
- Bit Test and Set
C
CALL
- Call Procedure
CBW
- Convert Byte to Word
CDQ
- Convert Double to Quad
CLC
- Clear Carry Flag
CLD
- Clear Direction Flag
CLI
- Clear Interrupt Flag
CLTS
- Clear Task-Switched Flag in CR0
CMC
- Complement Carry Flag
CMP
- Compare Two Operands
CMPS
- Compare String Operands
CMPSB
- Compare String Operands
CMPSD
- Compare String Operands
CMPSW
- Compare String Operands
CMPXCHG
- Compare and Exchange
CMPXCHG8B
- Compare and Exchange 8 Bytes
CPUID
- CPU Identification
CWDE
- Convert Word to Doubleword
CWD
- Convert Word to Doubleword
D
DAA
- Decimal Adjust AL after Addition
DAS
- Decimal Adjust AL after Subtraction
DEC
- Decrement by 1
DIV
- Unsigned Divide
E
ENTER
- Make Stack Frame for Procedure Parameters
F
FWAIT
- Wait
G
H
HLT
- Halt
I
IDIV
- Signed Divide
IMUL
- Signed Multiply
IN
- Input from Port
INC
- Increment by 1
INS
- Input from Port to String
INSB
- Input from Port to String
INSD
- Input from Port to String
INSW
- Input from Port to String
INT
- Call to Interrupt Procedure
INT3
- Call to Interrupt Procedure
INTO
- Call to Interrupt Procedure
INVD
- Invalidate Internal Caches
INVLPG
- Invalidate TLB Entry
IRET
- Interrupt Return
IRETD
- Interrupt Return
J
JA
- Jump if Condition Is Met
JAE
- Jump if Condition Is Met
JB
- Jump if Condition Is Met
JBE
- Jump if Condition Is Met
JC
- Jump if Condition Is Met
JCXZ
- Jump if Condition Is Met
JE
- Jump if Condition Is Met
JECXZ
- Jump if Condition Is Met
JG
- Jump if Condition Is Met
JGE
- Jump if Condition Is Met
JL
- Jump if Condition Is Met
JLE
- Jump if Condition Is Met
JMP
- Jump
JNA
- Jump if Condition Is Met
JNAE
- Jump if Condition Is Met
JNB
- Jump if Condition Is Met
JNBE
- Jump if Condition Is Met
JNC
- Jump if Condition Is Met
JNE
- Jump if Condition Is Met
JNG
- Jump if Condition Is Met
JNGE
- Jump if Condition Is Met
JNL
- Jump if Condition Is Met
JNLE
- Jump if Condition Is Met
JNO
- Jump if Condition Is Met
JNP
- Jump if Condition Is Met
JNS
- Jump if Condition Is Met
JNZ
- Jump if Condition Is Met
JO
- Jump if Condition Is Met
JP
- Jump if Condition Is Met
JPE
- Jump if Condition Is Met
JPO
- Jump if Condition Is Met
JS
- Jump if Condition Is Met
JZ
- Jump if Condition Is Met
K
L
LAHF
- Load Status Flags into AH Register
LAR
- Load Access Rights Byte
LDS
- Load Far Pointer
LEA
- Load Effective Address
LEAVE
- High Level Procedure Exit
LES
- Load Far Pointer
LFS
- Load Far Pointer
LGDT
- Load Global Descriptor Table Register
LGS
- Load Far Pointer
LIDT
- Load Interrupt Descriptor Table Register
LLDT
- Load Local Descriptor Table Register
LMSW
- Load Machine Status Word
LOCK
- Assert LOCK# Signal Prefix
LODS
- Load String
LODSB
- Load String
LODSD
- Load String
LODSW
- Load String
LOOP
- Loop According to ECX Counter
LOOPE
- Loop According to ECX Counter
LOOPNE
- Loop According to ECX Counter
LOOPNZ
- Loop According to ECX Counter
LOOPZ
- Loop According to ECX Counter
LSL
- Load Segment Limit
LSS
- Load Far Pointer
LTR
- Load Task Register
M
MOV
- Move
MOV
- Move to/from Control Registers
MOV
- Move to/from Debug Registers
MOVS
- Move Data from String to String
MOVSB
- Move Data from String to String
MOVSD
- Move Data from String to String
MOVSW
- Move Data from String to String
MOVSX
- Move with Sign-Extension
MOVZX
- Move with Zero-Extend
MUL
- Unsigned Multiply
N
NEG
- Two's Complement Negation
NOP
- No Operation
NOT
- One's Complement Negation
O
OR
- Logical Inclusive OR
OUT
- Output to Port
OUTS
- Output String to Port
OUTSB
- Output String to Port
OUTSD
- Output String to Port
OUTSW
- Output String to Port
P
POP
- Pop a Value from the Stack
POPA
- Pop All General-Purpose Registers
POPAD
- Pop All General-Purpose Registers
POPF
- Pop Stack into EFLAGS Register
POPFD
- Pop Stack into EFLAGS Register
PUSH
- Push Word or Doubleword Onto the Stack
PUSHA
- Push All General-Purpose Registers
PUSHAD
- Push All General-Purpose Registers
PUSHF
- Push EFLAGS Register onto the Stack
PUSHFD
- Push EFLAGS Register onto the Stack
Q
R
RCL
- Rotate Bits Left with CF
RCR
- Rotate Bits Right with CF
RDMSR
- Read from Model Specific Register
RDTSC
- Read Time-Stamp Counter
REP
- Repeat String Operation Prefix
REPE
- Repeat String Operation Prefix
REPNE
- Repeat String Operation Prefix
REPNZ
- Repeat String Operation Prefix
REPZ
- Repeat String Operation Prefix
RET
- Return from Procedure
ROL
- Rotate Bits Left
ROR
- Rotate Bits Right
RSM
- Resume from System Management Mode
S
SAHF
- Store AH into Flags
SAL
- Shift Arithmetic Left
SAR
- Shift Arithmetic Right
SBB
- Integer Subtraction with Borrow
SCAS
- Scan String
SCASB
- Scan String
SCASD
- Scan String
SCASW
- Scan String
SETA
- Set Byte on Condition
SETAE
- Set Byte on Condition
SETB
- Set Byte on Condition
SETBE
- Set Byte on Condition
SETC
- Set Byte on Condition
SETE
- Set Byte on Condition
SETG
- Set Byte on Condition
SETGE
- Set Byte on Condition
SETL
- Set Byte on Condition
SETLE
- Set Byte on Condition
SETNA
- Set Byte on Condition
SETNAE
- Set Byte on Condition
SETNB
- Set Byte on Condition
SETNBE
- Set Byte on Condition
SETNC
- Set Byte on Condition
SETNE
- Set Byte on Condition
SETNG
- Set Byte on Condition
SETNGE
- Set Byte on Condition
SETNL
- Set Byte on Condition
SETNLE
- Set Byte on Condition
SETNO
- Set Byte on Condition
SETNP
- Set Byte on Condition
SETNS
- Set Byte on Condition
SETNZ
- Set Byte on Condition
SETO
- Set Byte on Condition
SETP
- Set Byte on Condition
SETPE
- Set Byte on Condition
SETPO
- Set Byte on Condition
SETS
- Set Byte on Condition
SETZ
- Set Byte on Condition
SGDT
- Store Global Descriptor Table Register
SHL
- Shift Left
SHLD
- Double Precision Shift Left
SHR
- Shift Right
SHRD
- Double Precision Shift Right
SIDT
- Store Interrupt Descriptor Table Register
SLDT
- Store Local Descriptor Table Register
SMSW
- Store Machine Status Word
STC
- Set Carry Flag
STD
- Set Direction Flag
STI
- Set Interrupt Flag
STOS
- Store String
STOSB
- Store String
STOSD
- Store String
STOSW
- Store String
STR
- Store Task Register
SUB
- Subtract
T
TEST
- Logical Compare
U
V
VERR
- Verify a Segment for Reading
VERW
- Verify a Segment for Writing
W
WAIT
- Wait
WBINVD
- Write Back and Invalidate Cache
WRMSR
- Write to Model Specific Register
X
XADD
- Exchange and Add
XCHG
- Exchange Register/Memory with Register
XLAT
- Table Look-up Translation
XLATB
- Table Look-up Translation
XOR
- Logical Exclusive OR
Y
Z