"MIX is the world's first polyunsaturated computer."

MIX is a hypothetical computer invented by Donald Knuth for "The Art of Computer Programming".

MIXAL is the assembly lanuage used to write programs for this computer system. See: MIXAL.

More info can be found on Wikipedia:


Origins MIX name origin.

MIX can also be interpreted as 1009 in Roman Numerals, which is the identifying number of the computer.

1009 was obtained by taking the average number of 16 contemporary machines that MIX architecture could be reasonably emulated on (360, 650, 709, 7070, U3, SS80, 1107, 1604, G20, B220, S2000, 920, 601, PDP-4, II).


Basic unit of MIX is a byte. It must be capable of holding at least 64 distinct values (6-bit). Programs expressed in MIX are written with the assumption that bytes are no more than 6-bits. Larger values can be expressed with adjacent bytes.


MIX has 9 registers: A, X, I1-6, and J.

The A-register is the accumulator, consiting of five bytes and a sign.

The X-register is an extension, consisting of five bytes and a sign.

The I registers I1, I2, I3, I4, I5, and I6 are index registers, that whole two bytes and a sign.

The J-register is the Jump Regiseter, consisting of two bytes and no sign component (it is always assumed positive).

TODO Partial Field of words

TODO Instruction Format

TODO Notation

TODO Rules for Each Instruction


MIXAL is the assembly language used to program the MIX machine. More info can be found at MIXAL.