Sunteți pe pagina 1din 37

TABLE OF CONTENTS

1. 8086 (definition + specification).....................03 2. Comparison b/w 8085 & 808605 3. Architecture of 808606 4. Registers of 8086..09 5. Advantages of Segmented memory16 6. Addressing modes of 808617 7. Pin Diagram24 8. Instructions of 8086.28 9. Conclusion.36

DEFINITION & SPECIFICATION


Microprocessor is a program-controlled device, which fetches the instructions from memory, decodes and executes the instructions. Most Micro Processor are single- chip devices. The 8086 (also called iAPX86) is a 16-bit microprocessor chip designed by Intel between early 1976 and mid-1978. 16-bit processor, 16-bit data bus, 16-bit general purpose registers, 20-bit address bus-which can address 1 MB of memory, 1st member of 80x86 family, concept of segmented memory, new instruction set supported by all upcoming processors of the family 80x86.

Key Features:
Released by Intel in 1978 Produced from 1978 to 1990s A 16-bit microprocessor chip. Max. CPU clock rate : 5 MHz to 10 MHz Instruction set: x86-16 Package: 40 pin DIP Intel 8086 Microprocessor The 8086 gave rise to the x86 architecture of Intel's future processors. Common manufacturer(s): Intel, AMD, NEC, Fujitsu, Harris (Intersil), OKI, Siemens AG, Texas Instruments, Mitsubishi.

COMPARISON B/W 8085 & 8086


8085
 Created in 1977  8-bit processor  8-bit data bus  8-bit general purpose registers  16-bit address bus  It can access 64k of memory  Simplest Architecture  Clock speed is 3Mhz  Less operational instructions  No. of Flags=5

8086
 Created in 1978  16-bit processor  16-bit data bus  16-bit general purpose register  20-bit address bus  It can access 1 MB of memory  Complex Architecture  Clock speed is 5Mhz  More operational instructions  No. of Flags=9

ARCHITECTURE OF 8086

BIU ( BUS INTERFACE UNIT)


 Transfer of Data & Address on buses  Sends Addresses  Fetch Instruction  Read Data  Write Data  Includes 4 Segment Register  BIU has an array of 6 Registers called Queue.

EU (EXECUTION UNIT)
 Read instructions from Queue, Decode & Execute.  16-bit Arithmetic unit, 16-bit flag Register, four General purpose Register, four 16-bit offset Register.  Pipelining (The process of fetching the next instruction while the current instruction is executing).

REGISTERS OF 8086

GENERAL PURPOSE REGISTERS

1. AX (Accumulator) 2. BX (Base Register) 3. CX (Counter Register) 4. DX (Data Register)

FLAG REGISTER
O D I T S Z AC P CY

FLAG REGISTER
1.

2. 3. 4. 5. 6. 7. 8. 9.

CY (Carry Flag) P (Parity Flag) AC (Auxiliary Carry Flag) Z (Zero Flag) S (Sign flag) OF (Overflow Flag) DF (Direction Flag) IF (Interrupt Flag) TF (Trap Flag)

SEGMENT REGISTER

1.Code Segment (CS) 2.Data Segment (DS) 3.Stack Segment (SS) 4.Extra Segment (ES)

OFFSET REGISTER

1.Instruction Pointer (IP) 2.Stack Pointer (SP) 3.Source Index (SI) 4.Destination Index (DI) 5.Base Pointer (BP)

ADVANTAGES OF SEGMENTED MEMORY To Form 20-bit memory Address Program can work on different set of Data Program can be loaded or executed anywhere in the memory In multitasking environment, different programs may run simultaneously on different terminal using the common processor and memory, by reloading the contents of various segment Registers for each program.

ADDRESSING MODES OF 8086


1. Register Addressing Mode 2. Immediate Addressing Mode 3. Direct Addressing Mode 4. Indirect Addressing Mode (Register Indirect, Indexed, Based, Based & Indexed, Based & Indexed with Displacement) 5. String Addressing Mode 6. Port Addressing Mode

REGISTER ADDRESSING

Operands are microprocessor Registers

MOV AX, BX

IMMEDIATE ADDRESSING
The Data remains in the part of the instruction

MOV BX, 2052H

DIRECT ADDRESSING
The memory Offset address is directly available in the instruction.

MOV CL, [2000H]

INDIRECT ADDRESSING
Memory Offset address is specified in some Microprocessor Register, Various Combinations are possible.

(A)Register Indirect (B)Indexed Indirect (C)Based Indirect (D)Based & Indexed

