FAQ AssembleurConsultez toutes les FAQ
Nombre d'auteurs : 9, nombre de questions : 56, dernière mise à jour : 8 décembre 2017 Ajouter une question
Cette FAQ a été réalisée à partir des questions fréquemment posées sur le forum Assembleur de Developpez.com et de l'expérience personnelle des auteurs. Nous tenons à souligner que cette FAQ ne garantit en aucun cas que les informations qu'elle propose soient correctes. Les auteurs font le maximum, mais l'erreur est humaine. Cette FAQ ne prétend pas non plus être exhaustive ; vous pouvez la compléter avec vos propres questions/réponses ou proposer des corrections ou des compléments à des questions/réponses existantes.
Nous espérons que cette FAQ saura répondre à un maximum de vos questions. Nous vous en souhaitons une bonne lecture.
L'équipe Assembleur de Developpez.com.
- 3.1. Matériel (3)
- 3.2. Interruptions (2)
- 3.3. Programmation Win32 (1)
- 3.4. Programmation Linux (4)
- 3.5. Assembleur et Delphi (1)
x86 fait référence à 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.
Il faut télécharger les DataSheets fournies par le fabricant. À cet effet, on se rendra sur le site http://www.intel.com/content/www/us/...resources.html ou http://support.amd.com/en-us/search/tech-docs (ou autre selon le microprocesseur que l'on possède).
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.
Les niveaux 1 et 2 ne sont pas utilisés par Windows et Linux.
Depuis l’avènement de la virtualisation (technologie Intel VT-x ou AMD AMD-v), un nouveau niveau de privilège est apparu : le ring -1 ou ring hyperviseur. Le ring 0 est alors vu comme le ring vmx-root au niveau de l'hôte et ring vmx-non root au niveau des machines virtuelles.
SMM (System Management Mode) est aussi appelé ring -2.
- Adressage direct : l'adresse de la donnée fait partie de l'instruction :
Code asm : | Sélectionner tout |
1 2 3 | 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 :
Code asm : | Sélectionner tout |
1 2 | mov ax,20 |
- Adressage indirect : on met dans l'instruction un ou plusieurs éléments qui contiennent l'adresse de la donnée :
Code asm : | Sélectionner tout |
1 2 | mov ax,[bx] |
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 :
Code asm : | Sélectionner tout |
1 2 | mov ax,[cx] |
Basé ou indexé simple (avec éventuellement ajout d'un offset) :
Code asm : | Sélectionner tout |
1 2 3 4 5 | mov ax,Truc [bx] mov ax,[bp] mov ax,[si] mov ax,[di] |
Code asm : | Sélectionner tout |
1 2 3 | mov ax,[bp][di] mov ax,Truc [bx][si] |
Proposer une nouvelle réponse sur la FAQ
Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour çaLes 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 © 2024 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.