3

現在、 Nand から Tetris へのコース ( )の第 4 章にあるプロジェクトを完成させようとしていFill.asmます。ただし、アセンブラーで次のエラーが表示されます。

「3行目、式が必要です」

何が間違っているのかわかりません...しかし、以下は私が持っているコードのスニペットです:

@i
M=1
@sum
M=8192
(END)
@END
0,JMP

3 行目 ( ) でこのエラーが発生する理由を誰か教えてもらえます@sumか?

4

2 に答える 2

7

3 行目にエラーが表示される理由はわかりませんが、4 行目のメモリ アドレスに値を直接設定することはできません。2 行目のように ALU から強制的に "1" を出力できますが、最初に入力せずに「8192」を強制する方法はありません。最初に「8192」の値を A レジスタに割り当て、次に A レジスタを D レジスタに格納し、次にメモリ アドレスを選択して、そこに D レジスタを格納する必要があります。

于 2013-04-10T19:52:21.103 に答える
5

表示されているエラーは、値「8192」を @sum に直接入れることができないためです。

これを解決するために私が書いたコードは次のとおりです。

@8192  // number of pixels on a screen divided by 16-bit address (256 x 512 / 16)
D=A    // D = total number of pixels
@sum
M=D    // assigns sum with value of 8192
于 2013-10-16T04:34:52.410 に答える