0

What is the rationale for:

mov eax, 1.5

not working with:

expression syntax error

and requiring you to do:

mov eax, __float32__(1.5)

instead? The fact that it works for the dd family:

dd 1.5

makes me even more curious.

Would there be a syntax ambiguity with some other language feature in that case?

Couldn't the size just be inferred from the register size as when we do:

mov eax, 1

I have also posted on their bugtracker, but no reply so far: http://bugzilla.nasm.us/show_bug.cgi?id=3392309

Ciro Santilli OurBigBook.com
  • 347,512
  • 102
  • 1,199
  • 985

1 Answers1

1

Cyrill Gorcunov replied that:

That's because @dd is a directive handled separately from mov (we have two tokenizers inside). We really hope to unify them one day but due to lack of manpower it still has not been implemented.

So basically, there is no conflict, it's just historical inconsistency which may get fixed some day.

Ciro Santilli OurBigBook.com
  • 347,512
  • 102
  • 1,199
  • 985