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... ではないのですか? 位置合わせのためだと思いますが、そのパディングによってアドレスの値が変更されることはありませんか?