2016-08-23 6 views
0

スタック内の次の場所へのポインタがRam [SP]/[0]でレイヴされている場合、コンピュータをハックして場所を開くよう指示するにはどうすればよいですか? あなたが、私はそれがRAMに保存されたRAMアドレスにアクセスさせるにはどうすればよい[0] [0] ありがとうNAND2Tetris VMトランスレータ

+1

「アドレスを開く」という意味は何ですか?また、 'RAM [0]' _for_(RAM内のどこか別の場所に保存しますか?条件付きジャンプを実行しますか?)の値を使用しますか? – Michael

答えて

0

を私は

@0 
D=M 
@D 

を試してみましたが、それはRAMに保存されたアドレスを開いていませんA/Mレジスタを使用してラム位置を介して間接的に行われる。

@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は、シンボリックロケーションDの内容をAレジスタにロードします。これは、アセンブラによって自動的に割り当てられます。 @D(アドレス)とD(レジスタ)は同じものではないので、@Dを使うのは良い考えではありません。

+0

ありがとうございました問題を解決しました – user3764371

関連する問題