在wiki。
test arg1, arg2
我可以看到根据这些改变了标志:
AF未定义
所以我的问题是:
什么是 BitWiseXorNor ?什么是最大?
答案 0 :(得分:4)
PF是一个奇偶校验标志,表示低字节中的位奇偶校验。因此,如果得到的位数是偶数,则设置它。如果位数是奇数,则不设置。
维基文本有点令人困惑,但BitWiseXorNor
函数在逻辑上看起来是......
bool bwxnor(bool b0, bool b1, bool b2, bool b3, bool b4, bool b5, bool b6, bool b7) {
return ~(((((((b0 ^ b1) ^ b2) ^ b3) ^ b4) ^ b5) ^ b6) ^ b7)
}
另一种思考PF的方法是1 - (sum(temp[0:7]) % 2)
。
答案 1 :(得分:0)
BitWiseXorNor,一个假设,意味着 - 将参数的所有位异或,然后反转。 Max
表示最大位位置。 7表示一个字节,15表示一个字,31表示双字,等等。所以Temp[Max-1:0]
表示Temp的所有位,除了最左边的一个。
如果输入中存在奇数个1位,则将位串中的所有位进行异或运算产生1,如果偶数则为0。这是奇偶校验标志(PF)应该接收的值的倒数。反转XOR运算的结果可以得到PF的值。
我可能错了Max。也许这意味着位数 - 字节为8,字为16,等等。我可以从Temp的数据类型中推断出来。