IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
logo
Sommaire > F.A.Q. Assembleur x86
        Qu'est-ce qu'un x86 ?
        Où trouver des informations sur le microprocesseur ?
        C'est quoi Ring 0, Ring 1, etc... ?
        Quels sont les différents modes d'adressage d'une donnée ?
        3.1. Matériel (3)
                Comment arrêter et redémarrer le PC ?
                Comment s'écrit un boot-loader de base ?
                Comment écrire sur le port parallèle ?
        3.2. Interruptions (2)
                Comment créer ses propres interruptions ?
                Où trouver la liste des interruptions ?
        3.3. Programmation Win32 (1)
                Comment appeler les API Windows ?
        3.4. Assembleur et Delphi (1)
                Comment lier des fichiers OBJ à un programme Turbo Pascal / Borland Pascal / Delphi ?

rechercher
precedent    sommaire    suivant    telechargermiroir


Qu'est-ce qu'un x86 ?
auteur : Romain Tartière (Smortex)
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.


Où trouver des informations sur le microprocesseur ?
auteur : 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 ou http://www.amd.com (Ou autre selon le microprocesseur que l'on possède).


C'est quoi Ring 0, Ring 1, etc... ?
auteur : 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.


Quels sont les différents modes d'adressage d'une donnée ?
auteur : Alcatîz
  • Adressage direct : l'adresse de la donnée fait partie de l'instruction :

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 :

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 :

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 :

mov ax,[cx]
Il existe différents adressages indirects :

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

mov ax,Truc [bx]
mov ax,[bp]
mov ax,[si]
mov ax,[di]
Basé-indexé (avec éventuellement ajout d'un offset) :

mov ax,[bp][di]
mov ax,Truc [bx][si]
Ce type d'adressage est très utile pour gérer des tableaux.


rechercher
precedent    sommaire    suivant    telechargermiroir

Consultez les autres F.A.Q's


Valid XHTML 1.1!Valid CSS!

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 © 2007 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni 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.