up: 
Table of Contents
prev: 
16.4  Transferring Control Among Mixed Code Segments>
next: 
17.1  Operand-Size and Address-Size Attributes
Chapter 17  80386 Instruction Set
This chapter presents instructions for the 80386 in alphabetical order. For
each instruction, the forms are given for each operand combination,
including object code produced, operands required, execution time, and a
description. For each instruction, there is an operational description and a
summary of exceptions generated.
17.1  Operand-Size and Address-Size Attributes
17.2 Instruction Format
Instruction Set
 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  Add
 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  Convert Byte to Word/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
 CWD/CDQ  Convert Word to Doubleword/Convert 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
up: 
Table of Contents
prev: 
16.4  Transferring Control Among Mixed Code Segments>
next: 
17.1  Operand-Size and Address-Size Attributes