Devo usare la porta parallela del mio PC, ma sto avendo dei problemi con le locazioni di memoria. So che sistemi operazivi come Ms-dos memorizzano l'indirizzo base della Lpt1 all'indirizzo 0000x0807 e che tale indirizzo è
0000x0378. Informazione che effettivamente ho verificato con Debug:-d 0:408
0000:0400 78 03 00 00 00 00 26 03 0000:0410 27 D4 00 80 02 00 00 A0-00 00 32 00 32 00 67 22 0000...................il problema è che non riesco a leggere tale valore mediante i comandi:
mov dx, 0408 in al, dx
il risultato di queste operazioni mi fornisce il valore AX = 00FF (diverso da quello atteso).
Come posso fare per ottenere nel registro AX il valore 0378 ?
Inoltre perchè ottengo oprio il valore 00FF ? Immagino che il mio problema è dovuto al fatto che stia puntando ad un segmento dati sbagliato. Ma visualizzando la locazione 0408 del segmento dati corrente non leggo il valore FF. Il puntatore al segmento dei dati non è il registro DS ? Ma anche impostando DS = 0000 le cose non cambiano.
Ho avuto un ulteriore sconforto quando unsando il basic ho scritto:
PRINT INC (0408)
ottenendo come risultato 255 = HFF.
Aiutatemi.