diff --git a/src/main/java/dk/camelot64/kickc/fragment/AsmFragmentManager.java b/src/main/java/dk/camelot64/kickc/fragment/AsmFragmentManager.java index d78c46e87..6dae5d94f 100644 --- a/src/main/java/dk/camelot64/kickc/fragment/AsmFragmentManager.java +++ b/src/main/java/dk/camelot64/kickc/fragment/AsmFragmentManager.java @@ -115,6 +115,7 @@ public class AsmFragmentManager { synths.add(new FragmentSynthesis("zpsby1=(.*)", ".*=.*zpsby1.*", null, "asby=$1", "sta {zpsby1}\n", mapZpsby)); synths.add(new FragmentSynthesis("_deref_cowo1=(.*)", null, null, "aby=$1", "sta {cowo1}\n", mapConst)); synths.add(new FragmentSynthesis("_deref_zpptrby1=(.*)", ".*=.*zpptrby1.*", null, "aby=$1", "ldy #0\n" + "sta ({zpptrby1}),y\n", mapZpptrby)); + synths.add(new FragmentSynthesis("cowo1_derefidx_zpby1=(.*)", null, null, "aby=$1", "ldx {zpby1}\n"+"sta {cowo1},x\n", mapZpby)); synths.add(new FragmentSynthesis("(.*)=xby(.*)", ".*=.*as?by.*", "txa\n", "$1=aby$2", null, null)); synths.add(new FragmentSynthesis("(.*)=yby(.*)", ".*=.*as?by.*", "tya\n", "$1=aby$2", null, null)); diff --git a/src/main/java/dk/camelot64/kickc/fragment/asm/aby=_byte_xsby.asm b/src/main/java/dk/camelot64/kickc/fragment/asm/aby=_byte_xsby.asm new file mode 100644 index 000000000..403ee3380 --- /dev/null +++ b/src/main/java/dk/camelot64/kickc/fragment/asm/aby=_byte_xsby.asm @@ -0,0 +1 @@ +txa \ No newline at end of file diff --git a/src/main/java/dk/camelot64/kickc/fragment/asm/aby=_byte_ysby.asm b/src/main/java/dk/camelot64/kickc/fragment/asm/aby=_byte_ysby.asm new file mode 100644 index 000000000..8b4b4f7e8 --- /dev/null +++ b/src/main/java/dk/camelot64/kickc/fragment/asm/aby=_byte_ysby.asm @@ -0,0 +1 @@ +tya \ No newline at end of file diff --git a/src/main/java/dk/camelot64/kickc/fragment/asm/cowo1_derefidx_zpby1=zpby2.asm b/src/main/java/dk/camelot64/kickc/fragment/asm/cowo1_derefidx_zpby1=zpby2.asm deleted file mode 100644 index c02c4dccd..000000000 --- a/src/main/java/dk/camelot64/kickc/fragment/asm/cowo1_derefidx_zpby1=zpby2.asm +++ /dev/null @@ -1,3 +0,0 @@ -lda {zpby2} -ldx {zpby1} -sta {cowo1},x \ No newline at end of file diff --git a/src/main/java/dk/camelot64/kickc/fragment/asm/xby=_byte_asby.asm b/src/main/java/dk/camelot64/kickc/fragment/asm/xby=_byte_asby.asm new file mode 100644 index 000000000..ec799692e --- /dev/null +++ b/src/main/java/dk/camelot64/kickc/fragment/asm/xby=_byte_asby.asm @@ -0,0 +1 @@ +tax \ No newline at end of file diff --git a/src/main/java/dk/camelot64/kickc/fragment/asm/xby=_byte_ysby.asm b/src/main/java/dk/camelot64/kickc/fragment/asm/xby=_byte_ysby.asm new file mode 100644 index 000000000..916220eb0 --- /dev/null +++ b/src/main/java/dk/camelot64/kickc/fragment/asm/xby=_byte_ysby.asm @@ -0,0 +1,2 @@ +sty $ff +ldx $ff \ No newline at end of file diff --git a/src/main/java/dk/camelot64/kickc/fragment/asm/xby=_byte_zpsby1.asm b/src/main/java/dk/camelot64/kickc/fragment/asm/xby=_byte_zpsby1.asm new file mode 100644 index 000000000..a49c6c9e2 --- /dev/null +++ b/src/main/java/dk/camelot64/kickc/fragment/asm/xby=_byte_zpsby1.asm @@ -0,0 +1 @@ +ldx {zpsby1} \ No newline at end of file diff --git a/src/main/java/dk/camelot64/kickc/fragment/asm/yby=_byte_asby.asm b/src/main/java/dk/camelot64/kickc/fragment/asm/yby=_byte_asby.asm new file mode 100644 index 000000000..7e4499cf3 --- /dev/null +++ b/src/main/java/dk/camelot64/kickc/fragment/asm/yby=_byte_asby.asm @@ -0,0 +1 @@ +tay \ No newline at end of file diff --git a/src/main/java/dk/camelot64/kickc/fragment/asm/yby=_byte_xsby.asm b/src/main/java/dk/camelot64/kickc/fragment/asm/yby=_byte_xsby.asm new file mode 100644 index 000000000..989559d4c --- /dev/null +++ b/src/main/java/dk/camelot64/kickc/fragment/asm/yby=_byte_xsby.asm @@ -0,0 +1,2 @@ +stx $ff +ldy $ff \ No newline at end of file diff --git a/src/main/java/dk/camelot64/kickc/fragment/asm/yby=_byte_zpsby1.asm b/src/main/java/dk/camelot64/kickc/fragment/asm/yby=_byte_zpsby1.asm new file mode 100644 index 000000000..0d3be70ce --- /dev/null +++ b/src/main/java/dk/camelot64/kickc/fragment/asm/yby=_byte_zpsby1.asm @@ -0,0 +1 @@ +ldy {zpsby1} \ No newline at end of file