【发布时间】:2021-11-27 04:22:07
【问题描述】:
我的老师给了我这个示例代码来学习,我仍然不明白,与汇编语言代码和 nand2tetris 有关。谁能解释一下?
更新:(我发布了整个代码)
// PSEUDO CODE
// x=R1
// y=R2
// R3=0
// while(x > 0) {
// R3 += y
// x--
// }
@R1
D=M
@x
M=D // x = R1
@R2
D=M
@y
M=D // y = R2
@0
D=A
@R3
M=D // R3 = 0
(WHILE)
// begin of loop condition
@x
D=M
@END
D;JLE // if x <= 0 proceed to END
// end of loop condition
// begin body of while- could someone help explain this part? Thanks :")
@y
D=M // D = y
@R3
M=D+M // sum = sum + y
@1
D=A // D = 1
@x
M=M-D
@WHILE
0;JMP
(END)
@END
0;JMP
-->谢谢你,也许有不同的解释我能得到它:") 我还是个新手请多多包涵
【问题讨论】:
-
他们没有给你汇编语言语法的参考吗?就是想。如果您粘贴整个代码块并将其集中在一个问题上也会更好。
标签: assembly nand2tetris