Fixed misaligned reading and writing.

error: load of misaligned address 0x62500de0ab11 for type 'uint16_t',
    which requires 2 byte alignment.

Found by UndefinedBehaviorSanitizer.
5 files changed