Intel 8085 Architecture
Intel 8085 Architecture
INTEL-8085 is the most popular 8-bit Microprocessor developed by the Intel Corporation
Features of Intel 8085 Microprocessors
Intel 8085 is an 8-bit NMOS Microprocessor
It is a 40 pin IC package fabricated on a single LSI chip.
It uses a single +5V dc supply for its operation.
Its clock speed is about 3 MHz and a single clock cycle is 320 ns. The clock cycle of
8085AH-2 processor is 200ns.
It has 80 basic instructions and 246 opcodes.
It has 3 main sections namely (i) Arithmetic and Logic Unit (ALU), (ii) Timing and Control
Unit, (iii) a set of Registers
Accumulator (ACC)
The Accumulator (ACC) is an 8-bit register associated with the ALU.
It is also known as A Register.
It holds one of the operands of an arithmetic or logical operation.
The other operand for an arithmetic or logical operation is stored in the memory or in
one of the general purpose registers.
It servers as one input to the ALU.
If the operation requires only one operand it is placed in Accumulator.
The intermediate and final results are stored in the Accumulator.
Special Case
DAD rp is a 16 bit addition instruction in which the H-L pair registers acts like an
Accumulator for 16 bit addition operation. One of the 16 bit operand is placed in HL pair and
the other operand is kept either in B-C or D-E pair. Finally the result is placed in the H-L pair.
General-Purpose Registers
The Intel-8085 processor has six 8-bit general purpose registers. They are B, C, D, E, H
and L registers.
To hold 16-bit data a combination of two 8-bit registers can be employed. These
register combinations are called register pairs.
The valid register pairs in the Intel-8085 microprocessor are B-C, D-E, and H-L.
The programmer cannot form a register pair by selecting any two registers of his
choice.
The H-L pair is used to act as a memory pointer and so it holds the 16-bit address of a
memory location.
The general-purpose registers and the accumulator are accessible to programmer.
Temporary Register
It is an 8-bit register associated with the ALU. It holds data during an
Arithmetic/Logical operation. It is used by the microprocessor. It is not accessible to
programmer.
0 0 HALT
0 1 WRITE
1 0 READ
1 1 FETCH
RD (output)
This signal is used to control READ operation. When it goes low the selected memory or I/O
device is read.
WR (output)
This signal is used to control WRITE operation. When it goes low the data on the data bus is
written into the selected memory or I/O location.
READY (Input)
It is used by the microprocessor to sense whether a peripheral is ready to transfer data or
not. A slow peripheral may be connected to the microprocessor through ready line. If the
READY is high the peripheral is ready. If it is low, the microprocessor waits till it goes high.
HOLD (input)
It indicates that another device is requesting for the use of the address and the data bus.
When a HOLD request is received by the microprocessor it hands over the use of the busses
as soon as the current machine cycle is completed. The internal operations of the
microprocessor may continue during this time. The processor regains the control when the
HOLD signal is removed. When a HOLD signal is acknowledged, address bus, data bus, RD, WR
and IO/M are tri-stated.
HLDA (output)
This signal is used as acknowledgement for the HOLD signal. The HLDA signal goes high and
the microprocessor relinquishes the control of the busses. After the removal of the HOLD
request the HLDA goes low and the microprocessor takes over control of the buses after half
clock cycle.
INTR (input)
It is an interrupt request signal with lowest priority. When this signal goes high the Program
Counter does not increments its content and the microprocessor suspends the normal
sequence of instruction and executes the CALL instruction to attend the interrupted
program. The INTR is sampled in the last state of the last machine cycle of an instruction. This
interrupt can be enabled or disabled by software. An interrupt is used by I/O devices to
transfer data to the microprocessor without wasting its time.
INTA (output)
It is an interrupt acknowledgement signal sent by the microprocessor after INTR is received.
RST 5.5, 6.5, 7.5 and Trap (inputs)
All these are interrupt signals. When an interrupt is recognized the next instruction is
executed from the fixed location in the memory as given below.
Table 2 : Hardware interrupts and their interrupt routine memory locations
LINE LOCATION FROM WHICH THE
NEXT INSTRUCTIO IS PICKED UP
TRAP 0024
RST 5.5 002C
RST 6.5 0034
RST 7.5 003C
RST 5.5, RST 6.5, RST 7.5 are the restart interrupts. They cause an internal restart to be
automatically inserted. Each of them has a programmable mask. The TRAP has the highest
priority among interrupts. It is a nonmaskable interrupt. It is unaffected by any mask or
interrupt enable. The order of priority of interrupts can be given as follows.
RST 5.5
RST 6.5
RST 7.5
INTR (lowest Priority)
RESET IN (input)
It resets the Program Counter to zero. It also resets interrupt enable and HLDA flip-flops. It
does not affect any other flag or register except the instruction register. The CPU is held in
reset condition as long as the RESET IN is applied.
RESET OUT (output)
It indicates that the CPU is being reset.
X1, X2 (input)
These are the terminals to be connected to an external crystal oscillator which drives an
internal circuitry of the microprocessor to produce a suitable clock for the operation of
microprocessor.
CLK (output)
It is a clock output for user and this can be used as input clock for other digital ICs.
SID (input)
It is a data line for serial input.
SOD (output)
It is a data line for serial input.
VCC +5 Volt power supply.
VSS Ground Reference.