FAQ AssembleurConsultez toutes les FAQ

Nombre d'auteurs : 8, nombre de questions : 50, dernière mise à jour : 8 juillet 2013 

 
OuvrirSommaireF.A.Q. Assembleur x86

x86 fait référence a tous les microprocesseurs de PC, depuis le 8086. Cela inclut donc (Pour les x86 les plus connus) : les 8080, 286, 386, 486, 586, 686. Le numéro peut être précédé d'un 'i' : i586. Il s'agit d'un problème d'enregistrement des marques : elles doivent nécessairement débuter par une lettre.

Créé le 8 novembre 2004  par Romain Tartière (Smortex)

Il faut télécharger les DataSheets fournies par le fabricant. A cet effet, on se rendra sur le site http://www.intel.fr/content/www/fr/fr/homepage.html ou http://www.amd.com/uk/Pages/AMDHomePage.aspx (Ou autre selon le microprocesseur que l'on possède).

Créé le 8 novembre 2004  par Romain Tartière (Smortex)

Le "Ring" désigne le niveau de privilège. Il en existe quatre : de Ring 0 à Ring 3. Ils ont été créés afin de hiérarchiser les tâches du microprocesseur.
Le niveau de privilège le plus élevé est le niveau 0; il correspond au fonctionnement du Kernel du système d'exploitation. Les niveaux 1 et 2 au système d'exploitation lui même (drivers, services, etc...) et le niveau 3 aux applications de l'utilisateur.

Créé le 8 novembre 2004  par Romain Tartière (Smortex)
  • Adressage direct : l'adresse de la donnée fait partie de l'instruction :
 
Sélectionnez

mov ax,Truc
mov ax,ds:[0020h]
  • Adressage immédiat : en réalité, ce n'est pas un adressage puisque c'est la donnée elle-même qui fait partie de l'instruction :
 
Sélectionnez

mov ax,20
  • Adressage indirect : on met dans l'instruction un ou plusieurs élément(s) qui contie(nne)nt l'adresse de la donnée :
 
Sélectionnez

mov ax,[bx]

Attention ! Seuls les registres suivants peuvent contenir une adresse :
bx (registre de base dans le segment de données);
bp (registre de base dans la pile);
si et di (registres d'index dans le segment de données).

L'instruction suivante est une erreur de syntaxe :

 
Sélectionnez

mov ax,[cx]

Il existe différents adressages indirects :

Basé ou indexé simple (avec éventuellement ajout d'un offset) :

 
Sélectionnez

mov ax,Truc [bx]
mov ax,[bp]
mov ax,[si]
mov ax,[di]

Basé-indexé (avec éventuellement ajout d'un offset) :

 
Sélectionnez

mov ax,[bp][di]
mov ax,Truc [bx][si]

Ce type d'adressage est très utile pour gérer des tableaux.

Créé le 8 novembre 2004  par Alcatîz
  

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2004-2013 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.