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 1000 1011 11 00 0011 8BC3 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) d)@data = 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 10010010b 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 65535 cc dw -28645 dd dw 0abh ee dw 10010010b 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 dd2305123451 cccc dd-286450451 dddd dd0abcdef12h eeee dd 1111 0000 1111 000 0000 1111 1000 10010b 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