Bienvenue aux nouveaux arrivants sur FantasPic !

- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.

--- L’équipe FantasPic ---
Forum général sur l'Assembleur !

Modérateur : mazertoc

Suite de "Petite anomalie de MPASM"
JJE
Passioné
Passioné
Messages : 357
Âge : 78
Enregistré en : novembre 2017
Localisation : Picardie

#1 Message par JJE » sam. 20 juil. 2019 19:19 lien vers la Data-Sheet : Cliquez ici

re-bonjour à tous,
J'ai fait disparaître l'anomalie signalée dans le post en référence, en ajoutant un "endif" tout à fait au hasard, chose que je n'aime pas du tout comme beaucoup de nous je pense.
L'un d'entre-vous a-t-il connaissance d'un éditeur de source MPASM qui saurait apparier les if et les endif ?
Mon source est un gros fichier (plus de 4000 lignes) comportant de nombreux if, certains étant très éloignés de leur endif :? , je n'y arrive pas à la main malgré plusieurs essais :cry:
Merci d'avance
Cordialement

JJE

C'est pas parcequ'on n'a rien à dire qu'il faut fermer sa G....e

Suite de "Petite anomalie de MPASM"
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 1406
Âge : 68
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#2 Message par paulfjujo » dim. 21 juil. 2019 09:49 lien vers la Data-Sheet : Cliquez ici

bonjour JJE et à tous,


"Diviser pour mieux régner ..."
Methode dichotomique .
essaie de decouper/compiler ton programme en 2
... etc .


avec mikroC j'ai eu un probleme similaire avec un oubli de parenthese..
jamais signalé par le compilo , même avec une declaration de fonctions préalable.!
ex: CLRF1; au lieu de CRLF1(); // envoi CR puis LF sur le terminal
sans les parentheses , n'est jamais exécuté
n'empeche pas le programme de tourner avec ses défauts.
dans ce cas précis c'etait assez visible au niveau resulat , mais s'il s'agissait de calcul
on peut chercher longtemps pourquoi un resultat est éronné.
Aides toi, le ciel ou Fantastpic t'aideras

Suite de "Petite anomalie de MPASM"
JJE
Passioné
Passioné
Messages : 357
Âge : 78
Enregistré en : novembre 2017
Localisation : Picardie

#3 Message par JJE » dim. 21 juil. 2019 10:18 lien vers la Data-Sheet : Cliquez ici

merci paulfjujo de ce conseil que j'ai déjà pratiqué sans succès, il faut dire que ce fichier est un vrai patchwork. Je pense avoir le temps de commencer une série de posts à son sujet aujourd'hui, si tu as le temps, tu comprendra :-)
Cordialement

JJE

C'est pas parcequ'on n'a rien à dire qu'il faut fermer sa G....e

Suite de "Petite anomalie de MPASM"
satinas
Passioné
Passioné
Messages : 409
Enregistré en : novembre 2015

#4 Message par satinas » dim. 21 juil. 2019 16:29 lien vers la Data-Sheet : Cliquez ici

Bonjour,
Etant adepte des sources à rallonge, ce type de problème m'arrive aussi, surtout en C. Alors bien sûr la première protection, c'est l'indentation.
Ensuite lorsqu'une erreur est difficile à trouver car non localisée, pourquoi ne pas isoler des blocs de programme en les entourant par "if 0" et "endif". En recompilant, on a des messages d'erreurs qui s'ajoutent, pas grave, on sait pourquoi.
Petit à petit on arrive à faire disparaître l'erreur en question, et ainsi comprendre d'où elle vient.

Suite de "Petite anomalie de MPASM"
JJE
Passioné
Passioné
Messages : 357
Âge : 78
Enregistré en : novembre 2017
Localisation : Picardie

#5 Message par JJE » dim. 21 juil. 2019 16:54 lien vers la Data-Sheet : Cliquez ici

merci satinas
Cordialement

JJE

C'est pas parcequ'on n'a rien à dire qu'il faut fermer sa G....e

Suite de "Petite anomalie de MPASM"
satinas
Passioné
Passioné
Messages : 409
Enregistré en : novembre 2015

#6 Message par satinas » dim. 21 juil. 2019 17:21 lien vers la Data-Sheet : Cliquez ici

Quand le endif est éloigné du if, ou s'il y a imbrication de plusieurs if, mettre un commentaire sur les lignes endif, qui permet de remonter au if.

et sous Windows, une commande pour lister tous les if et endif :
findstr /c:"if " /c:"endif" file.asm > debug.txt

Suite de "Petite anomalie de MPASM"
JJE
Passioné
Passioné
Messages : 357
Âge : 78
Enregistré en : novembre 2017
Localisation : Picardie

#7 Message par JJE » dim. 21 juil. 2019 19:49 lien vers la Data-Sheet : Cliquez ici

merci satinas, je n'avais pas dû être assez persévérant
Je ne m'en suis pas servi, mais j'avais oublié cette commande findstr
merci encore, je vais dîner le cœur plus léger :-)
Cordialement

JJE

C'est pas parcequ'on n'a rien à dire qu'il faut fermer sa G....e


Retourner vers « Langage ASM »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité