ct juste un test pour que vous puissiez voar que ca marche pas du tou
mais comment fait la ti alors ?
elle fait toujours par deux octets minimum, quitte à n'en utiliser qu'un seul sur les deux
le processeur n'accepte pas de lire plus d'un octet à partir d'une adresse impaire => on évite au maximum de faire en sorte d'avoir des adresses impaires
donc je peux utiliser sr ?
sinon a quoi est du la barre noire toute seul a l'erreur (quand bug il ya )?(ss rien de marqué)
que y a un plantage assez méchant pour que des données du tios soient corrompues :]
« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)
Pour le move.b d0,-(a7) ça décrémentera effectivement a7 de 2, pas de risque de plantage de ce côté, faut juste se méfier quand on lit les données dans la pile après ...

Que cache le pays des Dieux ? -
Forum Ghibli -
Forum LittéraireLa fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.
ben non justement, si c comme j'ai dit le move.b #0,-(a7) fera ce qu'il faut...
« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)
ou ca jsr, y'a pas de jsr ds mon code??!!
|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
fin:
bsr vide_operande |on vide une derniere fois
move.b (% a2)+,(% a1) |et on termine par 0bon j'ai vraiment tout commenté, je ne comprend absolument pas pk les parenthese ne marche pas, pas de jsr ni de conneries, j'ai fait un test sur papier en suivant le raisonnement de mon prgm , normalement pas de probleme, mais pourquoi ca ve pas marcher ???move.b #0,-(% a2) |la valeur reference
boucle:
cmp.b #40,(% a0) |si c'est une parenthese ouvrante , alors ...
bne pas_parenthese_ouvrante
adda.l #1,% a0 |on passe au caractere suivant
move.b #0,-(% a2) |on met une valeure stop
pas_parenthese_ouvrante:
cmp.b #41,(% a0) |si c une parenthese fermante
bne pas_parenthese_fermante
bsr vide_operande |on vide les operateurs une fois
adda.l #1,% a2 |on saute la valeur stop
bsr vide_operande |et on revide une derniere fois
adda.l #1,% a0 |et on passe au caractere suivant
bra boucle1 |mais ce sera ptet un operateur alors pas de move a1 tt de suite
pas_parenthese_fermante:
move.b (% a0)+,(% a1)+ | c un chiffre, on le met ds le retour
boucle1:
tst.b (% a0) |si c la fin c la fin
beq fin
cmp.b #43,(% a0) |si c +
bne pas_plus
bsr vide_operande |on vide les operateurs
move.b (% a0)+,-(% a2) |et on le met sur la pile
bra boucle
pas_plus:
cmp.b #45,(% a0) |si c - idem que +
bne pas_moins
bsr vide_operande
move.b (% a0)+,-(% a2)
bra boucle
pas_moins:
cmp.b #42,(% a0) |si c un produit
bne pas_fois |on empile par dessus
move.b (% a0)+,-(% a2)
bra boucle
pas_fois:
cmp.b #48,(% a0) |idem pour le /
bne pas_div
move.b (% a0)+,-(% a2)
bra boucle
pas_div:
vide_operande: |on vide la pile des operateurs
tst.b (% a2)
t'as essayé de tracer le truc ?

<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)
<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant
non mais la y'a pas d'autre solution, je dois tester si c'est soit un plus, soit un - soit un * soit un / tu ve que je fasses comment? (toutes les suggestions sont les bienvenu vu mon niveau en asm)
sinon flanker(#lueur d'espoir#), l'erreur semble se situer lorsque l'on ferme la parenthese apres le cmp #41,a0