https://github.com/jonnystoten/negroni
Emulator for the mythical computer "MIX" from Knuth's The Art of Computer Programming
https://github.com/jonnystoten/negroni
knuth mix taocp
Last synced: 26 days ago
JSON representation
Emulator for the mythical computer "MIX" from Knuth's The Art of Computer Programming
- Host: GitHub
- URL: https://github.com/jonnystoten/negroni
- Owner: jonnystoten
- Created: 2019-06-10T20:46:53.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2019-11-24T16:23:24.000Z (over 5 years ago)
- Last Synced: 2025-02-13T12:53:35.613Z (3 months ago)
- Topics: knuth, mix, taocp
- Language: Rust
- Homepage:
- Size: 188 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.org
Awesome Lists containing this project
README
* 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.