★ CODING ★ HEBDOGICIEL ★ COURS D'ASSEMBLEUR - HEBDOGICIEL n°88 ★ |
La page pédagogique d'hebdogiciel 088 : Formation à l'assembleur | Coding Hebdogiciel |
La page pédagogique d'hebdogiciel : Formation à l'assembleur Je vous donne directement l'organigramme et l'algorithme, à vous de remonter la piste si vous sentez certaines difficultés à appréhender ta méthode qui a abouti à ce résultat. Organigramme méthode 1 En voici l'algorithme qui en découle directement : 100 charger dans A le premier octet de poids faible Dans cette méthode, nous n'aurons donc à nous préoccuper de la retenue qu'après avoir effectué et rangé le résultat de notre première addition. Si vous désirez étendre cet algorithme a plus de deux octets, il vous suffira de dupliquer la séquence des lignes 130 à 170 de notre algorithme. Méthode 2 : nous arrivons maintenant au problème de l'addition avec report automatique de la retenue. L'opération ressemble à ceci : A < – (A) + (adresse deuxième opérande) + C Dans cène méthode, nous allons devoir nettoyer le contenu du bit de Carry avant de pratiquer la première opération. Si nous oublions de réaliser ce nettoyage, nous risquons (une fois sur deux) d'ajouter à notre résultat de poids faible une retenue qui n'a rien à voir avec notre calcul. En revanche d'un point de vue stockage des données et des résultats, nous n'aurons pas de différence sensible avec la méthode précédente. Organigramme méthode 2 Regardons maintenant l'algorithme : 100 nettoyer la Carry Vous remarquerez qu'après notre première opération, nous n'avons pas â nous occuper de la retenue. En effet, comme le processeur ajoute automatiquement celle-ci lors de l'instruction d'addition, s'il n'y avait pas de retenue lors de l'opération précédente nous ajouterons 0 (car C = 0) lors de notre seconde addition, ce qui ne modifie en rien notre résultat ! Comme pour la première méthode, si vous désirez étendre cette formule à plusieurs octets. il vous suffira de répéter la séquence des lignes 140 à 160. Je vous sens intrinsèquement réjoui à l'idée d'exploiter dans tous les sens ces magnifiques algorithmes d'addition multi-octets. Mais vous ne vous en contenterez pas. j'en suis sûr. Car quitte a additionner sur seize bits, autant réaliser le même exploit, toujours sur autant de bits, mais en soustrayant cette fois. Là encore nous allons nous trouver confrontés aux deux méthodes couramment usitées par les micro-processeurs lors de cette opération arithmétique. Les uns soustraient, sans se préoccuper le moins du monde du bit de retenue, alors que les autres enlèvent systématiquement la valeur de C du résultat qu'ils ont obtenu. Nous avons cette fois-ci aussi deux algorithmes à construire, un pour chaque cas de figure. Repartons donc à l'étude de nos deux méthodes, séparément. Auparavant, rafraîchis-sons-nous la mémoire au niveau de la structure de données que nous utilisons pour ces opérations :
Méthode 1 : nous consacrerons nos efforts, en premier, à la soustraction sans report automatique de la retenue. Encore une fois, je vous donne directement l'organigramme et l'algorithme de cette méthode de calcul sur seize bits. Si vous éprouvez la moindre difficulté à appréhender le raisonnement qui aboutit à ce résultat, reprenez la démarche explicitée antérieurement dans ce cours et effectuez une nouvelle fois l'ensemble du raisonnement Organigramme méthode 1 https://CPCrulez.fr - HEBDOGICIEL n°88 - 21 juin 1985
|