REM Simple procedure to convert a native PSION floating point to a 32 bit IEEE REM floating point. The first argument is the address where you want the 4 bytes REM (32 bits) written to, the second argument is the floating point value. REM example: REM LOCAL buffer$(30), myfloat REM myfloat = -7.282726 REM pokef32%:( UADD(ADDR(buffer$),20), myfloat) REM REM Jean-François Mezei REM Vaxination Informatique REM Montréal Canada REM http://www.vaxination.ca REM REM *************************** PROC pokef32%:( dest%, source) REM *************************** LOCAL myvar , ptr1%, x% LOCAL sign%, exp&, mant& LOCAL tmp% myvar = source ptr1% = ADDR(myvar) sign% = (peekb( UADD(ptr1%,7)) AND $0080) exp& = ((peekw( UADD(ptr1%,6)) AND $7FF0) / 16 ) - 1023 exp& = (exp& + 127) AND &000000FF mant& = (peekl( UADD(ptr1%,3)) AND &0FFFFFFF) / 32 exp& = (exp& * 128) OR PEEKW(UADD(ADDR(mant&),2)) AND &0000FFFF pokew UADD(ADDR(mant&),2), exp& tmp% = PEEKB( UADD(ADDR(mant&),3)) OR sign% pokeb UADD(ADDR(mant&),3),tmp% pokel dest%, mant& ENDP