|
I do not understand how the ALU would calculate test part 2 as 0000000000000001
see compare file
| x | y |zx |nx |zy |ny | f |no| out |zr |ng |
| 0000000000000000 | 1111111111111111 | 1 | 1 | 1 | 1 | 1 | 1 | 0000000000000001 | 0 | 0 |
so we have a as zero and b as 1's.. in any case steeping through the flags we have:
1 so zero x so x = 0000000000000000
1 so neg x so x = 1111111111111111
1 so zero z so z = 0000000000000000
1 so neg z so z = 1111111111111111
at this point x and z are all 1's
now f =1 so we and, which an and of all 1's is all 1's
now no = 1 so we neg the output, a not of all 1's is all zeros'
so how is not the answer output should be 0000000000000000?
|