0
如果指向堆棧中下一個位置的指針在Ram [SP]/[0]中被激怒,那麼如何指示計算機在hack中打開位置? 我試圖NAND2Tetris虛擬機轉換器
@0
D=M
@D
,但沒有包括在存儲在RAM開口地址[0] 我如何讓它訪問存儲在RAM中的RAM地址[0] 謝謝
如果指向堆棧中下一個位置的指針在Ram [SP]/[0]中被激怒,那麼如何指示計算機在hack中打開位置? 我試圖NAND2Tetris虛擬機轉換器
@0
D=M
@D
,但沒有包括在存儲在RAM開口地址[0] 我如何讓它訪問存儲在RAM中的RAM地址[0] 謝謝
你通過使用A/M寄存器的RAM位置間接進行。
@SP // loads the A register with the value SP (SP predefined to 0)
A=M // loads the A register with the contents of MEM[0] (the stack pointer)
D=M // loads D with the contents of MEM[Stack]
@D將裝載在A與符號位置d中的內容,這將是由彙編器得到自動分配寄存器。 @D(地址)和D(寄存器)並不是一回事,因此,使用@D並不是一個好主意。
謝謝你解決了我的問題 – user3764371
_「打開地址」_是什麼意思?另外,你將使用'Ram [0]'_for_的值(將它存儲在RAM的其他位置?執行條件跳轉?...) – Michael