Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
45 views35 pages

Microprocessor Course Guide

The document summarizes the key components and operations of the 8080A and 8086 microprocessors. The 8080A is an 8-bit microprocessor with an 8-bit ALU, flag register, and 16-bit address registers, allowing it to access 64KB of memory. The 8086 is an improved microprocessor with a 16-bit data bus, 20-bit address bus, and additional registers that allow it to access 1MB of memory. Both microprocessors use internal registers like the program counter, stack pointer, and general purpose registers to perform operations and interface with memory and I/O devices.

Uploaded by

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

Microprocessor Course Guide

The document summarizes the key components and operations of the 8080A and 8086 microprocessors. The 8080A is an 8-bit microprocessor with an 8-bit ALU, flag register, and 16-bit address registers, allowing it to access 64KB of memory. The 8086 is an improved microprocessor with a 16-bit data bus, 20-bit address bus, and additional registers that allow it to access 1MB of memory. Both microprocessors use internal registers like the program counter, stack pointer, and general purpose registers to perform operations and interface with memory and I/O devices.

Uploaded by

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

Microprocessor Laboratory

Electrical Engineering Department


Engineering College
Prince Sattam bin Abdul Aziz University

Text Book:
- Triebel and Singh, "The 8088 and 8086
Microprocessors", Prentice Hall, Last Edition.
Course Grading:
Midterm # 1
:
Midterm # 2
:
Reports & Projects
:
Lab Performance
:
Final Exam
:

(20%)
(20%)
(10%)
(10%)
(40%)

Course Plan
Microprocessor architecture
Instruction sets
Assembly language programming and

debugging
Input and Output Interfacing
Interrupt controller interfacing
Project. Micro-controllers

Introduction
Microprocessors

touch nearly every aspect of


our lives. Just a few of the products which use
microprocessors are:

Cameras
Calculators
Automobiles
Electronic Toys
Electronic Credit Card Machines
Microwave Ovens

What is a microprocessor?
Microprocessors are small electronic devices which

manipulate and control digital data with great speed and


accuracy.
Typically, they are about 3 to 4 inches long and about 1

inch wide.

Figure . Microprocessor

Computer Basics
1. INPUT: Provides information from the
outside world, acting as the eyes and ears
of the computer system.
2. CONTROL: Directs the overall functioning
of the computer. All information must pass
through the control during its processing.
3. MEMORY: Supplies temporary storage for
information to be processed and permanent
storage for program instructions.
4. A.L.U.: The Arithmetic Logic Unit is the
actual calculating mechanism, where
operations are performed on the information
that is input.
5. OUTPUT: Delivers the processed
information to the outside world.

Figure . Fundamental Microcompute

Basic Microprocessor
Operations
Objectives:
How memory locations are addressed
How data is stored
5 basic internal registers

Introduction
Computer buses:
Address bus (carries location details),
Control bus (carries timing and enable/disable signals),
Data bus (carries instructions and information to be

processed).
CPU receives the signals and operates upon them
How the microprocessor uses these signals to perform its

required tasks?

Operational Process
Memory contains many locations for data

or instructions.
Each location has a unique address.
We access a location by :
sending the location's address to the

memory section and enabling READ (get


from) or WRITE (send to).

The microprocessor then gets the data stored at that address or it


moves data into that location.

Operational Process
Memory capacity: measured by the number of bytes it

can hold.
Recall that: control section a word to memory, it must

provide the memory with the address where the word is


to go. Ex. Emailing Address
In a computer, this address is sent by transmitting an

additional one or two words to the memory section.

Internal Registers
Where to find the data?
What to do with the results?
Internal Registers:

Status (Flag) Register

General Purpose Registers

Address Registers

Program Counter

Stack Pointer

Status (Flag) Registers


Used to store a binary word

representing the status of ALU


Each bit (or flag) of the status

register represents a specific


condition.
Bit #7 and #6 (U): Unused
Bit #5 (C): Carry Flag - Set when there is a carry of the MSB
Bit #4 (O): Overflow Flag - Set if the result is out of range
Bit #3 (Z): Zero Flag - Set if the result = 0
Bit #2 (N): Negative Flag - Set if the result is negative
Bit #1 (I): Interrupt Flag - Set if Interrupt is enabled
Bit #0 (P): Parity Flag - Set if the result has even parity (if there are an even number of 1's in the
result)

General Purpose (GP) Registers


Required for processors to operate as fast as they do.
Accumulator is a general purpose register which the ALU often

uses as the default location for an operand.

General Purpose (GP) Registers


GP registers store one data word
Each 8-bit Mic. have 8-bit GP registers
Typically, each Pair register is named with a letter, for

instance, "register A", "B", or "C".


Individual one-word registers named
"register AL" (low word of register pair A)
or "register AH" (high word of register pair A).

Address Registers
Twice the length of the microprocessor's word

size.
Connected to the address bus and access the

location of data in memory.


Address is stored in an address register
Used by the control unit whenever data is moved

to or from the address.

Program Counter (PG)


Contains the address of the next instruction to be

executed.
PG begins at the memory address (e.g., 00010001) and

then increments to the next address (i.e., 00010010)


when the instruction in the first location has been
executed.
The process repeats until the program re-directs the

program counter or terminates.

Stack Pointer
Automatically adjusts to the next available (empty) location

in the stack, which is a block of memory that stores data.


One format of storage is FILO (First In, Last Out)
The stack pointer indicates which data is to be accessed

for correct execution of the program.

Computer Instructions
An instruction consists of a mnemonic (which the

human operator understands) and its binary code (which


the computer actually uses).
Examples of mnemonics:
MOV (for "move"), ADD (for "add"), SUB (for

"subtract"), CMP (for "compare"), and JMP (for "jump").

Architectures of 8080A and 8086


Microprocessors
Objectives:
Describe the major components of the 8080A microprocessor.
Describe the major components of the 8086 microprocessor.
Discuss the differences between the 8080A and the 8086

microprocessors

8080A MICROPROCESSORS
The 8080A is an 8-bit

microprocessor.
Means that:
its data bus and ALU

are 8-bits.
Address Registers 16

bits.

Data
Bus
Ports

Addre
ss bus
Ports

8080A MICROPROCESSORS
Accumulator :
8 bits,
Program counter :
16 bits,

Flag register :
5 bits.

8080A Mic. (Internal Registers)


Flag Register:
The 8080A's flag register is 8 bits wide and gives the

status of 5 different conditions.


1- Carry Flag (CY) - Set by carry out of bit 7 (MSB)
2- Zero Flag (Z) - Set if result equals zero
3- Sign (S) - Set for positive numbers
4- Parity (P) - Set if even parity (even number of ones)
5- Auxiliary Carry (AC) - Set if carry out of bit 3 (used in BCD
arithmetic)

8080A MICROPROCESSORS
General Purpose (GP) Registers:
Six 8-bit GP registers.
These registers can be paired to form three 16-bit registers.
The register pairs are B&C, D&E, and H&L.
Address Register:
Contains the address of the memory location or I/O device to be

enabled.
This register is 16 bits wide.
This means that the 8080A can access up to 64 KB (2^16) of memory.

8080A MICROPROCESSORS
Program Counter:
contains the address of the next instruction to be executed.
same width (16 bits) as the address register
Stack Pointer:
The stack can be located any place in memory. Therefore,

the stack pointer must be able to locate any place in memory.


Because the memory is 64 KB, the stack pointer is 16 bits
wide.

8080A MICROPROCESSORS
8080A INTERNAL BUS SYSTEM:
Data Bus:
8 bits wide.
transmits information

(data or instructions) to
and receives information
from any specified device.
Address Bus :
16-bit
select one memory location or I/O device.
Control Bus :
synchronizes and
enables the devices and operations
Figure . Block Diagram of the 8086

8086 Microprocessor
The lowest 16 bits of this port
act as both the data bus port
and the address bus port.

The highest 4 bits are


dedicated to the address bus.

The I/O port has sequential pin


numbers.

Figure. The 8086 I/O Port

8086 Microprocessor

Figure . Block Diagram of the 8086

8086 Microprocessor
ALU:
Unlike the 8080A, the ALU in the 8086 can work directly with any

register or memory location.


Means that: nearly all arithmetic and logic instructions (except

division) can be performed without first loading the accumulator with


one of the operands, as is required in the 8080A.

8080A INTERNAL BUS SYSTEM:


The 8086 uses one bus for both the data and address buses.

8086 Microprocessor:Flag Registers:


16 flag registers available in the 8086. Nine flags are used: six status flags and
three control flags.

Status Flags
1- Carry Flag (CF): Set when there is a carry out of the high order bit (8 or 16
bit) of the result.
2- Parity Flag (PF): Set if result contains an even number of 1's.
3- Auxiliary Carry Flag (AF): Set when there is a carry out of the low nibble.
4- Zero Flag (ZF): Set if the result equals zero.
5- Sign Flag (SF): Set if the result is a negative number.
6- Overflow Flag (OF): Set if the size of the result exceeds the size of the ALU.

8086 Microprocessor:Flag Registers:


Control Flags:
Trap Flag (TF)
Interrupt Flag (IF)
Direction Flag (DF)

8086 Microprocessor: General Purpose (GP)


Registers:
The 8086 contains four 16-bit GP registers named AX (accumulator),

BX, CX, and DX.


Each of these registers can be split into its High (H) and Low (L) byte

to form eight 8-bit registers named AL, AH, BL, BH, and so on.

Figure. General Purpose Registers


in the 8086

8086 Microprocessor: General Purpose (GP)


Registers:

The 8086 also contains pointer, segment, and index

registers.
The Instruction Pointer :
Points to the next instruction to
be executed.
This register is similar to the
8080A's program counter.

8086 has a 20-bit address bus


Segment Registers is required.

Figure . Pointer and Segment


Registers in the 8086

8086 Microprocessor: General Purpose (GP)


Registers:

Code Segment register :


in combination with the instruction pointer allows the entire memory to be
addressed.

Index registers :
used for various types of addressing.
Because the 8086 has a 20-bit address bus, it can access up to 1 MB (220) of
memory.

SUMMARY
The major parts of a typical microprocessor are:

Control
ALU
Internal registers
I/O Ports

The 8080A is
an 8-bit microprocessor

an 8-bit flag Register,


an 8-bit ALU,
a16-bit address bus,
an 8-bit data bus.

The 8086 is

a 16-bit microprocessor
a 16-bit flag register
a 16-bit ALU.
Its 20-bit address bus shares 16 bits with the data bus.

SUMMARY
Internal registers of the 8080A include:
ALU, accumulator, flag register, GP registers, address register,
program counter, and stack pointer.
Internal registers of the 8086 include:
ALU, flag register, GP registers, instruction pointer, code
segment register, and index registers.
The flag register of the 8080A uses 5 of its 8 bits:
Carry flag, zero flag, sign flag, parity flag, and auxiliary
carry flag.

SUMMARY
The flag register of the 8086 uses 9 of its 16 bits:
6 are status flags (parity flag, auxiliary carry flag, zero

flag, sign flag, and overflow flag)


3 control flags (trap flag, interrupt flag, and direction

flag).
Both the 8080A and the 8086 microprocessors have 3

buses: data bus, address bus, and control bus.


The 8080A ALU always works with the accumulator.

You might also like