dos33fsprogs/pt3_player/README.pt3
Vince Weaver 91c154ea7b pt3: fix an issue with signed 8-bit comparisons
signed 8-bit comparisons are a huge pain on 6502
2019-05-13 12:33:52 -04:00

22 lines
479 B
Plaintext

PT3_player
ASR = CMP #$80 / ROR
Notes:
signed 8-bit comparison
see http://6502.org/tutorials/compare_beyond.html#2.2
SEC ; prepare carry for SBC
SBC NUM ; A-NUM
BVC LABEL ; if V is 0, N eor V = N, otherwise N eor V = N eor 1
EOR #$80 ; A = A eor $80, and N = N eor 1
LABEL
If the N flag is 1, then A (signed) < NUM (signed) and BMI will branch
If the N flag is 0, then A (signed) >= NUM (signed) and BPL will branch