了解bset和bclr

时间:2012-12-12 22:39:45

标签: assembly bit-manipulation 68hc12

我遇到了我教授制作的一个例子,这让我质疑我对bsetbclr汇编命令的理解。

如果我这样做:

bset BITS,80

我在两者之间执行AND或OR操作吗?我的参考指南说bset执行此操作:

M <= M + mask

+是OR还是AND运算符? bclr是相同的命令,但使用掩码的补码执行操作。

1 个答案:

答案 0 :(得分:2)

位设置和清除分别表示ORing和ANDing,按位。 BSET应该做OR,而BCLR应该做有效的AND。

可能BCLR只是对你给出的位向量进行AND运算,或者BCLR对位向量的补码(我的猜测)进行AND运算,这取决于指令集的设计者有多好。