Professional Documents
Culture Documents
8085 MICROPROCESSOR
1.1 8085 Microprocessor features:
It is invented in 1976.
It is an 8-bit microprocessor.
8085 microprocessor provides 16 address lines, therefore it can access 2^16 = 64K
bytes of memory.
It has 8 Data lines and 16 address lines, out of which 8 address lines are multiplexed
with 8 data lines. Hence it requires external hardware to separate data lines from
address lines (this is one of the disadvantage of 8085).
It generates 8 bit I/O address, hence it can access 2^8 = 256 input ports and 256
output ports.
8085 microprocessor provides one Accumulator, one Flag register, 6 General
Purpose Registers (B, C, D, E, H and L) and two special purpose registers (PC, SP).
The maximum clock frequency of 8085 microprocessor is 3MHz where as minimum
clock frequency is 500 KHz.
8085 microprocessor provides on chip clock generator, therefore there is no need of
external clock generator, but it requires external tuned circuit like LC, RC or crystal.
It is manufactured in NMOS technology
It is available in 40 pin dual in line (DIP) package.
It requires a +5volts of power supply.
8085 microprocessor has five hardware interrupts: TRAP, RST 5.5, RST 6.5, RST 7.5,
and INTR. The hardware interrupt capability of 8085 microprocessor can be
increased by providing external hardware.
8085 microprocessor has capability to share its bus with external bus controller
(Direct Memory Access controller); for transferring large amount of data from
memory to I/O and vice versa.
8085 microprocessor provides two serial I/O lines which are SOD and SID; it means,
serial peripherals can be interfaced with 8085 microprocessor directly.
Temporary Register
It is a 8-bit register which is used to hold the data on which the acumulator is
computing operation. It is also called as operand register because it provides operands to
ALU.
Flag register:
As already explained contents of flag register will be changed according to the result
of ALU operation. Below figure shows the flag register format of 8085.
Sign flag (S): when the result of ALU operation is negative sign flag is set. If the result is
positive, then sign flag is reset. i. e. the D7 bit of accumulator is copied into the sign flag, as
D7 anyhow contains sign.
Zero flag (Z): when the result of ALU operation is zero, Zero flag is set. If the result is non-
zero then flag is reset.
Auxiliary carry (AC): If an ALU operation results in carry from lower nibble to upper nibble
(or) bit D3 to bit D4, Auxiliary flag is set. Else it is reset. This flag is used in BCD arithmetic.
Parity flag (P): If the result contains even number of ones, the flag is set else it is reset. So the
parity flag is odd parity bit.
Carry flag (CY): If the arithmetic operation results in carry, CY flag is set, else it is reset.
Instruction Register and Decoding:
Instruction register holds instruction that is fetched from memory. Instruction decoder
decodes the opcode (which is part of fetched instruction present in instruction register).
Instruction register is not accessible to the programmer.
Interrupt Controller:
8085 has 5 external interrupts. TRAP, INTR, RST 5.5, RST 6.5, and RST 7.5. Whenever
processor gets interrupt it finishes current instruction execution and issues INTA (interrupt
acknowledge) signal to the peripheral which raised the interrupt and goes to execute
interrupt service routine. Interrupt controller controls the interrupts.
Serial I/O control:
Serial data can be sent out using SOD pin and serial data can be read from SID pin. It controls
serial IO related operations.
This machine cycle is required when an operand is present in memory. This machine
cycle requires three T-states. The following are the sequence of actions performed by
microprocessor during this machine cycle.
Addressing modes define the way operands are specified in the instruction.
In 8085 Microprocessor there are four addressing modes.
1. Move immediate
MVI Rd, data -Transfers 'data' value into register Rd.
Ex: MVI A,50H
2. Move instruction
MOV Rd,Rs -Here Rd is destination register, Rs is source register. Transfers
data in Rs into Rd. Rs content will not be changed.
Ex: MOV B,A
3.IN instruction
IN port_address -This instructions reads data from IO device connected at
specified port address and loads accumulator with that data.
Ex: IN 10H
4.OUT instruction
OUT port_address -This instruction sends content of accumulator to IO device
connected at specified port address.
Ex: OUT 05H
Branch operations:
Unconditional branch
JMP 16-bit
This instruction causes PC to load with the 16-bit address specified in the instruction
unconditionally. So the Processor jumps for executing from the address location
specified in the instruction.
PUSH instruction:
PUSH Rp
This instruction stores the content of register pair Rp(16-bit) into stack. Stack is Last
in first out data structure.
Example:
PUSH B; push BC pair on to stack
PUSH D; push DE pair on to stack
PUSH H; push HL pair on to stack
PUSH PSW; push PSW(Accumulator+Flag register) on to stack
Example:
POP B; store data from top of stack in BC pair
POP D; store data from top of stack in DE pair
POP H; store data from top of stack in HL pair
POP PSW; store data from top of stack in Accumulator and Flag register
When this instruction is executed by the processor, it copies a byte from top of
stack into lower byte of register pair and increments SP by 1, Then it again copies a
byte from top of stack into higher byte of the register pair specified in the instruction
and increments SP by 1.
5. Machine-Control Operations.
HLT instruction Halt
When this instruction is executed by the processor it stops executing
and enters into wait state. Address and data bus of the processor are
kept in high impedance state.
NOP instruction No operation
This instructions performs nothing except wasting processor time. This
instruction is used for writing delays.
EI instruction- Enable interrupts
This instruction is used to enable the interrupts
DI instruction- disable interrupts
This instruction is used to disable the interrupts