Obligement - L'Amiga au maximum

Jeudi 23 novembre 2017 - 10:06  

Translate

En De Nl Nl
Es Pt It Nl


Rubriques

 · Accueil
 · A Propos
 · Articles
 · Galeries
 · Glossaire
 · Hit Parade
 · Liens
 · Liste jeux Amiga
 · Quizz
 · Téléchargements
 · Trucs et astuces


Articles

 · Actualité (récente)
 · Actualité (archive)
 · Comparatifs
 · Dossiers
 · Entrevues
 · Matériel (tests)
 · Matériel (bidouilles)
 · Points de vue
 · En pratique
 · Programmation
 · Reportages
 · Tests de jeux
 · Tests de logiciels
 · Tests de compilations
 · Articles divers

 · Articles in english
 · Articles in other languages


Twitter

Suivez-nous sur Twitter




Liens

 · Sites de téléchargements
 · Associations
 · Pages Personnelles
 · Moteurs de recherche
 · Pages de liens
 · Constructeurs matériels
 · Matériel
 · Autres sites de matériel
 · Réparateurs
 · Revendeurs
 · Presse et médias
 · Programmation
 · Développeurs logiciels
 · Logiciels
 · Développeurs de jeux
 · Jeux
 · Autres sites de jeux
 · Scène démo
 · Divers
 · Informatique générale


Jeux Amiga

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Trucs et astuces

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Glossaire

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Partenaires

Annuaire Amiga

Amedia Computer

Relec

Hit Parade


Contact

David Brunet

Courriel

 


Programmation : Assembleur - l'intérêt de l'Assembleur
(Article écrit par Little Zeus et extrait d'A-News (Amiga News) - septembre 1988)


Dans un premier temps, examinons l'intérêt de l'assembleur face aux autre langages.

Langage machine

Tout d'abord, signalons que tous les langages sans exception, sont une traduction plus ou moins longue du langage machine. Il apparaît donc évident que le langage machine est le plus rapide et le plus puissant de tous les langages puisque son exécution ne nécessite en aucun cas quelque interpréteur ou compilateur dont le travail est souvent très long et peu efficace. Il se trouve que l'assembleur est une traduction immédiate du langage machine. Nous tapons notre programme en assembleur, nous l'assemblons au moyen de l'assembleur et nous obtenons du langage machine pur.

La mémoire

Nous ne verrons pas la configuration de l'Amiga, que nous pouvons trouver dans tous les livres fournis avec la machine. Cependant, attardons-nous sur la mémoire que nous allons tenter de considérer différemment.

Nous avons peut-être toujours vu la mémoire comme un circuit électronique permettant de stocker des informations, mais pour la facilité de compréhension de l'assembleur, nous allons, pour l'instant, la considérer comme un grand placard constitué de milliers de tiroirs qui ne seront en fait rien d'autre que des cases mémoires. La programmation en assembleur ne consiste en réalité en rien d'autre que changer le contenu de ses différents tiroirs en faisant par exemple passer le contenu de l'un dans un autre. Précisons cependant que comme il existe dans le vie courante des tiroirs spécifiques aux chemises ou aux pantalons, nous aurons des tiroirs spécifiques à l'écran ou au son...

Prenons l'exemple des tiroirs spécifiques à l'écran : lorsque nous rangerons des valeurs bien déterminées dans ces derniers, nous aurons alors une image à l'écran.

0, 1 et bit

La définition que nous avons donnée de l'assembleur n'est toutefois pas bien précise et c'est à quoi nous allons essayer de remédier dans ce paragraphe. L'Amiga, comme tous les ordinateurs ne comprend que les 1 et les 0, le courant passe ou ne passe pas (système binaire). Comme il nous était bien difficile à nous, pauvres humains que nous sommes, de comprendre ce langage, nous avons tout d'abord décider de regrouper ces signaux électriques ou bits par groupes de quatre pour en former des nombres. Avec quatre chiffres ne pouvant être que des 1 ou des 0, nous ne pouvons créer que seize nombres différents d'où l'idée d'utiliser la base hexadécimale dont les nombres sont les suivants : 0 1 2 3 4 5 6 7 8 9 A B C D E F 10 11 ..." et ainsi jusqu'à l'infini.

Le grand intérêt du système hexadécimal est qu'à chaque chiffre hexadécimal correspond un quartet (ensemble de quatre bits). Si nous ne travaillions qu'avec des nombres hexadécimaux, nous ferions du langage machine mais vu qu'il est très dur de se souvenir de l'effet de chaque suite de nombres, nous utilisons un petit utilitaire, "l'assembleur" qui à chaque nombre instruction fait correspondre un petit mot bien plus parlant et bien plus facile à retenir, la mnémonique.

Instruction et adresse

Mais alors, qu'est-ce qu'un nombre instruction et qu'est-ce qu'un nombre qui ne l'est pas ?

Lorsque l'ordinateur exécute un programme machine, il procède, pour le lire, de la façon suivante : tout d'abord il rencontre un premier nombre hexadécimal qu'il considère comme un code instruction, ensuite il "regarde" le nombre suivant afin de savoir à quels tiroirs cette instruction s'adresse à moins qu'il soit implicitement dit dans le mot instruction quels tiroirs elle concernait. Nous venons de rencontrer le mot "adresse" qui possède exactement le même sens que le mot tiroir et donc du mot case mémoire.

Appuyons-nous sur un exemple : 33 FC 00 04 00 00 10 00 correspond en assembleur à "Move #4, $1000" qui a pour effet de ranger le nombre 4 dans la case mémoire $1000 où $1000 est un nombre en hexadécimal (ceci est spécifié par $ précédant le nombre). Nous nous apercevons donc qu'il est quasiment impossible de se rappeler tous les codes instructions dans la mesure où il y a 65 536 possibilités d'instructions différentes dont beaucoup sont vierges et qu'il est inimaginable (du moins pour moi) de se souvenir de l'effet de chaque instruction. De plus, comme nous le verrons la prochaine fois, la même mnémonique en assembleur s'écrit de centaines de façons différentes en langage machine suivant qu'elle est suivie d'un signe ou d'un autre.

Il est donc clair qu'en aucun cas le langage machine ne peut être programmé sans l'intermédiaire d'un quelconque assembleur. Pour un premier cours d'assembleur, cela suffira. Assimilons tout ce qui a été vu dans ce numéro afin de voir de nouveaux horizons le mois prochain : notamment différents modes d'adressages.


[Retour en haut] / [Retour aux articles]