【问题标题】:NASM: why must __float32__(1.5) be used for floating point literals instead of just 1.5?NASM:为什么必须将 __float32__(1.5) 用于浮点文字而不仅仅是 1.5?
【发布时间】:2015-04-28 16:54:10
【问题描述】:

原因是什么:

mov eax, 1.5

不适用于:

expression syntax error

并要求您这样做:

mov eax, __float32__(1.5)

相反?它适用于dd 家庭的事实:

dd 1.5

让我更加好奇。

在这种情况下,是否会出现与其他语言特性的语法歧义?

不能像我们做的那样从寄存器大小推断出大小:

mov eax, 1

我也在他们的 bugtracker 上发过帖子,但目前没有回复:http://bugzilla.nasm.us/show_bug.cgi?id=3392309

【问题讨论】:

    标签: assembly x86 nasm


    【解决方案1】:

    西里尔·戈尔库诺夫replied that:

    这是因为 @dd 是一个与 mov 分开处理的指令(我们内部有两个标记器)。真心希望有朝一日能把它们统一起来,但由于人手不足,还没有落实。

    所以基本上,没有冲突,只是历史上的不一致,可能有一天会得到解决。

    【讨论】:

      猜你喜欢
      • 2020-08-10
      • 1970-01-01
      • 2018-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-15
      • 1970-01-01
      • 2012-05-04
      相关资源
      最近更新 更多