Nand2tetris Project4- 测试失败 - of Fill.asm:第 3 行比较失败
Nand2tetris Project4- Test failed - of Fill.asm: Comparison failure at line 3
没有过多提及 Nand2tetris 课程和上传与键盘交互的程序集文件。
基本上这个程序所做的是当按下键盘上的某个键时屏幕变黑,即屏幕的每个像素都应该变黑,而当键盘空闲时屏幕保持白色。
这是我的代码,它在我计算机的硬件模拟器上运行良好,但当我上传它以在 coursera 上提交时失败。
@place
M=0
(LOOP)
@KBD
D=M
@WHITE
D; JEQ
@BLACK
0; JMP
(WHITE)
@place
D=M
@LOOP
D; JLT
@place
D=M
@SCREEN
A=A+D
M=0
@place
M=M-1
@LOOP
0;JMP
(BLACK)
@place
D=M
@LOOP
D; JGE
@SCREEN
A=A+D
M=-1
@place
M=M-1
@LOOP
0; JMP
我哪里错了?比较失败的原因是什么,我该如何解决?
提前致谢
抱歉,您发布的解决方案没有解决问题。我认为这就是 coursera 拒绝它的原因。
当我 运行 通过汇编程序然后通过 cpu 仿真器解决您的问题时,我没有看到 Fill.asm
所需的行为。我正在将您的解决方案与我知道正确的解决方案进行比较,但我看到了不同的行为。
这是使用您的解决方案按下键盘时 cpu 模拟器的屏幕截图:
这是我希望看到的:
我建议查看您的解决方案。
提示您的解决方案中缺少填充屏幕的代码。
这就是我认为它丢失的原因:
- 你的解决方案的第 19
M=0
行是我认为颜色设置为白色的地方
- 我将第 19 行更改为
M=-1
,将白色设置为黑色
- 我希望看到屏幕总是漆成黑色,但相反,我只看到模拟器屏幕左上角有一条黑色的小线,如下所示
提示:你有一个循环((LOOP)
)重复监听键盘。我希望看到另一个循环((FILL)
,或其他循环)用白色或黑色填充专用于 SCREEN
的整个内存部分。
祝你好运。
没有过多提及 Nand2tetris 课程和上传与键盘交互的程序集文件。
基本上这个程序所做的是当按下键盘上的某个键时屏幕变黑,即屏幕的每个像素都应该变黑,而当键盘空闲时屏幕保持白色。
这是我的代码,它在我计算机的硬件模拟器上运行良好,但当我上传它以在 coursera 上提交时失败。
@place
M=0
(LOOP)
@KBD
D=M
@WHITE
D; JEQ
@BLACK
0; JMP
(WHITE)
@place
D=M
@LOOP
D; JLT
@place
D=M
@SCREEN
A=A+D
M=0
@place
M=M-1
@LOOP
0;JMP
(BLACK)
@place
D=M
@LOOP
D; JGE
@SCREEN
A=A+D
M=-1
@place
M=M-1
@LOOP
0; JMP
我哪里错了?比较失败的原因是什么,我该如何解决? 提前致谢
抱歉,您发布的解决方案没有解决问题。我认为这就是 coursera 拒绝它的原因。
当我 运行 通过汇编程序然后通过 cpu 仿真器解决您的问题时,我没有看到 Fill.asm
所需的行为。我正在将您的解决方案与我知道正确的解决方案进行比较,但我看到了不同的行为。
这是使用您的解决方案按下键盘时 cpu 模拟器的屏幕截图:
这是我希望看到的:
我建议查看您的解决方案。
提示您的解决方案中缺少填充屏幕的代码。
这就是我认为它丢失的原因:
- 你的解决方案的第 19
M=0
行是我认为颜色设置为白色的地方 - 我将第 19 行更改为
M=-1
,将白色设置为黑色 - 我希望看到屏幕总是漆成黑色,但相反,我只看到模拟器屏幕左上角有一条黑色的小线,如下所示
提示:你有一个循环((LOOP)
)重复监听键盘。我希望看到另一个循环((FILL)
,或其他循环)用白色或黑色填充专用于 SCREEN
的整个内存部分。
祝你好运。