Skip to content
TheCScience
TheCScience
  • Engineering Subjects
    • Human Values
    • Computer System Architecture
    • Digital Communication
    • Internet of Things
  • NCERT Solutions
    • Class 12
    • Class 11
  • HackerRank solutions
    • HackerRank Algorithms Problems Solutions
    • HackerRank C solutions
    • HackerRank C++ problems solutions
    • HackerRank Java problems solutions
    • HackerRank Python problems solutions
TheCScience
TheCScience

Instruction Types and their Classification | Computer Architecture

YASH PAL, December 21, 2025February 4, 2026

Instruction Types in Computer Architecture – The length of an instruction affects various factors like memory size, memory organization, bus architecture, CPU complexity, and speed of the computer system. There is a trade-off between the desire of powerful instruction set and the need to minimize the memory requirement of instructions.

The instruction set can be classified on the basis of the available number of addresses in an instruction. There can be four types of instructions in an instruction set.

Instruction Types in Computer Architecture

  1. Three-address instruction
  2. Two-address instruction
  3. One-address instruction
  4. Zero address instruction

Three-address instructions

Three-address instructions have 3-addresses in the addressfield of the instruction. It can use each address field to specify either a processor register or a memory operand. The major advantage of this instruction format is that it reduces the program to a great extent. Examples of three-address instructions are as follows

ADD  A,B,C;          M[A] <- M[B] + M[C]
MUL  R1,D,E;         R1 <- M[D] * M[E]

Two-address instruction

Two address instruction are the most common instructions in computer systems. It has two addresses in the address fields of the instruction. In this type of instruction, the first address in the instruction is assumed to be both the source and the destination where the result of the operation is transferred.

Examples of two-address instructions are as follows:

MOV  R1, X;       R1 <- M[X]
ADD  R2, Y;       R2 <- R2 + M[Y]

One address instructions

One address instructions have only one address in the address field of the instruction. The accumulator is assumed as implied address. In this type of instruction, the operations are performed in the one address given and the accumulator. Examples of one-address instructions are as follows

LOAD   B     AC <- M[B]
ADD    C     AC <- AC + M[C]

Zero address instructions

Zero address instructions do not have an address field in the instruction. These instructions use stack operations to perform various tasks. To evaluate arithmetic expressions in a computer, it is necessary to convert the expression into reverse Polish notation. Examples of zero address instructions are following

PUSH A     M[SP+1] <- A
ADD;       M[SP+1] <- (A+B)

Example: Explain the influence of the number of addresses on a computer program to evaluate the following arithmetic statement.

X=(A*B) + (C*D)

Use the symbols ADD, SUB, MUL, and DIV for the four arithmetic operations; MOV for the transfer operation; and LOAD and STORE for transfers to and from memory and the AC register. Here, A, B, C, and D are memory addresses where operands are stored. Result must be stored in memory at address X.

Solution: (i) Three-address instruction program

The program that evaluates the given function is given below.

Instruction Opcode fieldInstruction Address fieldRegister Transfer Language
MULR1, A, BR1 ← M[A] * M[B]
MULR2, C, DR2 ← M[C] * M[D]
ADDX, R1, R2X ← R1 + R2

(ii) Two-address instruction program

Instruction Opcode fieldInstruction Address fieldRegister Transfer Language
MOVR1, AR1 ← M[A]
MULR1, BR1 ← R1 * M[B]
MOVR2, CR2 ← M[C]
MULR1, DR2 ← R2 * M[D]
ADDR1, R2R1 ← R1 * R2
MOVX, R1M[X] ← R1

(iii) One address instruction program

Instruction Opcode fieldInstruction Address fieldRegister Transfer Language
LOADAAC ← M[A]
MULBAC ← AC * M[B]
STORETM[T] ← AC
LOADCAC ← M[C]
MULDAC ← AC * M[D]
ADDTAC ← AC + M[T]
STOREXM[X] ← AC

(iv) Zero address instruction program

InstructionRegister Transfer Language
PUSH ASP ← SP + 1, M[SP] ← A
PUSH BSP ← SP + 1, M[SP] ← B
MULSP ← SP + 1, M[SP] ← A * B
PUSH CSP ← SP + 1, M[SP] ← C
PUSH DSP ← SP + 1, M[SP] ← D
MULSP ← SP + 1, M[SP] ← C * D
ADDA * B + C * D
POP XM[X] ← M[SP], SP ← SP-1

The above four cases of programs to evaluate similar functions (X=A*B+C*D) indicate that as the number of addresses in the address field of instruction increases, the size of the program reduces.

Related Questions and Answers

What are the three fields in an instruction format?

(i) Address field
(ii) Operation code field
(iii) Mode field

How does the length of an instruction affect the computer architecture?

The length of an instruction affects various factors like memory size, memory organization, bus architecture, CPU complexity, and speed of a computer system.

Classify the instruction on the basis of the number of addresses available in the instruction.

There can be four types of instructions in an instruction set on the basis of the number of addresses in an instruction.
(i) Three address instructions.
(ii) One address instructions.
(iii) Two address instructions.
(iv) Zero address instructions.
read the Basic partition of CISC and RISC architecture for more understanding.

Computer System Architecture engineering subjects Computer System Architectureengineering subjects

Post navigation

Previous post
Next post

Computer Architecture fundamentals
Development of Computers
Von Neuman and Harvard machine Architecture
Flynn Classification
Computer Structure Architecture
Interfacing Logic Devices
Levels of Design abstraction
Performance Metrics

Register Transfer Language
Memory Transfer
Arithmetic Micro-operations
Logic Micro-operations
Shift Micro-operations
Bus Architecture
Data Transfer
Central Processing Unit
CPU Bus Architecture

Computer Register and Types
Common Bus System
Instruction Format
Instruction Types
Instruction Cycle
Addressing Modes
Design of a basic computer

Basic function of a Computer
General register organization
Stack organization
Infix to Reverse Polish Notation Conversion
Instruction Types and their classifications
Data transfer and manipulation
Program control
RISC characteristics
CISC characteristics

Pipeline
Types of Pipeline
Arithmetic Pipeline
Instruction Pipeline
Hazards
Vector Processing

Data Representation
Addition and Subtraction
Adder Circuits
Shift and Add Multiplication Method
Booth's Algorithm
Restoring Division Algorithm
Non-Restoring Division Algorithm
Array Multiplier

Memory Classification
Memory Characteristics
Memory Organization
Memory Types
Associative Memory
Cache Memory
Virtual Memory

Input Output Interface
Modes of Data Transfer
Priority Interrupt
Direct Memory Access
Input-Output Processor
Serial Communication

TheCScience

We at TheCScience.com are working towards the goal to give free education to every person by publishing in dept article about Secondary, Senior-Secondary, and Graduation level subjects.

Pages

About US

Contact US

Privacy Policy

DMCA

Engineering Subjects

Internet of Things

Human Values

Digital Communication

Computer System Architecture

Programming Tutorials

Data Structure and Algorithm

C

Java

NCERT

Class 12th

©2026 TheCScience | WordPress Theme by SuperbThemes