Instruction format An instruction is normally made up of a combination of an operation code and some way of specifying an operand, most commonly by its location or address in memory though nonmemory reference instructions can exist. Some operation codes deal with more than one operand; the locations of these operands may be specified using any of the many addressing schemes.
Classically, the number of address references has been used to specify something about the architecture of a particular computer. In some instruction formats and machine architectures, the number of operand references may be fixed; in others the number is variable. In the former case descriptions of formats include one-address, two-address, three-address, and (now rarely) four-address. An example (symbolically) of a one-address instruction is
add x i.e.
add contents of address x
to contents of accumulator;
sum remains in accumulator.
An example of a three-address instruction is
add x,y,z i.e.
add contents of address x
to contents of address y;
sum is placed in location z.
In some cases the last address is the address of the next instruction to be executed. The ability to specify this address was important when rotating (drum) main memories were prominent. Thus a two-address instruction such as