【问题标题】:Simple assembler question about stack pointer关于堆栈指针的简单汇编程序问题
【发布时间】:2011-07-08 06:22:39
【问题描述】:

我目前正在学习汇编程序并在实模式下编写一些程序。我在堆栈理解方面遇到了一些麻烦。如果 SS 不为零且 SP = 0,是否可以将值推入堆栈。(如果可能,那么 cpu 在推入后如何更改寄存器的值)

【问题讨论】:

    标签: stack push assembly cpu-registers


    【解决方案1】:

    是的,这是可能的,但您通常不希望这样做。如果你这样做,SP 将从 0 环绕到 65536,像往常一样与 SS 组合,然后你将写入任何可行的地址。在典型情况下,它会覆盖堆栈底部的某些内容,并且当您返回依赖于先前内容的代码时,行为将是不可预测的(快速崩溃是您所希望的最好的结果那个点)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-13
      • 2014-12-10
      • 2017-08-01
      • 2011-12-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多