Autor Tema: ¿Como accedo a dos char como si fueran un entero?  (Leído 3353 veces)

Xajorkith

  • PIC10F
  • *
  • Mensajes: 27
¿Como accedo a dos char como si fueran un entero?
« en: Junio 14, 2015, 04:01:26 pm »
Buenos días.

La pregunta es para poder acceder a esta estructura:

typedef struct Version1RegistrosZ80 {

unsigned char A;  unsigned char F;
unsigned char B;  unsigned char C;
unsigned char D;  unsigned char E;
unsigned char H;  unsigned char L;

unsigned char A1; unsigned char F1;
unsigned char B1; unsigned char C1;
unsigned char D1; unsigned char E1;
unsigned char H1; unsigned char L1;

unsigned char I;  unsigned char R;
unsigned char I;  unsigned char X;
unsigned char I;  unsigned char Y;
unsigned char S;  unsigned char P;
unsigned char P;  unsigned char C;

} RegistrosZ80 ;

RegistrosZ80 Valoresenuso;

Ya se ve que son los típicos registros de 8 bits, y algunos a su vez se pueden acceder unidos como BC, DE, HL y varios mas. Basta con hacer DE=D*256+E para obtener el valor a usar. La pregunta es si se puede redefinir, o crear algún campo para poder acceder directamente a HL, como si fuera H*256+L de forma automática, sin tener que hacer el cálculo cada vez que se tiene que usar el valor de HL.

Así se puede acceder a Valoresenuso.H o Valoresenuso.L o Valoresenuso.HL, que sería obtener directamente H*256+L.

Gracias.
« Última modificación: Junio 14, 2015, 04:38:58 pm por Xajorkith »