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
..
2019-05-06 20:31:10 -04:00
2019-05-06 20:16:45 -04:00
2019-05-07 00:28:42 -04:00
2019-05-07 00:28:42 -04:00
2019-05-09 10:40:25 -04:00
2019-05-07 15:11:52 -04:00
2019-05-07 00:28:42 -04:00
2019-05-07 00:28:42 -04:00
2019-05-07 00:28:42 -04:00
2019-05-06 20:16:45 -04:00
2019-05-07 00:28:42 -04:00

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