GNU MDK(MIX Development Kit)のインストール

MIX/MIXALとは何か

MIXとはドナルド・クヌース著『The Art of Computer Programming』に登場する架空のコンピュータの名前.この架空のコンピュータMIXでプログラムを組むためのアセンブリ言語がMIXAL(MIX Assembly Language).
参考

GNU MDKとは何か

MDK(MIX Development Kit)はMIX/MIXALのエミュレータで,MIXの仮想マシンやMIXALのコンパイラ,グラフィカルなインターフェースや,Emacsから利用するためのelispなどを提供する.
参考

GNU MDKのインストール

macportにmdk 1.2.5がある.

nozma{nozma}% port search mdk
mdk @1.2.5 (lang)
    A set of utilities for developing programs using MIX and MIXAL

macportからインストール.

nozma{nozma}% sudo port install mdk

mixal-mode.elの設定

mixal-mode.elを使用するとfontlockやhelp,コンパイルやMIX仮想マシンといったMIXALをEmacsから編集する際に便利な機能が使えるようになる.
macportからMDKをインストールした場合,elispは/opt/local/share/mdk以下に置かれるので,これをロードパスの通った場所へコピーするか,/opt/local/share/mdkにロードパスを通す..emacsの設定例を以下に示す.

;;** GNU MDK {{{2
;; ロードパスの追加
(setq load-path (cons "/opt/local/share/mdk" load-path))
;; .mixalファイル読み込みで自動的にmixal-mode
(autoload 'mixal-mode "mixal-mode" t)
(add-to-list 'auto-mode-alist '("\\.mixal\\'" . mixal-mode))
;; mixvmの使用
(autoload 'mixvm "mixvm" "mixvm/gud interaction" t)

mixal-modeの利用

hello.mixalというファイルを作成し,emacsで開く.設定が正しければ自動的にmixal-modeになる.
hello worldと表示するプログラムとして以下をhello.mixalに記述.

TERM	 EQU	  19
	 ORIG	  1000
START	 OUT	  MSG(TERM)
	 HLT
MSG	 ALF	"MIXAL"
	 ALF	" HELL"
	 ALF	"O WOR"
	 ALF	"LD   "
	 END	START

設定に問題がなければC-c cでコンパイル,C-c rで実行ができる.