6
Système d’exploitation : Assembleur Semaine 01 Introduction

Système d’exploitation : Assembleur

  • Upload
    gratia

  • View
    30

  • Download
    0

Embed Size (px)

DESCRIPTION

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 - PowerPoint PPT Presentation

Citation preview

Page 1: Système d’exploitation : Assembleur

Système d’exploitation : Assembleur

Semaine 01Introduction

Page 2: Système d’exploitation : Assembleur

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é

Page 3: Système d’exploitation : Assembleur

Programme C Programme ASM

main (){

printf(’’bonjour’’);}

.model small

.dataa db ‘bonjour$’

.codemov ax,@datamov ds,axlea dx,amov ah,09hint 21hmov ax,4C00hint 21hend

Page 4: Système d’exploitation : Assembleur

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.

Page 5: Système d’exploitation : Assembleur

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 unsigned int (40000)

Page 6: Système d’exploitation : Assembleur

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…