Arithmetic and Logic Unit (ALU) It is used to perform mathematical operations like addition, multiplication, subtraction, division, decrement, increment, etc. Different operations are carried out in ALU: Logical operations, Bit-Shifting Operations, and Arithmetic Operations. Flags It is an 8-bit register that stores either 0 or 1 depending upon which value is stored in the accumulator. Flag Register contains 8-bit out of which 5-bits are important and the rest of 3-bits are “don’t Care conditions”. The flag register is a dynamic register because after each operation to check whether the result is zero, positive or negative, whether there is any overflow occurred or not, or for comparison of two 8-bit numbers carry flag is checked. So for numerous operations to check the contents of the accumulator and from that contents if we want to check the behavior of given result then we can use Flag register to verify and check. So we can say that the flag register is a status register and it is used to check the status of the current operation which is being carried out by ALU.
Accumulator Accumulator is used to perform I/O, arithmetic, and logical operations. It is connected to ALU and the internal data bus. The accumulator is the heart of the microprocessor because for all arithmetic operations Accumulator’s 8-bit pin will always there connected with ALU and in most-off times all the operations carried by different instructions will be stored in the accumulator after operation performance. General Purpose Registers There are six general-purpose registers. These registers can hold 8-bit values. These 8-bit registers are B,C,D,E,H,L. These registers work as 16-bit registers when they work in pairs like B-C, D-E, and H-L. Here registers W and Z are reserved registers. We can’t use these registers in arithmetic operations. It is reserved for microprocessors for internal operations like swapping two 16-bit numbers. We know that to swap two numbers we need a third variable hence here W-Z register pair works as temporary registers and we can swap two 16-bit numbers using this pair.
Program Counter Program Counter holds the address value of the memory to the next instruction that is to be executed. It is a 16-bit register. Stack Pointer It works like a stack. In stack, the content of the register is stored that is later used in the program. It is a 16-bit special register. The stack pointer is part of memory but it is part of Stack operations, unlike random memory access. Stack pointer works in a continuous and contiguous part of the memory. whereas Program Counter(PC) works in random memory locations. This pointer is very useful in stack-related operations like PUSH, POP, and nested CALL requests initiated by Microprocessor. It reserves the address of the most recent stack entry. Instruction register and decoder It is an 8-bit register that holds the instruction code that is being decoded. The instruction is fetched from the memory.
Pin Diagram 8085 microprocessor It is an 8 bit microprocessor make by N-MOS technology, It has 40 pins and 256 number of opcodes. So in this pin configuration, AD — AD 7 = 8 pins and A 8 — A 15 = 8 pins total is 16 pins. leaving AD — AD 7 and A 8 — A 15 there are 24 pins in total so now there are 16 + 24 = 40 pins.
Address bus and data bus – 8085 Since the microprocessor is a 8 bit, The data bus is of 8 bit size and the address bus is of 16 bit size. A 8 — A 15 ( Output ) : The 8 most significant bits ( MSB ) of the address are transmitted by the address bus pins A 8 — A 15 . AD —AD 7 ( Input / Output ) : The 8 least significant bits ( LSB ) of the address are transmitted by address or data bus address bus pins AD — AD 7 . ALE ( Address latch enable ) It is an address latch enable signal it goes high during the 1st clock cycle of a machine cycle. And enables the lower 8 bits of address to be latch either into the memory or external latch.
IO / M It is use by the microprocessor to know whether a peripheral/external device is ready to transfer data or not. A slow external device can be connected to the microprocessor through ready line. If READY is high then the external device is ready and if it is slow then the microprocessor waits until it becomes high. READY So this is a signal to control the READ operation. When it goes low the selected memory or input output device is read. RD (Read) It is a status signal indicating whether the address is for memory or for input output. When it goes high the address of the address bus is for the input device. When it goes low it is for the address memory location on the address bus.
WR (Write) So this is a signal to control the WRITE operation. When it goes low the data on the data bus is written on the selected memory or input output device. HOLD This indicates that another device is requesting the use of the address and data bus. When the hold signal is sense by the microprocessor, the address bus, data bus, RD, WR and IO/M are tristate. When the microprocessor receives the hold signal, it stops using the buses as soon as the current machine cycle is completed. HLDA So this is a signal for HOLD acknowledgement. It indicates that the HOLD request has been received. So the HLDA is reduce after removing the hold request. After the HLDA is low, the CPU takes the buses in a half clock cycle.
Interrupt Signal The 8085 has five interrupt signals that can be used to interrupt a program execution. ( i ) INTR (ii) RST 7.5 (iii) RST 6.5 (iv) RST 5.5 (v) TRAP CLK ( Clock output ) This is a clock output for the user that can be use for other digital IC acknowledgement. So its frequency is similar to that of a microprocessor. ( Address bus / Data bus ) The address or data bus transmits data and address at different movement at a particular movement it transmit either data or address, So the address bus operates in time share mode this technic is know as multiplexing.
INTR So this is an interrupt request signal. When it goes high it has the lowest priority among interrupts. So the microprocessor suspends its normal sequence of instructions. And so after completing the instruction it goes to the interrupting device. INTR’ So it is the interrupts signal send by a microprocessor after INTR is receive. RESET IN So this program resets the counter to zero. As long as RESET is applied, the CPU is kept in the reset state. And so it never affects any flags . RESET OUT So this indicates that the CPU is being reset. X 1 & X 2 So these are the terminals to be connected to the external crystal oscillator which drives the internal circuit of the microprocessor to produce a suitable clock. SID ( Serial input data ) The data on this line is loaded into the 7th bit of the accumulator, when RIM instruction is executed.