Académique Documents
Professionnel Documents
Culture Documents
GENERALITES
Exemples :
- L’instruction MOV
Les Instructions de transfert de données n’affectent pas les indicateurs du Registre FLAG
La Pile est une structure (Zone Mémoire) qui sert à sauver temporairement des informations
Méthode LIFO (Last IN, First OUT ) = ( le dernier empilé sera le premier desempilé )
-Lorsqu’une instruction PUSH est rencontrée , le registre SP (Stack Pointer) est d’abord
decrementé de 2 ( un élement = 2 bytes) et le contenu du registre spécifié est copié dans
l’element numero SP de la PILE ( adresse SS :SP )
-Pour une operation POP , l’element numero SP de la liste est copié dans le registre specifié
et SP est incrementé de 2
PUSH reg
POP reg
reg est un Registre de 16 bits
mem est une zone Mémoire de 16 bits
EXEMPLE :
On aura
100
98 1 1er Elément (rempli)
96 SP 2 2e Elément (rempli)
94 3e Elément (vide)
NB : La Pile pourra être utilisée pour effectuer des opérations de transfert qui ne sont pas
autorisées
Ex :
MOV DS, ES ; Transfert non autorisé entre Registre de Segment
EX 1 :
Modifier la valeur du registre FLAG
EX 2 :
Si on souhaite effectuer une opération arithmétique mais on ne souhaite pas que les
indicateurs soient affectés
Exemple :
; ……Initialisations
PUSH DS
POP ES ; ES DS
MOV SI, OFFSET Texte1 ; SI Adresse de Texte1
MOV DI, OFFSET Texte2 ; DI Adresse de Texte2
; les textes sont maintenant prèts à être manipulés
MOV AL, [SI] ; AL ‘C’ (de ‘Ceci….’)
MOV AH, [DI] ; AH ‘V’ (de ‘Voici….’)
CMP AH, AL ; compare les 2 caractères Indicateurs affectés
; il faudrait réagir en fonction du Résultat de la comparaison
MOV AL, [SI+1] ; AL ’ e ‘ (de ‘Ceci….’)
MOV AH, [DI+1] ; AH ‘ o’ (de ‘Voici….’)
CMP AH, AL
………
………..
; Voici comment transferer le contenu de Texte2 dans Texte3
; Etc……………………..
Exemple :
; Initialisations
PUSH DS
POP ES ; ESDS
; etc……
L’Instruction REP
NB :
Le nombre de répétition sera préalablement placé dans le registre CX.
Cette instruction REP n’est valable que pour les opérations sur les chaires de caractères
Exemple :
; Initialisation
PUSH DS
POP ES ; ES DS
NB : C’est simplifié !
Les Instruction CMPSB et CMPSW
; au lieu de
; On écrit simplement
CMPSB
V-4 Les Instructions d’Appel aux Interruptions
Un ordinateur est bien entendu équipé de toutes sortes de périphériques dont les plus
importants :
Le clavier
L’écran
Les Disques
L’Imprimante
Etc……
Pour accéder à ces périphériques, nous pouvons demander l’aide de MS-DOS
A chaque périphérique correspond une fonction portant un NUMERO à laquelle le
programme doit transmettre des paramètres spécifiant le type de « Service Souhaité ».
Ceci se fait par l’intermédiaire des Registres
Ces FONCTIONS sont appelées INTERRUPTION S
INT imm
Cette instruction appelle l’Interruption dont le Numéro est spécifié par l’Operande.
Le numéro du service souhaité sera généralement installé dans AH avant l’appel.
Exemple :
MOV AH, 0 ; AH 0
; Numéro de service pour imprimer le caractère dans AL
MOV AL,65 ; AL Code ASCII d’un caractère
INT 17h ; Interruption 17h = Imprimante
Fin du Programme
INT 20
NOP