gpt4 book ai didi

assembly - 8086 (x86-16) CPU 堆栈指针的初始值是多少?

转载 作者:行者123 更新时间:2023-12-05 01:26:03 26 4
gpt4 key购买 nike

  1. SS、SP、BP的初始值是多少?它们是空值 (0x0) 还是例如 SP 立即设置为 0xFFFE?

  2. 当我们在不使用 pop 和 push 语句的情况下编写汇编代码时,堆栈指针会设置为一个值吗?

最佳答案

对于原始 8086,请参阅 The 8086 Family Users Manual .表 2-4 定义了“复位后的 CPU 状态”;它表明SS设置为0000H。没有记录包括 SP 和 BP 在内的通用寄存器的状态,因此推测程序员应该认为它们未定义并手动初始化它们。

对于最近的 CPU,请参阅 Intel 的 Software Developer's Manual, Volume 3A .表 9-1 定义了复位后的处理器状态。 SS设置为0000H,基址为00000000H,限值为FFFFH,访问权限为Present、R/W、Accessed。 EBP和ESP设置为00000000H。

如果你不写任何修改堆栈指针的指令,它就不会改变。

关于assembly - 8086 (x86-16) CPU 堆栈指针的初始值是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70510979/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com