番号 | 命令 | 引数 | 説明 |
1 | ADD | d | レジスタの値に引数で指定されたアドレスのデータを加える。 |
2 | SUB | d | レジスタの値から引数で指定されたアドレスのデータを引く。 |
3 | MUL | d | レジスタの値に引数で指定されたアドレスのデータを掛ける。 |
4 | DIV | d | レジスタの値を引数で指定されたアドレスのデータで割る。 余りは切捨て。 |
5 | LOAD | d | 引数で指定されたアドレスのデータをレジスタにコピーする。 |
6 | STORE | d | レジスタの値を引数で指定されたアドレスにコピーする。 |
7 | JUMP | p | 引数で指定されたアドレスに飛ぶ。 |
8 | JUMPZERO | p | もしレジスタの値が 0 なら引数で指定されたアドレスに飛ぶ。 |
9 | JUMPGE | p | もしレジスタの値が正か 0 なら引数で指定されたアドレスに飛ぶ。 |
a | HALT | n | プログラムの実行を終了する。 |
b | n | レジスタの値を画面(Display) に表示する。 | |
c | APRINT | d | 引数で指定されたアドレスの値を画面に表示する。 |
d | CLEAR | d | 引数で指定されたアドレスの値を0 にする。 |
e | INC | d | 引数で指定されたアドレスの値を1増やす。 |
各命令のマシン語:
各命令は、上の表で与えられる数(4bit)と、その引数 (4bit) を合わせた 8bit (1byte) の長さのマシン語のコードを持つ。例えば、ADD 4 という命令は16 進 法で 14, JUMPGE c は 9c、HALT は a0 というコードとなる。
使用方法:
最上部のラジオボタンが示す様に、edit と execute の2つのモードがある。
まず、edit モードで、プログラムとデータを書き込む。あるいは、右上の Samples のメニューからサンプル・プログラムを選ぶこともできる。 英文字は、大文字、小文字のどちらでも構わない。また、最 下部の Machine Code の所に、マシン語のバイト列として入力することもでき る。 プログラムとデータができたら、ラジオボタンで execute モードを選ぶ。 すると、プログラムがマシン語に変換されて最下行に表示され、onestep, go, reset の3つのボタンが使用可能となる。onestep で1命令実行、go で halt 命令により終了するまで実行する。reset で最初の状態に戻る。ただし、go でいつ までたっても halt に到達しない場合のことを考え、go も 1000ステップ進 んで halt に到達しなければ、止まる様にしてある。続けて実行したければ、 再び go を押せばよい。
edit モードに戻れば、プログラムやデータを変更することができる。
サンプルプログラムの説明: