no save
Assistance
Achat
News

Forum | programmation
Assembleur X86, pourquoi ma procedure bug?svp
Skeleton, le ven. 28 mai 2004 à 12:30:11
Alors voila je vais vous copiez coller ma procedure et vous expliquez après:

;debut de la procedure

AfficheGom PROC

MOV CX, Pacman_TileHeight ;initialisation de CX pour la boucle bcle1
MOV SI, 0;SI prend la position de depart du tile PacGom

PacGomLoop1:
PUSH CX;on sauve la valeur du compteur de la boucle bcle1
MOV CX, Pacman_TileWidth ; initialisation de CX pour la boucle bcle2
PUSH DI;on sauve la position du curseur
PacGomLoop2:
;Dessine une ligne du sprite PacGom
MOV AL, PacGom[SI] ;2 lignes qui permettent de
CMP AL, 000
JE transparent
MOV ES:[DI], AL ;de faire correspondre une case du tableau à une pixel
transparent:

INC SI
INC DI

LOOP PacGomLoop2;on dessine ligne par ligne le sprite pacgom

POP DI;on remet le curseur au debut du sprite pour lui ajouter 320 facilement
ADD DI, 320
POP CX;on recupere le compteur de bcle1 pour le decrementer correctement
LOOP PacGomLoop1

AfficheGom ENDP

;Fin de la procedure



Voila il y a donc deux boucles, car j'affiche un sprite (ici pour le jeu pacman) je veux afficher les ptit point jaune que pacman mange ^^ mais bon voila ma procedure pour dessiner un de ces sprite a l'ecran fait buger mon prog entier puisque quand je lance l'exe il s'arrete a cette procedure je narrive pu a en sortir


d ou peut venir le probleme?
(mes push et pop sont correct...)

merci ;)


francois
mai 04
Suivant
REPONSES
francois
mai 04
JSS
mai 04
Version Web
Réalisé par RedShift
no save