Section courante

A propos

Section administrative du site

Assembleur 80x86

BSR

INTEL 80386+ Bit Scan Reverse

Syntaxe

BSR 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 gauche vers la droite jusqu'à ce que l'on rencontre un bit égal à 1. Le bit correspondant dans Opérande Cible sera ensuite mis à 1 et tous les autres équivaudront à 0. Les opérandes peuvent toutefois être 2 registres ou un registre et un emplacement mémoire. Les 2 opérandes doivent naturellement avoir le même type; soit 16 ou 32 bits.

Algorithme

MODULE BSR(Opérande Cible, Opérande Source)
   SI ( Registre Destination DANS [ AX , BX, CX , DX , SI , DI , BP , SP ] ) ALORS
      Début ← 15
   SINON
      Début ← 31
   FIN SI
   SI Source = 0 ALORS
      drapeau ZF ← 1
      Destination ← Non définie
   SINON
      drapeau ZF ← 0
      IndexDébut
      FAIRE TANT QUE bit ( Source , Index ) = 0
         IndexIndex - 1
         DestinationIndex
      FIN FAIRE
   FIN SI

Mnémonique

Instruction Opcode Description
BSR reg16, reg/mem16 0Fh BDh /r Balayage de bit vers l'arrière du contenu du registre/mémoire 16 bits
BSR reg32, reg/mem32 0Fh BDh /r Balayage de bit vers l'arrière du contenu du registre/mémoire 32 bits
BSR reg64, reg/mem64 0Fh BDh /r Balayage de bit vers l'arrière 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 BSF

Références

Le livre d'Or PC, Martin Althaus, 1992, ISBN: 2-7361-0934-1, page 804
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 66.
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 151 à 153.

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