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.

Décimal0123456789101112131415
Hexa0123456789ABCDEF

Examinons maintenant le poids de chaque rang en nous contentant des quatre rangs suivants :

163162161160
Soit4096256161

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 :

4096 x 15 = 61440

256 x 15 = 3840

16 x 15 = 240

1 x 15 = 15

soit 65535

Conversion hexa-binaire et vice-versa

L'écriture de 65535 nécessite:

  • un nombre de 16 bits en binaire (215),
  • cinq chiffres en décimal,
  • quatre seulement en hexadécimal.

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:

10100110(B)=128 + 32 + 4 + 2= 166
A6(H)=16 x 10 (A) = 160 + 6= 166 (D)

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:

A03B
1010000000111011

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,

44179/4096=10 soit Areste 3219
3219/256=12 soit Creste 147
147/16= 9reste 3
44179 (D)= AC93 (H)

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.

FFB2 (H) =....................... (B)
AA84 (H) =....................... (B)
4BF3 (H) =....................... (B)
FF (H) =....................... (B)
1111 0000 1111 0011 (B) =....................... (H)
101 0101 1111 1100 (B) =....................... (H)
1100 1011 0111 0011 (B) =....................... (H)
1 0011 1111 1110 (B) =....................... (H)

Guy Poli , MICROMAG

★ EDITEUR: MICROMAG
★ ANNÉE: 1990
★ AUTEUR: GUY POLI
 

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Applications » Catimp (Micromag)
» Applications » Fiche (Micromag)
» Applications » Sprite (Micromag)
» Applications » Scanner (Micromag)
Je participe au site:

» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop/c
Page créée en 296 millisecondes et consultée 712 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.