#include <iostream>
static union{
unsigned short int AX;
unsigned char Hreg[2];
};
unsigned char& AL = Hreg[0];
unsigned char& AH = Hreg[1];
int main(){
using std::cout;
AX=0xabcd;
cout << hex;
cout << "AX=" << AX << " AH=" << (int)AH << " AL=" << (int)AL << '\n';
AH=0x12;
cout << "AX=" << AX << " AH=" << (int)AH << " AL=" << (int)AL << '\n';
}