Td1 corr Université Paris-Nord Institut Galilée Licence - er semestre L Année - Travaux dirigés programmation en mini-assembleur L ? objectif de ce TD est de vous familiariser avec le cycle d ? exécution d ? un processeur et avec la notion de ux d ? instr

Université Paris-Nord Institut Galilée Licence - er semestre L Année - Travaux dirigés programmation en mini-assembleur L ? objectif de ce TD est de vous familiariser avec le cycle d ? exécution d ? un processeur et avec la notion de ux d ? instructions Pour cela il vous est demandé d ? écrire de petits programmes dans le langage assembleur présenté en cours et de simuler leur exécution par le processeur Correction Note aux chargés de TD ?? Dans le texte des corrections se trouvent également quelques explications de correction Bien entendu vous n ? avez pas à en parler aux étudiants boucle for gcc -S etc ?? Amil est très rudimentaire dans ses possibilités d ? écrire des commentaires Dans cette feuille il y a des commentaires ligne à ligne mais aussi une tentative d ? indiquer o? sont les di ?érents blocs de code dans un style balise xml html une ligne avec en commentaire signale la première ligne du bloc bloc une ligne avec en commentaire signale la dernière ligne du bloc et une ligne avec en commentaire signale l ? unique ligne du bloc bloc ?? les traces contiennent une colonne instructions cette colonne n ? a pas lieu d ? être dans les corrections elle aide juste à relire la trace qui est générée automatiquement CCycles CP instruction r INIT lecture r ecriture r stop Figure ?? Simulation de la copie de valeur Jeu d ? instructions simpli ?é stop Arrête l ? exécution du programme noop N ? e ?ectue aucune opération saut i Met le compteur ordinal à la valeur i sautpos ri j Si la valeur contenue dans le registre i est positive ou nulle met le comp- teur de programme à la valeur j valeur x ri Initialise le registre i avec la valeur x lecture i rj Charge dans le registre j le contenu de la mémoire d ? adresse i ecriture ri j Écrit le contenu du registre i dans la mémoire d ? adresse j inverse ri Inverse le signe du contenu du registre i add ri rj Ajoute la valeur du registre i à celle du registre j la somme obtenue est placé dans le registre j soustr ri rj Soustrait la valeur du registre i à celle du registre j la di ?érence obtenue est placé dans le registre j mult ri rj Multiplie par la valeur du registre i celle du registre j le produit obtenue est placé dans le registre j div ri rj Divise par la valeur du registre i celle du registre j le quotient obtenue arrondi à la valeur entière inférieure est placé dans le registre j Instructions plus avancées et ri rj E ?ectue le et bit à bit de la valeur du registre i et de celle du registre j Le résultat est placé dans le registre j lecture ri rj Charge dans le registre j le contenu de la mémoire dont l ? adresse est la valeur

  • 73
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Aucune attribution requise
Partager