数字nを入力し、n個の入力を求めてそれらをすべて異なるアドレスに格納するように指示するコードを作成して、実行する命令として読むことができるようにします。LMC(little-man-computer)の異なるアドレスに不明な入力数を保存するにはどうすればよいですか?
しかし、n個の入力をn個の異なるアドレスに格納する方法がわからないため、私は立ち往生しています。これまでは入力nを求めてからn入力を求めることができましたが、それらはすべて同じアドレスに格納されています。あなたはそれが別のメモリアドレスに、それぞれの時間を指すようにSTO
命令を更新するために、自己書き換えコードを使用する必要がLMCで
IN
STO N
loopTop
IN
STO NBS
LDA N
SUB ONE
STO N
BRZ done
BR loopTop
done
OUT
HLT
ONE
DAT 001
N
DAT 000
NBS
DAT 000
Nの上限がかなり小さい場合は、プログラムでその量のメモリを予約することができます。それ以外の場合は、通常はオペレーティングシステムを呼び出して、必要に応じてさらに多くのメモリを要求する必要があります。あなたの環境でどのように動作するのか分かりません。 –
LMCには間接指示用のポインタ(レジスタに格納されたアドレスまたはメモリに格納されたアドレス)を使用する方法がありますか?もしそうなら、そうする。ループ内のポインタをインクリメントします。 –
うわー、ループ内のすべてのロード/ストア命令のアドレスを変更する必要があるのは不便です。しかし、それは十分にプログラマブルですが、まあまあです。 –