【发布时间】:2018-03-27 09:46:54
【问题描述】:
是否可以将 8 位值压入堆栈?当我尝试将 AL 推入堆栈时,NASM 出错;后来,我发现这是因为堆栈包含 16 位值。将 8 位值压入堆栈的正确方法是什么?
(这是针对 8086 的)
【问题讨论】:
是否可以将 8 位值压入堆栈?当我尝试将 AL 推入堆栈时,NASM 出错;后来,我发现这是因为堆栈包含 16 位值。将 8 位值压入堆栈的正确方法是什么?
(这是针对 8086 的)
【问题讨论】:
您不能将 8 位值压入堆栈。最明智的做法是直接将对应的 16 位寄存器压入栈中:
push ax
请注意,除了您要写入的一个字节之外,这还会在 ah 中推送一个字节的垃圾,但这应该没问题。
【讨论】: