From 6502c0dbc3b1e55c92ff67f2addd535be92dfd07 Mon Sep 17 00:00:00 2001 From: Janne Johansson Date: Tue, 6 Aug 2019 13:44:06 +0200 Subject: [PATCH 1/5] a few more fragments --- src/main/fragment/vbuaa=_deref_pbuz1_ror_vbuxx.asm | 9 +++++++++ src/main/fragment/vbuaa=vbuaa_ror_vbuz1.asm | 7 +++++++ src/main/fragment/vbuxx=vbuyy_ror_vbuaa.asm | 10 ++++++++++ src/main/fragment/vbuyy=_deref_pbuz1_ror_vbuxx.asm | 11 +++++++++++ src/main/fragment/vbuz1=_deref_pbuz2_ror_vbuxx.asm | 10 ++++++++++ src/main/fragment/vduz1=vwuc1.asm | 12 ++++++++++++ src/main/fragment/vwuz1=vbuaa_bor_vwuz2.asm | 6 ++++++ src/main/fragment/vwuz1=vwuz1_bor_vwsz2.asm | 6 ++++++ src/main/fragment/vwuz1=vwuz1_bxor_vwsc1.asm | 6 ++++++ src/main/fragment/vwuz1=vwuz1_bxor_vwuc1.asm | 6 ++++++ 10 files changed, 83 insertions(+) create mode 100644 src/main/fragment/vbuaa=_deref_pbuz1_ror_vbuxx.asm create mode 100644 src/main/fragment/vbuaa=vbuaa_ror_vbuz1.asm create mode 100644 src/main/fragment/vbuxx=vbuyy_ror_vbuaa.asm create mode 100644 src/main/fragment/vbuyy=_deref_pbuz1_ror_vbuxx.asm create mode 100644 src/main/fragment/vbuz1=_deref_pbuz2_ror_vbuxx.asm create mode 100644 src/main/fragment/vduz1=vwuc1.asm create mode 100644 src/main/fragment/vwuz1=vbuaa_bor_vwuz2.asm create mode 100644 src/main/fragment/vwuz1=vwuz1_bor_vwsz2.asm create mode 100644 src/main/fragment/vwuz1=vwuz1_bxor_vwsc1.asm create mode 100644 src/main/fragment/vwuz1=vwuz1_bxor_vwuc1.asm diff --git a/src/main/fragment/vbuaa=_deref_pbuz1_ror_vbuxx.asm b/src/main/fragment/vbuaa=_deref_pbuz1_ror_vbuxx.asm new file mode 100644 index 000000000..f624e7695 --- /dev/null +++ b/src/main/fragment/vbuaa=_deref_pbuz1_ror_vbuxx.asm @@ -0,0 +1,9 @@ +cpx #0 +beq !e+ +ldy #0 +lda ({z1}),y +!: +ror +dex +bne !- +!e: \ No newline at end of file diff --git a/src/main/fragment/vbuaa=vbuaa_ror_vbuz1.asm b/src/main/fragment/vbuaa=vbuaa_ror_vbuz1.asm new file mode 100644 index 000000000..a739505a2 --- /dev/null +++ b/src/main/fragment/vbuaa=vbuaa_ror_vbuz1.asm @@ -0,0 +1,7 @@ +ldx {z1} +beq !e+ +!: +ror +dex +bne !- +!e: diff --git a/src/main/fragment/vbuxx=vbuyy_ror_vbuaa.asm b/src/main/fragment/vbuxx=vbuyy_ror_vbuaa.asm new file mode 100644 index 000000000..d5c06e46b --- /dev/null +++ b/src/main/fragment/vbuxx=vbuyy_ror_vbuaa.asm @@ -0,0 +1,10 @@ +cpy #0 +beq !e+ +!l: +cmp #$80 +ror +dey +bne !l- +!e: +sty $ff +ldx $ff diff --git a/src/main/fragment/vbuyy=_deref_pbuz1_ror_vbuxx.asm b/src/main/fragment/vbuyy=_deref_pbuz1_ror_vbuxx.asm new file mode 100644 index 000000000..c2bb8222f --- /dev/null +++ b/src/main/fragment/vbuyy=_deref_pbuz1_ror_vbuxx.asm @@ -0,0 +1,11 @@ +cpx #0 +beq !e+ +ldy #0 +lda ({z1}),y +!: +ror +dex +bne !- +tay +!e: + \ No newline at end of file diff --git a/src/main/fragment/vbuz1=_deref_pbuz2_ror_vbuxx.asm b/src/main/fragment/vbuz1=_deref_pbuz2_ror_vbuxx.asm new file mode 100644 index 000000000..4d411515e --- /dev/null +++ b/src/main/fragment/vbuz1=_deref_pbuz2_ror_vbuxx.asm @@ -0,0 +1,10 @@ +cpx #0 +beq !e+ +ldy #0 +lda ({z2}),y +!: +ror +dex +bne !- +sta {z1} +!e: diff --git a/src/main/fragment/vduz1=vwuc1.asm b/src/main/fragment/vduz1=vwuc1.asm new file mode 100644 index 000000000..60fc31566 --- /dev/null +++ b/src/main/fragment/vduz1=vwuc1.asm @@ -0,0 +1,12 @@ +lda #<{c1} +sta {z1} +lda #>{c1} +sta {z1}+1 +bmi !m+ +lda #0 +beq !p+ +!m: +lda #$ff +!p: +sta {z1}+2 +sta {z1}+3 diff --git a/src/main/fragment/vwuz1=vbuaa_bor_vwuz2.asm b/src/main/fragment/vwuz1=vbuaa_bor_vwuz2.asm new file mode 100644 index 000000000..6f38db42e --- /dev/null +++ b/src/main/fragment/vwuz1=vbuaa_bor_vwuz2.asm @@ -0,0 +1,6 @@ +sta $ff +lda {z2} +ora $ff +sta {z1} +lda {z2}+1 +sta {z1}+1 diff --git a/src/main/fragment/vwuz1=vwuz1_bor_vwsz2.asm b/src/main/fragment/vwuz1=vwuz1_bor_vwsz2.asm new file mode 100644 index 000000000..58bebcaaf --- /dev/null +++ b/src/main/fragment/vwuz1=vwuz1_bor_vwsz2.asm @@ -0,0 +1,6 @@ +lda {z2} +eor {z1} +sta {z1} +lda {z2}+1 +eor {z1}+1 +sta {z1}+1 diff --git a/src/main/fragment/vwuz1=vwuz1_bxor_vwsc1.asm b/src/main/fragment/vwuz1=vwuz1_bxor_vwsc1.asm new file mode 100644 index 000000000..0f9ec2420 --- /dev/null +++ b/src/main/fragment/vwuz1=vwuz1_bxor_vwsc1.asm @@ -0,0 +1,6 @@ +lda #<{c1} +eor {z1} +sta {z1} +lda #>{c1} +eor {z1} +sta {z1} diff --git a/src/main/fragment/vwuz1=vwuz1_bxor_vwuc1.asm b/src/main/fragment/vwuz1=vwuz1_bxor_vwuc1.asm new file mode 100644 index 000000000..593d85fd6 --- /dev/null +++ b/src/main/fragment/vwuz1=vwuz1_bxor_vwuc1.asm @@ -0,0 +1,6 @@ +lda #<{c1} +eor {z1} +sta {z1} +lda #>{c1} +eor {z1}+1 +sta {z1}+1 From 6de8113e7d99e958b3a7113adf8d173a0c4c2c53 Mon Sep 17 00:00:00 2001 From: Janne Johansson Date: Tue, 6 Aug 2019 20:26:06 +0200 Subject: [PATCH 2/5] make bcs the alternative to bcc instead of jmp --- src/main/fragment/vwuz1_ge_vbuc1_then_la1 | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 src/main/fragment/vwuz1_ge_vbuc1_then_la1 diff --git a/src/main/fragment/vwuz1_ge_vbuc1_then_la1 b/src/main/fragment/vwuz1_ge_vbuc1_then_la1 new file mode 100644 index 000000000..c0125d3ff --- /dev/null +++ b/src/main/fragment/vwuz1_ge_vbuc1_then_la1 @@ -0,0 +1,8 @@ +lda {z1}+1 +bne {la1} +clc +lda {z1} +cmp {c1} +bcc !+ +bcs {la1} +!: From e34ace5f482f60b8ddb6d2f2646d4d325b2fbd64 Mon Sep 17 00:00:00 2001 From: Janne Johansson Date: Tue, 6 Aug 2019 20:46:28 +0200 Subject: [PATCH 3/5] accidental compare got left by mistake --- src/main/fragment/vbuxx=vbuyy_ror_vbuaa.asm | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/fragment/vbuxx=vbuyy_ror_vbuaa.asm b/src/main/fragment/vbuxx=vbuyy_ror_vbuaa.asm index d5c06e46b..53b9b98ca 100644 --- a/src/main/fragment/vbuxx=vbuyy_ror_vbuaa.asm +++ b/src/main/fragment/vbuxx=vbuyy_ror_vbuaa.asm @@ -1,7 +1,6 @@ cpy #0 beq !e+ !l: -cmp #$80 ror dey bne !l- From af194de38e4433711904757eed90acb5527a8a53 Mon Sep 17 00:00:00 2001 From: Janne Johansson Date: Tue, 6 Aug 2019 20:47:12 +0200 Subject: [PATCH 4/5] Missing EOL --- src/main/fragment/vbuyy=_deref_pbuz1_ror_vbuxx.asm | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/fragment/vbuyy=_deref_pbuz1_ror_vbuxx.asm b/src/main/fragment/vbuyy=_deref_pbuz1_ror_vbuxx.asm index c2bb8222f..2b1163c4b 100644 --- a/src/main/fragment/vbuyy=_deref_pbuz1_ror_vbuxx.asm +++ b/src/main/fragment/vbuyy=_deref_pbuz1_ror_vbuxx.asm @@ -8,4 +8,3 @@ dex bne !- tay !e: - \ No newline at end of file From 1df35712fcdb88c1fe41963776b30f9051eee26d Mon Sep 17 00:00:00 2001 From: Janne Johansson Date: Tue, 6 Aug 2019 21:57:16 +0200 Subject: [PATCH 5/5] cant get tests to pass with this fragment in --- src/main/fragment/vduz1=vwuc1.asm | 12 ------------ 1 file changed, 12 deletions(-) delete mode 100644 src/main/fragment/vduz1=vwuc1.asm diff --git a/src/main/fragment/vduz1=vwuc1.asm b/src/main/fragment/vduz1=vwuc1.asm deleted file mode 100644 index 60fc31566..000000000 --- a/src/main/fragment/vduz1=vwuc1.asm +++ /dev/null @@ -1,12 +0,0 @@ -lda #<{c1} -sta {z1} -lda #>{c1} -sta {z1}+1 -bmi !m+ -lda #0 -beq !p+ -!m: -lda #$ff -!p: -sta {z1}+2 -sta {z1}+3