As explained in previous sections (see MIX architecture), the MIX computer can interact with a series of block devices. To that end, you have at your disposal the following instructions:
Transfer a block of words from the specified unit to memory, starting at address M. OPCODE = 36, MOD = I/O unit.
Transfer a block of words from memory (starting at address M) to the specified unit. OPCODE = 37, MOD = I/O unit.
Perform a control operation (given by M) on the specified unit. OPCODE = 35, MOD = I/O unit.
Jump to M if the specified unit is ready. OPCODE = 38, MOD = I/O unit.
Jump to M if the specified unit is busy. OPCODE = 34, MOD = I/O unit.
In all the above instructions, the ‘MOD’ subfile must be in the range 0-20, since it denotes the operation’s target device. The ‘IOC’ instruction only makes sense for tape devices (‘MOD’ = 0-7 or 20): it shifts the read/write pointer by the number of words given by ‘M’ (if it equals zero, the tape is rewound)5.