
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?
