Pointers 未定义堆栈(程序集)的堆栈指针寄存器值
当堆栈未在汇编程序中定义时,堆栈指针寄存器SP指向什么(它包含什么值) 我们(印刷不良)的教科书上说:“SP寄存器包含堆的最后一个字节的地址。如果已定义,则值为0,这表示段(2^16)的最后一个字节,知道SP寄存器上的操作将递减2,这就给出了-2=0FFFE(十六进制)作为地址(无符号值) 然而,我认为这一段应该说“SP寄存器包含堆的最后一个字节的地址如果它被定义,如果没有,那么值0,知道SP寄存器上的操作要递减2,这就给出了十六进制的-2=0FFFE,它被作为地址(无符号值),这表示段(2^16)的最后一个字节。“ 我对这一点和SP总的来说有一些问题:Pointers 未定义堆栈(程序集)的堆栈指针寄存器值,pointers,assembly,x86,stack,cpu-registers,Pointers,Assembly,X86,Stack,Cpu Registers,当堆栈未在汇编程序中定义时,堆栈指针寄存器SP指向什么(它包含什么值) 我们(印刷不良)的教科书上说:“SP寄存器包含堆的最后一个字节的地址。如果已定义,则值为0,这表示段(2^16)的最后一个字节,知道SP寄存器上的操作将递减2,这就给出了-2=0FFFE(十六进制)作为地址(无符号值) 然而,我认为这一段应该说“SP寄存器包含堆的最后一个字节的地址如果它被定义,如果没有,那么值0,知道SP寄存器上的操作要递减2,这就给出了十六进制的-2=0FFFE,它被作为地址(无符号值),这表示段(2^1
- 为什么他们要降低SP,为什么不让它保持在0
- 为什么它们的减量正好是2
- 段的最后一个字节不应该是0FFFF而不是0FFFE