1

私はこのリトルマンコンピュータの問題を見ています:

  • 最初の入力によって 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で乗算を行う方法がわかりません。

4

1 に答える 1