Intel Pentium CPU Instruction Set Reference
BSF instruction - Bit Scan Forward
| Code |
Mnemonic |
Description |
| 0F BC |
BSF r16, r/m16 |
Bit scan forward on r/m16 |
| 0F BC |
BSF r32, r/m32 |
Bit scan forward on r/m32 |
Description
Searches the source operand (second operand) for the least significant set bit (1 bit). If a least significant 1 bit is found, its bit index is stored in the destination operand (first operand). The source operand can be a register or a memory location; the destination operand is a register. The bit index is an unsigned offset from bit 0 of the source operand. If the contents source operand are 0, the contents of the destination operand is undefined.
| Operands |
Bytes |
Clocks |
| r16, r16 |
3 |
6 - 34 |
NP |
| r32, r32 |
3 |
6 - 42 |
NP |
| r16, m16 |
3 + d(0, 1, 2) |
6 - 35 |
NP |
| r32, m32 |
3 + d(0, 1, 2, 4) |
6 - 43 |
NP |
Flags
| ID |
unaffected |
DF |
unaffected |
| VIP |
unaffected |
IF |
unaffected |
| VIF |
unaffected |
TF |
unaffected |
| AC |
unaffected |
SF |
undefined |
| VM |
unaffected |
ZF |
sets to 1 if all the source operand is 0; otherwise, is cleared |
| RF |
unaffected |
AF |
undefined |
| NT |
unaffected |
PF |
undefined |
| IOPL |
unaffected |
CF |
undefined |
| OF |
undefined |