Fixed bug with CPU word / hybrid / joined registers not returning the correct value due to an issue with bitwise shift vs + precedence.

Added full-coverage unit tests for registers.