Best prsenatationassembleur
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 Pile segment stack dw dup Pile ends DATA segment DATA DW COMPTE DATA ends F H DB CODE segment 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 MOV AH Ch INT h MAIN 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 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 ? ? ? C Suite 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 sources écrits en assembleur doivent avoir l extension asm pour ASseMbler Djamal Reba? ne CDéclaration de variables Les variables se déclarent de la manière suivante datas db datas est un byte non initialisé datas db FFh datas est un byte initialisé
Documents similaires










-
54
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Jui 18, 2021
- Catégorie Administration
- Langue French
- Taille du fichier 198.1kB