命令セット

00001 (1) LOAD n n番地の内容をアキュムレータにコピーする。
例:3番地に10が入っている状態で、LOAD 3
  ⇒アキュムレータの内容が10になる。
00010 (2) LOADI n nをアキュムレータに入れる。
例:LOADI 10
  ⇒アキュムレータの内容が10になる。LOAD命令と違うのは、メモリを参照しない点。ただし、即値の範囲は8ビット。
00011 (3) STORE n アキュムレータの値をn番地に格納する。なお、メモリは16ビットなので、アキュムレータの下位16ビットのみをメモリに格納する。アキュムレータの値が16ビットより大きい場合は、一度にアキュムレータの値全てを一つのメモリに格納することはできない。
例1:アキュムレータの値が10である状態で、STORE 5
  ⇒メモリの5番地の内容が10になる。
例2:アキュムレータの値が65538である状態で、STORE 5
  ⇒アキュムレータを2進数に直すと、
  0000 0000 0000 0001 0000 0000 0000 0010
   となる。上で書いたように、STORE命令は下位16ビットをメモリに格納するので、メモリの5番地の内容は2になる。
00100 (4) SHIFTL n アキュムレータの内容を左にnビットシフトする。
例:アキュムレータの値が6のとき、SHIFTL 3
 ⇒アキュムレータは6(2進数に直すと110)
 ⇒左に3ビットシフトして、110000になる(10進数に直すと48)
00101 (5) SHIFTR n アキュムレータの内容を右にnビットシフトする。右からは最上位ビットを詰める。
00110 (6) ADD n n番地の値をアキュムレータの値に加える。
00111 (7) SUB n アキュムレータの値からn番地の値を引く。
01000 (8) MUL n アキュムレータの値にn番地の値を掛ける。
01001 (9) DIV n アキュムレータの内容をn番地の値で割り、その商をアキュムレータの下位16ビットに、余りを上位16ビットに。
例1:アキュムレータに6、10番地に2がある状態でDIV 10
  ⇒アキュムレータの値が3になる。
例2:アキュムレータに5、10番地に2がある状態でDIV 10
  ⇒商が下位16ビット、余りが上位16ビットなので、アキュムレータの値は2進数で以下の値になる
  0000 0000 0000 0001 0000 0000 0000 0010
この値は、10進数だと65538。商または余りのみを取り出したい場合には、このあとSHIFTLやSHIFTR命令を使う。
11011 (27) J n n番地にジャンプ。
例:J 10
  ⇒プログラムカウンタの内容が10になる。
11100 (28) JM n アキュムレータの値が負の時にn番地にジャンプ。
例:JM 10
  ⇒アキュムレータの値が負だったら、プログラムカウンタの内容が10になる。それ以外の場合は、プログラムカウンタの値が1増える。
11101 (29) JZ n アキュムレータの値がゼロならばn番地にジャンプ。
11110 (30) IN n 入力装置(装置番号0)からの一文字分のコードをアキュムレータの下位8ビットに読み込む。nには装置番号(0)を指定する。
11111 (31) OUT n アキュムレータの下位8ビットのデータを文字コードとして出力装置に送る。nには装置番号(9)を指定する。
01010 (10) LOADX n n+rx(インデックスレジスタの内容)の指すメモリアドレスの内容をアキュムレータにコピーする。
例:インデックスレジスタに5が入っている状態でLOADX 10
  ⇒15番地の内容をアキュムレータにコピー。
01011 (11) MOVAX n nによらず、アキュムレータの内容をインデックスレジスタにコピーする。
01100 (12) ADDX n (n+rx)番地の値をアキュムレータに加える。
01101 (13) SUBX n アキュムレータから(n+rx)番地の値を引く。
01110 (14) MULX n アキュムレータに(n+rx)番地の値を掛ける。
01111 (15) DIVX n アキュムレータを(n+rx)番地の値で割る。
10000 (16) JX n n+rx番地にジャンプ。
10001 (17) JMX n アキュムレータの値が負の時に(n+rx)番地にジャンプ。
10010 (18) JZX n アキュムレータの値がゼロならば(n+rx)番地にジャンプ。
10011 (19) STOREX n アキュムレータの値を(n+rx)番地に格納する。
00000 (0) STOP n nによらす、計算機を停止する。この命令は値nのデータとして使用。