私はアキュムレータアーキテクチャ用のこのマシンコードを持っています。 アーキテクチャは8ビットです。命令エンコーディングが のように見える実際のマシンコードは、例えば、命令1のためである:001 1 0001、001は、LOADを意味し、1はそれが値であり、001はその小数1そのLOAD#1このアキュムレータ・アーキテクチャ用の自己修正プログラムはいつ終了するのですか?
0---LOAD #1
1---STORE 15
2---LOAD #0
3---EQUAL #4
4---JUMP #6
5---HALT
6---LOAD 3
7---SUB #1
8---STORE 3
9---LOAD 15
10--ADD 15
11--STORE 15
12--JUMP #2
13-- 000 0 0000
14-- 000 0 0000
15-- 000 0 0000
で教えてくれる
私は、プログラムが停止したときにメモリセル15にあるものを見つけなければなりません。
しかし、命令2にジャンプすると、これはアキュムレータの値が0になり、決して4と等しくならないことを意味し、プログラムは無限ループとして実行されます。
メモリセル3が空であれば、STORE 3は何をしますか?メモリセルが空の場合、その値は0ですか?
私は、これは、n個のアキュムレータアーキテクチャのためのものであることを仮定している、と私はそのアーキテクチャについての仮定の数を作るために抱えているこれら二つの質問
あなたの質問のタイトルは、いくつかの*深刻な改善を使用する可能性があります。実際に誰かがこれが関心のある質問であるかどうかを判断する助けとなるタイトルには、ほとんどゼロの情報があります。 –
私はそれを変更しましたが、正しいタイトルを見つけることはできません。正確なものは – Dan
です。 –