Next: Loading operators, Previous: MIX instruction set, Up: MIX instruction set
MIX instructions are codified as words with the following subfield structure:
Subfield | fspec | Description
|
ADDRESS | (0:2) | The first two bytes plus sign are the address field. Combined
with the INDEX field, denotes the memory address to be used by the
instruction.
|
INDEX | (3:3) | The third byte is the index, normally used for indexing the
address1.
|
MOD | (4:4) | Byte four is used either as an operation code modifier or as a field
specification.
|
OPCODE | (5:5) | The last (least significant) byte in the word denotes the operation
code.
|
or, graphically,
------------------------------------------------ | 0 | 1 | 2 | 3 | 4 | 5 | ------------------------------------------------ | ADDRESS | INDEX | MOD | OPCODE | ------------------------------------------------
For a given instruction, `M' stands for the memory address obtained after indexing the ADDRESS subfield (using its INDEX byte), and `V' is the contents of the subfield indicated by MOD of the memory cell with address `M'. For instance, suppose that we have the following contents of MIX registers and memory cells:
[rI2] = + 00 63 [31] = - 10 11 00 11 22
where `[n]' denotes the contents of the nth memory cell and `[rI2]' the contents of register `rI2'2. Let us consider the binary instruction `I = - 00 32 02 11 10'. For this instruction we have:
ADDRESS = - 00 32 = -32 INDEX = 02 = 2 MOD = 11 = (1:3) OPCODE = 10 M = ADDRESS + [rI2] = -32 + 63 = 31 V = [M](MOD) = (- 10 11 00 11 22)(1:3) = + 00 00 10 11 00
Note that, when computing `V' using a word and an fspec, we apply a left padding to the bytes selected by `MOD' to obtain a complete word as the result.
In the following subsections, we will assign to each MIX instruction a mnemonic, or symbolic name. For instance, the mnemonic of `OPCODE' 10 is `LD2'. Thus we can rewrite the above instruction as
LD2 -32,2(1:3)
or, for a generic instruction:
MNEMONIC ADDRESS,INDEX(MOD)
Some instructions are identified by both the OPCODE and the MOD fields. In these cases, the MOD will not appear in the above symbolic representation. Also when ADDRESS or INDEX are zero, they can be omitted. Finally, MOD defaults to (0:5) (meaning the whole word).