Note on number representation:
All signed numbers are represented as two's complement signed. If a data bus
is given as type X.Y, that means it is an X-bit number with a binary point at
the Yth bit; i.e., if a number is an 8.7 signed number that means it is 8 bits,
with the binary point at 7, so it is in the range [-1, 1-(2^-7)], or
[-1, 0.9921875].