union REGS {
struct WORDREGS x;
struct BYTEREGS h;
};
struct WORDREGS {
unsigned int ax, bx, cx, dx, si, di,
cflag /*进位标志*/,
flags /*标志寄存器*/;
};
struct BYTEREGS {
unsigned char al, ah, bl, bh, cl, ch, dl, dh;
};
在tc中试试,dos平台与windows不同,DOS的int与char一样为8bit, 而WIN32中,int 为32bit,Smallint 为8bit
关键是前面inregs和outregs的定义,unions只不过是定义了一个联合体