bsf

386 and later

Bit Scan Forward

bsf reg16, r/m16 | bsf reg32, r/m32 | bsf reg64, r/m64
  • BSF searches for the least significant set bit in its source (second) operand, and if it finds one, stores the index in its destination (first) operand. If no set bit is found, the contents of the destination operand are undefined. If the source operand is zero, the zero flag is set.

  • BSR performs the same function, but searches from the top instead, so it finds the most significant set bit.

Bit indices are from 0 (least significant) to 15 or 31 (most significant). The destination operand can only be a register. The source operand can be a register or a memory location.

Loading...

Forms

Every form of bsf the assembler accepts, from NASM's own instruction table. The second column is the processor that introduced the form; a badge marks a form that needs an extension, that is lockable, or that long mode dropped.

FormSinceNotes
bsf reg16, r/m16386
bsf reg32, r/m32386
bsf reg64, r/m64x86-64long