- double vv;
- unsigned long long vvv;
- if (tdb)
- MarkRelocatable(cursect, sloc, tdb, MDOUBLE, NULL);
-
- // We want to store the IEE754 float into ram from a generic
- // 32-bit int. First, convert it to double float, then cast
- // that to 64-bit, then convert to big endian (if needed)
- // and then store it (phew!)
- vv = *(float *)&aNexval;
- vvv = BYTESWAP64(*(unsigned long long *)&vv);
-
- D_double(vvv);
+//Would a floating point value *ever* need to be fixed up as if it were an address? :-P
+// if (tdb)
+// MarkRelocatable(cursect, sloc, tdb, MDOUBLE, NULL);
+
+ PTR p;
+ p.u64 = &aNexval;
+ double d = *p.dp;
+ uint64_t ieee754 = DoubleToIEEE754(d);
+ D_quad(ieee754);