La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Système dexploitation : Assembleur Semaine 04 Introduction à lassembleur.

Présentations similaires


Présentation au sujet: "Système dexploitation : Assembleur Semaine 04 Introduction à lassembleur."— Transcription de la présentation:

1 Système dexploitation : Assembleur Semaine 04 Introduction à lassembleur

2 Programmer en Assembleur 1/2 Mnémoniques et code binaire Encodage dun programme (Notepad++) Assemblage (MASM) – transformation du code assembleur en langage machine MOV AX,BX BC3 Programme source (.asm) Programme binaire (.obj) Programme exécutable (.exe) Assemblage par MASM Edition de liens par LINK

3 Programmer en Assembleur 2/2 Edition de liens (LINK) – Création dun fichier exécutable à partir d'un ou plusieurs fichiers objets. Debugger (Ollydbg): – Permet une exécution pas-à-pas du programme avec la possibilité dobserver les valeurs présentes dans les registres,… Programme source (.asm) Programme binaire (.obj) Programme exécutable (.exe) Assemblage par MASM Edition de liens par LINK

4 Premier programme en Assembleur (1/2) Construction dune ligne dinstruction en mnémonique : 4 zones: LABEL CODE-OPERATION OPERANDE ;COMMENTAIRES Linstruction MOV : instruction la plus utilisée en Assembleur Linstruction ADD Addition de 4 et 3 Premier aperçu sur les interruptions – quest-ce quune interruption ? – INT 21h – notion de service

5 Premier programme en Assembleur (2/2).MODEL SMALL.CODE MOV DL, 4 ADD DL, 3 ADD DL, 48 MOV AH, 2 INT 21H MOV AH, 4CH INT 21H END Notre addition Conversion en ASCII Affichage Retour au DOS Directives de compilation

6 Table des codes ASCII

7 Structure dun programme en Assembleur : Les directives 1/2 directive.model : a)avant les autres directives b)initialise le modèle à employer en fonction du code et des données (small-medium-compact-large-huge) codedataarray – small <=64k<=64k <=64k – Medium>64k<=64k <=64k – Compact<=64k <=1M <=64k – Large <=1M <=1M <=64k – Huge 64k

8 Structure dun programme en Assembleur : Les directives 2/2 directive.data : a)permet dinitialiser un segment de données b)segment clôturé par autre directive ou end directive.code : a)initialise un segment de code (et clôture le segment de données) b)contient les instructions c)si données, charger le registre DS (mettre adresse segment de données dans DS) = nom par défaut du segment de données créé par.data e)Obligation de passer par AX !(voir instruction MOV ) directive.end : a)fin du fichier source

9 Les types de données (1/3) La directive db a)syntaxe : [symbole] db valeur [,valeur,…] b)db = define byte - réservation dune donnée sur 8 bits c)exemples : a db 153 b db -53 c db 255 d db 0abh e db b d)réservation dune donnée non initialisée : f db ? e)réservation dun vecteur de données : vect1 db 3,12,-7 vect2 db 0ah,101b,-17 f)lopérateur DUP v1 db 3 dup (10) v2 db 2 dup (3,12,-7,0ah) g)Chaînes de caractères : ch1 db bonjour ch2 db bonjour ch3 db 0Ah,bonjour

10 Les types de données (2/3) La directive dw a)syntaxe : [symbole] dw valeur [,valeur,…] b)dw = define word - réservation dune donnée sur 16 bit attention à lordre des octets en mémoire c)exemples : aa dw 1534 bb dw cc dw dd dw 0abh ee dw b d)réservation dune donnée non initialisée : ff dw ? e)réservation dun vecteur de données : vect1 dw 3,12,-7 vect2 dw 0ah,101b,-17 f)lopérateur DUP

11 Les types de données (3/3) La directive dd a)syntaxe : [symbole] dd valeur [,valeur,…] b)dd = define double - réservation dune donnée sur 32 bit attention à lordre des octets en mémoire c)exemples : aaaa dd1534 bbbb dd cccc dd dddd dd0abcdef12h eeee dd b d)réservation dune donnée non initialisée : ffff dd ? e)réservation dun vecteur de données : vectA dd 314,14012,-7 vectB dd 0fh,10401b,-17 f)lopérateur DUP

12 Structure dun programme en Assembleur : Règles importantes Instruction à 2 opérandes : Opérande 1 = Destination Opérande 2 = Source exemple : mov ax, bx Données traitées par lALU : type BYTE ou WORD Dans une même instruction : utiliser le même type pour DESTINATION et SOURCE Instructions à 2 opérandes : IL FAUT UTILISER UN REGISTRE !! (destination ou source) exemple : mov ax,0ABCDh


Télécharger ppt "Système dexploitation : Assembleur Semaine 04 Introduction à lassembleur."

Présentations similaires


Annonces Google