Ajouter ce site au Favoris Imprimer cette page  
 
 
     
     
     
 

..:: Les prérequis nécessaires ::..

Le langage assembleur est très proche du langage machine (c'est-à-dire le langage qu'utilise l'ordinateur: des informations binaires , soit des 0 et des 1). Il dépend donc fortement du type de processeur . Ainsi il n'existe pas un langage assembleur, mais un langage assembleur par type de processeur. Il est donc nécessaire de connaître un minimum le fonctionnement d'un processeur pour pouvoir aborder cette partie. Un processeur réel a toutefois trop de registres et d'instructions pour pouvoir les étudier en détail.

 

..:: Plan du cours ::..

..:: Le processeur en bref ::..

Un processeur est relié à la mémoire par l'intermédiaire d'une liaison appelée bus . Les données dont le processeur a besoin sont stockées dans ce que l'on appelle des registres (ils sont notés AX, BX, CX, DX, ...). Chacun a sa propre utilité:

Nom du registre
Taille
Accumulateur AX 16 bits
Registre auxiliaire de base BX 16 bits
Registre auxiliaire ( compteur ) CX 16 bits
Registre auxiliaire de données DX 16 bits
Pointeur d'instruction IP 16 bits
Index de source SI 16 bits
Index de destination DI 16 bits
Registre segment de code CS 16 bits
Registre segment de données DS 16 bits
Registre segment de pile SS 16 bits
Registre segment supplémentaire ES 16 bits
Pointeur de pile SP 16 bits
Pointeur de base BP 16 bits

Les registres AX , BX , CX et DX sont les registres les plus utilisés pour les calculs :

  • Le registre AX sert à effectuer des calculs arithmétiques ou à envoyer un paramètre à une interruption
  • Le registre BX sert à effectuer des calculs arithmétiques ou bien des calculs sur les adresses
  • Le registre CX sert généralement comme compteur dans des boucles
  • Le registre DX sert à stocker des données destinées à des fonctions
Il s'agit là de l'utilisation de base de ces registres, mais dans la pratique ils peuvent être utilisés à d'autres fins.

Les registres AX , BX , CX et DX peuvent être utilisés par bloc d'un octet (8 bits), la lettre X de leur nom est alors remplacé par L (comme Low pour désigner les bits de poids faible) et H (pour High afin de désigner les bits de poids forts). De plus, dans les architectures x86 32 bits , ces registres ont été étendus à 32 et ont vus leur nom précédé d'un E (pour Extended , en français "étendu" ).

EAX (32 bits)
-
AX (16 bits)
-
AH (8 bits)
AL (8 bits)

 


 

Plan du cours :

Structure & compilation d'un programme
Glossaire Assembleur
Les modes d'adressages
Listes des Registres & Drapeaux
Liste des principales instructions
Les instructions de Jump
Liste des interruptions
L'interruption 21h
Notion de Pile
Les procédures
Portions de programmes utiles