Flux rss
Rechercher : dans
Par :

Assembleur X86, pourquoi ma procedure bug?svp

Skeleton, le vendredi 28 mai 2004 à 12:30:11 
 Signaler ce message aux modérateurs

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 ;)

1

francois, le vendredi 28 mai 2004 à 13:14:26

De memoire et selon le compilateur que tu utilises je crois me souvenir que les comparaisons à 0 ne se font bien qu'avvec un 0 significatif et plante avec 00 ou 000 etc...

mais bon c'est un vague souvenir et en plus selon les compilateur ça peut etre ou non geré....

j'éspere ne pas t"envoyer sur une fausse piste...

aussi (rien à voir avec ton bug)
pour optimiser evites les mov XX, 0
fais plustot un xor XX,XX
ça fait 2pas aulieu de 3pas...

en plus ça permet de diminuer la taille du fichier...compilé ou executé si tu ecrits en direct live l'éxécutable...

Répondre à francois

2

 JSS, le vendredi 28 mai 2004 à 13:20:48

Bonjour ou Bonsoir,

Excuse moi mais je vois pas quand tu sors de ta seconde boucle ?
J'ai pas vu de jump sous une certaine condition à par exemple une etiquette qui pourrait s'appeler fin de proc.

J'espere que ca pourra t'aider.

bon courage.

JSS.avec.ses.souvenirs.d'assembleur.

Répondre à JSS
Liens utiles assembleur x86 Voici quelques liens utiles pour l'assembleur x86. Le but étant de compiler des documents pertinents autant pour ceux qui débutent que pour ceux qui sont à l'aise dans ce domaine. Tutoriels Références complètes Assembleur sous... www.commentcamarche.net/faq/sujet-9899-liens-utiles-assembleur-x86
Débuter en Assembleur x86 Bonjours a tous! Je voudrais commencer a apprendre l'assembleur x86.. Déja que c pas facile en soi, voila qu'apres avoir téléchargé tous les tuts que j'ai pu trouver, je me rencontre qu'il existe des tonnes de 'compilateurs' Masm, Fasm, Nasm, Tasm....... www.commentcamarche.net/forum/affich-687415-debuter-en-assembleur-x86
Mac OS X 10.4 Tiger for Intel x86.dmg Bonjour, je cherche partout où télécharger un fichier qui s'appelle : "Mac OS X 10.4 Tiger for Intel x86.dmg" pouvez-vous m'aider s.v.p. ?? merci d'avance www.commentcamarche.net/forum/affich-6005014-mac-os-x-10-4-tiger-for-intel-x86-dmg
Exercice assembleur x86 nombre premierIntroduction Notions abordées dans cet exercice Enoncé Rappel Corrigé Explication Introduction Ce petit exercice d'assembleur vise les architectures x86 (Processeurs Intel et Amd 32 bits) et utilise la syntaxe de Nasm, un assembleur... www.commentcamarche.net/faq/sujet-9863-exercice-assembleur-x86-nombre-premier
Exercice assembleur x86 inversion de chaîneIntroduction Notions abordées dans cet exercice Énoncé Rappel Indices Corrigé Explication Introduction Ce petit exercice d'assembleur vise les architectures x86 (Processeurs Intel et Amd 32 bits) et utilise la syntaxe de Nasm, un... www.commentcamarche.net/faq/sujet-9831-exercice-assembleur-x86-inversion-de-chaine
Exercice assembleur x86 occurence d'un caractèreIntroduction Notions abordées dans cet exercice Enoncé Corrigé Explication Introduction Ce petit exercice d'assembleur vise les architectures x86 (Processeurs Intel et Amd 32 bits) et utilise la syntaxe de Nasm, un assembleur libre,... www.commentcamarche.net/faq/sujet-10330-exercice-assembleur-x86-occurence-d-un-caractere
Installer mac os x sur pc x86salu je voudré installer mac os x sur mon pc g vu kon pouvé avec drawin je lé télécharger mai je sai pa koi faire merci de me dire ce kil fo faire www.commentcamarche.net/forum/affich-1059159-installer-mac-os-x-sur-pc-x86
Seven Ultimate RC x64 ou x 86 (Résolu)Bonjour, Microsoft me propose de télécharger gratuitement la RC Ultimate de Seven sur ce site : http://msdn20.e-academy.com/... Je précise qu'on me donnera aussi la version finale une fois sortie. Ma question : Quelle version prendre (x64 ou x86)... www.commentcamarche.net/forum/affich-12893483-seven-ultimate-rc-x64-ou-x-86
URGENT !!! aide sur le langage assembleur (x86)Je programme en assembleur de la famille x86 et j'aimerais effectuer une opération tant qu'une touche est enfoncée au clavier. Mais je ne suis pas capable vérifier le temps que la touche est enfoncée ! Alors mon problème est de savoir comment on fait... www.commentcamarche.net/forum/affich-10239-urgent-aide-sur-le-langage-assembleur-x86
Télécharger ZSNESSi vous avez toujours voulu d'un émulateur pour Super Nintendo, celui ci vous plaira sûrement ! ZSNES est un émulateur open source de super Nintendo. Il a été écrit avec l'assemblage x86, C et C++. Pour le plus grand bonheur de ceux qui utilisent... www.commentcamarche.net/telecharger/telecharger-34055750-zsnes
Télécharger RM-X Video CopyrightCe logiciel compatible PC vous permet de marquer vos vidéos. RM-X® Video Copyright vous permet d'afficher un message personnel ou un simple texte sur vos vidéos. Il vous permet ainsi de protéger vos œuvres. Le programme propose une interface... www.commentcamarche.net/telecharger/telecharger-34057254-rm-x-video-copyright
Télécharger X-LiteX-lite est un utilitaire de connexion à Internet via le protocole SIP (Session Initiation Protocol). X-Lite propose une interface simple et intuitive. Il permet de télécharger des fichiers multimédias : video et audio. La lecture de ces derniers est... www.commentcamarche.net/telecharger/telecharger-34056731-x-lite
Microsoft Flight Simulator X Gold EditionGenre:Simulation, Développeur:ACES Studio, Other Names:Flight Simulator X Gold Edition, Flight Simulator 10 Gold Edition www.commentcamarche.net/guide/1152408-microsoft-flight-simulator-x-gold-edition
X-Men 3: The Official GameGenre:Action, Avis ESRB:Teen 13+, Développeur:Z-Axis, Description:If you ever read any of the X-Men comic books or watched the cartoons, then undoubtedly you felt at least some small twinge of excitement when you heard about the third movie. And maybe... www.commentcamarche.net/guide/856191-x-men-3-the-official-game
Les procédures en assembleurLa notion de procédure En langage assembleur, on appelle procédure un sous-programme qui permet d'effectuer un ensemble d'instructions par simple appel de la procédure. Cette notion de sous-programme est généralement appelée fonction dans d'autres... www.commentcamarche.net/contents/asm/procedure.php3
Introduction à l'assembleurLes prérequis nécessaires Le langage assembleur est très proche du langage machine (c'est-à-dire le langage qu'utilise l'ordinateur : des informations en binaire, soit des 0 et des 1). Il dépend donc fortement du type de processeur. Ainsi il... www.commentcamarche.net/contents/asm/assembleur.php3
VBScript - Les fonctions et les procéduresLa notion de procédure On appelle fonction un sous-programme qui permet d'effectuer un ensemble d'instructions par simple appel dans le corps du programme principal. Cette notion de sous-programme est généralement appelée fonction (ou procédure)... www.commentcamarche.net/contents/vbscript/vbsfunction.php3