Professional Documents
Culture Documents
• Accumulator
• Arithmetic and Logic Unit
• General-purpose register
• Program counter
• Stack pointer
• Temporary register
• Flag register
• Instruction register and decoder
• Timing and control unit
• Serial Input/output control
• Interrupt Control
• Address buffer and address-data buffer
• Address bus and data bus
Accumulator
The accumulator sometimes referred to as ‘Acc’, is an 8-bit register which is
connected to the internal data bus and the ALU. The outcome of the
operations carried out by the ALU (the Arithmetic and Logical Operations) is
stored in the accumulator. The accumulator is also referred to as register A.
Arithmetic Logical Unit
The primary functioning of the ALU is arithmetic & logical operations – these
include addition, incrementing, subtraction, decrementing, logical tasks like
OR, AND, XOR, complement, left shift or the right shift. It uses the data from
memory and always stores the result of all operations in the Accumulator.
Address bus and data bus
The data bus carries data to be stored in the system. It is a bidirectional bus,
whereas the address bus carries the location to where the data should be
stored and is unidirectional.
Instruction Register and Decoder
General-Purpose Registers
The Intel 8085 has six general-purpose registers, namely B, C, D, E, H and L.
Each register can hold data of 8-bits. We can also use these registers in pairs
– BC, DE and HL. When in pairs, these registers can contain 16-bit data.
Program Counter
Let us consider that an instruction is being executed by the microprocessor.
When the ALU finishes executing one instruction, it begins searching for the
next instruction to be performed. Thus, there is a requirement of keeping the
next instruction’s address ready to be executed, in order to save time. This is
taken care of by the program counter.
The Program Counter (PC) is a 16-bit register which is used to store the
memory location of the next instruction in line for execution.
Stack Pointer
The Stack Pointer (SP) is a 16-bit register which works similar to the stack
and is used to hold line memory address for next instruction to be executed
Flag Register
The 8085 has an 8-bit flag register, but there are only five active flag bits.
They are – S, Z, AC, P and CY. Flags are basically flip-flops which are used to
show the status of some units of the 8085 after the completion of their
respective operations. These flip-flops are either set or reset as per the
condition of the result in the registers.
1. Sign Flag (S)
• This component produces all the timing & control signal for all the
microprocessor operation.
• This unit synchronizes all the microprocessor operations with the
internal clock and generates the necessary control signals for
communication between the 8085 and the peripherals.
• Given below are the timing & control signals which control the external
and internal circuits −
Interrupt Control
As the name goes, this component controls the interrupts popping up during a
process. Basically, an interrupt suspends the normal course of execution of
the microprocessor, shifts the control to the subroutine, completes the
interrupt handling and then goes back to the main program. When a
microprocessor is executing a set of instructions and an interrupt pops up, the
8085 shifts control from the main program to process the incoming interrupt
request. After the request has been processed, the control shifts back to the
main program. This interrupt might be hardware or software interrupt. Some
interrupts can be ignored (or maskable) while some cannot (non-maskable).
There are five interrupt signals in 8085 microprocessor: INTR, RST 7.5, RST
6.5, RST 5.5, and TRAP.
Increment or Decrement Register
The ‘8-bit register contents’ or a ‘memory position’ can be increased or
decreased by one. The 16-bit register is useful for incrementing/decrementing
the PC or the SP registers content by one.
Address-Buffer & Address-Data-Buffer
The contents stored in the Stack Pointer Register and the Program Counter
Register is loaded in the address buffer and the address-data buffer to
communicate with the processor. The memory and I/O chips are connected
with these buses; the CPU can exchange the required data with the memory
and I/O chips.
Serial Input / Output control
This unit controls the serial data communication by using two instructions: SID
(Serial Input Data) and the SOD (Serial Output Data). In serial data
transmission, the data bits are sent over a single line, one bit at a time.
Pin Description of the 8085
The pins of an 8085 microprocessor can be classified into seven groups −
Address bus
A15-A8, it carries the most significant 8-bits of memory/IO address.
Data bus
AD7-AD0, it carries the least significant 8-bit address and data bus.
IO/M
This signal is used to differentiate between IO and Memory operations, i.e. when it is
high indicates IO operation and when it is low then it indicates memory operation.
S1 & S0
These signals are used to identify the type of current operation.
Power supply
There are 2 power supply signals − VCC & VSS. VCC indicates +5V power supply and
VSS indicates ground signal.
Clock signals
There are 3 clock signals, i.e. X1, X2, CLK OUT.
• X1, X2 − A crystal (RC, LC N/W) is connected at these two pins and is used to
set frequency of the internal clock generator. This frequency is internally divided
by 2.
• CLK OUT − This signal is used as the system clock for devices connected with
the microprocessor.
Interrupts & externally initiated signals
Interrupts are the signals generated by external devices to request the microprocessor
to perform a task. There are 5 interrupt signals, i.e. TRAP, RST 7.5, RST 6.5, RST 5.5,
and INTR. We will discuss interrupts in detail in interrupts section.
• INTA − It is an interrupt acknowledgment signal.
• RESET IN − This signal is used to reset the microprocessor by setting the
program counter to zero.
• RESET OUT − This signal is used to reset all the connected devices when the
microprocessor is reset.
• READY − This signal indicates that the device is ready to send or receive data. If
READY is low, then the CPU has to wait for READY to go high.
• HOLD − This signal indicates that another master is requesting the use of the
address and data buses.
• HLDA (HOLD Acknowledge) − It indicates that the CPU has received the
HOLD request and it will relinquish the bus in the next clock cycle. HLDA is set
to low after the HOLD signal is removed.