5.2.4 Double Directive

The .double value1[, ..., valuen] directive assembles the specified comma-separated double-precision (64-bit) floating-point constants into consecutive addresses in the current section. Floating point numbers are stored in IEEE format (see Floating-Point Numbers) as little-endian values. This directive forces alignment to 8 bytes (that is, it adds padding if necessary) to its natural alignment on PIC32M devices. Note that the .2byte, .4byte, and .8byte directives do not force alignment.

The following statements are equivalent:
.double 12345.67
.double 1.234567e4
.double 1.234567e04
.double 1.234567e+04
.double 1.234567E4
.double 1.234567E04
.double 1.234567E+04
Alternatively, you can specify the hexadecimal encoding of a floating-point constant. The following statements are equivalent and encode the value 12345.67 as a 64-bit double-precision number:
.double 0e:40C81CD5C28F5C29
.double 0f:40C81CD5C28F5C29
.double 0d:40C81CD5C28F5C29