30

31

Pas la peine d'utiliser le débuggueur, L'Erreur est ici:
pas_fois:  
    
vide_operande: |on vide la pile des operateurs 
 tst.b (% a2) |tant qu'on arrive pas a la valeur reference 
 beq fin_vide_operande  
 move.b (% a2)+,(% a1)+ |on vide 
 bra vide_operande  
  
fin_vide_operande:  
 rts  
  


Au début, le prog ne fait que des jsr ou des bsr, donc le prog va sur la boucle vide_operande, puis à fin_vide_operande avec le RTS.
Le problème, c'est juste après le pas_fois, on entre dans le sous-programme SANS faire de jsr/bsr, donc sans empiler d'adresse de retour. Et quand on arrive sur le rts, la pile est désalignée...

2 solutions:
- soit, entre le pas_fois et le vide_operande, rajouter un pea.l fin_vide_operande+ (combien? 2, sans doute ?)
- soit mettre un bsr vide_operande, et un bra apres_vide_operande, le label apres_vide_operande se trouvant APRES le rts...
avatar
Maintenant j'ai la flemme de garder une signature à jour sur ce site. Je n'ai même plus ma chaîne Exec sous la main.

32

mais non il a aucune chance de faire ca mon prgm surtout avec l'exemple donné, tu peux verfier !! j'ai fait des dizaines de fois le test sur papier ...

martial > >quel debugger ?
NTW !!!!!

33

celui de VTI

34

matthieu->je ne vois pas en quoi "il n'y a aucune chance" vu que le label pas_fois est parfairement accessible, et il tombe droit dans le sous-programme et son RTS...
avatar
Maintenant j'ai la flemme de garder une signature à jour sur ce site. Je n'ai même plus ma chaîne Exec sous la main.

35

36

le pb c'est que vti ve pas prendre ma rom 2.09
de toutes facon, ca y'est, j'ai reussi a regler mon probleme
mais maintenant y'a un truc qui marche pas, quand je "postfix" d+(a+b)*b ca me fait dab++c* (<=> (a+b+d)*c)
je comprend pas, ca voudrait dire qu'il faut que je compare le 'poids" des signes situé avant et apres la parenthese ??? pourtant c pas marqué dans l'algo de l'aiguillage arrrg

NTW !!!!!

37

38

matthieu-> ah, là, avec la priotiré opératoire, ça devient dur...
Tu devrais peut-être utiliser une fonction intermédiaire qui insérerait des parenthèses à chaque fois, ou...

Non, franchement, je ne vois pas comment faire. Je j'ai jamais essayer de postfixer une expression avec des priorités...
avatar
Maintenant j'ai la flemme de garder une signature à jour sur ce site. Je n'ai même plus ma chaîne Exec sous la main.