Floating point register.
This is a floating point number for the current value. It is
a four byte store using 24 bit normalised sign and magnitude
representation for the mantissa and excess 128 representation
for the exponent of two.
Example of the number 35.25 in floating point:–
| 35.25 in binary is | 100011.01 | 
| Which is the same as | 100011.01 *2^ 00000000 | 
|  | 
| The binary point is moved so that it precedes the first “1” | 
| This gives | .10001101 | 
|  | 
| The point was moved left 6 times dividing the number by 2^6 so
6 must be added to the exponent to re-multiply by 2^6. | 
| This gives | .10001101 *2^ 00000110 | 
|  | 
| As the bit after the point is ALWAYS “1” this bit can be used
to store the sign of the number “0” for +ve, “1” for -ve | 
| So +35.25 is stored as | .00001101 * 2 ^ 00000110 | 
| Which in 24 bits is | .000011010000000000000000 *2^ 00000110 | 
|  | 
| 128 is added to the exponent so that overflows and underflows
can be more easily detected. | 
| So the whole number in binary is:– | 
 | 
 | 
| Which is | 
| 0000 | 1101 | 0000 | 0000 | 0000 | 0000 | 1000 | 0110 |  |  
| 0 | D | 0 | 0 | 0 | 0 | 8 | 6 | HEX |  
 
 | 
| The bytes of the mantissa are stored in reverse order. | 
| This gives the value for +35.25 as | 00 00 0D 86 | 
| And −35.25 would be stored as | 00 00 8D 86 | 
|  |