MOV DX, [SI] MOV DL, [SI+12] MOV DL, [BP-25] MOV [BP+SI], DH

(E)Based & Indexed with Displacement MOV DL, [BP+SI+23a4H]

STRING ADDRESSING
 Special Instructions are available to handle Strings  The m/m address of the source Data is specified by DS:SI  The m/m address of the destination data By ES:DI

I. MOVSB II. LODSB III.STOSB

PORT ADDRESSING
To read Data from an input port

IN AL, 42H
To write Data to an output port OUT 25H, AL

PIN DIAGRAM OF 8086

PINS COMMON FOR MAXIMUM & MINIMUM MODE


AD15-AD0 2. A19/S6, A18/S5, A17/S4, A16/S3 3. BHE (BAR)/S7 4.RD (BAR) 5. READY 6. INTR (Interrupt Request) 7. NMI (Non Maskable Interrupt) 8. TEST (BAR) 9. RESET 10. CLK (Clock Input) 11. Vcc 12. GND 13. MN/ MX(BAR)
1.

PINS FOR MINIMUM MODE ONLY


1. M/IO (BAR) 2. INTA(BAR) 3. ALE 4. DT/R (BAR) 5. DEN (BAR) 6. HOLD 7. HLDA

PINS FOR MAXIMUM MODE ONLY


1. S0(BAR) 2. S1(BAR) 3. S2(BAR) 4. LOCK (BAR) 5. QS1 6. QS0 7. RQ(BAR)/GT1(BAR) 8. RQ(BAR)/GT0(BAR)

INSTRUCTIONS OF 8086
1. Data copy Instructions 2. Arithmetic Instructions 3. Logical Instructions 4. Arithmetic Adjust Instructions 5. String Instructions 6. Branch Instructions 7. Machine Control Instructions 8. Instructions Related to Stack

DATA COPY INSTRUCTIONS


1. MOV operand1, operand2 2. XCHG operand1, operand2 3. LAHF 4. SAHF 5. IN accumulator, port 6. OUT port, accumulator 7. LEA operand, memory variable 8. LDS operand 1, operand2 9. LES operand1, operand2

ARITHMETIC INSTRUCTIONS
1. ADD operand1, operand2 2. ADC operand1, operand2 3. SUB operand1, operand2 4. SBB operand1, operand2 5. INC operand 6. DEC operand 7. NEG operand 8. CMP operand1, operand2 9. MUL operand 10. IMUL operand 11. DIV operand 12. IDIV operand

LOGICAL INSTRUCTIONS
1. AND operand1, operand2 2. OR operand1, operand2 3. XOR operand1, operand2 4. TEST operand1, operand2 5. NOT operand 6. SAL/SHL operand, count 7. SAR operand, count 8. SHR operand, count 9. RCL operand, count 10. RCR operand, count 11. ROL operand, count 12. ROR operand, count

ARITHMETIC ADJUST INSTRUCTIONS


1. DAA (Decimal Adjust Accumulator after addition) 2. DAS (Decimal Adjust Accumulator after Subtraction) 3. AAA (ASCII Adjust Accumulator after Addition) 4. AAS (ASCII Adjust Accumulator after Subtraction) 5. AAM (ASCII Adjust Accumulator after Multiplication) 6. AAD (ASCII Adjust Accumulator after Division) 7. CBW ( Converts byte data into word data by extending the sign bit in AL into AH) 8. CWD ( Converts word data into double word data by extending the sign bit in AX into DX)

STRING INSTRUCTIONS
1. STOSB 2. STOSW 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. STOS offset LODSB LODSW LODS offset MOVSB MOVSW MOV offset1, offset2 SCASB SCASW SCAS offset CMPSB CMPSW CMPS offset

BRANCH INSTRUCTIONS
1. Jump Instructions ( Near jump, Far jump, unconditional jump, Conditional jump 2. Loop Instructions (LOOP label) 3. Call and Return Instructions (LOOPNE/LOOPNZ short target) 4. Software Interrupt Instructions ( INT n)

MACHINE CONTROL INSTRUCTIONS


1. STC (Set carry flag) 2. CLC (Clear Carry Flag) 3. HLT (Halt the program execution) 4. NOP (No Operation) 5. WAIT (Check the Test Signal) 6. LOCK (Prefix before any instruction) 7. CLC (Clear carry Flag) 8. STD (Set Direction Flag) 9. CLD (Clear Direction Flag) 10.STI (Set Interrupt Flag)

INSTRUCTIONS RELATED TO STACK

1.PUSH operand 2.POP operand 3.PUSHF 4.POPF

S-ar putea să vă placă și