3.4 Floating-Point Immediates in Instructions

Asmc Macro Assembler

3.4 Floating-Point Immediates in Instructions

Floating-point immediate values are accepted as instruction operands. As default, the type is a REAL4, which has a magnitude of 32 bits:
 
        mov eax, 1.0

With type coercion, it's also possible to define a 64-bit "double", although it's probably useful in 64-bit code only:

 
        mov rax, real8 ptr 1.0

Additionally, operators LOW32 and HIGH32 accept a floating-point constant as argument. In this case, the constant is assumed to have format REAL8. Thus it's possible to pass a double constant directly as a procedure argument in 32-bit code:

 
       push HIGH32 1.0
       push LOW32 1.0
       call WorkWithReal8Value