Skip to content

MIX notes

Alex edited this page Oct 31, 2013 · 5 revisions

Overview

MIX appears to be a Little Endian 12-bit processor. It was designed before the notion of a "Byte" was standardized.

Definition. A binary MIX computer would have 6 bits per "MIX byte". (End of definition)

MIX doesn't use the 2's-complement approach which modern computers use. Instead, it keeps track of the "magnitude" of a number, and its "sign" (just as humans do).

Definition. A "MIX word" consists of 5 Mix bytes plus a sign. (End of definition)

Memory

Now, as alluded to, the MIX architecture is 12-bit. Why? Because 2 MIX bytes are used to track the memory "cells" (i.e., we index MIX words, and count using 2 MIX bytes). So it can access at most 2^12 MIX words (4096 MIX word, to be precise). But specifications limit the memory cells to 4000 MIX words. They are numbered from 0 to 3999.

A variety of input and output devices are also included:

These are too exotic and antiquated for me to really comment in any detail. So I'll examine each one in some detail over time.

Instructions

There are about half a dozen different "families" of instructions.

Loading operators: load memory contents into a register.

Storing operators: store subfield of register into memory.

Arithmetic operators: ADD, SUB, MUL, DIV.

Address transfer operators: use address as constant rather than reference in modifying registers.

Comparison operators: MIX has a CM indicator (which has three values: EQUAL, GREATER or LESS), and these operators compare two registers and sets the CM indicator accordingly.

Jump operators: controls the flow of the program.

Input-output operators: interact with the block devices.

Conversion operators: convert characters to numbers, and vice-versa.

Shift operators: bitwise shift.

Miscellaneous operators: MOVE, NOP, HLT.

Clone this wiki locally