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
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person’s post makes sense in another community cross post into it.
Hope you enjoy the instance!
Follow the wormhole through a path of communities !webdev@programming.dev
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