この世のCPUを食べ尽くすのだ! おまけ

~あんたCPUなんか創ってどうするのよ?! Vol.3~

2018/10/8
技術書典5 け39

おまけ TD4EX3の命令コード表

TD4EX3の命令コードはTD4とほとんど同じであるため「この世のCPUを食べ尽くすのだ!」の本文中には書かなかったのですが、いくらなんでも不親切すぎると考え直し、チラシとして配布しました。

その表を掲載します。

表5 TD4EX3の命令コード
命令 1バイト目 2バイト目 説明
bit 7~4 bit 3~0
ADD A, Im 0000 Im   Aレジスタの内容に命令中で指定された定数(Im)を加算
MOV A, B 0001 0000 AレジスタにBレジスタの内容を転送
IN A, [Adr] 0010 Adr RAMのAdr番地からデータを取り込み、Aレジスタに格納
MOV A, Im 0011 Im Aレジスタに命令中で指定された定数(Im)を格納
MOV B, A 0100 0000 BレジスタにAレジスタの内容を転送
ADD B, Im 0101 Im Bレジスタの内容に命令中で指定された定数(Im)を加算
IN B, [Adr] 0110 Adr RAMのAdr番地からデータを取り込み、Bレジスタに格納
MOV B, Im 0111 Im Bレジスタに命令中で指定された定数(Im)を格納
OUT B, [Adr] 1001 Adr Bレジスタの内容をRAMのAdr番地に出力
JNC Im 1110 Im Im キャリー(C)がゼロならば指定アドレス(Im)にジャンプ
JMP Im 1111 Im Im 指定アドレス(Im)にジャンプ

 

TD4との違いは、IN命令とOUT命令のオペランドとしてRAMのアドレスを指定できる点です。