Section courante

A propos

Section administrative du site

Assembleur 80x86

BSF

INTEL 80386+ Bit Scan Forward

Syntaxe

BSF Opérande Cible, Opérande Source

Paramètres

Nom Description
Opérande Cible Ce paramètre permet d'indiquer l'opérande recevant le résultat
Opérande Source Ce paramètre permet d'indiquer l'opérande contenant la valeur à traiter

Description

La combinaison binaire contenu dans l'Opérande Source est analysée de la droite vers la gauche jusqu'à ce que l'on rencontre un bit égal à 1. Le bit correspondant dans Opérande Cible sera alors également mis à 1 et tous les autres équivaudront à 0. Les opérandes peuvent toutefois être 2 registres ou un registre et un emplacement mémoire. Encore un dernier détail, ils doivent naturellement avoir tous les 2 le même type; soit 16 ou 32 bits.

Algorithme

MODULE BSF(Opérande Cible, Opérande Source)
   SI Opérande Source = 0 ALORS
      drapeau ZF ← 1
      Opérande Cible ← Non définie
   SINON
      drapeau ZF ← 0
      Index ← 0
      FAIRE TANT QUE bit ( Source , Index ) = 0
         IndexIndex + 1
         Opérande CibleIndex
      FIN FAIRE
   FIN SI

Mnémonique

Instruction Opcode Description
BSF reg16, reg/mem16 0Fh BCh /r Balayage de bit vers l'avant du contenu du registre/mémoire 16 bits
BSF reg32, reg/mem32 0Fh BCh /r Balayage de bit vers l'avant du contenu du registre/mémoire 32 bits
BSF reg64, reg/mem64 0Fh BCh /r Balayage de bit vers l'avant du contenu du registre/mémoire 64 bits

Exceptions

Message Mode réel Virtuel 8086 Mode protégé Description
#SS(Pile non-canonique) X X X Une adresse mémoire dépasse la limite du segment de pile ou n'est pas canonique
#GP(Protection général) X X X Une adresse mémoire dépasse la limite du segment de données ou n'est pas canonique
    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

Instruction assembleur 80x86 - Instruction BSR

Références

Le livre d'Or PC, Martin Althaus, 1992, ISBN: 2-7361-0934-1, page 803
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 65.
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 148 à 150.

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