INTEL 8085 is one of the most popular 8-bit microprocessor capable of addressing 64 KB of memory and its architecture is simple. The device has 40 pins, requires +5 V power supply and can operate with 3MHz single phase clock.
ALU (Arithmetic Logic Unit):
The 8085A has a simple 8-bit ALU and it works in coordination with the accumulator, temporary registers, 5 flags and arithmetic and logic circuits. ALU has the capability of performing several mathematical and logical operations. The temporary registers are used to hold the data during an arithmetic and logic operation. The result is stored in the accumulator and the flags are set or reset according to the result of the operation. The flags are affected by the arithmetic and logic operation. They are as follows:
After the execution of the arithmetic - logic operation if the bit D7 of the result is 1, the sign flag is set. This flag is used with signed numbers. If it is 1, it is a negative number and if it is 0, it is a positive number.
The zero flag is set if the ALU operation results in zero. This flag is modified by the result in the accumulator as well as in other registers.
Auxillary carry flag
In an arithmetic operation when a carry is generated by digit D3 and passed on to D4, the auxillary flag is set.
After arithmetic – logic operation, if the result has an even number of 1’s the flag is set. If it has odd number of 1’s it is reset.
If an arithmetic operation results in a carry, the carry flag is set. The carry flag also serves as a borrow flag for subtraction.
Timing and control unit
This unit synchronizes all the microprocessor operation with a clock and generates the control signals necessary for communication between the microprocessor and peripherals. The control signals RD (read) and WR (write) indicate the availability of data on the data bus.
Instruction register and decoder
The instruction register and decoder are part of the ALU. When an instruction is fetched from memory it is loaded in the instruction register. The decoder decodes the instruction and establishes the sequence of events to follow.
The 8085 has six general purpose registers to store 8-bit data during program execution. These registers are identified as B, C, D, E, H and L. they can be combined as BC, DE and HL to perform 16-bit operation.
Accumulator is an 8-bit register that is part of the ALU. This register is used to store 8-bit data and to perform arithmetic and logic operation. The result of an operation is stored in the accumulator.
The program counter is a 16-bit register used to point to the memory address of the next instruction to be executed.
It is a 16-bit register which points to the memory location in R/W memory, called the Stack.
8085 microprocessor performs data transfer operations using three communication lines called buses. They are address bus, data bus and control bus.
Address bus – it is a group of 16-bit lines generally identified as A0 – A15. The address bus is unidirectional i.e., the bits flow in one direction from microprocessor to the peripheral devices. It is capable of addressing 216 memory locations.
Data bus – it is a group of 8 lines used for data flow and it is bidirectional. The data ranges from 00 – FF.
Control bus – it consist of various single lines that carry synchronizing signals. The microprocessor uses such signals for timing purpose.