Un étrange plantage

fresh_meat Messages postés 4 Date d'inscription lundi 9 août 2004 Statut Membre Dernière intervention 11 août 2004 - 10 août 2004 à 21:24
ToutEnMasm Messages postés 587 Date d'inscription jeudi 28 novembre 2002 Statut Membre Dernière intervention 13 décembre 2022 - 11 août 2004 à 14:46
Salut,
voilà, j'ai un plantage avec un programme dont voici le code :

TITLE Addition et soustraction (AddSubAlt.asm)

.386
.MODEL flat,stdcall
.STACK 4096

ExitProcess PROTO,dwExitCode:DWORD
DumpRegs PROTO

.code
main PROC

mov eax,10000h ; EAX = 10000h
add eax,40000h ; EAX = 50000h
sub eax,20000h ; EAX = 30000h
call DumpRegs


inkey:in al,60h
cmp al,1ch
jne inkey
upkey:in al,60h
cmp al,9ch
jne upkey

INVOKE ExitProcess,0
main ENDP
END main

Alors voilà ça bug depuis que j'y ai mi les 6 lignes à partir de inkey : la compilation sous MASM se déroule normalement mais au lancement de l'application, XP affiche le rapport d'erreur. J'en conclus que j'ai du violer une procédure du système mais trés franchement je vois pas quoi.

PS : les 6 lignes à partir de inkey ont été écrites le but de stoper le programme et de continuer son execution aprés avoir enfoncé puis relaché la touche enter.

5 réponses

cs_patatalo Messages postés 1466 Date d'inscription vendredi 2 janvier 2004 Statut Modérateur Dernière intervention 14 février 2014 2
11 août 2004 à 10:05
salut,

l'acces aux port E/S est prohibé sous XP pour une application utilisateur.

@++
0
fresh_meat Messages postés 4 Date d'inscription lundi 9 août 2004 Statut Membre Dernière intervention 11 août 2004
11 août 2004 à 10:07
On doit faire comment alors?
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
11 août 2004 à 12:47
On peut meme dire aucun acces direct aux periphs sous peine d'une vilaine InjureBox de la part du systeme, c'est un des moyens de garantir sa stabilite.
Tu dois utiliser ses APIs dans tous les cas.

Laisse aussi tomber ce bouquin et tous ses exemples obsoletes.

ciao...
BruNews, Admin CS, MVP Visual C++
0
cs_patatalo Messages postés 1466 Date d'inscription vendredi 2 janvier 2004 Statut Modérateur Dernière intervention 14 février 2014 2
11 août 2004 à 13:18
re,

regarde du côté de "ReadConsole()"

@++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ToutEnMasm Messages postés 587 Date d'inscription jeudi 28 novembre 2002 Statut Membre Dernière intervention 13 décembre 2022 3
11 août 2004 à 14:46
salut,
rien d'étrange a obtenir des plantés en mélangeant des méthodes de programation digne du 8086 et de l'assembleur windows.
Pour interroger le clavier sous windows,on fait appel,comme pour tout le reste,aux événements windows ou a des apis spécialiés.

Masm32 fournit des exemples de références actuels et sous windows.
Commencer par là évite bien des égarements.
ToutEnMasm
0
Rejoignez-nous