SUBX bug
Seairth
Posts: 2,474
Peter Jakacki wrote: »BTW, I found a bug with SUBX too, is there one place where we can report these bugs or observations.
I found the (possibly same) bug as well. SUBX seems to be ignoring C.
Here's my test code:
dat
org
or dirb, #$FF
mov t1hi, #2 ' 64-bit number: $0000000200000005
mov t1lo, #5
mov t2hi, #1 ' 64-bit number: $0000000100000006
mov t2lo, #6
sub t1lo, t2lo wc ' -> $FFFFFFFF, C -> 1
setbc outb, #0
subx t1hi, t2hi ' -> $00000001 (should be $0000000)
cmp t1hi, #0 wz
setbz outb, #1
loop jmp #loop
t1hi long 0
t1lo long 0
t2hi long 0
t2lo long 0
GRN1 should be lighting up, since (2-(1+C)) should be zero. If you change t1hi to #1, then it lights up.
Note: ADDX seems to be fine. I have not yet tested SUBSX or ADDSX.
Edit: changed the code to explicitly test t1hi, since Z is dependent on the prior value of Z for SUBX. Bug still exists.

Comments
Yes, it works for all three examples in the P1 truth table.
The > operator in Tachyon uses this and I also confirmed correct operation