MIX is a fictional, ideal computer, which uses Donald E. Knuth in his book The Art of Computer Programming to illustrate algorithms. The MIX model computer is later replaced by the MMIX, a modern and advanced version.

When MIX is an abstract von Neumann computer. It uses assembly language MIXAL ( MIX Assembler Language).

MIX construction

A MIX computer consists essentially of the following components:

  • Extension register ( rX )
  • Jump register ( rJ )
  • Memory (4000 cells a 1 MIX - word)

MIX - byte

In contrast to the current understanding, there is a MIX bytes of 6 bits. It may therefore represent 64 different states ( 0 to 63 ). These Knuth in his book: "Since 1975 or so, the word, byte ' has come to mean a sequence of eight binary digits described precisely, Capable of Representing numbers of 0 to 255 [ ... ] When we speak of bytes in connection with MIX, Shall we confine ourselves to the former sense of the word, harking back to the days when bytes were not yet Standardized. "

MIX - word

Mix the contents of a memory cell is referred to as MIX word. It consists of five MIX bytes and a sign byte. The possible numerical range is therefore limited to ± ( 645 -1) = ± 1.073.741.823.

Memory of the MIX computer

A MIX computer has 4000 memory cells each with a MIX word. For addressing a memory cell therefore satisfy two MIX - bytes ( 642 = 4096). All addresses > 3999 are undefined. To address individual parts of a MIX word are called " field specifiers " ( L: R ) was used. These can be represented with a MIX byte by multiplying the left boundary L with 8 and then the right boundary R added. So a Feldspezifikator of ( 0-0) would address the sign, a Feldspezifikator of (1:5) addresses the entire first memory cell without the sign.


MIX four flags used to perform conditional jumps.

  • O- Flag: Overflow is set as soon as a calculation exceeds the maximum value of a MIX word.
  • R-flag: Less is set when the corresponded number is less than their comparison figure.
  • E- Flag: Equal is set when the corresponding number is equal to the number comparison.
  • G- Flag: Greater is set when the corresponding number is greater than their comparison figure.