----------------------------------------------------------------|Код Команда Число Описание ||операции тактовых || циклов || ||0F BC BSF r16,r/m16 6-42/7-43 Поразрядное сканирование || в прямом направлении слова r/m||0F BC BSF r32,r/m32 6-42/7-43 Поразрядное сканирование || в прямом направлении двойного || слова в r/m |---------------------------------------------------------------- Примечания n - это число ведущих нулевых битов. Работа команды IF r/m = 0THEN ZF <- 1; регистр <- неопределен;ELSE врем <- 0; ZF <- 0; WHILE BIT[r/m,врем] = 0 DO врем <- врем +1; регистр <- врем; OD;FI; ОписаниеКоманда BSF сканирует биты второго операнда-слова или двойного слова,начиная с бита 0. Если все биты равны 0, то устанавливается флаг ZF; впротивном случае флаг ZF очищается, а в регистр назначения загружаетсяиндекс первого найденного установленного бита. Изменяемые флагиФлаг ZF устанавливается, если все биты равны 0; в противном случае флаг ZFочищается. Исключения защищенного режима#GP(0) в случае недопустимого исполнительного адреса операнда памяти всегментах CS, DS, ES, FS или GS; #SS(0) в случае недопустимого адреса всегменте SS; #PF(код сбоя) в случае страничного сбоя; #AC дляневыравненной ссылки к памяти при текущем уровне привилегированности,равном 3. Исключения режима реальных адресовПрерывание 13, если какая-либо часть операнда лежит вне пространстваисполнительных адресов от 0 до 0FFFFH.Исключения виртуального режима 8086Те же исключения, что и для режима реальных адресов: #PF (код сбоя) длястраничных сбоев; #AC для невыравненной ссылки к памяти при текущем уровнепривилегированности, равном 3.