在堆栈满了之后的8086中,将保存推入堆栈的额外字节在哪里?

时间:2015-11-07 10:55:15

标签: stack x86-16 microprocessors

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

堆栈加满后,将保存推入堆栈的额外字节在哪里?给出实际地址。

2 个答案:

答案 0 :(得分:2)

PUSH将SP递减2,然后在SS:SP处存储两个字节的数据。因此,如果在SP = 0时PUSH,则在SS:0xFFFE处写入两个字节的数据。你现在应该能够完成其余的工作。

答案 1 :(得分:0)

二十五年前,我教过8086汇编编程,现在有点模糊。我很确定如果你向堆栈中添加更多项目,它只会覆盖它之外的内容。程序员应该确保有足够的堆栈空间可用,这样就不会发生这种情况。并安排程序,以便您知道它不会以失控的方式继续向堆栈添加项目。或者包括您自己的支票,以便在即将发生时收到警告。如果这个答案太模糊,我会回到原来的笔记,然后想出一些更精确的答案。