I was studying the different formats for the signed fixed point values in the SpinASM Manual and came across the following table:
Code: Select all
S1.14
Real -2 -0.00006103516 0 0.00006103516 1.99993896484
Hex $8000 $FFFF $0000 $0001 $7FFF
S1.9
Real -2 0.001953125 0 0.001953125 1.998046875
Hex $400 $7FF $000 $001 $3FF
For the -2 decimal uses $8000, equivalent to "-0" ($1000_0000_0000), so far so good. I don't understand why for the -LSB (-0.00006103516) uses $FFFF instead of $8001 that will be %1000_0000_0000_0001 the sign bit on 1, the integer bit on 0 and the LSB on 1. Or the negative numbers are going backwards from FFFF (65535 in decimal) to the 8000 (32768)?.
Same applies for the S1.9