60 likes | 205 Views
Système d’exploitation : Assembleur. Semaine 01 Introduction. Assembleur. Pourquoi l’assembleur ? Langage de bas niveau : Exécution : le + rapide Occupe - de place en mémoire Certaines fonctions : uniquement en assembleur Langage de prédilection pour : Contrôler les aspects matériels
E N D
Système d’exploitation : Assembleur Semaine 01 Introduction
Assembleur • Pourquoi l’assembleur ? • Langage de bas niveau : • Exécution : le + rapide • Occupe - de place en mémoire • Certaines fonctions : uniquement en assembleur • Langage de prédilection pour : • Contrôler les aspects matériels • Écrire des gestionnaires de périphériques • Écrire des programmes résidants • Écriture de sous-routines : • accès au dos, au bios, aux périphériques • Aide à la compréhension du langage C: • fonctionnement de la pile,... • Inconvénients • Programme décomposé en actions élémentaires : + long à écrire • Programme écrit pour un µpro donné
Programme C Programme ASM main () { printf(’’bonjour’’); } .model small .data a db ‘bonjour$’ .code movax,@data movds,ax leadx,a mov ah,09h int 21h movax,4C00h int 21h end
Rappels • Arithmétique binaire : • Représentation des nombres positifs. • Représentation des nombres négatifs : • Complément à 1 : • Inverser tous les bits du nombre positif correspondant • Complément à 2 : • Inverser tous les bits du nombre positif correspondant • Ajouter 1 • Pour transformer un nombre en son complément à deux, garder tous les chiffres depuis la droite jusqu'au premier 1 (compris) puis inverser tous les suivants.
Rappels • Arithmétique binaire : • Dépassement de capacité : • Soit 2 variables de type int 16 bits : 20000 + 20000 = ?20000 + 20000 = 0100 1110 0010 0000b +0100 1110 0010 0000b = 1001 1100 0100 0000 b (40000) (-0110 0011 1100 0000 b) (-25536) résultat incorrect si int (-25536) résultat correct si unsignedint(40000)
Rappels • Arithmétique binaire : • Notation hexadécimale • Pourquoi ? • Avoir une notation plus simple à manipuler et retenir • Comment ? • Regrouper par groupes de 4 bits • passage binaire hexadécimal • passage hexadécimal décimal • MSB et LSB • Most Signifiant Bit = de poids fort • Least Signifiant Bit = de poids faible • Exercices…