Académique Documents
Professionnel Documents
Culture Documents
2016 2017 Programmation en Assembleur
2016 2017 Programmation en Assembleur
CLASSE LFEC2
Adresse physique
=
(16 × segment) + offset
Exemple:
Calculer les adresses physiques à partir des adresses logiques données:
a) 08F1h : 0100h b) 3100h:27EEh
Solution (a)
@ Segment Offset
08F1 : 0100h
De De
Généraux D’adressage
segments commande
AX SP CS IP
LES
BX BP DS
DRAPEAUX
CX SI SS
DX DI ES
De De
Généraux D’adressage
segments commande
AX SP CS IP
LES
BX BP DS
DRAPEAUX
CX SI SS
DX DI ES
Pointeurs
Index
Ils sont utilisés pour les transferts de chaînes d’octets entre deux
zones mémoire
De De
Généraux D’adressage
segments commande
AX SP CS IP
LES
BX BP DS
DRAPEAUX
CX SI SS
DX DI ES
De De
Généraux D’adressage
segments commande
AX SP CS IP
LES
BX BP DS
DRAPEAUX
CX SI SS
DX DI ES
1 Introduction
Mode
d’adressage
Relatif à Basé
Basé Indexé
une base indexé
AX 10 05 AX 10 06
AMINA KESSENTINI HACHICHA
35
Modes d’adressages
Adressage Direct
Adressage
indirect
Relatif à Basé
Basé Indexé
une base indexé
MOV AL,[BX] ;
MOV M , M
AMINA KESSENTINI HACHICHA
44
Jeu d’instructions
Les instructions de transfert
Syntaxe: PUSH Opérande
- Décrémente SP de 2
- Copie Op dans la mémoire pointée par SP PUSH im
PUSH R16
PUSH word [adr] PUSH R8
Opérande Opérande + 1
Exemples :
SUB AX,BX ; AX = AX – BX soustrait le contenue de
registre BX de AX
Décrémente l'opérande
Opérande Opérande – 1
Exemples :
Opérande 0 – Opérande
Cette instruction touche uniquement les indicateurs suivants : AF, CF, OF,
PF, SF, ZF
L'opérande Op ne peut pas être une donnée, c’est soit un registre soit une position
mémoire, dans ce dernier cas, il faut préciser la taille (byte ou word)
- Opérande sur 8 bits alors il sera multiplié par AL, le résultat est sur 16 bits stocké
dans le registre AX.
- Opérande sur 16 bits alors il sera multiplié par AX, le résultat est de 32 bits stocké
dans (DX,AX).
Exemples :
MOV AL, -2
MOV AH,10
AX = -20
IMUL AH;
AL Quotient AX Quotient
AH Reste DX Reste
X NOT X
0 1
1 0
Exemple :
X Y X and Y
0 0 0
Od Od ET Os = Op . Os 0 1 0
1 0 0
1 1 1
Exemple :
MOV AX , 503H ; AX = 0000 0101 0000 0011
AND AX , 0201H;
0000 0101 0000 0011
AND 0000 0010 0000 0001
= 0000 0000 0000 0001
AMINA KESSENTINI HACHICHA
58
Jeu d’instructions
Les instructions logiques
Syntaxe: OR Od , Os
X Y X OR Y
0 0 0
Od Od OR Os = Op + Os 0 1 1
1 0 1
1 1 1
Exemple :
MOV AX , 503H ; AX = 0000 0101 0000 0011
AND AX , 0201H;
0000 0101 0000 0011
OR 0000 0010 0000 0001
= 0000 0111 0000 0011
AMINA KESSENTINI HACHICHA
59
Jeu d’instructions
Exemple d’instruction de décalage
→ entrée d’un 0 à la place du bit de poids faible ; le bit sortant passe à travers
l’indicateur de retenue CF.
60