Section courante

A propos

Section administrative du site

Assembleur 80x86

INSB

INTEL 80186+ INput String Byte

Syntaxe

INSB

Description

Cette instruction permet de demander un octet du port d'entrée/sortie et retourne le résultat dans l'adresse ES:[DI] et incrémente/décrémente le registre DI de 1 en fonction de l'état du drapeau de direction. L'adresse du port est contenu obligatoirement dans le registre DX.

Algorithme

MODULE INSB
   SI ((PE = 1) ET ((CPL > IOPL) ET (VM = 1))) ALORS * Mode protégé avec CPL > IOPL ou mode virtual 8086
      SI (n'importe quel permission de bit d'E/S pour un port d'E/S à un accès = 1) ALORS
         EXCEPTION #GP(0)
      SINON
         accumulateur ← Port(adresse)
      FIN SI
   SINON
      accumulateur ← Port(adresse)
   FIN SI
   SI DF = 0 ALORS
      (E)DI ← (E)DI + 1
   SINON
      (E)DI ← (E)DI - 1
   FIN SI

Mnémonique

Instruction Opcode Description
INSB 6Ch Lecture d'un octet dans le port spécifié par le registre DX, et met le résultat dans l'emplacement mémoire spécifié par ES:(R)DI. Enfin, incrémente et décrémente le registre (R)DI.

Exceptions

Message Mode réel Virtuel 8086 Mode protégé Description
#GP(Protection général) X X X Un ou plusieurs bits de permission d'entrée/sortie sont fixer par le TSS pour un accès au port.
  X   Une ou plusieurs permission bit d'entrée/sortie sont fixer dans le TSS d'un accès de port.
    X Le CPL est plus grand que le IOPL et une ou plusieurs bits de permission sont fixer par le TSS pour un accès au port.
    X L'opérande de destination n'est pas dans un segment non écrivable
    X Un segment de données nulle est utilisé comme référence mémoire
#PF(Faute de page)   X X Une faute de page résultat de l'exécution de l'instruction
#AC(Vérifie l'alignement)   X X Un désalignement de la référence mémoire est effectué quand une vérification d'alignement est activé

Voir également

Référence des ports d'entrée/sortie 80x86
Instruction assembleur 80x86 - Instruction OUT

Références

Le livre d'Or PC, Martin Althaus, 1992, ISBN: 2-7361-0934-1, page 813
AMD64 Architecture Programmer's Manual Volume 3: General-Purpose and System Instructions, Edition Advanced Micro Devices, Revision 3.14, September 2007, Publication No. 24594, page 120.
Intel® 64 and IA-32 Architectures Software Developer’s Manual Volume 2A: Instruction Set Reference, A-M, Edition Intel, Mars 2010, Publication No. 253666-034US, page 573 à 577.

Dernière mise à jour : Lundi, le 1 septembre 2014