VC++, assembleur et instruction privilégiée
Bonjour,
Ayant besoin de lire le port parallèle sous VC++, j'ai écrit la fonction suivante :
unsigned char inp(unsigned short adr)
{
__asm {
xor eax,eax
push edx
mov dx,adr
in al,dx
pop edx
}
}
Le système se plante sur "in al,dx" en me disant que c'est une instruction privilégiée. Comment résoudre ce problème ?
Merci d'avance.
Cordialement, Michel.
Re: VC++, assembleur et instruction privilégiée
Citation:
Envoyé par Michel Devaud
Bonjour,
Ayant besoin de lire le port parallèle sous VC++, j'ai écrit la fonction suivante :
unsigned char inp(unsigned short adr)
{
__asm {
xor eax,eax
push edx
mov dx,adr
in al,dx
pop edx
}
}
Le système se plante sur "in al,dx" en me disant que c'est une instruction privilégiée. Comment résoudre ce problème ?
Merci d'avance.
Cordialement, Michel.
Bonjour,
je répète à chaque fois les mêmes questions
*quel type de projet ? Utiliser VC++ c'est très vague comme affirmation
*les entrées sorties bas-niveau ne sont pas autorisées sous Win 32.
Vous avez dû créer un projet en mode console c.a.d. affichage texte .
Seulement le problème c'est qu'on ne peut pas faire de IN/OUT avec un programme en win 32 ( ce que je répète également plusieurs fois )
Pour cela faire un Device Driver
Sinon il ya peut-être des API spécifiques pour lire des données sur le port parallèle.
www.msdn.microsoft.com/library/en-us/ devio/base/deviceiocontrol.asp
www.msdn.microsoft.com/library/en-us/ fileio/base/createfile.asp