我目前正在尝试完成Nand 到俄罗斯方块课程 ( Fill.asm
) 第 4 章中的项目。但是,Assembler 给了我以下错误:
“在第 3 行,预期表达式”
我不确定我做错了什么......但下面是我拥有的代码片段:
@i
M=1
@sum
M=8192
(END)
@END
0,JMP
谁能告诉我为什么我在第 3 行 ( @sum
) 上收到此错误?
我目前正在尝试完成Nand 到俄罗斯方块课程 ( Fill.asm
) 第 4 章中的项目。但是,Assembler 给了我以下错误:
“在第 3 行,预期表达式”
我不确定我做错了什么......但下面是我拥有的代码片段:
@i
M=1
@sum
M=8192
(END)
@END
0,JMP
谁能告诉我为什么我在第 3 行 ( @sum
) 上收到此错误?
我不知道为什么第 3 行会出现错误,但是您不能直接在第 4 行将值设置为内存地址。您可以像第 2 行一样强制将“1”从 ALU 中取出,但是没有先输入它就无法强制输入“8192”。您必须首先将“8192”的值分配给 A 寄存器,然后将 A 寄存器存储到 D 寄存器,然后选择内存地址,然后将 D 寄存器存储在那里。
您看到的错误是因为您不能将值“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