swap16
static uint16_t swap16(uint16_t v);
#define __read_2(h, o) swap16(*((volatile uint16_t *)((h) + (o))))
#define __write_2(h, o, v) *((volatile uint16_t *)((h) + (o))) = swap16(v)
v = swap16(v);
v = swap16(v);