CPU.cmp ファイルを調べて、指示を書き出し、CPU.cmp に書かれている内容が意味をなすかどうかを確認しようとしています。
17行目(時間8)
|time| inM | instruction |reset| outM |writeM |addre| pc |DRegiste|
|6+ | 0|0000001111101001| 0 |*******| 0 | 1000| 6| 11111 |a @1001
|7 | 0|0000001111101001| 0 |*******| 0 | 1001| 7| 11111 |a
|7+ | 0|1110001110011000| 0 | 11110| 1 | 1001| 7| 11110 |c MD = D-1; null
|8 | 0|1110001110011000| 0 | 11109| 1 | 1001| 8| 11110 |c
ご覧のとおり、D レジスタの値は (10 進数) 11111 から 11110 まで 1 ずつ減少し、outM の値はそれを反映しています。しかし、outM は再び 11109 に減少します。なぜそうなるのでしょうか? 命令は MD = D-1 であるため、D reg を 1 回デクリメントし、その値を 2 つの場所に格納する必要があります。RAM[A] と D が異なる値になるのはどうしてですか?
私はそれらが同じであることを期待していました...