Small CPU Emulator



命令セット一覧

名前 OPコード(値指定) OPコード(ラベル指定) 命令の動作
nop 00 01 何もしない
stop 02 03 プログラムの実行を停止
load 04 06 Accに値を持って来る
loadx 06 07 引数として指定した(値/番地)にIdxを足す
store 08 09 Accの値を格納する
storex 0a 0b Accの値をメモリに格納する。値・ラベル指定問わずそのアドレスからIdx進んだ場所が格納先となる。
addi, add 0c 0d Accに値を加算。値指定(addi)の場合、加数はその値。ラベル指定(add)の場合、加数はそのアドレスの値。
subi, sub 0e 0f Accから値を減算。値の指定方法はaddと同様。
iload 10 11 Idxに値を代入。値の指定方法はaddと同様。
iaddi, iadd 12 13 Idxに値を加算。値の指定方法はaddと同様。
isubi, isub 14 15 Idxから値を減算。値の指定方法はaddと同様。
ifz 16 17 Accが0の時、PCを指定したアドレスに移動する。値を入れるとアドレスとして解釈され,ラベル指定の場合は移動先はそのラベルのついたアドレスの番地となる
ifnz 18 19 Accが0でない時、PCを指定したアドレスに移動。移動先の指定はifzと同様。
ifp 1a 1b Accが正の時、PCを指定したアドレスに移動。移動先の指定はifzと同様。
ifn 1c 1d Accが負の時、PCを指定したアドレスに移動。移動先の指定はifzと同様。
jump 1e 1f PCを指定したアドレスに移動。移動先の指定はifzと同様。
neg 20 21 Accの値の符号を反転。