5.2.6 位操作指令

1、位扫描指令(Bit Scan Instruction)

指令的格式:BSF/BSR Reg, Reg/Mem     ;80386+

受影响的标志位:ZF

位扫描指令是在第二个操作数中找第一个“1”的位置。如果找到,则该“1”的位置保存在第一操作数中,并置标志位ZF为1,否则,置标志位ZF为0。

根据位扫描的方向不同,指令分二种:正向扫描指令和逆向扫描指令。

、正向扫描指令BSF(Bit Scan Forward)从右向左扫描,即:从低位向高位扫描;
、逆向扫描指令BSR(Bit Scan Reverse)从左向右扫描,即:从高位向低位扫描。

(a) BSF

(b) BSR

图5.10 位扫描指令的功能示意图

例如:

MOV AX, 1234H
BSF CX, AX       ;指令执行后,(CX)=2
BSR CX, AX       ;指令执行后,(CX)=12