0% found this document useful (0 votes)
137 views4 pages

8086 Microprocessor Instruction Set

The instruction set of the 8086 microprocessor includes data transfer, arithmetic, logical, and program control instructions. It features general purpose and I/O instructions to move data and perform basic operations. The instruction set also includes conditional and unconditional jump instructions for program flow control as well as interrupt handling and synchronization instructions to interface with external hardware.

Uploaded by

kameran raoof
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
137 views4 pages

8086 Microprocessor Instruction Set

The instruction set of the 8086 microprocessor includes data transfer, arithmetic, logical, and program control instructions. It features general purpose and I/O instructions to move data and perform basic operations. The instruction set also includes conditional and unconditional jump instructions for program flow control as well as interrupt handling and synchronization instructions to interface with external hardware.

Uploaded by

kameran raoof
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

INSTRUCTION SET OF 8086

DATA TRANSFER INSTRUCTIONS


GENERAL – PURPOSE BYTE OR WORD TRANSFER INSTRUCTIONS:

MOV (Move )
PUSH (Push data onto stack )
POP (Pop data from stack )
XCHG (Exchange data )
XLAT (Table look-up translation )

SIMPLE INPUT AND OUTPUT PORT TRANSFER INSTRUCTIONS:

IN (Input from port )


OUT (Output to port )

SPECIAL ADDRESS TRANSFER INSTRUCTIONS

LEA (Load Effective Address )


LDS (Load pointer using DS )
LES (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 (Add)
ADC (Add with carry )
INC (Increment by 1 )
AAA (ASCII adjust AL after addition )
DAA (Decimal adjust AL after addition )

SUBTSUBTRACTION INSTRUCTIONS:

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

www.adeekshith.blogspot.com
INSTRUCTION SET OF 8086
DAS (Decimal adjust AL after subtraction )

MULTIPLICATION INSTRUCTIONS:

MUL (Unsigned multiply )


IMUL (Signed multiply )
AAM (ASCII adjust AX after multiplication )

DIVISION INSTRUCTIONS:

DIV (Unsigned divide )


IDIV (Signed divide )
AAD (ASCII adjust AX before division )
CBW (Convert byte to word )
CWD (Convert word to doubleword )

BIT MANIPULATION INSTRUCTIONS


LOGICAL INSTRUCTIONS:

NOT (Negate the operand, logical NOT)


AND (Logical AND)
OR (Logical OR)
XOR (Excludive BR)
TEST (Logical compare (AND))

SHIFT INSTRUCTIONS:

SHL (Shift Left (unsigned shift left))


SAL (Shift Arithmetically left (signed shift left))
SHR (Shift right (unsigned shift right))
SAR (Shift Arithmetically right (signed shift right))

PROGRAM EXECUTION TRANSFER INSTRUCTIONS


UNCONDITIONAL TRANSFER INSTRUCTIONS:

CALL (Call procedure )


RET (Return from procedure)
JMP (Jump)

CONDITIONAL TRANSFER INSTRUCTIONS (Jump if condition (Jxx)):


JA / JNBE
JAE / JNB
JB / JNAE

www.adeekshith.blogspot.com
INSTRUCTION SET OF 8086
JBE / JNA
JC
JE / JZ
JG / JNLE
JGE / JNL

JL / JNGE
JLE / JNG
rof. Krishna 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 (Call to interrupt)


INTO (Call to interrupt if overflow)
IRET (Return from interrupt)

PROCESS CONTROL INSTRUCTIONS

FLAG SET / CLEAR INSTRUCTIONS:

STC (Set carry flag )


CLC (Clear carry flag)
CMC (Complement carry flag)
STD (Set direction flag)
CLD (Clear direction flag)
STI (Set interrupt flag)
CLI (Clear interrupt flag)

www.adeekshith.blogspot.com
INSTRUCTION SET OF 8086

EXTERNAL HARDWARE SYNCHRONIZATION INSTRUCTIONS:

HLT (halt CPU)


WAIT (Wait until not busy)
ESC (Escape)
LOCK (Lock Bus)
NOP (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.

> If you want to publish your documents through www.adeekshith.blogspot.com,


Mail: [email protected]

Authors:
Mr Rakesh Krishnan
Mr Vishnu Vardhan N

Downloaded from: www.adeekshith.blogspot.com

www.adeekshith.blogspot.com

You might also like