You are on page 1of 4

www.Vidyarthiplus.

com

INSTRUCTION SET OF 8086

DATA TRANSFER INSTRUCTIONS


GENERAL PURPOSE BYTE OR WORD TRANSFER INSTRUCTIONS: MOV PUSH POP XCHG XLAT (Move ) (Push data onto stack ) (Pop data from stack ) (Exchange data ) (Table look-up translation )

SIMPLE INPUT AND OUTPUT PORT TRANSFER INSTRUCTIONS: IN OUT (Input from port ) (Output to port )

SPECIAL ADDRESS TRANSFER INSTRUCTIONS LEA LDS LES (Load Effective Address ) (Load pointer using DS ) (Load ES with pointer )

FLAG TRANSFER INSTRUCTIONS: LAHF (Load flags into AH register ) SAHF (Store AH into flags ) PUSHF (Push flags onto stack ) POPF (Pop data into flags register ) ADITION INSTRUCTIONS: ADD ADC INC AAA DAA (Add) (Add with carry ) (Increment by 1 ) (ASCII adjust AL after addition ) (Decimal adjust AL after addition )

SUBTSUBTRACTION INSTRUCTIONS: SUB SBB DEC NEG CMP AAS (Subtraction ) (Subtraction with borrow ) (Decrement by 1 ) (Two's complement negation ) (Compare operands ) (ASCII adjust AL after subtraction )

www.Vidyarthiplus.com

www.Vidyarthiplus.com

INSTRUCTION SET OF 8086


DAS (Decimal adjust AL after subtraction )

MULTIPLICATION INSTRUCTIONS: MUL IMUL AAM (Unsigned multiply ) (Signed multiply ) (ASCII adjust AX after multiplication )

DIVISION INSTRUCTIONS: DIV IDIV AAD CBW CWD (Unsigned divide ) (Signed divide ) (ASCII adjust AX before division ) (Convert byte to word ) (Convert word to doubleword )

BIT MANIPULATION INSTRUCTIONS


LOGICAL INSTRUCTIONS: NOT AND OR XOR TEST (Negate the operand, logical NOT) (Logical AND) (Logical OR) (Excludive BR) (Logical compare (AND))

SHIFT INSTRUCTIONS: SHL SAL SHR SAR (Shift Left (unsigned shift left)) (Shift Arithmetically left (signed shift left)) (Shift right (unsigned shift right)) (Shift Arithmetically right (signed shift right))

PROGRAM EXECUTION TRANSFER INSTRUCTIONS


UNCONDITIONAL TRANSFER INSTRUCTIONS: CALL RET JMP (Call procedure ) (Return from procedure) (Jump)

CONDITIONAL TRANSFER INSTRUCTIONS (Jump if condition (Jxx)): JA / JNBE JAE / JNB JB / JNAE

www.Vidyarthiplus.com

www.Vidyarthiplus.com

INSTRUCTION SET OF 8086


JBE / JNA JC JE / JZ JG / JNLE JGE / JNL JL / JNGE JLE / JNG JNC JNE / JNZ JNO JNP / JPO JNS JO JP / JPE JS ITERATION CONTROL INSTRUCTIONS: LOOP (Loop control) LOOPE / LOOPZ LOOPNE / LOOPNZ JCXZ/ JECXZ (Jump if register (E)CX is zero) INTERRUPT INSTRUCTIONS: INT INTO IRET (Call to interrupt) (Call to interrupt if overflow) (Return from interrupt)

rof. Krishna

PROCESS CONTROL INSTRUCTIONS


FLAG SET / CLEAR INSTRUCTIONS: STC CLC CMC STD CLD STI CLI (Set carry flag ) (Clear carry flag) (Complement carry flag) (Set direction flag) (Clear direction flag) (Set interrupt flag) (Clear interrupt flag)

www.Vidyarthiplus.com

www.Vidyarthiplus.com

INSTRUCTION SET OF 8086


EXTERNAL HARDWARE SYNCHRONIZATION INSTRUCTIONS: HLT WAIT ESC LOCK NOP (halt CPU) (Wait until not busy) (Escape) (Lock Bus) (No operation)

> NO WARRANTY!

USE AT YOUR OWN RISK!

> This document is free to Copy, Store, Modify, Distribute and Circulate. > The person who download this material is advised to give this material or link to other too. > This is an open source project, which means that you too can edit or modify the contents of this document if you find anything wrong or incomplete.

Authors: Mr Rakesh Krishnan Mr Vishnu Vardhan N

www.Vidyarthiplus.com

You might also like