Presenatationassembleur 2010

Assembleur CNiveaux de programmation ? Niveaux de programmation circuit logiques unité de traitement micro-instructions UAL chemins de données Unité de commande suite de micro-pgme suite de micro-instructions Codop langage machine suite de ADD A assembleur remplacer les codop JZ par des mnémoniques Djamal Reba? ne CStructure d ? un programme assembleur TITLE nom donner un nom au programme PILE SEGMENT STACK déclaration d ? un segment de pile dont le nom est pile PILE ENDS ?n de la déclaration de la pile DONNEE SEGMENT déclaration d ? un segment de données qui va contenir les variables DONNEE ENDS ?n de la déclaration de données LECODE SEGMENT déclaration du segment de code qui va contenir le code Debut étiquette d ? indication du point d ? entrée du code LECODE ENDS ?n de la déclaration du code END Debut ?n du point d ? entrée du code Djamal Reba? ne CExemple TITLE prog asm Exemple sur ROL pour mettre un commentaire on écrit Pile segment stack dw dup Pile ends segemnt de pile DATA segment DATA COMPTE DATA ends segement de donnée DW F H DB CODE segment segment de code MAIN ASSUME CS CODE DS DATA MOV AX DATA MOV DS AX XOR BL BL MOV DL MOV AX DATA ENCORE ROL AX JNC PROCHAIN INC BL PROCHAIN DEC DL JNZ ENCORE MOV COMPTE BL Mettre BL à ou bien SUB rotation fois Rotation a gauche a droite aussi si on préfère Test si CF Si CF incrémenter le compteur du nombre de ? ? répéter fois encore une fois si ce n ? est pas ?ni sauvegarder le résultat dans la case mémoire COMPTE MAIN MOV AH Ch INT h ENDS END MAIN Djamal Reba? ne CPourquoi les segments À l'origine - Pour pouvoir adresser plus de Ko de mémoire dans un programme car les registres sont sur bits En pratique aujourd'hui - Permet de séparer clairement des zones mémoires selon leur rôle Exemple la pile ne peut pas être écrasée par des données ou déborder sur des données code Mais cela est contraignant Djamal Reba? ne CSuite Adressage sur bits avec registres registres bits peut coder adresses sur bits Pour uniquement bits car les bus d ? adresse sur les processeurs sont sur bits Décale le premier registre de bits et l'additionne au second Adresse notée A B Adresse réelle A B ? ? ? Exemple les nombres sont en hexa ? EE correspond à l'adresse EE EE ? Décaler de bits en binaire revient à décaler d'un chi ?re en hexa Djamal Reba? ne CSuite Nous avons segments d'adresses CS DS SS ES ? utiliser registres pour adresser des mots mémoires Le premier est le registre de segment - Le second un registre général On l'appelle l'o ?set décalage Addresse segment o ?set ? Exemples - CS IP adresse de la prochaine instruction à exécuter - DS SI adresse d'une donnée - SS SP adresse du haut de la pile Djamal Reba? ne C ? Vos programme

  • 48
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Aucune attribution requise
Partager
  • Détails
  • Publié le Oct 04, 2021
  • Catégorie Law / Droit
  • Langue French
  • Taille du fichier 205.4kB