2

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

如果我这样做:

bset BITS,80

我是在两者之间执行 AND 还是 OR 操作?我的参考指南说这样bset做:

M <= M + mask

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

4

1 回答 1

2

位设置和清除分别意味着 ORing 和 ANDing,按位。BSET 应该做 OR,而 BCLR 应该有效地做 AND。

可能是 BCLR 只是简单地用你给它的位向量做 AND,或者 BCLR 用位向量的补码做 AND(我的猜测),这取决于指令集的设计者有多好。

于 2012-12-12T22:49:25.170 回答