0

Y86 コードについて質問があります

スタックが pos .200 から始まると仮定すると、プログラムの yas 出力の先頭にあるこの 1 行を理解しようとしています (これは Bryant テキスト、p. 368 Ch 4 の sum プログラムです)。

                            |       Execution begins at address 0 
0x000:                      |       .pos 0 
0x000: 30f40002000000000000 | irmovq stack, %rsp # set up stack pointer  

irmovq の場合、次のように設定されていることを理解しています

instruction encoding | 0 | F | rB | Value 

では、スタック ポインターをアドレス 0x200 に設定している場合、なぜ 4 の後に先行ゼロがあるのでしょうか? なぜ 30f400200... ではないのですか? 位置合わせのためだと思いますが、そのパディングによってアドレスの値が変更されることはありませんか?

4

0 に答える 0