EXERCICES D’ASSEMBLEUR ET DE MACRO-ASSEMBLEUR J. RIVEIRE RESUME Programmer, c'est organiser. Si les langages les plus évolués offrent des outils de structure adaptés aux traitements algorithmiques, en revanche, l'assembleur laisse au programmeur le soin de gérer lui-même tous ces problèmes. Cette liberté est souvent cause de désarroi devant les multiples solutions possibles. Elle engendre des programmes mal écrits, difficiles à relire, presque impossibles à mettre au point ou à maintenir. Ces "Exercices d'assembleur et de macro-assembleur" se proposent de guider le programmeur dans les choix suivants ; quelle est la meilleure façon de concevoir une boucle du point de vue de la structure du programme, du point de vue de la maintenance et de la mise au point ? Comment paramétrer un programme, comment établir la liaison avec un sous. programme, comment utiliser le macro-langage ? Cet ouvrage propose des exercices de difficulté progressive destinés à amener le lecteur à réfléchir à la manière d'organiser un programme en assembleur. Il s'inspire des méthodes de programmation structurée et sera utile à ceux qui pratiquent déjà l'assembleur comme à ceux qui s'y initient, en leur évitant les désagréments de l'apprentissage par l'erreur Jacques RIVIERE est également l'auteur de "La programmation en assembleur" paru dans la série Dunod - Informatique. TABLE DES MATIERES 1 ELEMENTS DE BASE 1.1 Présentation des programmes 1.2 Les «trucs» de l'assembleur Enoncés des exercices 1 à 6 Corrigés des exercices 1 à 6 2. BOUCLES, POINTEURS et INDEX 2.1 Méthode Exercice 7 PGZERO, remplacer les espaces par des zéros Exercice 8 PGCHIF, test à numérique Exercice 9 HORNER, conversion décimal/binaire sans CVB Exercice 10 TRAD, traduction d'une chaîne héxadécimale en code éditable sans TR Exercice 11 VISU, identique à TRAD mais avec UNPK et TR 9 9 15 17 18 20 22 3 BRANCHEMENTS CALCULES, TABLES DE BRANCHEMENTS 3.1 Méthode 3.2 Branchement calculé et instruction TRT Exercice 12 AUTO, automate de reconnaissance d'un identificateur Exercice 13 COMPRESS, compression d'espaces 24 24 25 26 33 4 MACRO-LANGAGE et SOUS-PROGRAMMES Exercice 14 SOMME, la macro SOMME Exercice 15 MUL, la macro de multiplication Exercice 16 MACLIST, macro de génération d'une structure de liste Exercices 17 à 20 Un système de macros: PROLOGUE et EPILOGUE, REPETER et FINREP Exercice 21 VISUVAR, appel de sous-programme, traitement de longueurs variables (EX) Exercice 22 MATRICE, édition d'un tableau à deux dimensions Exercice 23 TRIALPHA, un tri alphabétique Exercices 24 et 25 LIRE et ECRIRE, macros de lecture et écriture 37 38 38 41 ANNEXES Table de codage des caractères Index alphabétique des instructions Directives de l'assembleur Caractéristiques des constantes Mnémoniques étendus BIBLIOGRAPHIE TOP 1 1 3 4 7 43 50 53 56 61 63 64 66 69 69 70 71