Change address generation function to use a union, make byte-addressing more architecture independent.