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 d’exploitation : Assembleur

Présentations similaires


Présentation au sujet: "Système d’exploitation : Assembleur"— Transcription de la présentation:

1 Système d’exploitation : Assembleur
Semaine 04 Introduction à l’assembleur

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

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

4 Premier programme en Assembleur (1/2)
Construction d’une ligne d’instruction en mnémonique : 4 zones: LABEL CODE-OPERATION OPERANDE ;COMMENTAIRES L’instruction MOV : instruction la plus utilisée en Assembleur L’instruction ADD Addition de 4 et 3 Premier aperçu sur les interruptions qu’est-ce qu’une 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 END Notre addition Conversion en ASCII Affichage Retour au DOS Directives de compilation

6 Table des codes ASCII

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

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

9 Les types de données (1/3)
La directive db syntaxe : [symbole] db valeur [,valeur,…] db = define byte - réservation d’une donnée sur 8 bits exemples : a db 153 b db c db d db 0abh e db b réservation d’une donnée non initialisée : f db ? réservation d’un vecteur de données : vect1 db 3,12,-7 vect2 db 0ah,101b,-17 l’opérateur DUP v1 db 3 dup (10) v2 db 2 dup (3,12,-7,0ah) 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 syntaxe : [symbole] dw valeur [,valeur,…] dw = define word - réservation d’une donnée sur 16 bit attention à l’ordre des octets en mémoire exemples : aa dw bb dw cc dw dd dw 0abh ee dw b réservation d’une donnée non initialisée : ff dw ? réservation d’un vecteur de données : vect1 dw 3,12,-7 vect2 dw 0ah,101b,-17 l’opérateur DUP

11 Les types de données (3/3)
La directive dd syntaxe : [symbole] dd valeur [,valeur,…] dd = define double - réservation d’une donnée sur 32 bit attention à l’ordre des octets en mémoire exemples : aaaa dd 1534 bbbb dd cccc dd dddd dd 0abcdef12h eeee dd b réservation d’une donnée non initialisée : ffff dd ? réservation d’un vecteur de données : vectA dd 314,14012,-7 vectB dd 0fh,10401b,-17 l’opérateur DUP

12 Structure d’un 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 l’ALU : 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 d’exploitation : Assembleur"

Présentations similaires


Annonces Google