私はこのリトルマンコンピュータの問題を見ています:
- 最初の入力によって n の値が決まります。この値は 4 以上であると想定されます。
- 例: 最初の入力が 8 の場合、8 つの後続の入力が要求されます。後続の入力番号が 1、0、0、1、0、0、0、0 の場合、出力は 9 になります。
- 各ビットに 1 つずつ、n 個の入力値がユーザーによって提供されます。これらの最初の値が最下位ビットです。n 番目の入力が最上位ビットです。
私の試み:
IN
STO NUMBER
IN
STO A
IN
STO B
IN
STO C
IN
STO D
LOOPB: LDA FOUR
BRZ ENDB
SUB ONE
STO FOUR
LDA RESB
ADD B
STO RESB
BRP LOOP
ENDB:LDA RESB
OUT
HLT
ONE: DAT 1
EIGHT: DAT 8
FOUR: DAT 4
TWO: DAT 2
POWERONE: DAT 1
RESA: DAT 000
RESB: DAT 000
RESULT: DAT 000
NUMBER: DAT 0
A: DAT 0
B: DAT 0
C: DAT 0
D: DAT 0
この質問を解決する方法がわかりません。LMC で 00001001 を 9 に変換する方法を教えてください。LMCで乗算を行う方法がわかりません。