diff --git a/src/main/fragment/mos6502-common/vbuaa_lt_vwum2_then_la1.asm b/src/main/fragment/mos6502-common/vbuaa_lt_vwum2_then_la1.asm new file mode 100644 index 000000000..62db8d42a --- /dev/null +++ b/src/main/fragment/mos6502-common/vbuaa_lt_vwum2_then_la1.asm @@ -0,0 +1,4 @@ +ldx {m2}+1 +bne {la1} +cmp {m2} +bcc {la1} \ No newline at end of file diff --git a/src/main/fragment/mos6502-common/vbum1_lt_vwum2_then_la1.asm b/src/main/fragment/mos6502-common/vbum1_lt_vwum2_then_la1.asm new file mode 100644 index 000000000..0b68bd0ad --- /dev/null +++ b/src/main/fragment/mos6502-common/vbum1_lt_vwum2_then_la1.asm @@ -0,0 +1,5 @@ +lda {m2}+1 +bne {la1} +lda {m1} +cmp {m2} +bcc {la1} diff --git a/src/main/fragment/mos6502-common/vwsm1_gt_vwum2_then_la1.asm b/src/main/fragment/mos6502-common/vwsm1_gt_vwum2_then_la1.asm new file mode 100644 index 000000000..05469e306 --- /dev/null +++ b/src/main/fragment/mos6502-common/vwsm1_gt_vwum2_then_la1.asm @@ -0,0 +1,9 @@ +lda {m1}+1 +bmi !+ +cmp {m2}+1 +bcs {la1} +beq {la1} +lda {m2} +cmp {m1} +bcc {la1} +!: \ No newline at end of file diff --git a/src/main/fragment/mos6502-common/vwsm1_lt_vwum2_then_la1.asm b/src/main/fragment/mos6502-common/vwsm1_lt_vwum2_then_la1.asm new file mode 100644 index 000000000..4ea8ecd49 --- /dev/null +++ b/src/main/fragment/mos6502-common/vwsm1_lt_vwum2_then_la1.asm @@ -0,0 +1,9 @@ +lda {m1}+1 +bmi {la1} +cmp {m2}+1 +bcc {la1} +bne !+ +lda {m1} +cmp {m2} +bcc {la1} +!: \ No newline at end of file diff --git a/src/main/fragment/mos6502-common/vwum1=vbuaa_rol_vbuxx.asm b/src/main/fragment/mos6502-common/vwum1=vbuaa_rol_vbuxx.asm new file mode 100644 index 000000000..a8b9222fa --- /dev/null +++ b/src/main/fragment/mos6502-common/vwum1=vbuaa_rol_vbuxx.asm @@ -0,0 +1,11 @@ +sta {m1} +lda #0 +sta {m1}+1 +cpx #0 +beq !e+ +!: +asl {m1} +rol {m1}+1 +dex +bne !- +!e: \ No newline at end of file diff --git a/src/main/fragment/mos6502-common/vwum1=vbuaa_rol_vbuyy.asm b/src/main/fragment/mos6502-common/vwum1=vbuaa_rol_vbuyy.asm new file mode 100644 index 000000000..d25206ae8 --- /dev/null +++ b/src/main/fragment/mos6502-common/vwum1=vbuaa_rol_vbuyy.asm @@ -0,0 +1,11 @@ +sta {m1} +lda #0 +sta {m1}+1 +cpy #0 +beq !e+ +!: +asl {m1} +rol {m1}+1 +dey +bne !- +!e: \ No newline at end of file diff --git a/src/main/fragment/mos6502-common/vwum1=vwuc1_rol_vbuxx.asm b/src/main/fragment/mos6502-common/vwum1=vwuc1_rol_vbuxx.asm new file mode 100644 index 000000000..cce7ea6a7 --- /dev/null +++ b/src/main/fragment/mos6502-common/vwum1=vwuc1_rol_vbuxx.asm @@ -0,0 +1,12 @@ +lda #<{c1} +sta {m1} +lda #>{c1}+1 +sta {m1}+1 +cpx #0 +beq !e+ +!: +asl {m1} +rol {m1}+1 +dex +bne !- +!e: diff --git a/src/main/fragment/mos6502-common/vwum1=vwuc1_rol_vbuyy.asm b/src/main/fragment/mos6502-common/vwum1=vwuc1_rol_vbuyy.asm new file mode 100644 index 000000000..6e074dc4d --- /dev/null +++ b/src/main/fragment/mos6502-common/vwum1=vwuc1_rol_vbuyy.asm @@ -0,0 +1,12 @@ +lda #<{c1} +sta {m1} +lda #>{c1}+1 +sta {m1}+1 +cpy #0 +beq !e+ +!: +asl {m1} +rol {m1}+1 +dey +bne !- +!e: diff --git a/src/main/fragment/mos6502-common/vwum1=vwum1_band_vwum2.asm b/src/main/fragment/mos6502-common/vwum1=vwum1_band_vwum2.asm new file mode 100644 index 000000000..0a181aedc --- /dev/null +++ b/src/main/fragment/mos6502-common/vwum1=vwum1_band_vwum2.asm @@ -0,0 +1,6 @@ +lda {m1} +and {m2} +sta {m1} +lda {m1}+1 +and {m2}+1 +sta {m1}+1 \ No newline at end of file diff --git a/src/main/fragment/mos6502-common/vwum1=vwum2_band_vbuaa.asm b/src/main/fragment/mos6502-common/vwum1=vwum2_band_vbuaa.asm new file mode 100644 index 000000000..9cf33fda7 --- /dev/null +++ b/src/main/fragment/mos6502-common/vwum1=vwum2_band_vbuaa.asm @@ -0,0 +1,4 @@ +and {m2} +sta {m1} +lda #0 +sta {m1}+1 \ No newline at end of file