COLLEGE OF ENGINEERING,
ASSEMBLY LANGUAGE PROGRAMMING
LAB – MANUAL
1. The 8085 microprocessor
1.2 8085 Internal Architecture
1.3 8085 Pin Diagram
1.4 8085 Addressing Modes
2. The 8085 Microprocessor Trainer Kit
2.2 Specifications of STS -85 VLC
2.2.1 Hardware Specifications
2.2.2 Software Description
3. 8085 Instruction Set Summary
4. Entering a program and Execution procedure
5. A Sample Program
6. 8085 Instructions and Mnemonic codes
7. Lab Exercises
7.1 Subtract two 8 bit numbers
7.2 Divide two 8 bit numbers
7.3 Palindrome checking
7.4 Sort in ascending order
7.5 Sort in descending order
7.6 Add two 16 bit numbers
7.7 Convert a BCD number to a binary number
7.8 Convert a binary number to a BCD number
7.9 Add ten 8 bit numbers
7.10 Multiply two 8 bit numbers
7.11 Largest of ten 8 bit numbers
7.12 Smallest of ten 8 bit numbers
7.13 Scroll a set of data in memory
1. THE 8085 MICROPROCESSOR
The 8085 microprocessor was made by Intel in mid 1970s. It was binary compatible with 8080 microprocessor but required less supporting hardware thus leading to less expensive microprocessor systems. It is a general purpose microprocessor capable of addressing 64k of memory. The device has 40 pins, require a +5V power supply and can operate with 3 MHz single phase clock. It has also a separate address space for up to 256 I/O ports. The instruction set is backward compatible with its predecessor 8080 even though they are not pin-compatible.
1.2 8085 Internal Architecture (Fig: 1)
The 8085 has a 16 bit address bus which enables it to address 64 KB of memory, a data bus 8 bit wide and control buses that carry essential signals for various operations. It also has a built in register array which are usually labelled A(Accumulator), B, C, D, E, H, and L. Further special-purpose registers are the 16-bit Program Counter (PC), Stack Pointer (SP), and 8-bit flag register F. The microprocessor has three maskable interrupts (RST 7.5, RST 6.5 and RST 5.5), one Non-Maskable interrupt (TRAP), and one externally serviced interrupt (INTR). The RST n.5 interrupts refer to actual pins on the processor a feature which permitted simple systems to avoid the cost of a separate interrupt controller chip.
Generates signals within microprocessor to carry out the instruction, which has been decoded. In reality causes certain connections between blocks of the processor be opened or closed, so that data goes where it is required, and so that ALU operations occur.
Arithmetic Logic Unit
The ALU performs the actual numerical and logic operation such as ‘add’, ‘subtract’, ‘AND’, ‘OR’, etc. Uses data from memory and from Accumulator to perform arithmetic and always stores the result of operation in the Accumulator.
The 8085 microprocessor includes six registers, one accumulator, and one flag register, as shown in Fig 1. In addition, it has two 16-bit registers: the stack pointer and the program counter. The 8085 has six general-purpose registers to store 8-bit data; these are identified as B, C, D, E, H, and L as shown in Fig 1. They can be combined as register pairs - 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.
The accumulator is an 8-bit register that is a part of arithmetic/logic unit (ALU). This register is used to store 8-bit data and to perform arithmetic and logical operations. The result of an operation is stored in the accumulator. The accumulator is also identified as register A.
The ALU includes five flip-flops, which are set or reset after an...