簡単なプログラムは実行できるようになりました。
実行例(加算)
以下のような C++ のプログラムを考えます。
int add(int x, int y) { return x + y; }
これをコンパイルすると以下のようなアセンブリ言語のコードが得られます。
_Z3addii: move.l 4(%sp),%d0 add.l 8(%sp),%d0 rts
これは実行できるようになりました。
実行例(減算)
以下のような C++ のプログラムを考えます。
int sub(int x, int y) { return x - y; }
これをコンパイルすると以下のようなアセンブリ言語のコードが得られます。
_Z3subii: move.l 4(%sp),%d0 sub.l 8(%sp),%d0 rts
これは実行できるようになりました。
コマンドの追加
このように関数をコンパイルしたコードを実行するため、以下のようなコマンドを追加します。
- call ラベル 引数...
ラベルに「0」を指定すると先頭から実行します。
関数ではない普通のプログラムを実行するため、以下のようなコマンドを追加します。
- run ラベル
これはラベルの位置からプログラムを実行します。ラベルを省略すると先頭から実行します。
コマンド
コマンド全体は以下のようになります。
- exit
- 終了
- step
- ステップ実行
- continue
- 実行再開
- breakpoint 行番号
- ブレークポイントの設定・解除
- output 行番号
- デバッグ出力設定・解除
- list 開始行番号 終了行番号
- プログラムの表示
- load
- ソースコード領域からプログラムの読み込み
- run ラベル
- ラベルの位置からプログラムを実行
- call ラベル 引数...
- 関数を実行
- ラベルに「0」を指定すると先頭から実行
- reglist レジスタリストの文字列 または #数値
- rreglist レジスタリストの文字列 または #数値
- sample
- サンプルを実行
- help
- コマンドのリストを表示

