【问题标题】:How to write 0.5 in assembly language code? [closed]如何用汇编语言代码写0.5? [关闭]
【发布时间】:2014-04-17 08:38:30
【问题描述】:

如何将浮点“0.5”转换为适合汇编代码的定点数字?

感谢您的回答,

编辑:我试图将 AX 的内容乘以一半,所以我写了 IMUL AX,AX,0.5

汇编器拒绝了这个并告诉我“浮点数是不允许的”。

我想要的只是将 AX 的内容除以二。

【问题讨论】:

  • 这取决于你想用它做什么。汇编器对定点数一无所知(除非您尝试使用浮点扩展)所以,做你喜欢的事。
  • 浮点是由大多数现代处理器上的特定指令实现的。定点必须使用整数指令手动实现。特别是如果你用汇编语言编写,你应该使用浮点数。而且你的问题缺乏足够的细节来回答。
  • 好吧,现在情况大不一样了。您要将AX 解释为已签名还是未签名?
  • 我想知道有符号和无符号。

标签: assembly fixed-point


【解决方案1】:

签名:

cwd
sub ax, dx
sar ax, 1

无符号:

shr ax, 1

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多