【问题标题】:in 8086 after the stack gets full, where does an extra byte pushed into the stack will be saved?8086 栈满后,压入栈的额外字节会保存在哪里?
【发布时间】:2015-11-07 10:55:15
【问题描述】:

在 Intel 8086 微处理器中,假设 SS=1000H 且 SP=0100H

堆栈满后,压入堆栈的额外字节将保存在哪里?给出物理地址。

【问题讨论】:

标签: stack x86-16 microprocessors


【解决方案1】:

PUSH 将 SP 减 2,然后在 SS:SP 中存储两个字节的数据。因此,如果您在 SP=0 时 PUSH,则两个字节的数据将写入 SS:0xFFFE。您现在应该可以完成剩下的工作了。

【讨论】:

    【解决方案2】:

    25 年前我教 8086 汇编程序编程,现在有点模糊。我很确定,如果您将更多项目添加到堆栈中,它只会覆盖超出它的内容。程序员有责任确保有足够的堆栈空间可用,以免发生这种情况。并安排程序,以便您知道它不会以失控的方式继续向堆栈添加项目。或者包括您自己的检查,以便在这种情况即将发生时收到警告。如果这个答案太模糊,我会回到我的旧笔记并提出更准确的答案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-22
      • 2020-07-07
      • 2013-02-27
      • 2011-10-13
      • 2022-01-08
      • 2014-07-12
      相关资源
      最近更新 更多