位操作集包含BLSI - 该指令Extracts the lowest set bit from the source operand and set the corresponding bit in the destination register
您能否举一个例子来说明the lowest set bit
(操作数的二进制表示中的最后一位?)所指的内容,执行的操作是什么,以及该操作在哪个上下文或哪种应用程序中使用?
位操作集包含BLSI - 该指令Extracts the lowest set bit from the source operand and set the corresponding bit in the destination register
您能否举一个例子来说明the lowest set bit
(操作数的二进制表示中的最后一位?)所指的内容,执行的操作是什么,以及该操作在哪个上下文或哪种应用程序中使用?
最低设置位是最低有效 1 位。例如在 1010110101 1 0000 那么右边的第一个 1 位0000
是最低设置位,并_blsi_u32(0b101011010110000)
返回0b10000
该操作也已在上面的链接中描述:
temp ← (-SRC) bitwiseAND (SRC);
SF ← temp[OperandSize -1];
ZF ← (temp = 0);
IF SRC = 0
CF ← 0;
ELSE
CF ← 1;
FI
DEST ← temp;
(-SRC) bitwiseAND (SRC)
清除除最低有效 1 位之外的所有位。有关其工作原理的更多信息,请阅读
它通常用于迭代设置位,例如计算设置位的数量(虽然不是最有效的方法),或者打包/存放位: