7Fermer9
Lionel DebrouxLe 14/05/2009 à 17:30
Tu ne respectes pas la spécification, a2 n'est pas restauré embarrassed

Mouais, pas faux...
Peut-être veut-il réellement l'incrémenter pour avancer dans le buffer, mais si ce n'est pas le cas, utiliser successivement (a2), 1(a2) et 2(a2) à la place des trois (a2)+.

./7: je mets des 0 pour nettoyer les registres smile
Il est impossible de faire des additions seulement sur les 8 bits de poids le plus faible (c'est ce que fait ./4, mais ça produit des additions tronquées: code incorrect). Il faut donc utiliser des opérations 16 bits, mais comme on ne charge que 8 bits à la fois depuis a2, et qu'on ne peut pas faire la supposition que les bits 8 à 15 valent 0, il faut effacer ces bits explicitement, pour être sûr qu'ils ne vont pas fausser l'addition.