Nand2Tetris 奇怪的屏幕行为

Nand2Tetris Weird screen behavior

提问人:anom907 zat 提问时间:10/30/2023 更新时间:10/30/2023 访问量:40

问:

我目前正在学习 nand2tetris 课程,其中一项任务是在按下某个键时将屏幕颜色设置为黑色。这是我的代码,它通过了测试脚本,但屏幕看起来像那样,根据 nand2tetris 上的其他帖子,这看起来不像正常行为。screenshot。有什么想法吗?

(BEGIN)
    @KBD
    D=M
    @WHITE // go to white if no key is pressed
    D;JEQ
    
    @color
    M=-1
    @WHITEEND
    0;JMP
    
    (WHITE)
        @color
        M=0
    (WHITEEND)
    
    @SCREEN
    D=A
    @n
    M=D
    (LOOP)
        @color
        D=M
        @n
        A=M
        M=D
        
        @n
        M=M+1
        D=M
        
        @KBD
        D=D-A // When n reaches KBD, we reached the end of the screen
        @LOOP
        D;JNE
        

    @BEGIN // restart code
    0;JMP
nand2俄罗斯方块

评论


答:

0赞 MadOverlord 10/30/2023 #1

您的代码似乎在运行 v2.5 工具的 Mac 上正常运行。您的 Nand2Tetris 和/或 Java 安装可能存在问题,或者存在一些奇怪的显示交互,导致像素周围显示白色边框。

“你有没有试过把它关掉,然后再打开?” :)

评论

0赞 anom907 zat 10/30/2023
“关闭它”是什么意思?关闭 CPUEmulator?我已经试过了
0赞 MadOverlord 10/31/2023
不,是整台计算机;重新启动它。这句话参考了电视节目“The IT Crowd”,其中一位主角总是接听电话“你好,技术支持。你有没有试过把它关掉,然后再打开?有时,将事物重置为(希望)已知的初始状态可以解决奇怪的问题。
0赞 anom907 zat 11/1/2023
不,我已经试过了
0赞 anom907 zat 11/1/2023
但是我发现了问题,1920px 的分辨率使 CPU 模拟器错误
0赞 anom907 zat 11/1/2023
很烦人,但除了自己重新编码 CPU 模拟器之外,我无能为力