Saturday, December 11, 2010
8086 Microprocessor Instruction Set
This is the Instruction set of Intel- 8086 Microprocessor.
Here, the instructions are classified and grouped into categories to make it easy to understand and to remember.
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 )
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))
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
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)
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: adeekshith.blogspot@gmail.com
Download the above content in PDF format by clicking on the image below.
Subscribe to:
Post Comments (Atom)
tnanks for uploading these instructions set
ReplyDeletePlz post string instructions
ReplyDeletethanks to give me a very true information about the 8086 instructions.
ReplyDeletethanks to give me a very true information about the 8086mp instructions.
ReplyDeletethanks to give me a very true information about the 8086 instructions.
ReplyDelete