ぼくのかんがえたさいきょうのCPU 〜 内部コード

さて、CPUの命令コードができたので、デコードしたときの内部コードを考えてみます。
フェッチした命令コードは、こんな感じの62bitのコードにデコードします。

4bit 1bit 1bit 1bit 3bit 16bit 16bit 4bit 16bit
操作 8/16bit 出力有無 オペランド2バイト目有無 条件(フラグ) パラメータ1 パラメータ2 出力レジスタ PC
操作 引数 元命令
0 store 2 LD
1 load 1 LD
2 in 1 IN
3 out 1 OUT
4 move 2 LD, JP, JR, NOP, HALT, DI, EI
5 cpl 1 CPL
6 ccf 1 CCF
7 scf 1 SCF
8 rlca 2 RLCA
9 rrca 2 RRCA
10 rla 1 RLA
11 rra 1 RRA
12 add 3 ADD, ADC, INC, INCW
13 sub 3 SUB, SBC, DEC, DECW
14 and 2 AND
15 xor 2 XOR
16 or 2 OR
17 cp 2 CP
18 mul 2 MUL
19 div 2 DIV
20 mod 2 MOD
条件
0 なし
1 NZ
2 Z
3 NC
4 C
16bitレジスタ
0 BC
1 DE
2 HL
3 AF
4 SP
5 VW
8bitレジスタ
0 B
1 C
2 D
3 E
4 H
5 L
6 A
7 F(b6がZ, b0がCY)
8 SPh
9 SPl
10 V
11 W
12 I(割り込み許可)

※割り込み許可がpush af/pop afで変わってはいけないので、フラグレジスタには含めない