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