direcciones de puertos...
Publicado por Germán B. (143 intervenciones) el 14/01/2001 00:00:00
Tengo que hacer un programa que trabaja con puertos paralelos.
La dirección del LPT1 está almacenada en la palabra 0x400008.
En mi máquina ahí obtengo el valor 0x378 que es la dirección
del byte de datos del LPT1. El byte que le sigue (en 0x379)
sería el byte de status, y el que le sigue (en 0x37a) el de control.
Ahora bien, no entiendo por qué no puedo "ver" las
tres direcciones esas con un programita así:
void main(void) {
int far *dirdonde=(int far *)0x400008;
unsigned char *dirpuerto;
dirpuerto=(unsigned char *) *dirdonde;
printf("Direcciones: %x %x %x\n",
dirpuerto,
dirpuerto+1,
dirpuerto+2);
}
El resultado de esto es 378 0 379, cuando yo esperaría
que fuera 378 379 37a.
¿¿Qué está pasando??
Gracias
La dirección del LPT1 está almacenada en la palabra 0x400008.
En mi máquina ahí obtengo el valor 0x378 que es la dirección
del byte de datos del LPT1. El byte que le sigue (en 0x379)
sería el byte de status, y el que le sigue (en 0x37a) el de control.
Ahora bien, no entiendo por qué no puedo "ver" las
tres direcciones esas con un programita así:
void main(void) {
int far *dirdonde=(int far *)0x400008;
unsigned char *dirpuerto;
dirpuerto=(unsigned char *) *dirdonde;
printf("Direcciones: %x %x %x\n",
dirpuerto,
dirpuerto+1,
dirpuerto+2);
}
El resultado de esto es 378 0 379, cuando yo esperaría
que fuera 378 379 37a.
¿¿Qué está pasando??
Gracias
Valora esta pregunta


0