3.4 Instruction Formats


An instruction format defines the layout of the bits of an instruction. The instruction can have zero, one or
more operands.
The opcode has the addressing mode. The instruction length is one of the most important issue when design
the instruction formats.
When the instruction length is small, space can be saved. However, the programmer prefers to increase the
instruction length to make the programming task easier because of the following reasons:
Increasing the instruction length provides more opcodes and operands which make the written
programs shorter.
More available addressing modes provide flexible programs.
When the operand length increases, large memory space can be addressed.
As the number of bits allocated to the opcode increases, the number of available operations increases but it
decreases the number of bits allocated for addressing.
The following parameters affect the choice of addressing bits number (William Stallings, (2012)):
Number of addressing modes: there must be bits assigned to choose between the possible
addressing modes.

3.4 Instruction Formats


Number of operands: to make the programs shorter, one or two operands must be allowed in one
instruction.
Register versus memory: to make the programs shorter, each instruction has to be able to address
more than one register.
Address range: to be able to reference to large memory space, a large number of bits has to be used.
Using register and displacement addressing mode can solve this limitation.

Case study: PDP-8

PDP-8 has a simple architecture that has a fixed size instruction (12 bits). The word size is 12 bits and it has
single accumulator register. The instruction formats has the following characteristics (William Stallings,
(2012)):
The number of bits used to address the memory is 7.
Memory is divided into pages of size 27 = 128.
3-bit opcode and three types of instructions.
For opcodes 0 through 5, the format is a single-address memory reference instruction including a page
bit and an indirect bit.


3.4 Instruction Formats


opcode 7 defines a register reference or microinstruction.
The remaining bits are used to encode additional operations. For example CLA is used to clear
accumulator.
The available addressing modes are indirect addressing, displacement addressing, and indexing.
PDP-11 has variable length instructions. The instruction formats has the following characteristics (William
Stallings, (2012)):
13 different formats are used.
The opcode can vary from 4 to 16 bits in length.
Register references are 6 bits in length.
Three bits identify the register.
The remaining 3 bits identify the addressing mode.