6.asm-BSF、BSR: 位扫描指令(找到最开始的1所在位置)

;BSF(Bit Scan Forward): 位扫描找1, 低 -> 高
;BSR(Bit Scan Reverse): 位扫描找1, 高 -> 低
 
找到是 1 的位后, 把位置数给参数一并置 ZF=0

找不到1时, 置 ZF=1

__asm
	{
		pushad
		mov ebx, 000011100b
		bsf eax, ebx// eax=2
		bsr eax, ebx// eax=4
		popad
	}
2表示从低到高找,0,1,2位找到1
4表示从高到低找,最高位1在第4位(0,1,2,3,4)

你可能感兴趣的:(6.asm-BSF、BSR: 位扫描指令(找到最开始的1所在位置))