Fix ModR/M byte output for 16-bit addressing modes (PR18220)

Add some tests to validate correct register selection, including a fix
to an existing test which was requiring the *wrong* output.

Patch from David Woodhouse.