#include <iostream>
static union {
struct {unsigned short AX;} WORD;
struct {unsigned char AL;unsigned char AH;} BYTE;
} Regs;
int main(){
using std::cout;
Regs.WORD.AX=0xabcd;
cout << std::hex;
cout << "AX=" << Regs.WORD.AX << " AH=" << (int)Regs.BYTE.AH << " AL=" << (int)Regs.BYTE.AL << '\n';
Regs.BYTE.AH=0x12;
cout << "AX=" << Regs.WORD.AX << " AH=" << (int)Regs.BYTE.AH << " AL=" << (int)Regs.BYTE.AL << '\n';
}
I2luY2x1ZGUgPGlvc3RyZWFtPgpzdGF0aWMgdW5pb24gewpzdHJ1Y3Qge3Vuc2lnbmVkIHNob3J0IEFYO30gV09SRDsKc3RydWN0IHt1bnNpZ25lZCBjaGFyIEFMO3Vuc2lnbmVkIGNoYXIgQUg7fSBCWVRFOwp9IFJlZ3M7CgppbnQgbWFpbigpewp1c2luZyBzdGQ6OmNvdXQ7ClJlZ3MuV09SRC5BWD0weGFiY2Q7CmNvdXQgPDwgc3RkOjpoZXg7CmNvdXQgPDwgIkFYPSIgPDwgUmVncy5XT1JELkFYIDw8ICIgQUg9IiA8PCAoaW50KVJlZ3MuQllURS5BSCA8PCAiIEFMPSIgPDwgKGludClSZWdzLkJZVEUuQUwgPDwgJ1xuJzsKClJlZ3MuQllURS5BSD0weDEyOwpjb3V0IDw8ICJBWD0iIDw8IFJlZ3MuV09SRC5BWCA8PCAiIEFIPSIgPDwgKGludClSZWdzLkJZVEUuQUggPDwgIiBBTD0iIDw8IChpbnQpUmVncy5CWVRFLkFMIDw8ICdcbic7Cn0K