Charles M. Gilmore使用2个XOR门和1个AND门的微处理器初始指南[以及汇编]中所示的全加器看起来有点奇怪。
一切看起来很好,直到A和B为1和1.当A和B为1和1时,输出为0,然后传递到AND门以产生进位的值也将为0,其中不可能是真的,因为添加两个1将使X为零,为真,但随后进位也为零,这是假的。
让我们审视所有案例:
设Ci是前一次加法的进位,A和B都是输入,X是和,而Co来自A和B的加法。
Ci = 0,A = 0,B = 1.A和B通过XOR门产生1; 1和0的加法是1.1和0通过AND门是0,这意味着没有进位,1和0到第二个XOR门意味着和为1.这是真的。遵循这种思维模式......
_______________________________
| Ci | A | B | X | Co |
---------------------------------
0 0 0 0 0
1 0 0 1 0
0 1 0 1 0
1 1 0 0 1
0 0 1 1 0
1 0 1 0 1
0 1 1 0 0?????
1 1 1 1 0?????
我在这里遗漏了什么吗? 1和1在Exclusive或逻辑中产生0。当A和B都是1时,永远不会有进位?
如果我执行以下二进制加法,你可以注意到第三列如何产生0,但是超过1:
100101
001100
------
110001
我在想错在哪里?谢谢你的时间。