Skip to content

Latest commit

 

History

History
40 lines (25 loc) · 1.12 KB

README.org

File metadata and controls

40 lines (25 loc) · 1.12 KB

Negroni

An emulator for the mythical computer “MIX” from Donald Knuth’s The Art of Computer Programming.

There are two components to negroni:

stir
The MIX emulator
shake
The MIXAL assembler

stir

This MIX emulator is fairly fully-featured, and almost all operations are implemented, but there are a few exceptions and limitations:

Limitations

  • Writing to memory being accessed by an OUT operation, or reading memory being accessed by an IN operation will cause a panic.

Missing features

  • Floating point operations (FADD, FSUB, FMUL, FDIV, FCMP) are not implemented.
  • Only a binary version of MIX is emulated.
  • No timing information is captured.
  • Typewriter and paper tape I/O is not supported.

shake

Limitations

  • String literals (for ALF operations) must be wrapped in double quotes.
  • Remarks at the end of a line must begin with a #.

Missing features

  • W-values are not supported beyond a single expression.
  • Invalid usage of future values do not cause errors, and produce invalid programs.

Note

Please don’t actually shake a negroni; it bruises the gin.