
:byte dbl[8];

:DWORD lo_d(float cc) //Convert FLOAT to DOUBLE (LOW DWORD).
{
  $FLD cc
  EBX=#dbl;
  $DB 0x3E,0xDD,0x1B
  EAX=DSDWORD[EBX];
}

:DWORD hi_d(float cc) //Convert FLOAT to DOUBLE (HIGH DWORD).
{
  $FLD cc
  EBX=#dbl;
  $DB 0x3E,0xDD,0x1B
  EAX=DSDWORD[EBX+4];
}

inline void PUSH_DOUBLE()	//used only as macro
{
	$push EAX,EAX
	$fld SSDWORD[ESP];
#ifndef __FLAT__
	$db 0x67
#endif
	$db 0xdd,0x1c,0x24	//fstpq SSDWORD[ESP];
}
