donne un exemple de ton code.
en mode réel, tu changais un registre de segment en E000 pour atteindre ton périphérique.
en mode protégé tu n'as pas le droit de modifier ES ou DS avec un E000 sorti de nulle part. (ça ne corresponds pas à un descripteur).
donc pour atteindre l'adresse physique E0000 (le segment : offset E000:0000 en mode réel), tu utilises bêtement l'adresse E0000 sans changer un registre de segment.
en faisant bêtement un:
mov al, BYTE PTR[0E0000h]
ou un:
unsigned char *myhardware=0x0E0000;
myhardware[0x4]=0x0fef; /// ce que tu veux....
-----
après si ton périphérique a un espace mémoire en dehors du premier Mo, il faut utiliser ça:
http://www.tenberry.com/dpmi/16.html
mais ce n'est pas ton cas, c'est plustôt pour le hardware PCI moderne.
Message édité par bjone le 30-06-2004 à 16:28:24