1. 简介
MIX是Donald E.Knuth为其著作《The Art of Computer Programming》(《计算机程序设计艺术》,TAOCP)所设计的一个虚构的计算机。为这种计算设计的编程语言称之为MIX汇编语言(MIXAL)。由于这种计算机并不存在,因此,书上的算法并不能直接执行。
Gnu MDK(Gnu MIX Develoment Kit)实现了一个MIX及MIXAL的模拟器,具备编写、执行及调试MIXAL程序的能力,方便TAOCP的学习。
2. 下载及安装
需要具备*nux环境,安装有 glib flex gtk libglade readline libguile等工具包。
wget ftp://ftp.gnu.org/pub/gnu/mdk/v1.2.8/mdk-1.2.8.tar.gz
tar zxvf mdk-1.2.8.tar.gz
cd mdk-1.2.8
./configure && make && make install
make install
3. 编写hello world
新建hello.mixal文件,输入下述内容:
* * hello.mixal: sys ‘hello world‘ in MIXAL * * label ins operand comment TERM EQU 19 the MIX console device number ORIG 1000 start address START OUT MSG(TERM) output data at address MSG HLT MSG ALF "MIXAL" ALF " HELL" ALF "O WOR" ALF "LD " END START end of the program
编译:
# mixasm hello.mixal
4. 运行
编译后的mix程序,有多种运行方式。
1)命令行方式(mixvm):
[[email protected] mix]# mixvm hello.mix
Program loaded. Start address: 1000
MIX> run
Running ...
MIXAL HELLO WORLD
... done
Elapsed time: 11 /Total program time: 11 (Total uptime: 11)
MIX> quit
2)GUI方式(gmixvm)