How to define _m128 of a 16-byte data type in masm32?  You can use it.
for example ,define a variable x.
x  _m128  3000a00020003000f000300040003000h
Posted on 2010-10-04 08:22:27 by G-Spider
_m128 struc
xm1 QWORD ? ;3000a00020003000h ; or  3458940436217868288
xm2 QWORD ? ;0f000300040003000h ; or  17293875346734592000
; xm1 DWORD ? ;3000a000h
; xm2 DWORD ? ;20003000h
; xm3 DWORD ? ;0f0003000h
; xm4 DWORD ? ;40003000h
_m128 ends
; x _m128 <3000a000h, 20003000h, 0f0003000h, 40003000h>
x _m128 <3000a00020003000h, 17293875346734592000>


        xxx REAL10 ?
finit
fild x.xm2
fstp xxx

from intel __m128 data type incompatible with Microsoft definition
Posted on 2010-10-17 13:39:55 by roaknog
xm2 QWORD ? ;0f000300040003000h  ; or  17293875346734592000


fild x.xm2


64-bit integers can certainly be loaded onto the FPU. However, one must be aware that
ALL integers (whether words, dwords or qwords) are considered as SIGNED by the FPU.

The example given would thus have been loading a negative number onto the FPU which would have been very different from the "expected" 17293875346734592000.
Posted on 2010-10-17 19:28:49 by Raymond