0

我对一些 Y86 代码有疑问

如果我们得到一个堆栈从 pos .200 开始,我试图理解程序 yas 输出开头的这一行(这是 Bryant 文本中的 sum 程序,第 368 页第 4 章)

                            |       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