Next: Arithmetic operators, Previous: Loading operators, Up: MIX instruction set [Contents][Index]
The following instructions are the inverse of the load operations: they are used to store a subfield of a register into a memory location. Here, MOD represents the subfield of the memory cell that is to be overwritten with bytes from a register. These bytes are taken beginning by the rightmost side of the register.
STA
Store rA. OPCODE = 24, MOD = fspec. V <- rA
.
STX
Store rX. OPCODE = 31, MOD = fspec. V <- rX
.
STi
Store rIi. OPCODE = 24 + i, MOD = fspec. V <- rIi
.
STJ
Store rJ. OPCODE = 32, MOD = fspec. V <- rJ
.
STZ
Store zero. OPCODE = 33, MOD = fspec. V <- 0
.
By way of example, consider the instruction ‘STA 1200(2:3)’. It causes the MIX to fetch bytes no. 4 and 5 of register A and copy them to bytes 2 and 3 of memory cell no. 1200 (remember that, for these instructions, MOD specifies a subfield of the memory address). The other bytes of the memory cell retain their values. Thus, if prior to the instruction execution we have
[1200] = - 20 21 22 23 24 [rA] = + 01 02 03 04 05
we will end up with
[1200] = - 20 04 05 23 24 [rA] = + 01 02 03 04 05
As a second example, ‘ST2 1000(0)’ will set the sign of ‘[1000]’ to that of ‘[rI2]’.