x86 - 将8位值压入堆栈

时间:2017-10-15 22:40:21

标签: assembly stack x86-16

是否可以将8位值压入堆栈?当我尝试将AL推入堆栈时,NASM会出错;后来,我发现这是因为堆栈保存了16位值。将8位值推送到堆栈的正确方法是什么?

(这是8086)

1 个答案:

答案 0 :(得分:3)

您无法在堆栈上推送8位值。最明智的方法是在堆栈中按下相应的16位寄存器:

push ax

请注意,除了您要编写的一个字节之外,这会在ah中推送一个垃圾字节,但这应该没问题。