From f1605bb085a2eae7510567561f495819ae3cae00 Mon Sep 17 00:00:00 2001 From: jespergravgaard Date: Sun, 6 Dec 2020 01:43:36 +0100 Subject: [PATCH] Added missing fragments for Travis Fisher --- .../mos6502-common/pvom1=pvom2_plus__hi_vwum3.asm | 7 +++++++ ...uxx=pwsc1_derefidx_vbuxx_plus_pwsc2_derefidx_vbuxx.asm | 7 +++++++ .../mos6502-common/pwsc1_derefidx_vbuxx_lt_0_then_la1.asm | 2 ++ .../pwsc1_derefidx_vbuxx_lt_vwsc2_then_la1.asm | 8 ++++++++ ...uyy=pwsc1_derefidx_vbuyy_plus_pwsc2_derefidx_vbuyy.asm | 7 +++++++ .../mos6502-common/pwsc1_derefidx_vbuyy_lt_0_then_la1.asm | 2 ++ .../pwsc1_derefidx_vbuyy_lt_vwsc2_then_la1.asm | 8 ++++++++ .../fragment/mos6502-common/vbuaa=vbuaa_bor__hi_vwsm1.asm | 1 + .../mos6502-common/vwsm1=_neg_pwsc1_derefidx_vbuxx.asm | 7 +++++++ .../mos6502-common/vwsm1=_neg_pwsc1_derefidx_vbuyy.asm | 7 +++++++ .../vwsm1=vwsc1_minus_pwsc2_derefidx_vbuxx.asm | 7 +++++++ .../vwsm1=vwsc1_minus_pwsc2_derefidx_vbuyy.asm | 7 +++++++ 12 files changed, 70 insertions(+) create mode 100644 src/main/fragment/mos6502-common/pvom1=pvom2_plus__hi_vwum3.asm create mode 100644 src/main/fragment/mos6502-common/pwsc1_derefidx_vbuxx=pwsc1_derefidx_vbuxx_plus_pwsc2_derefidx_vbuxx.asm create mode 100644 src/main/fragment/mos6502-common/pwsc1_derefidx_vbuxx_lt_0_then_la1.asm create mode 100644 src/main/fragment/mos6502-common/pwsc1_derefidx_vbuxx_lt_vwsc2_then_la1.asm create mode 100644 src/main/fragment/mos6502-common/pwsc1_derefidx_vbuyy=pwsc1_derefidx_vbuyy_plus_pwsc2_derefidx_vbuyy.asm create mode 100644 src/main/fragment/mos6502-common/pwsc1_derefidx_vbuyy_lt_0_then_la1.asm create mode 100644 src/main/fragment/mos6502-common/pwsc1_derefidx_vbuyy_lt_vwsc2_then_la1.asm create mode 100644 src/main/fragment/mos6502-common/vbuaa=vbuaa_bor__hi_vwsm1.asm create mode 100644 src/main/fragment/mos6502-common/vwsm1=_neg_pwsc1_derefidx_vbuxx.asm create mode 100644 src/main/fragment/mos6502-common/vwsm1=_neg_pwsc1_derefidx_vbuyy.asm create mode 100644 src/main/fragment/mos6502-common/vwsm1=vwsc1_minus_pwsc2_derefidx_vbuxx.asm create mode 100644 src/main/fragment/mos6502-common/vwsm1=vwsc1_minus_pwsc2_derefidx_vbuyy.asm diff --git a/src/main/fragment/mos6502-common/pvom1=pvom2_plus__hi_vwum3.asm b/src/main/fragment/mos6502-common/pvom1=pvom2_plus__hi_vwum3.asm new file mode 100644 index 000000000..53be6e5c2 --- /dev/null +++ b/src/main/fragment/mos6502-common/pvom1=pvom2_plus__hi_vwum3.asm @@ -0,0 +1,7 @@ +clc +lda {m3}+1 +adc {m2} +sta {m1} +lda #0 +adc {m2}+1 +sta {m1}+1 \ No newline at end of file diff --git a/src/main/fragment/mos6502-common/pwsc1_derefidx_vbuxx=pwsc1_derefidx_vbuxx_plus_pwsc2_derefidx_vbuxx.asm b/src/main/fragment/mos6502-common/pwsc1_derefidx_vbuxx=pwsc1_derefidx_vbuxx_plus_pwsc2_derefidx_vbuxx.asm new file mode 100644 index 000000000..7df2fbb45 --- /dev/null +++ b/src/main/fragment/mos6502-common/pwsc1_derefidx_vbuxx=pwsc1_derefidx_vbuxx_plus_pwsc2_derefidx_vbuxx.asm @@ -0,0 +1,7 @@ +clc +lda {c1},x +adc {c2},x +sta {c1},x +lda {c1}+1,x +adc {c2}+1,x +sta {c1}+1,x \ No newline at end of file diff --git a/src/main/fragment/mos6502-common/pwsc1_derefidx_vbuxx_lt_0_then_la1.asm b/src/main/fragment/mos6502-common/pwsc1_derefidx_vbuxx_lt_0_then_la1.asm new file mode 100644 index 000000000..bf9646a48 --- /dev/null +++ b/src/main/fragment/mos6502-common/pwsc1_derefidx_vbuxx_lt_0_then_la1.asm @@ -0,0 +1,2 @@ +lda {c1}+1,x +bmi {la1} \ No newline at end of file diff --git a/src/main/fragment/mos6502-common/pwsc1_derefidx_vbuxx_lt_vwsc2_then_la1.asm b/src/main/fragment/mos6502-common/pwsc1_derefidx_vbuxx_lt_vwsc2_then_la1.asm new file mode 100644 index 000000000..4d54c8d35 --- /dev/null +++ b/src/main/fragment/mos6502-common/pwsc1_derefidx_vbuxx_lt_vwsc2_then_la1.asm @@ -0,0 +1,8 @@ +lda {c1},x +cmp {c2} +lda {c1}+1,x +sbc {c2}+1 +bvc !+ +eor #$80 +!: +bmi {la1} \ No newline at end of file diff --git a/src/main/fragment/mos6502-common/pwsc1_derefidx_vbuyy=pwsc1_derefidx_vbuyy_plus_pwsc2_derefidx_vbuyy.asm b/src/main/fragment/mos6502-common/pwsc1_derefidx_vbuyy=pwsc1_derefidx_vbuyy_plus_pwsc2_derefidx_vbuyy.asm new file mode 100644 index 000000000..f180e62b0 --- /dev/null +++ b/src/main/fragment/mos6502-common/pwsc1_derefidx_vbuyy=pwsc1_derefidx_vbuyy_plus_pwsc2_derefidx_vbuyy.asm @@ -0,0 +1,7 @@ +clc +lda {c1},y +adc {c2},y +sta {c1},y +lda {c1}+1,y +adc {c2}+1,y +sta {c1}+1,y \ No newline at end of file diff --git a/src/main/fragment/mos6502-common/pwsc1_derefidx_vbuyy_lt_0_then_la1.asm b/src/main/fragment/mos6502-common/pwsc1_derefidx_vbuyy_lt_0_then_la1.asm new file mode 100644 index 000000000..2ca9b88cd --- /dev/null +++ b/src/main/fragment/mos6502-common/pwsc1_derefidx_vbuyy_lt_0_then_la1.asm @@ -0,0 +1,2 @@ +lda {c1}+1,y +bmi {la1} \ No newline at end of file diff --git a/src/main/fragment/mos6502-common/pwsc1_derefidx_vbuyy_lt_vwsc2_then_la1.asm b/src/main/fragment/mos6502-common/pwsc1_derefidx_vbuyy_lt_vwsc2_then_la1.asm new file mode 100644 index 000000000..51c846553 --- /dev/null +++ b/src/main/fragment/mos6502-common/pwsc1_derefidx_vbuyy_lt_vwsc2_then_la1.asm @@ -0,0 +1,8 @@ +lda {c1},y +cmp {c2} +lda {c1}+1,y +sbc {c2}+1 +bvc !+ +eor #$80 +!: +bmi {la1} \ No newline at end of file diff --git a/src/main/fragment/mos6502-common/vbuaa=vbuaa_bor__hi_vwsm1.asm b/src/main/fragment/mos6502-common/vbuaa=vbuaa_bor__hi_vwsm1.asm new file mode 100644 index 000000000..eba959dfb --- /dev/null +++ b/src/main/fragment/mos6502-common/vbuaa=vbuaa_bor__hi_vwsm1.asm @@ -0,0 +1 @@ +ora {m1}+1 \ No newline at end of file diff --git a/src/main/fragment/mos6502-common/vwsm1=_neg_pwsc1_derefidx_vbuxx.asm b/src/main/fragment/mos6502-common/vwsm1=_neg_pwsc1_derefidx_vbuxx.asm new file mode 100644 index 000000000..15f35ad2d --- /dev/null +++ b/src/main/fragment/mos6502-common/vwsm1=_neg_pwsc1_derefidx_vbuxx.asm @@ -0,0 +1,7 @@ +sec +lda #0 +sbc {c1},x +sta {m1} +lda #0 +sbc {c1}+1,x +sta {m1}+1 \ No newline at end of file diff --git a/src/main/fragment/mos6502-common/vwsm1=_neg_pwsc1_derefidx_vbuyy.asm b/src/main/fragment/mos6502-common/vwsm1=_neg_pwsc1_derefidx_vbuyy.asm new file mode 100644 index 000000000..cba86ef72 --- /dev/null +++ b/src/main/fragment/mos6502-common/vwsm1=_neg_pwsc1_derefidx_vbuyy.asm @@ -0,0 +1,7 @@ +sec +lda #0 +sbc {c1},y +sta {m1} +lda #0 +sbc {c1}+1,y +sta {m1}+1 \ No newline at end of file diff --git a/src/main/fragment/mos6502-common/vwsm1=vwsc1_minus_pwsc2_derefidx_vbuxx.asm b/src/main/fragment/mos6502-common/vwsm1=vwsc1_minus_pwsc2_derefidx_vbuxx.asm new file mode 100644 index 000000000..1287600e8 --- /dev/null +++ b/src/main/fragment/mos6502-common/vwsm1=vwsc1_minus_pwsc2_derefidx_vbuxx.asm @@ -0,0 +1,7 @@ +sec +lda #<{c1} +sbc {c2},x +sta {m1} +lda #>{c1} +sbc {c2}+1,x +sta {m1}+1 \ No newline at end of file diff --git a/src/main/fragment/mos6502-common/vwsm1=vwsc1_minus_pwsc2_derefidx_vbuyy.asm b/src/main/fragment/mos6502-common/vwsm1=vwsc1_minus_pwsc2_derefidx_vbuyy.asm new file mode 100644 index 000000000..bad9132bf --- /dev/null +++ b/src/main/fragment/mos6502-common/vwsm1=vwsc1_minus_pwsc2_derefidx_vbuyy.asm @@ -0,0 +1,7 @@ +sec +lda #<{c1} +sbc {c2},y +sta {m1} +lda #>{c1} +sbc {c2}+1,y +sta {m1}+1 \ No newline at end of file