【问题标题】:x86 assembly get one byte from 32 bit registerx86 程序集从 32 位寄存器中获取一个字节
【发布时间】:2013-10-23 15:50:27
【问题描述】:

我正在使用 x86 汇编语言进行编程,但我发现了一个问题。 我调用 C 函数 getch 从标准输入获取单个字符。但问题是返回值存储在寄存器 EAX 中。我想知道,如何获得一个角色。不是 4 字节值。谢谢。

【问题讨论】:

  • 你想用它做什么?很多时候你可以忽略额外位的存在
  • 注意:getch() 通常返回 256+1 个不同值中的 1 个。很难融入一个char

标签: c assembly x86 getch


【解决方案1】:

您可以使用EAX 的一个字节部分,即AL

mov [MEMORY], al

ALAX 寄存器的低字节。您也可以使用AH - AX 的高字节

【讨论】:

    猜你喜欢
    • 2020-09-16
    • 2011-01-14
    • 2012-02-26
    • 1970-01-01
    • 1970-01-01
    • 2012-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多