Справочник по языку Ассемблера IBM PC

       

BSF


(Bit Scan Forward)

Побитное сканирование вперед

 

Схема команды:  bsf результат,источник 

Назначение: для проверки наличия единичных битов в операнде источник.


Алгоритм работы:

просмотр битов операнда источник, начиная с бита 0 и заканчивая битом 15/31, до тех пор, пока не встретится единичный бит;

если встретился единичный бит, то флаг zf устанавливается в 0 и в регистр первого операнда записывается номер позиции, где встретился единичный бит. Диапазон значений зависит от разрядности второго операнда: для 16-разрядного операнда — это 0...15; для 32-разрядного — это 0...31;

если единичных битов нет, то флаг zf устанавливается в 1.



Состояние флагов после выполнения команды:

06
ZF
r

Применение:


Команду 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 и команду



Содержание раздела