I’ve been trying to debug a program I’m working on and have managed to narrow it down to a single not
statement. I fail to understand how this could fail. My current suspicion is the fact that I’m using a 16 bit (aka short) register. Should I even be using this?
Before not di |
1101111110000000 |
Expected after not di |
0010000001111111 |
Actually after not di |
10000001111111 |
Code
.certain:
not di ; ← this line is the problem
bsf ax, di
GDB output
(gdb) p/t (short) $di $4 = 1101111110000000
(gdb) nexti
(gdb) p/t (short) $di $5 = 10000001111111
You must log in or register to comment.
Your result is correct, is just not displaying the leading zeros.
Do you perhaps know how to show the leading zeros?
I’m not great with gdb but I think using the x cmd shows them.
Yes, but that doesn’t seem to work with registers
Thanks, I somehow completely missed that.