[CPUの創りかた]で定義されている TD4 を参考にして、モックを作成する。
|
data |
汎用レジスタ |
4bit x 2 |
アドレス空間 |
4bit |
PC |
4bit |
フラグレジスタ |
1bit |
算術演算 |
加算(4bit) |
処理できるデータは 4bit のみで、オペランドも 4bit です。
|
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
ADD A,Im |
0 |
0 |
0 |
0 |
Im |
Im |
Im |
Im |
MOV A,B |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
IN A |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
MOV A,Im |
0 |
0 |
1 |
1 |
Im |
Im |
Im |
Im |
MOV B,A |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
ADD B,Im |
0 |
1 |
0 |
1 |
Im |
Im |
Im |
Im |
IN B |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
OUT B |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
OUT Im |
1 |
0 |
1 |
1 |
Im |
Im |
Im |
Im |
JNC Im |
1 |
1 |
1 |
0 |
Im |
Im |
Im |
Im |
JMP Im |
1 |
1 |
1 |
1 |
Im |
Im |
Im |
Im |
A <- A + Im
bit |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
value |
0 |
0 |
0 |
0 |
Im |
Im |
Im |
Im |
A <- B
bit |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
value |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
A <- (input port)
bit |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
value |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
A <- Im
bit |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
value |
0 |
0 |
1 |
1 |
Im |
Im |
Im |
Im |
B <- A
bit |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
value |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
B <- B + Im
bit |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
value |
0 |
1 |
0 |
1 |
Im |
Im |
Im |
Im |
B <- (input port)
bit |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
value |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
(output port) <- B
bit |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
value |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
(output port) <- Im
bit |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
value |
1 |
0 |
1 |
1 |
Im |
Im |
Im |
Im |
PC <- Im , If Not Carry
bit |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
value |
1 |
1 |
1 |
0 |
Im |
Im |
Im |
Im |
PC <- Im
bit |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
value |
1 |
1 |
1 |
1 |
Im |
Im |
Im |
Im |