M´ ethodologie de programmation en assembleur Philippe Preux 24 novembre 1997 T

M´ ethodologie de programmation en assembleur Philippe Preux 24 novembre 1997 Table des mati` eres 1 Introduction 3 2 M´ ethodologie 4 2.1 M´ ethodologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.2 Aper¸ cu du langage d’assemblage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3 Exemple 6 3.1 Programme ` a ´ ecrire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.2 Analyse et algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.3 La r´ ealisation du programme assembleur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3.3.1 Structure du programme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3.3.2 D´ efinition du corps des sous-programmes . . . . . . . . . . . . . . . . . . . . . . . . . 8 3.3.3 Traduction des expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 3.3.4 Allocation des pseudo-variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 3.3.5 Derniers ajustements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3.3.6 Programme termin´ e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 4 Guide pour la traduction de structures de haut niveau en assembleur 19 4.1 Expression arithm´ etique et logique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 4.1.1 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 4.1.2 L’affectation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 4.2 S´ equence d’instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 4.3 Les tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 4.3.1 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 4.3.2 Conditions simples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 4.3.3 La condition est une expression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 4.3.4 Conditions compos´ ees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 4.4 Les boucles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 4.4.1 Boucle tant-que . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 4.4.2 Boucle r´ ep´ eter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 4.4.3 Boucle pour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 4.5 Proc´ edures et fonctions : principe des sous-programmes . . . . . . . . . . . . . . . . . . . . . . 25 4.5.1 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 4.5.2 Appel d’un sous-programme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 4.6 Sous-programmes avec param` etres et variables locales . . . . . . . . . . . . . . . . . . . . . . 26 4.6.1 Passage de param` etre en entr´ ee du sous-programme . . . . . . . . . . . . . . . . . . . 26 4.6.2 R´ eception des param` etres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 4.6.3 Variables locales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 4.6.4 Valeur de retour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 4.7 Traduction des pseudo-variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 4.7.1 Les variables globales du programme . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 4.7.2 Les variables temporaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 1 4.7.3 Les instructions de multiplication et de division . uploads/Ingenierie_Lourd/ assembleur.pdf

  • 33
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager