Un étrange plantage

Signaler
Messages postés
4
Date d'inscription
lundi 9 août 2004
Statut
Membre
Dernière intervention
11 août 2004
-
Messages postés
570
Date d'inscription
jeudi 28 novembre 2002
Statut
Membre
Dernière intervention
18 janvier 2021
-
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

Messages postés
1466
Date d'inscription
vendredi 2 janvier 2004
Statut
Modérateur
Dernière intervention
14 février 2014
1
salut,

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

@++
Messages postés
4
Date d'inscription
lundi 9 août 2004
Statut
Membre
Dernière intervention
11 août 2004

On doit faire comment alors?
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
25
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++
Messages postés
1466
Date d'inscription
vendredi 2 janvier 2004
Statut
Modérateur
Dernière intervention
14 février 2014
1
re,

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

@++
Messages postés
570
Date d'inscription
jeudi 28 novembre 2002
Statut
Membre
Dernière intervention
18 janvier 2021
2
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