(Bit Scan Forward)
Побитное сканирование вперед
Схема команды:
| bsf результат,источник
|
Назначение: для проверки наличия единичных битов в операнде источник.
Синтаксис
Алгоритм работы:
- просмотр битов операнда источник, начиная с бита 0 и заканчивая битом 15/31, до тех пор, пока не встретится единичный бит;
- если встретился единичный бит, то флаг zf устанавливается в 0 и в регистр первого операнда записывается номер позиции, где встретился единичный бит. Диапазон значений зависит от разрядности второго операнда: для 16-разрядного операнда — это 0...15; для 32-разрядного — это 0...31;
- если единичных битов нет, то флаг zf устанавливается в 1.
Состояние флагов после выполнения команды:
Применение:
Команду bsf используют при работе на битном уровне для определения позиции в операнде крайних справа единичных битов.
Например, сдвинем содержимое регистра bx вправо таким образом, чтобы нулевой бит стал единичным:
.386 mov bx,0002h ;bx=0000 0010b... bsf cx,bx ;cx=0001h jz null shr bx,cl ;bx=0000 0001b...null: |
См. также: урок 9, 12 и команду bsr