25. オーバーフロー 4ビット符号無し整数同士の加算
■ 加算の結果が15(1111)2を
超えるとき
■ 1011+0110=10001
‣ 11+06=17>15
■ 検出条件
‣ X+Y>1111
00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15
0000000100100011010001010110011110001001101010111100110111101111
00 0000 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
01 0001 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 OV
02 0010 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 OV OV
03 0011 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 OV OV OV
04 0100 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 OV OV OV OV
05 0101 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 OV OV OV OV OV
06 0110 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 OV OV OV OV OV OV
07 0111 0111 1000 1001 1010 1011 1100 1101 1110 1111 OV OV OV OV OV OV OV
08 1000 1000 1001 1010 1011 1100 1101 1110 1111 OV OV OV OV OV OV OV OV
09 1001 1001 1010 1011 1100 1101 1110 1111 OV OV OV OV OV OV OV OV OV
10 1010 1010 1011 1100 1101 1110 1111 OV OV OV OV OV OV OV OV OV OV
11 1011 1011 1100 1101 1110 1111 OV OV OV OV OV OV OV OV OV OV OV
12 1100 1100 1101 1110 1111 OV OV OV OV OV OV OV OV OV OV OV OV
13 1101 1101 1110 1111 OV OV OV OV OV OV OV OV OV OV OV OV OV
14 1110 1110 1111 OV OV OV OV OV OV OV OV OV OV OV OV OV OV
15 1111 1111 OV OV OV OV OV OV OV OV OV OV OV OV OV OV OV
28. norとnot
■ 否定notは単項演算子である. C言語では !x ですね.
■ $s0= not $s1 は,nor $s0,$zero,$s1 あるいは nor $s0,$s1,$zero で求められる.
X Y
OR NOR
X+Y X+Y
0 0 0 1
0 1 1 0
1 0 1 0
1 1 1 0
OR
XOR AND
NOT
NOR
X NOT X
0 1
1 0