有没有什么指令能直接把某一位的二进制拿出来呢?
例如
100110
我要第 4位 即是 0
有没有这样的一条指令呢?
我看了看手册,里面只有 BT 比较适合
但是都是把它拿到CF去.
我还有使用ADC之类的指令才能拿出来.有没有其他更好的指令呢?
[解决办法]
你想把位拿到哪里去?bt很适合鸟
[解决办法]
可以用TEST+SETcc指令。
xor ecx,ecx
test eax,8 ; 测试bit4
setnz cl ; 结果在cl/cx/ecx中
[解决办法]
你这样要获得确切的某一位也是要三条指令的,而且BT+ADC更慢。
[解决办法]
汇编版区好冷清啊,来学习了
[解决办法]
用经典指令做也可以的额,如下:
mov al,00100110b
and al,00001000b
shr al,3
没必要用复杂的指令.
这里就只用了一个寄存器.够节约寄存器的了.
[解决办法]
该回复于2012-10-18 08:37:18被版主删除
[解决办法]
该回复于2012-10-18 08:37:18被版主删除