【问题标题】:x86 - Push 8 bit value to stackx86 - 将 8 位值推入堆栈
【发布时间】:2018-03-27 09:46:54
【问题描述】:

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

(这是针对 8086 的)

【问题讨论】:

    标签: assembly stack x86-16


    【解决方案1】:

    您不能将 8 位值压入堆栈。最明智的做法是直接将对应的 16 位寄存器压入栈中:

    push ax
    

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

    【讨论】:

      猜你喜欢
      • 2014-10-03
      • 2014-08-04
      • 1970-01-01
      • 1970-01-01
      • 2018-06-23
      • 1970-01-01
      • 2011-04-22
      • 2017-03-22
      • 2019-02-03
      相关资源
      最近更新 更多