Jul 20, 2023

Utilities for developing programs using MIX and MIXAL

MIX is Donald Knuth’s mythical computer as described in his monumental work The Art of Computer Programming. As any of its real counterparts, the MIX features registers, memory cells, an overflow toggle, comparison flags, input-output devices, and a set of binary instructions executable by its virtual CPU. You can program the MIX using an assembly language called MIXAL, the MIX Assembly Language.

MDK MIX Development Kit offers an emulation of MIX and MIXAL. The current version MDK includes the following applications

  • mixasm A MIXAL compiler, which translates your source files into binary ones, executable by the MIX virtual machine.
  • mixvm A MIX virtual machine which is able to run and debug compiled MIXAL programs, using a command line interface with readline’s line editting capabilities.
  • gmixvm A MIX virtual machine with a GTK+ GUI which allows you running and debugging your MIXAL programs through a nice graphical interface.
  • mixguile A Guile interpreter with an embedded MIX virtual machine, manipulable through a library of Scheme functions.
  • mixvm.el An elisp program which allows you to run mixvm within an Emacs GUD window, simultaneously viewing your MIXAL source file in another buffer.

Checkout these related ports:
  • Zig - Language designed for robustness, optimality, and maintainability
  • Zephir - Zephir is a transpiled language used for creating C-extensions for PHP
  • Ypsilon - Scheme implementation for real-time applications
  • Yorick - Interpreted language for scientific simulations
  • Yap - High-performance Prolog compiler
  • Yap-devel - High-performance Prolog compiler
  • Yabasic - Yet another Basic for Unix and Windows
  • Voc - Vishap Oberon Compiler for Oberon-2
  • Vala - Programming language and compiler that converts Vala code into C code
  • V8 - Open source JavaScript engine by Google
  • V8-beta - Open source JavaScript engine by Google
  • V - V Programming Language
  • Urweb - Ultimate host for embedded domain-specific languages
  • Ucc - C Compiler Which Implements the ANSI C89 Standard
  • Twelf - Meta-logical framework for deductive systems