Register Structures for Turbo C and MS C


		Turbo C 			MS C

	struct WORDREGS 		struct WORDREGS
	   {				    {
	   unsigned int ax;		    unsigned int ax;
	   unsigned int bx;		    unsigned int bx;
	   unsigned int cx;		    unsigned int cx;
	   unsigned int dx;		    unsigned int dx;
	   unsigned int si;		    unsigned int si;
	   unsigned int di;		    unsigned int di;
	   unsigned int cflag;		    unsigned int cflag;
	   unsigned int flags;		    };
	   };

	struct BYTEREGS
	   {
	   unsigned char al;
	   unsigned char ah;
	   unsigned char bl;
	   unsigned char bh;		 <--  same as Turbo C
	   unsigned char cl;
	   unsigned char ch;
	   unsigned char dl;
	   unsigned char dh;
	   };

	union REGS
	   {
	   struct   WORDREGS x;		 <--  same as Turbo C
	   struct   BYTEREGS h;
	   };

	struct SREGS
	   {
	   unsigned int es;
	   unsigned int cs;		 <--  same as Turbo C
	   unsigned int ss;
	   unsigned int ds;
	   };

	struct REGPACK
	   {
	   unsigned r_ax;
	   unsigned r_bx;
	   unsigned r_cx;
	   unsigned r_dx;
	   unsigned r_bp;		Turbo C only
	   unsigned r_si;
	   unsigned r_di;
	   unsigned r_ds;
	   unsigned r_es;
	   unsigned r_flags;
	   };