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で実行ができる.