Instruction Word Size in Microprocessor
The 8085 instruction set is classified into 3 categories by considering the length of the instructions. In 8085, the length is measured in terms of “byte” rather than “word” because 8085 microprocessor has 8-bit data bus. Three types of instruction are: 1-byte instruction, 2-byte instruction, and 3-byte instruction.
1. One-byte instructions –
In 1-byte instruction, the opcode and the operand of an instruction are represented in one byte.
- Example-1: Task- Copy the contents of accumulator in register B.
Mnemonic- MOV B, A Opcode- MOV Operand- B, A Hex Code- 47H Binary code- 0100 0111
- Example-2: Task- Add the contents of accumulator to the contents of register B.
Mnemonic- ADD B Opcode- ADD Operand- B Hex Code- 80H Binary code- 1000 0000
- Example-3: Task- Invert (complement) each bit in the accumulator.
Mnemonic- CMA Opcode- CMA Operand- NA Hex Code- 2FH Binary code- 0010 1111
Note – The length of these instructions is 8-bit; each requires one memory location. The mnemonic is always followed by a letter (or two letters) representing the registers (such as A, B, C, D, E, H, L and SP).
2. Two-byte instructions –
Two-byte instruction is the type of instruction in which the first 8 bits indicates the opcode and the next 8 bits indicates the operand.
- Example-1: Task- Load the hexadecimal data 32H in the accumulator.
Mnemonic- MVI A, 32H Opcode- MVI Operand- A, 32H Hex Code- 3E 32 Binary code- 0011 1110 0011 0010
- Example-2: Task- Load the hexadecimal data F2H in the register B.
Mnemonic- MVI B, F2H Opcode- MVI Operand- B, F2H Hex Code- 06 F2 Binary code- 0000 0110 1111 0010
Note – This type of instructions need two bytes to store the binary codes. The mnemonic is always followed by 8-bit (byte) data.
3. Three-byte instructions –
Three-byte instruction is the type of instruction in which the first 8 bits indicates the opcode and the next two bytes specify the 16-bit address. The low-order address is represented in second byte and the high-order address is represented in the third byte.
- Example-1: Task- Load contents of memory 2050H in the accumulator.
Mnemonic- LDA 2050H Opcode- LDA Operand- 2050H Hex Code- 3A 50 20 Binary code- 0011 1010 0101 0000 0010 0000
- Example-2: Task- Transfer the program sequence to the memory location 2050H.
Mnemonic- JMP 2085H Opcode- JMP Operand- 2085H Hex Code- C3 85 20 Binary code- 1100 0011 1000 0101 0010 0000
Note – These instructions would require three memory locations to store the binary codes. The mnemonic is always followed by 16-bit (or adr).