★ CODING ★ PROGRAMMATION : L'ASSEMBLEUR EN DOUCEUR (4e partie) ★ |
L'assembleur en Douceur (4/x) : Etude des différentes bases par l'hexadécimal et le B.C.D. (Micro-Mag) | Cours et Initiation MICROMAG |
Avant d'aborder l'apprentissage de l'Assembleur proprement dit, terminons en beauté l'étude des différentes bases par l'hexadécimal et le B.C.D. (Binary Coded Décimal) En base hexadécimale, le système hexadécimal, comme son nom l'indique, fonctionne avec une base 16. Chaque rang (en allant toujours vers la gauche) équivaut à un poids de 16 élevé à une puissance de plus en plus grande. Pour disposer de seize chiffres différents, on fait appel à l'alphabet; les lettres A à F représentant les «chiffres» de 10 à 15.
Examinons maintenant le poids de chaque rang en nous contentant des quatre rangs suivants :
Voyons déjà avec ceux-ci, le plus grand nombre exprimable: FFFF (H). Pour l'obtenir en décimal, on multiplie le poids de chaque rang par F (soit 15), ce qui nous donne :
Conversion hexa-binaire et vice-versa L'écriture de 65535 nécessite:
Un autre intérêt et de taille, la conversion hexa-binaire devient un jeu d'enfant. En effet, les chiffres 0 à F (0 à 15) représentent un quartet (4 bits). Ainsi, en prenant le cas de la conversion binaire-hexa-décimal:
Le codage hexadécimal considère chaque quartet comme possédant 4 bits valant 8, 4, 2 et 1. Le quartet fort 1010 est lu comme 10 (8 + 2) donnant A en hexa, alors qu'il est traduit 128 + 32 pour sa représentation décimale (à droite). N'oubliez pas que A (10) se trouve dans un rang de poids 16. 16 x 10 donne bine 128 + 32. La conversion inverse, hexadécimal-binaire, reste aussi simple:
Test 10 - Pour rire, voici quelques transcriptions hexa-binaire et binaire hexa à effectuer. N'oubliez pas de former les quartets en partant de la gauche du nombre binaire. Si le dernier quartet n'est pas complet, aucune importance. Nous avons déjà souligné que les 0 sur la gauche étaient inutiles. Conversion décimal-hexa Pour ce type de conversion, on divise le nombre par 4096, le reste par 256, puis le reste par 16. Le reste final ajouté aux trois résultats des divisions donne le chiffre en hexa (pour les nombres ne dépassant pas 65535). Ainsi,
Dès lors, il est simple, si l'on désire 44179 (D) en binaire, de transformer AC93 (H) suivant la méthode évoquée plus haut. Transformer 44179 (D) directement en binaire serait bien plus fastidieux. Test 11- Au travail, aidez-vous d'une calculatrice pour les divisions.
|