Title: Instruction Sets
Title: Instruction Sets
AAA -- ASCII Adjust after Addition
AAD -- ASCII Adjust AX before Division
AAM -- ASCII Adjust AX after Multiply
AAS -- ASCII Adjust AL after Subtraction
ADC -- Add with Carry
ADD -- Integer Addition
AND -- Logical AND
ARPL -- Adjust RPL Field of Selector
BOUND -- Check Array Index Against Bounds
BSF -- Bit Scan Forward
BSR -- Bit Scan Reverse
BT -- Bit Test
BTC -- Bit Test and Complement
BTR -- Bit Test and Reset
BTS -- Bit Test and Set
CALL -- Call Procedure
CBW/CWDE -- Byte to Word/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
CWD/CDQ -- Word to Doubleword/Doubleword to Quadword
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/INTO -- Call to Interrupt Procedure
IRET/IRETD -- Interrupt Return
Jcc -- Jump if Condition is Met
JMP -- Jump
LAHF -- Load Flags into AH Register
LAR -- Load Access Rights Byte
LEA -- Load Effective Address
LEAVE -- High Level Procedure Exit
LGDT/LIDT -- Load Global/Interrupt Descriptor Table Register
LGS/LSS/LDS/LES/LFS -- Load Full Pointer
LLDT -- Load Local Descriptor Table Register
LMSW -- Load Machine Status Word
LOCK -- Assert LOCK# Signal Prefix
LODS/LODSB/LODSW/LODSD -- Load String Operand
LOOP/LOOPcond -- Loop Control with CX Counter
LSL -- Load Segment Limit
LTR -- Load Task Register
MOV -- Move Data
MOV -- Move to/from Special Registers
MOVS/MOVSB/MOVSW/MOVSD -- Move Data from String to String
MOVSX -- Move with Sign-Extend
MOVZX -- Move with Zero-Extend
MUL -- Unsigned Multiplication of AL or AX
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 Word from the Stack
POPA/POPAD -- Pop all General Registers
POPF/POPFD -- Pop Stack into FLAGS or EFLAGS Register
PUSH -- Push Operand onto the Stack
PUSHA/PUSHAD -- Push all General Registers
PUSHF/PUSHFD -- Push Flags Register onto the Stack
RCL/RCR/ROL/ROR -- Rotate
REP/REPE/REPZ/REPNE/REPNZ -- Repeat Following String Operation
RET -- Return from Procedure
SAHF -- Store AH into Flags
SAL/SAR/SHL/SHR -- Shift Instructions
SBB -- Integer Subtraction with Borrow
SCAS/SCASB/SCASW/SCASD -- Compare String Data
SETcc -- Byte Set on Condition
SGDT/SIDT -- Store Global/Interrupt Descriptor Table Register
SHLD -- Double Precision Shift Left
SHRD -- Double Precision Shift Right
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 Data
STR -- Store Task Register
SUB -- Integer Subtraction
TEST -- Logical Compare
VERR, VERW -- Verify a Segment for Reading or Writing
WAIT -- Wait until BUSY# Pin is Inactive (HIGH)
XCHG -- Exchange Register/Memory with Register
XLAT/XLATB -- Table Look-up Translation
XOR -- Logical Exclusive OR