used to store 8-bit data and to perform arithmetic and logical operations
the result of the operation is stored in this
generalpurposeregister
8085 uP has 6 gpr each of which has 8-bits
the registers can be used for data manipulation and storage
programstatuswrite
in flag registers, five bits (D7, D6, D4, D2, D0) indicate 5 status flags
the three bits (D5, D3, D1) are undefined
program counter
16-bit register that holds the memory address of the memory address of the next following instruction for fetching and executing
it automatically increments after each instruction fetch allowing programs to execute the next instruction quickly.
adress and data buses:
the 8085 uP has 16-bit address bus allowing it to adress up to 64KB of memory
it also has an 8-bit data bus for transferring between the uP and memory or I/O devices
interrupt control group
interrupt - occurrence of an external disturbance
after servicing the interrupt, the 8085 uP resumes its normal working sequence
interrupt allows the uP to respond to external events and handles them in a prioritized manner
in response to INTR, it generates INTA signals
the 8085 uP supports the 5 hardware interrupts:
INTR
RST 5.5
RST 6.5
RST 7.5
TRAP
Serial I/O control group
data transfers red on D0 - D7 lines in parallel data
under some conditions, it is used signal data transfer
serial data is entered through SID (serial input data) input received
serial data is outputted through SOD (serial output data) input ssend
Registers:
Stack pointer
instruction register
temporary register
flag register
Stack pointer
-- used to point the memory location of the stack
stack
-- sequence of memory locations in the r/w memory
-- used to store return address during subroutine calls as well as location variables and other data
instruction register
holds the operation code (op-code) of the current instruction of a program during an arithmetic/logical operations
temporary register
-- an 8-bit register
-- during an arithmetic and logical operations, one operand is available in A and always transferred in the temporary register
flag register
-- an 8-bit register that contains several flags that indicates the status of certain conditions after arithmetic and logical operations
the flags are as follows: 5
the zero flag
the carry flag
the sign flag
the parity flag
the auxiliary flag
zero flag
records if the arithmetic and logical operations produced a zero result
carry flag
records if the arithmetic and logical operations produced a carry (ex: an extra bit beyond the standard 8-bit)
sign flag
records if the sign bit of the result indicating the result was negative sign (sign bit 1) or non-negative (sign bit 0)
parity flag
records whether the number 1's in the result is even or odd
parity flag: even ---- 1
odd ---- 0
auxiliary flag
records if the operation caused a carry after the first four bits
Vcc
power supply voltage pin (+5v)
A0 - A15
address bus pins for transmitting data between the uP and external memory or I/O devices
RD
Read control signal, activated by the uP to initiate to a read operation
WR
write control signal, activated by the uP to initiate a write program
/RESET
active-low reset input used to reset the uP to its initial state
/INT
active-low interrupt input, used for external hardware interrupts
IO/M
input/output memory control signal used to distinguish between I/O and memory operation
SO and SI
status output pins that indicate the current operating mode of the uP
HLDA
hold acknowledge output, used to indicate that the uP has recognized the HOLD request
HOLD
Hold input, used to halt the uP operation temporarily
Addressing Mode in 8085
-- immediate addressing mode
-- register addressing mode
-- direct addressing mode
immediate addressing mode
the operand is directly specified in the instruction itself
register addressing mode
operand is specified is one of the registers of the microprocessor
direct addressing mode
operand is specified by a memory address directly
indirect addressing mode
operand is specified indirectly through a register pair usually a HL. The contents of the specified register pair acts a memory address
register indirect with displacement addressing mode
operand is specified by adding an 8-bit signed displacement value to the contents of a register pair. the resulting sum is treated as memory address
immediate indirect addressing mode
operand is specified indirectly through an immediate value. the immediate value is added to the program counteer and the resulting sum acts as the memory address