Skip to main content
Toggle navigation
Intel Pentium Instruction Set Reference
Contents
Index
Search
Introduction
Welcome
What's new
Getting Started
System requirements
Getting help
Intel Pentium Instruction Set Reference
Basic Architecture Overview
Documentation Format
Conventions
Pentium Optimisations
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
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
CALL - Call Procedure
CBW - Convert Byte to Word
CWDE - Convert Word to Doubleword
CDQ - Convert Double to Quad
CWD - Convert Word to Doubleword
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/CMPSB/CMPSW/CMPSD - Compare String Operands
CMPXCHG - Compare and Exchange
CMPXCHG8B - Compare and Exchange 8 Bytes
CPUID - CPU Identification
DAA - Decimal Adjust AL after Addition
DAS - Decimal Adjust AL after Subtraction
DEC - Decrement by 1
DIV - Unsigned Divide
ENTER - Make Stack Frame for Procedure Parameters
HLT - Halt
IDIV - Signed Divide
IMUL - Signed Multiply
IN - Input from Port
INC - Increment by 1
INS/INSB/INSW/INSD - Input from Port to String
INT n/INTO/INT 3 - Call to Interrupt Procedure
INVD - Invalidate Internal Caches
INVLPG - Invalidate TLB Entry
IRET/IRETD - Interrupt Return
Jcc - Jump if Condition Is Met
JMP - Jump
JCXZ/JECXZ - Jump if CX/EAX = 0
LAHF - Load Status Flags into AH Register
LAR - Load Access Rights Byte
LDS - Load Far Pointer
LES - Load Far Pointer
LFS - Load Far Pointer
LGS - Load Far Pointer
LSS - Load Far Pointer
LEA - Load Effective Address
LEAVE - High Level Procedure Exit
LGDT/LIDT - Load Global/Interrupt Descriptor Table Register
LLDT - Load Local Descriptor Table Register
LIDT - Load Interrupt Descriptor Table Register
LMSW - Load Machine Status Word
LOCK - Assert LOCK# Signal Prefix
LODS/LODSB/LODSW/LODSD - Load String
LOOP - Loop According to ECX Counter
LOOPcc - Loop According to ECX Counter
LSL - Load Segment Limit
LTR - Load Task Register
MOV - Move
MOV - Move to/from Control Registers
MOV - Move to/from Debug Registers
MOVS/MOVSB/MOVSW/MOVSD - Move Data from String to String
MOVSX - Move with Sign-Extension
MOVZX - Move with Zero-Extend
MUL - Unsigned Multiply
NEG - Two's Complement Negation
NOP - No Operation
NOT - One's Complement Negation
OR - Logical Inclusive OR
OUT - Output to Port
OUTS/OUTSB/OUTSW/OUTSD - Output String to Port
POP - Pop a Value from the Stack
POPA/POPAD - Pop All General-Purpose Registers
POPF/POPFD - Pop Stack into EFLAGS Register
PUSH - Push Word or Doubleword Onto the Stack
PUSHA/PUSHAD - Push All General-Purpose Registers
PUSHF/PUSHFD - Push EFLAGS Register onto the Stack
RCL - Rotate Bits Left with CF
RCR - Rotate Bits Right with CF
ROL - Rotate Bits Left
ROR - Rotate Bits Right
RDMSR - Read from Model Specific Register
RDTSC - Read Time-Stamp Counter
REP/REPE/REPZ/REPNE/REPNZ - Repeat String Operation Prefix
RET - Return from Procedure
RSM - Resume from System Management Mode
SAHF - Store AH into Flags
SAL - Shift Arithmetic Left
SAR - Shift Arithmetic Right
SHL - Shift Left
SHR - Shift Right
SBB - Integer Subtraction with Borrow
SCAS/SCASB/SCASW/SCASD - Scan String
SETcc - Set Byte on Condition
SGDT/SIDT - Store Global/Interrupt Descriptor Table Register
SHLD - Double Precision Shift Left
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/STOSB/STOSW/STOSD - Store String
STR - Store Task Register
SUB - Subtract
TEST - Logical Compare
VERR/VERW - Verify a Segment for Reading or Writing
WAIT - Wait
WBINVD - Write Back and Invalidate Cache
WRMSR - Write to Model Specific Register
XADD - Exchange and Add
XCHG - Exchange Register/Memory with Register
XLAT/XLATB - Table Look-up Translation
XOR - Logical Exclusive OR
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
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
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/CMPSB/CMPSW/CMPSD - Compare String Operands
CMPXCHG - Compare and Exchange
CMPXCHG8B - Compare and Exchange 8 Bytes
CPUID - CPU Identification
CWD - Convert Word to Doubleword
CWDE - Convert Word to Doubleword
DAA - Decimal Adjust AL after Addition
DAS - Decimal Adjust AL after Subtraction
DEC - Decrement by 1
DIV - Unsigned Divide
ENTER - Make Stack Frame for Procedure Parameters
HLT - Halt
IDIV - Signed Divide
IMUL - Signed Multiply
IN - Input from Port
INC - Increment by 1
INS/INSB/INSW/INSD - Input from Port to String
INT n/INTO/INT 3 - Call to Interrupt Procedure
INVD - Invalidate Internal Caches
INVLPG - Invalidate TLB Entry
IRET/IRETD - Interrupt Return
Jcc - Jump if Condition Is Met
JCXZ/JECXZ - Jump if CX/EAX = 0
JMP - Jump
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/LIDT - Load Global/Interrupt 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/LODSB/LODSW/LODSD - Load String
LOOP - Loop According to ECX Counter
LOOPcc - Loop According to ECX Counter
LSL - Load Segment Limit
LSS - Load Far Pointer
LTR - Load Task Register
MOV - Move
MOV - Move to/from Control Registers
MOV - Move to/from Debug Registers
MOVS/MOVSB/MOVSW/MOVSD - Move Data from String to String
MOVSX - Move with Sign-Extension
MOVZX - Move with Zero-Extend
MUL - Unsigned Multiply
NEG - Two's Complement Negation
NOP - No Operation
NOT - One's Complement Negation
OR - Logical Inclusive OR
OUT - Output to Port
OUTS/OUTSB/OUTSW/OUTSD - Output String to Port
POP - Pop a Value from the Stack
POPA/POPAD - Pop All General-Purpose Registers
POPF/POPFD - Pop Stack into EFLAGS Register
PUSH - Push Word or Doubleword Onto the Stack
PUSHA/PUSHAD - Push All General-Purpose Registers
PUSHF/PUSHFD - Push EFLAGS Register onto the Stack
RCL - Rotate Bits Left with CF
RCR - Rotate Bits Right with CF
RDMSR - Read from Model Specific Register
RDTSC - Read Time-Stamp Counter
REP/REPE/REPZ/REPNE/REPNZ - Repeat String Operation Prefix
RET - Return from Procedure
ROL - Rotate Bits Left
ROR - Rotate Bits Right
RSM - Resume from System Management Mode
SAHF - Store AH into Flags
SAL - Shift Arithmetic Left
SAR - Shift Arithmetic Right
SBB - Integer Subtraction with Borrow
SCAS/SCASB/SCASW/SCASD - Scan String
SETcc - Set Byte on Condition
SGDT/SIDT - Store Global/Interrupt 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/STOSB/STOSW/STOSD - Store String
STR - Store Task Register
SUB - Subtract
TEST - Logical Compare
VERR/VERW - Verify a Segment for Reading or Writing
WAIT - Wait
WBINVD - Write Back and Invalidate Cache
WRMSR - Write to Model Specific Register
XADD - Exchange and Add
XCHG - Exchange Register/Memory with Register
XLAT/XLATB - Table Look-up Translation
XOR - Logical Exclusive OR
Introduction
Created with the Personal Edition of HelpNDoc:
Qt Help documentation made easy
×