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

来源:互联网 发布:金和网络财报2017 编辑:程序博客网 时间:2024/06/06 08:34
;BSF(Bit Scan Forward): 位扫描找1, 低 -> 高
;BSR(Bit Scan Reverse): 位扫描找1, 高 -> 低
 
找到是 1 的位后, 把位置数给参数一并置 ZF=0

找不到1时, 置 ZF=1

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

0 0