maps: MIPS(subset)のアセンブラ・プロセッサシミュレータ

はじめに

本ドキュメントは,32ビットマイクロプロセッサp32(仮称)の アセンブラ・シミュレータmapsについて述べる. mapsは,入力としてアセンブリ言語で記述されたプログラムを 受けとり,そのプログラムをアセンブル,あるいは,実行・デバッグする機能を 有する.

プログラムのダウンロードとセットアップ

プログラムのダウンロード

最新のバイナリのダウンロードに関して, maps(at)arc.cs.okayama-u.ac.jp(←「(at)」の部分は「@」に置き換える)宛に ダウンロード先を照会のこと

プログラムのセットアップ

maps を動かすには,Java Runtime Environment version 1.5 以降が 必要である (Javaのダウンロード). Javaがインストールされており, javaコマンドにパスが通っている,あるいは, 環境変数JAVA_HOMEが適切に設定されている必要がある.

LinuxやMicrosoft Windows系のOSでは,あらかじめ 各自でJava実行環境のセットアップをしておくこと. Macではインストールされている(はず).

MacおよびLinuxなどのUNIX系OS

ダウンロード後,展開するとmapsというディレクトリ (ひょっとするとバージョンが付加された maps-1.5といった ディレクトリかもしれない)が作られ, そのディレクトリ以下にファイルが作られる. mapsディレクトリごと,適当な場所(例えば,~/opt とかに)に置き, 環境変数MAPS_HOMEで,mapsディレクトリの位置を 指定する . また,$MAPS_HOME/bin を,コマンドサーチパス (環境変数PATHあるいは, pathで設定)に追加する. 例えば,~/optに置いた場合で,C shell系を用いている際には, 次のように設定する (~/.cshrcあるいは,~/.tcshrcに 追加すればよいだろう. 追加後,source ~/.cshrc等で設定を読み込むこと).

setenv MAPS_HOME $HOME/opt/maps
set path=($path $MAPS_HOME/bin)

bash など bourne shell系を用いている際には,次のように設定する (bash の場合,~/.bashrcファイルに追加すればよいだろう).

MAPS_HOME=$HOME/opt/maps
export MAPS_HOME
PATH=$PATH:$MAPS_HOME/bin
export PATH

Microsoft Windows系OS

Microsoft Windowsの場合,環境変数MAPS_HOMEPATHを 上記の場合と同様に,適切に設定すること. 「システムのプロパティ」の「詳細設定」タブを選択し,「環境変数」ボタンを クリックし,ユーザの環境変数を編集(新規作成)し,値を設定する. 以下は C:\optmapsディレクトリを置いた場合の 設定例である.

変数
MAPS_HOME C:\opt\maps
Path %Path%;%MAPS_HOME%\bin

maps/bin/maps ($MAPS_HOME/bin/maps)が 起動用のスクリプトである (Windowsの場合,maps/bin/maps.bat).

使用方法

mapsの使用方法(コマンドラインオプション)は, 次のとおりである.

maps [オプション] 《ファイル名》

《ファイル名》で指定したアセンブリ言語プログラムをアセンブルする. オプションで指定できる主なオプションは次のとおりである.

    -o 〈ファイル名〉    結果を指定した〈ファイル〉に出力する

    -v                   verbose mode ... (デバッグ用なので一般ユーザは使うことはないはず)
    --verbose            

    -q                   quiet mode ... 実行命令トレースを表示しない
    --quiet            

    -i                   対話モード (interactive mode)

    -e                   アセンブルしたコードを実行(シミュレート)する
    --exec               

    -c                   実行した命令の内訳を表示する

    --enable-delay-slot  遅延分岐,遅延ロードを有効にする.(デフォルト)

    --disable-delay-slot 遅延分岐,遅延ロードを無効にする.

その他

質問や不具合報告など

MAPSに関する質問,プログラムの不具合,その他要望等があったら, 下記のアドレス宛へ連絡して頂きたい.

maps (at) arc.cs.okayama-u.ac.jp

※ 上記アドレスの「 (at) 」の部分は, 「@」に置き換えること

本ページの改訂履歴