[PDF] [PDF] 8086 ARCHITECTURE

INSTRUCTION SET OF 8086 MICROPROCESSORS INTERFACING Action: If condition ?? met, IP = IP + rel8 (sign extends rel8) Flags Affected: None Notes: 



Previous PDF Next PDF





[PDF] UNIT-1 INTRODUCTION TO 8086

Architecture of 8086 microprocessor ✓ Register organization ✓ 8086 flag register and its functions ✓ Addressing modes of 8086 ✓ Pin diagram of 8086



[PDF] 8086 ARCHITECTURE

INSTRUCTION SET OF 8086 MICROPROCESSORS INTERFACING Action: If condition ?? met, IP = IP + rel8 (sign extends rel8) Flags Affected: None Notes: 



[PDF] LECTURE NOTES ON COURSE CODE:BCS- 301 - VSSUT

8086 microprocessor made up of 29,000 MOS transistors and could work at a clock speed of 5-10 MHz It has a 16-bit ALU with 16-bit data bus and 20-bit address 



[PDF] LECTURE NOTES BTECH (III YEAR – II SEM) (2017-18 - MRCET

The 8086 microprocessor has a much more powerful instruction set along with the architectural developments which imparts substantial programming flexibility  



[PDF] Microprocessor - Darshan Institute of Engineering and Technology

The architecture of microprocessor 8085 can be divided into seven parts as Note: All the other flag bit is having similar description as in 8086 flag register



[PDF] LECTURE NOTES MICROPROCESSORS AND - IARE

UNIT – I 8086 MICROPROCESSOR: 8086 architecture- Functional Diagram, Register Organization, Memory segmentation, Memory addresses, physical 



[PDF] Fall 2019/20 – Lecture Notes &# 2

8086 EENG410: MICROPROCESSORS I Architecture of 8086 Microprocessor • Pipelining ❖ In 8085 microprocessor, the CPU could either fetch or execute at 



[PDF] 8086 Microprocessor (cont) - NPTEL

This is a single microprocessor configuration Internal Architecture of 8086 ( cont ) I/O controls Block Diagram of the Minimum Mode 8086 MPU Minimum  



[PDF] Preview Microprocessor Tutorial - Tutorialspoint

In this tutorial, we will discuss the architecture, pin diagram and other key concepts of microprocessors Comparison between 8085 &8086 Microprocessor



[PDF] I 8085 and 8086 PROCESSOR Introduction to microprocessor A

RMKCET/DEEE/Lecture Notes/MPMC Unit – I 8085 and 8086 PROCESSOR architecture of 8085 includes the ALU, timing and control unit, instruction

[PDF] 8086 microprocessor architecture notes pdf

[PDF] 8086 microprocessor architecture pdf

[PDF] 8086 microprocessor architecture pdf download

[PDF] 8086 microprocessor architecture pdf free download

[PDF] 8086 microprocessor architecture ppt download

[PDF] 8086 microprocessor architecture ppt free download

[PDF] 8086 microprocessor architecture slideshare

[PDF] 8086 microprocessor architecture tutorialspoint

[PDF] 8086 microprocessor assembly language programming questions

[PDF] 8086 microprocessor assembly language programs examples

[PDF] 8086 microprocessor assembly language programs pdf

[PDF] 8086 microprocessor basic programs pdf

[PDF] 8086 microprocessor bharat acharya pdf free download

[PDF] 8086 microprocessor book by ramesh gaonkar pdf free download

[PDF] 8086 microprocessor book pdf for engineering

8086 ARCHITECTURE MICROPROCESSORS &INTERFACING

8086 ARCHITECTURE

8086 Features

¾ 16-bit Arithmetic Logic Unit

¾ 16-bit data bus

¾ 20-bit address bus 1,048,576 = 1 meg

¾ 16 I/O lines so it can access 64K I/O ports

¾ 16 bit flag

¾ It has 14 -16 bit registers

¾ Clock frequency range is 5-10 MHZ

¾ Designed by Intel

¾ Rich set of instructions

¾ 40 Pin DIP, Operates in two modes

8086 ARCHITECTURE MICROPROCESSORS &INTERFACING

The address refers to a byte in memory. In the 8086, bytes at even addresses come in on the low half of the data bus (bits 0-7) and bytes at odd addresses come in on the upper half of the data bus (bits 8-15).The 8086 can read a 16-bit word at an even address in one operation and at an odd address in two operations. The least significant byte of a word on an 8086 family microprocessor is at the lower address. The 8086 has two parts, the Bus Interface Unit (BIU) and the Execution Unit (EU).The BIU fetches instructions, reads and writes data, and computes the 20-bit address. The EU decodes and executes the instructions using the 16-bit ALU.

The BIU contains the following registers:

¾ IP - the Instruction Pointer

¾ CS - the Code Segment Register

¾ DS - the Data Segment Register

¾ SS - the Stack Segment Register

¾ ES - the Extra Segment Register

The BIU fetches instructions using the CS and IP, written CS: IP, to construct the 20- bit address. Data is fetched using a segment register (usually the DS) and an effective address (EA) computed by the EU depending on the addressing mode.

The EU contains the following 16-bit registers:

¾ AX - the Accumulator

¾ BX - the Base Register

¾ CX - the Count Register

¾ DX - the Data Register

¾ SP - the Stack Pointer

¾ BP - the Base Pointer

¾ SI - the Source Index Register

¾ DI - the Destination Register

8086 ARCHITECTURE MICROPROCESSORS &INTERFACING

These are referred to as general-purpose registers, although, as seen by their names, they often have a special-purpose use for some instructions. The AX, BX, CX, and DX registers can be considered as two 8-bit registers, a High byte and a Low byte. This allows byte operations and compatibility with the previous generation of 8-bit processors, the 8080 and 8085. The 8-bit registers are:

¾ AX --> AH,AL

¾ BX --> BH,BL

¾ CX --> CH,CL

¾ DX --> DH,DL

The ALU performs all basic computational operations: arithmetic, logical, and comparisons. The control unit orchestrates the operation of the other units. It fetches instructions from the on-chip cache, decodes them, and then executes them. Each instruction has the control unit direct the other function units through a sequence of steps that carry out the instruction's intent. The execution path taken by the control unit can depend upon status bits produced by the arithmetic logic unit or the floating-point unit (FPU) after the instruction sequence completes. This capability implements conditional execution control flow, which is a critical element for general-purpose computation. ES CS SS DS IP AH BH CH DH AL BL CL DL SP BP SI DI FLAGS AX BX CX DX

Extra Segment

Code Segment

Stack Segment

Data Segment

Instruction Pointer

Accumulator

Base Register

Count Register

Data Register

Stack Pointer

Base Pointer

Source Index Register

Destination Index Register

BIU registers

(20 bit adder)

EU registers

16 bit arithmetic

ES CS SS DS IP AH BH CH DH AL BL CL DL SP BP SI DI FLAGS AX BX CX DX

Extra Segment

Code Segment

Stack Segment

Data Segment

Instruction Pointer

Accumulator

Base Register

Count Register

Data Register

Stack Pointer

Base Pointer

Source Index Register

Destination Index Register

BIU registers

(20 bit adder)

EU registers

16 bit arithmetic

8086 ARCHITECTURE MICROPROCESSORS &INTERFACING

Most of the registers contain data/instruction offsets within 64 KB memory segment. There are four different 64 KB segments for instructions, stack, data and extra data. To specify where in 1 MB of processor memory these 4 segments are located the processor uses four segment registers: Code segment (CS) is a 16-bit register containing address of 64 KB segment with processor instructions. The processor uses CS segment for all accesses to instructions referenced by instruction pointer (IP) register. CS register cannot be changed directly. The CS register is automatically updated during far jump, far call and far return instructions. Stack segment (SS) is a 16-bit register containing address of 64KB segment with program stack. By default, the processor assumes that all data referenced by the stack pointer (SP) and base pointer (BP) registers is located in the stack segment. SS register can be changed directly using POP instruction. Data segment (DS) is a 16-bit register containing address of 64KB segment with program data. By default, the processor assumes that all data referenced by general registers (AX, BX, CX, DX) and index register (SI, DI) is located in the data segment. DS register can be changed directly using POP and LDS instructions. Accumulator register consists of two 8-bit registers AL and AH, which can be combined together and used as a 16-bit register AX. AL in this case contains the low order byte of the word, and AH contains the high-order byte. Accumulator can be used for I/O operations and string manipulation. Base register consists of two 8-bit registers BL and BH, which can be combined together and used as a 16-bit register BX. BL in this case contains the low-order byte of the word, and BH contains the high-order byte. BX register usually contains a data pointer used for based, based indexed or register indirect addressing. Count register consists of two 8-bit registers CL and CH, which can be combined together and used as a 16-bit register CX. When combined, CL register contains the low order byte of the word, and CH contains the high-order byte. Count register can be used in Loop, shift/rotate instructions and as a counter in string manipulation. Data register consists of two 8-bit registers DL and DH, which can be combined together and used as a 16-bit register DX. When combined, DL register contains the low order

8086 ARCHITECTURE MICROPROCESSORS &INTERFACING

byte of the word, and DH contains the high-order byte. Data register can be used as a port number in I/O operations. In integer 32-bit multiply and divide instruction the DX register contains high-order word of the initial or resulting number. The EU also contains the Flag Register which is a collection of condition bits and control bits. The condition bits are set or cleared by the execution of an instruction. The control bits are set by instructions to control some operation of the CPU. ¾ Bit 0 - CF Carry Flag - Set by carry out of MSB ¾ Bit 2 - PF Parity Flag - Set if result has even parity ¾ Bit 4 - AF Auxiliary Flag - for BCD arithmetic ¾ Bit 6 - ZF Zero Flag - Set if result is zero

¾ Bit 7 - SF Sign Flag = MSB of result

¾ Bit 8 - TF Single Step Trap Flag

¾ Bit 9 - IF Interrupt Enable Flag

¾ Bit 10 - DF String Instruction Direction Flag

¾ Bit 11 - OF Overflow Flag

¾ Bits 1, 3, 5, 12-15 are undefined

SEGMENT REGISTERS MICROPROCESSORS & INTERFACING

SEGMENT REGISTERS

It is used to store the memory addresses of instructions and data. Memory Organization. Each byte in memory has a 20 bit address starting with 0 to 220-1 or 1 Meg of addressable memory. Addresses are expressed as 5 hex digits from 00000 FFFFF.

1. Problem: But 20 bit addresses are TOO BIG to fit in 16 bit registers?

Solution: Memory Segment.

Block of 64K (65,536) consecutive memory bytes. A segment number is a 16 bit number. Segment numbers range from 0000 to FFFF. Within a segment, a particular memory location is specified with an offset. An offset also ranges from 0000 to FFFF

Memory Model for 20-bit Address Space

Question: how to generate memory address?

Ans: Physical address = segment address*10+offset address

SEGMENT REGISTERS MICROPROCESSORS & INTERFACING

Example: we have segment no 6020h and offset is 4267h then 60200+4267=64467hÅ physical address.

Memory:

Program, data and stack memories occupy the same memory space. As the most of the processor instructions use 16-bit pointers the processor can effectively address only 64 KB of memory. To access memory outside of 64 KB the CPU uses special segment registers to specify where the code, stack and data 64 KB segments are positioned within

1 MB of memory 16-bit pointers and data are stored as: address: low-order byte

,address+1: high-order byte.

1. Program memory - program can be located anywhere in memory. Jump and call

instructions can be used for short jumps within currently selected 64 KB code segment, as well as for far jumps anywhere within 1 MB of memory. All conditional jump instructions can be used to jump within approximately +127 to -

127 bytes from current instruction.

2. Data memory - the processor can access data in any one out of 4 available segments,

which limits the size of accessible memory to 256 KB (if all four segments point to different 64 KB blocks).

SEGMENT REGISTERS MICROPROCESSORS & INTERFACING

Accessing data from the Data, Code, Stack or Extra segments can be usually done by prefixing instructions with the DS:, CS:, SS: or ES: (some registers and instructions by default may use the ES or SS segments instead of DS segment).Word data can be located at odd or even byte boundaries. The processor uses two memory accesses to read 16-bit word located at odd byte boundaries. Reading word data from even byte boundaries requires only one memory access.

3. Stack memory can be placed anywhere in memory. The stack can be located at odd

memory addresses, but it is not recommended for performance reasons (see "Data

Memory" above).

Reserved locations

0000h - 03FFh are reserved for interrupt vectors. Each interrupt vector is a 32-bit pointer

in format segment: offset.FFFF0h - FFFFFh - after RESET the processor always starts program execution at the FFFF0h address.

8086 ADDRESSING MODES MICROPROCESSORS & INTERFACING

ADDRESSING MODES OF 8086

The 8086 processors let you access memory in many different ways. The 8086quotesdbs_dbs5.pdfusesText_10