BSR | Bit Scan Reverse
parcours de Bit vers l'arrière |
Parcourt la valeur dans un registre ou un emplacement mémoire (second opérande) à la recherche du bit posé le plus signifiant. Si un bit posé est trouvé, l'instruction nettoie le drapeau Zéro (ZF) et stocke l'index du bit le plus signifiant dans un registre de destination (premier opérande). Si le second opérande contient 0, l'instruction positionne ZF à 1 et ne modifie pas le contenu du registre de destination. L'index du bit est un décalage non signé à partir du bit 0 de la valeur recherchée.
Mnémonique | Opcode | Description |
BSR reg16, reg/mem16 | 0F BD /r | Parcours de bits vers l'arrière sur le contenu de reg/mem16 |
BSR reg32, reg/mem32 | 0F BD /r | Parcours de bits vers l'arrière sur le contenu de reg/mem32 |
BSR reg64, reg/mem64 | 0F BD /r | Parcours de bits vers l'arrière sur le contenu de reg/mem64 |
Instructions apparentées
BSF
rFLAGS affectés
ID | VIP | VIF | AC | VM | RF | NT | IOPL | OF | DF | IF | TF | SF | ZF | AF | PF | CF |
| | | | | | | | U | | | | U | M | U | U | U |
21 | 20 | 19 | 18 | 17 | 16 | 14 | 13-12 | 11 | 10 | 9 | 8 | 7 | 6 | 4 | 2 | 0 |
Note : les bits 31-22, 15, 5, 3 et 1 sont réservés. Un drapeau mis à 1 ou nettoyé à 0 est M (modifié). Les drapeaux non affectés sont blancs. Les drapeaux non définis sont U. |
Exceptions
Exception | Réel | 8086 virtuel | Protégé | Cause de l'exception |
Pile, #SS | X | X | X | Une adresse mémoire a dépassé la limite du segment de pile ou était non canonique. |
Protection générale, #GP | X | X | X
| Une adresse mémoire a dépassé la limite d'un segment de données ou était non canonique. |
| | X
| Un segment de données NULL a été utilisé pour référencer la mémoire. |
Faute de page, #PF | | X | X | Une faute de page a résulté de l'exécution de l'instruction. |
Vérification d'alignement, #AC | | X | X | Une référence mémoire non alignée a été faite pendant que la vérification d'alignement était active. |
Source : AMD x86-64 Architecture PROGRAMMER'S MANUAL Volume 3 General-Purpose and System Instructions, 24594 Rev. 3.02 August 2002.