Next: , Previous: Loading operators, Up: MIX instruction set


2.1.2.3 Storing operators

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]’.