8085
8085
Accumulator:
➢ This is an special purpose register.
➢ The accumulator is an 8-bit register
➢ It is connected to ALU.
➢This register is used to store 8-bit data, this data is used to perform arithmetic
& logical operation.
➢The result of an operation is stored in the accumulator.
➢The accumulator is also identified as register A.
➢The accumulator is used for data transfer between an I/O port and memory
location.
8085 Architecture
General Purpose Registers
➢ The 8085 simulator has six general-purpose registers to store 8-bit data; these
are identified as B, C, D, E, H and L.
➢ They can be combined as register pair – BC, DE and HL – to perform some
16-bit operations.
➢ The programmer can use these registers to store or copy data into the
registers by using data copy instructions.
➢ Out of these six registers, four (B, C, D, E) 8-bit registers which are
accessible to the programmer and hence can be used to store data during a
program execution.
➢ Another two registers H and L are the memory address register of data
counter. This means that these two registers are used to store the 16- bit
address of 8-bit data being accessed from memory.
8085 Architecture
Temporary register:
➢ It is not available for user
➢ All the arithmetic and logical operations are done in the temporary
register but user can’t access it.
8085 Architecture
Program Counter (PC):
➢ This 16-bit register deals with sequencing the execution of
instructions. This register is a memory pointer. Memory locations
have 16-bit addresses, and that is why this is a 16-bit register.
➢ The microprocessor uses this register to sequence the execution of
the instructions. The function of the program counter is to point to
the memory address from which the next instruction is to be
fetched. When a byte (machine code) is being fetched, the program
counter is incremented by one to point to the next memory location.
8085 Architecture
Stack Pointer (SP)
➢ The stack pointer is also a 16-bit register used as a memory pointer.
It points to a memory location in R/W memory, called the stack.
➢ This is a temporary storage memory 16 bit register. Since there are
only 6 general purpose registers, there is a need to reuse them .
➢ Whenever stack is to be used previous values are PUSHED on
stack and then after the program is over these values are POPED
back.
8085 Architecture
Flags or status resistor:
➢ The ALU includes five flip-flops, which are set or reset after an operation
according to data conditions of the result in the accumulator and other
registers. They are called Zero(Z), Carry (CY), Sign (S), Parity (P), and
Auxiliary Carry (AC) flags.
➢ The most commonly used flags are Zero, Carry, and Sign. The
microprocessor uses these flags to test data conditions.
➢ Sign - set if the most significant bit of the result is set.
➢ Zero - set if the result is zero.
➢ Auxiliary carry - set if there was a carry out from bit 3 to bit 4 of the
result.
➢ Parity - set if the parity (the number of set bits in the result) is even.
➢ Carry - set if there was a carry during addition, or borrow during
subtraction/comparison.
8085 Architecture
Flags or status resistor:
8085 Architecture
Instruction resister:-
➢ Once the instruction is fetch from the memory, it is reloaded in the instruction
resistor for some time, after that the decoder decode the instruction
performing some event or task.
Instruction Decoder & Machine Cycle Encoder Unit
➢ It decodes the instruction from instruction register and then to control block.
➢ This unit decodes the op-code stored in the Instruction Register (IR) and
encodes it for the timing & control unit to perform the execution of the
instruction.
Timing and Control Unit:
➢ The timing and control unit accepts information from the instruction decoder
and generates different control signal. This unit synchronizes all the
microprocessor operation and generates control and status signal necessary
for communication between the microprocessor and peripherals.
8085 Architecture
Incrementor / decrementor:
➢ This is also 16 bit resistor. It is used to add or subtract one from the
contents of the program counter or stack pointer.
Address buffer:
➢ The remaining higher order address lines form the address buffer
ranging from[A15-8].This is having the unidirectional buffer
Address/data buffer:
➢ The address bus will be having 16 address lines[A15-A0] .In which A7-
A0 are called as lower addressing lines and these are multiplexed with
data lines[D7-D0] to form multiplexed address /data buffer .The
address/data buffer is the bidirectional bus.
8085 Architecture
Serial I/O control:
These are control signals used for controlling 8085.These are subdivided into 2 types
1)SID(serial input data):This is used for transferring of data into the memory serially.
2)SOD(serial output data):This is used for transferring of data from memory to
external devices
Interrupt Control:
➢ Interrupt control is used to transfer the ISR to the CPU.
➢ When a microprocessor is executing a main program and whenever an interrupt
occurs, the microprocessor shifts the control from the main program to process the
incoming request. After the request is completed, the control goes back to the
main program.
➢ It provides 5 interrupt pins :TRAP, RST 5.5, RST 6.5, RST 7.5,INTR.
8085 Pins Configuration
X1 & X2 (Pin 1 and Pin 2 (Input))
RESET IN:
RESET OUT:
➢ It is used to reset the peripheral devices
and other ICs on the circuit.
➢ It is an output signal.
➢ It is an active high signal.
Address Bus:
• The address bus is used to send address to memory.
• It selects one of the many locations in memory.
• Its size is 16-bit.
Data Bus:
• It is used to transfer data between microprocessor and memory.
• Data bus is of 8-bit.
AD0 – AD7 (Pin 19-12 (Bidirectional))
S0 S1 Operation
0 0 Halt
0 1 Write
1 0 Read
1 1 Opcode Fetch
IO/M (Pin 34 (Output))
• If IO/M = 1 then
• I/O operation is being performed.
• If IO/M = 0 then
• Memory operation is being
performed.
IO/M (Pin 34 (Output))