mirror of
https://gitlab.com/camelot/kickc.git
synced 2024-09-08 17:54:40 +00:00
Improved static ASM analysis to recognize & remove several LDA/LDX/LDY of the same value.
This commit is contained in:
parent
c1b2b8ab7d
commit
a79853a4ec
@ -71,7 +71,21 @@ public class AsmProgramStaticRegisterValues {
|
||||
if (clobber.isClobberZ()) {
|
||||
current.setZ(null);
|
||||
}
|
||||
if (instructionType.getMnemnonic().equals("lda") && instructionType.getAddressingMode().equals(AsmAddressingMode.IMM)) {
|
||||
String mnemnonic = instructionType.getMnemnonic();
|
||||
AsmAddressingMode addressingMode = instructionType.getAddressingMode();
|
||||
if ((mnemnonic.equals("inc") || mnemnonic.equals("dec") || mnemnonic.equals("ror") || mnemnonic.equals("rol") || mnemnonic.equals("lsr") || mnemnonic.equals("asl")) && (addressingMode.equals(AsmAddressingMode.ZP) || addressingMode.equals(AsmAddressingMode.ABS))) {
|
||||
String modParam = instruction.getParameter();
|
||||
if(current.getaMem()!=null && current.getaMem().equals(modParam)) {
|
||||
current.setaMem(null);
|
||||
}
|
||||
if(current.getxMem()!=null && current.getxMem().equals(modParam)) {
|
||||
current.setxMem(null);
|
||||
}
|
||||
if(current.getyMem()!=null && current.getyMem().equals(modParam)) {
|
||||
current.setyMem(null);
|
||||
}
|
||||
}
|
||||
if (mnemnonic.equals("lda") && addressingMode.equals(AsmAddressingMode.IMM)) {
|
||||
current.setA(instruction.getParameter());
|
||||
current.setaMem(null);
|
||||
Integer immValue = getImmValue(instruction.getParameter());
|
||||
@ -80,15 +94,14 @@ public class AsmProgramStaticRegisterValues {
|
||||
current.setN(immValue > 127);
|
||||
}
|
||||
}
|
||||
if (instructionType.getMnemnonic().equals("lda") && (instructionType.getAddressingMode().equals(AsmAddressingMode.ZP) || instructionType.getAddressingMode().equals(AsmAddressingMode.ABS))) {
|
||||
if (mnemnonic.equals("lda") && (addressingMode.equals(AsmAddressingMode.ZP) || addressingMode.equals(AsmAddressingMode.ABS))) {
|
||||
current.setaMem(instruction.getParameter());
|
||||
current.setA(null);
|
||||
}
|
||||
if (instructionType.getMnemnonic().equals("sta") && (instructionType.getAddressingMode().equals(AsmAddressingMode.ZP) || instructionType.getAddressingMode().equals(AsmAddressingMode.ABS))) {
|
||||
if (mnemnonic.equals("sta") && (addressingMode.equals(AsmAddressingMode.ZP) || addressingMode.equals(AsmAddressingMode.ABS))) {
|
||||
current.setaMem(instruction.getParameter());
|
||||
current.setA(null);
|
||||
}
|
||||
if (instructionType.getMnemnonic().equals("ldx") && instructionType.getAddressingMode().equals(AsmAddressingMode.IMM)) {
|
||||
if (mnemnonic.equals("ldx") && addressingMode.equals(AsmAddressingMode.IMM)) {
|
||||
current.setX(instruction.getParameter());
|
||||
current.setxMem(null);
|
||||
Integer immValue = getImmValue(instruction.getParameter());
|
||||
@ -97,15 +110,14 @@ public class AsmProgramStaticRegisterValues {
|
||||
current.setN(immValue > 127);
|
||||
}
|
||||
}
|
||||
if (instructionType.getMnemnonic().equals("ldx") && (instructionType.getAddressingMode().equals(AsmAddressingMode.ZP) || instructionType.getAddressingMode().equals(AsmAddressingMode.ABS))) {
|
||||
if (mnemnonic.equals("ldx") && (addressingMode.equals(AsmAddressingMode.ZP) || addressingMode.equals(AsmAddressingMode.ABS))) {
|
||||
current.setxMem(instruction.getParameter());
|
||||
current.setX(null);
|
||||
}
|
||||
if (instructionType.getMnemnonic().equals("stx") && (instructionType.getAddressingMode().equals(AsmAddressingMode.ZP) || instructionType.getAddressingMode().equals(AsmAddressingMode.ABS))) {
|
||||
if (mnemnonic.equals("stx") && (addressingMode.equals(AsmAddressingMode.ZP) || addressingMode.equals(AsmAddressingMode.ABS))) {
|
||||
current.setxMem(instruction.getParameter());
|
||||
current.setX(null);
|
||||
}
|
||||
if (instructionType.getMnemnonic().equals("ldy") && instructionType.getAddressingMode().equals(AsmAddressingMode.IMM)) {
|
||||
if (mnemnonic.equals("ldy") && addressingMode.equals(AsmAddressingMode.IMM)) {
|
||||
current.setY(instruction.getParameter());
|
||||
current.setyMem(null);
|
||||
Integer immValue = getImmValue(instruction.getParameter());
|
||||
@ -114,34 +126,33 @@ public class AsmProgramStaticRegisterValues {
|
||||
current.setN(immValue > 127);
|
||||
}
|
||||
}
|
||||
if (instructionType.getMnemnonic().equals("ldy") && (instructionType.getAddressingMode().equals(AsmAddressingMode.ZP) || instructionType.getAddressingMode().equals(AsmAddressingMode.ABS))) {
|
||||
if (mnemnonic.equals("ldy") && (addressingMode.equals(AsmAddressingMode.ZP) || addressingMode.equals(AsmAddressingMode.ABS))) {
|
||||
current.setyMem(instruction.getParameter());
|
||||
}
|
||||
if (mnemnonic.equals("sty") && (addressingMode.equals(AsmAddressingMode.ZP) || addressingMode.equals(AsmAddressingMode.ABS))) {
|
||||
current.setyMem(instruction.getParameter());
|
||||
current.setY(null);
|
||||
}
|
||||
if (instructionType.getMnemnonic().equals("sty") && (instructionType.getAddressingMode().equals(AsmAddressingMode.ZP) || instructionType.getAddressingMode().equals(AsmAddressingMode.ABS))) {
|
||||
current.setyMem(instruction.getParameter());
|
||||
current.setY(null);
|
||||
}
|
||||
if (instructionType.getMnemnonic().equals("txa")) {
|
||||
if (mnemnonic.equals("txa")) {
|
||||
current.setA(current.getX());
|
||||
current.setaMem(current.getxMem());
|
||||
}
|
||||
if (instructionType.getMnemnonic().equals("tax")) {
|
||||
if (mnemnonic.equals("tax")) {
|
||||
current.setX(current.getA());
|
||||
current.setxMem(current.getaMem());
|
||||
}
|
||||
if (instructionType.getMnemnonic().equals("tya")) {
|
||||
if (mnemnonic.equals("tya")) {
|
||||
current.setA(current.getY());
|
||||
current.setaMem(current.getyMem());
|
||||
}
|
||||
if (instructionType.getMnemnonic().equals("tay")) {
|
||||
if (mnemnonic.equals("tay")) {
|
||||
current.setY(current.getA());
|
||||
current.setyMem(current.getaMem());
|
||||
}
|
||||
if (instructionType.getMnemnonic().equals("sec")) {
|
||||
if (mnemnonic.equals("sec")) {
|
||||
current.setC(Boolean.TRUE);
|
||||
}
|
||||
if (instructionType.getMnemnonic().equals("clc")) {
|
||||
if (mnemnonic.equals("clc")) {
|
||||
current.setC(Boolean.FALSE);
|
||||
}
|
||||
}
|
||||
|
@ -43,13 +43,10 @@ lines: {
|
||||
ldx l
|
||||
lda lines_x,x
|
||||
tay
|
||||
ldx l
|
||||
lda lines_x+1,x
|
||||
sta _2
|
||||
ldx l
|
||||
lda lines_y,x
|
||||
sta _3
|
||||
ldx l
|
||||
lda lines_y+1,x
|
||||
tax
|
||||
sty line.x0
|
||||
|
@ -16906,6 +16906,9 @@ init_screen: {
|
||||
}
|
||||
|
||||
Removing instruction lda #0
|
||||
Removing instruction ldx l
|
||||
Removing instruction ldx l
|
||||
Removing instruction ldx l
|
||||
Removing instruction lda yd
|
||||
Removing instruction lda yd
|
||||
Removing instruction lda yd
|
||||
@ -17014,15 +17017,12 @@ lines: {
|
||||
lda lines_x,x
|
||||
tay
|
||||
//SEG34 [18] (byte~) lines::$2 ← (const byte[]) lines_x#0+(byte/signed byte/word/signed word) 1 *idx (byte) lines::l#2 [ lines::l#2 lines::$0 lines::$2 ] ( main:2::lines:12 [ lines::l#2 lines::$0 lines::$2 ] ) -- zpby1=cowo1_derefidx_zpby2
|
||||
ldx l
|
||||
lda lines_x+1,x
|
||||
sta _2
|
||||
//SEG35 [19] (byte~) lines::$3 ← (const byte[]) lines_y#0 *idx (byte) lines::l#2 [ lines::l#2 lines::$0 lines::$2 lines::$3 ] ( main:2::lines:12 [ lines::l#2 lines::$0 lines::$2 lines::$3 ] ) -- zpby1=cowo1_derefidx_zpby2
|
||||
ldx l
|
||||
lda lines_y,x
|
||||
sta _3
|
||||
//SEG36 [20] (byte~) lines::$5 ← (const byte[]) lines_y#0+(byte/signed byte/word/signed word) 1 *idx (byte) lines::l#2 [ lines::l#2 lines::$0 lines::$2 lines::$3 lines::$5 ] ( main:2::lines:12 [ lines::l#2 lines::$0 lines::$2 lines::$3 lines::$5 ] ) -- xby=cowo1_derefidx_zpby1
|
||||
ldx l
|
||||
lda lines_y+1,x
|
||||
tax
|
||||
//SEG37 [21] (byte) line::x0#0 ← (byte~) lines::$0 [ lines::l#2 lines::$2 lines::$3 lines::$5 line::x0#0 ] ( main:2::lines:12 [ lines::l#2 lines::$2 lines::$3 lines::$5 line::x0#0 ] ) -- zpby1=yby
|
||||
@ -17979,15 +17979,12 @@ lines: {
|
||||
lda lines_x,x
|
||||
tay
|
||||
//SEG34 [18] (byte~) lines::$2 ← (const byte[]) lines_x#0+(byte/signed byte/word/signed word) 1 *idx (byte) lines::l#2 [ lines::l#2 lines::$0 lines::$2 ] ( main:2::lines:12 [ lines::l#2 lines::$0 lines::$2 ] ) -- zpby1=cowo1_derefidx_zpby2
|
||||
ldx l
|
||||
lda lines_x+1,x
|
||||
sta _2
|
||||
//SEG35 [19] (byte~) lines::$3 ← (const byte[]) lines_y#0 *idx (byte) lines::l#2 [ lines::l#2 lines::$0 lines::$2 lines::$3 ] ( main:2::lines:12 [ lines::l#2 lines::$0 lines::$2 lines::$3 ] ) -- zpby1=cowo1_derefidx_zpby2
|
||||
ldx l
|
||||
lda lines_y,x
|
||||
sta _3
|
||||
//SEG36 [20] (byte~) lines::$5 ← (const byte[]) lines_y#0+(byte/signed byte/word/signed word) 1 *idx (byte) lines::l#2 [ lines::l#2 lines::$0 lines::$2 lines::$3 lines::$5 ] ( main:2::lines:12 [ lines::l#2 lines::$0 lines::$2 lines::$3 lines::$5 ] ) -- xby=cowo1_derefidx_zpby1
|
||||
ldx l
|
||||
lda lines_y+1,x
|
||||
tax
|
||||
//SEG37 [21] (byte) line::x0#0 ← (byte~) lines::$0 [ lines::l#2 lines::$2 lines::$3 lines::$5 line::x0#0 ] ( main:2::lines:12 [ lines::l#2 lines::$2 lines::$3 lines::$5 line::x0#0 ] ) -- zpby1=yby
|
||||
@ -18911,15 +18908,12 @@ lines: {
|
||||
lda lines_x,x
|
||||
tay
|
||||
//SEG34 [18] (byte~) lines::$2 ← (const byte[]) lines_x#0+(byte/signed byte/word/signed word) 1 *idx (byte) lines::l#2 [ lines::l#2 lines::$0 lines::$2 ] ( main:2::lines:12 [ lines::l#2 lines::$0 lines::$2 ] ) -- zpby1=cowo1_derefidx_zpby2
|
||||
ldx l
|
||||
lda lines_x+1,x
|
||||
sta _2
|
||||
//SEG35 [19] (byte~) lines::$3 ← (const byte[]) lines_y#0 *idx (byte) lines::l#2 [ lines::l#2 lines::$0 lines::$2 lines::$3 ] ( main:2::lines:12 [ lines::l#2 lines::$0 lines::$2 lines::$3 ] ) -- zpby1=cowo1_derefidx_zpby2
|
||||
ldx l
|
||||
lda lines_y,x
|
||||
sta _3
|
||||
//SEG36 [20] (byte~) lines::$5 ← (const byte[]) lines_y#0+(byte/signed byte/word/signed word) 1 *idx (byte) lines::l#2 [ lines::l#2 lines::$0 lines::$2 lines::$3 lines::$5 ] ( main:2::lines:12 [ lines::l#2 lines::$0 lines::$2 lines::$3 lines::$5 ] ) -- xby=cowo1_derefidx_zpby1
|
||||
ldx l
|
||||
lda lines_y+1,x
|
||||
tax
|
||||
//SEG37 [21] (byte) line::x0#0 ← (byte~) lines::$0 [ lines::l#2 lines::$2 lines::$3 lines::$5 line::x0#0 ] ( main:2::lines:12 [ lines::l#2 lines::$2 lines::$3 lines::$5 line::x0#0 ] ) -- zpby1=yby
|
||||
@ -19753,15 +19747,12 @@ lines: {
|
||||
lda lines_x,x
|
||||
tay
|
||||
//SEG34 [18] (byte~) lines::$2 ← (const byte[]) lines_x#0+(byte/signed byte/word/signed word) 1 *idx (byte) lines::l#2 [ lines::l#2 lines::$0 lines::$2 ] ( main:2::lines:12 [ lines::l#2 lines::$0 lines::$2 ] ) -- zpby1=cowo1_derefidx_zpby2
|
||||
ldx l
|
||||
lda lines_x+1,x
|
||||
sta _2
|
||||
//SEG35 [19] (byte~) lines::$3 ← (const byte[]) lines_y#0 *idx (byte) lines::l#2 [ lines::l#2 lines::$0 lines::$2 lines::$3 ] ( main:2::lines:12 [ lines::l#2 lines::$0 lines::$2 lines::$3 ] ) -- zpby1=cowo1_derefidx_zpby2
|
||||
ldx l
|
||||
lda lines_y,x
|
||||
sta _3
|
||||
//SEG36 [20] (byte~) lines::$5 ← (const byte[]) lines_y#0+(byte/signed byte/word/signed word) 1 *idx (byte) lines::l#2 [ lines::l#2 lines::$0 lines::$2 lines::$3 lines::$5 ] ( main:2::lines:12 [ lines::l#2 lines::$0 lines::$2 lines::$3 lines::$5 ] ) -- xby=cowo1_derefidx_zpby1
|
||||
ldx l
|
||||
lda lines_y+1,x
|
||||
tax
|
||||
//SEG37 [21] (byte) line::x0#0 ← (byte~) lines::$0 [ lines::l#2 lines::$2 lines::$3 lines::$5 line::x0#0 ] ( main:2::lines:12 [ lines::l#2 lines::$2 lines::$3 lines::$5 line::x0#0 ] ) -- zpby1=yby
|
||||
@ -20594,15 +20585,12 @@ lines: {
|
||||
lda lines_x,x
|
||||
tay
|
||||
//SEG34 [18] (byte~) lines::$2 ← (const byte[]) lines_x#0+(byte/signed byte/word/signed word) 1 *idx (byte) lines::l#2 [ lines::l#2 lines::$0 lines::$2 ] ( main:2::lines:12 [ lines::l#2 lines::$0 lines::$2 ] ) -- zpby1=cowo1_derefidx_zpby2
|
||||
ldx l
|
||||
lda lines_x+1,x
|
||||
sta _2
|
||||
//SEG35 [19] (byte~) lines::$3 ← (const byte[]) lines_y#0 *idx (byte) lines::l#2 [ lines::l#2 lines::$0 lines::$2 lines::$3 ] ( main:2::lines:12 [ lines::l#2 lines::$0 lines::$2 lines::$3 ] ) -- zpby1=cowo1_derefidx_zpby2
|
||||
ldx l
|
||||
lda lines_y,x
|
||||
sta _3
|
||||
//SEG36 [20] (byte~) lines::$5 ← (const byte[]) lines_y#0+(byte/signed byte/word/signed word) 1 *idx (byte) lines::l#2 [ lines::l#2 lines::$0 lines::$2 lines::$3 lines::$5 ] ( main:2::lines:12 [ lines::l#2 lines::$0 lines::$2 lines::$3 lines::$5 ] ) -- xby=cowo1_derefidx_zpby1
|
||||
ldx l
|
||||
lda lines_y+1,x
|
||||
tax
|
||||
//SEG37 [21] (byte) line::x0#0 ← (byte~) lines::$0 [ lines::l#2 lines::$2 lines::$3 lines::$5 line::x0#0 ] ( main:2::lines:12 [ lines::l#2 lines::$2 lines::$3 lines::$5 line::x0#0 ] ) -- zpby1=yby
|
||||
@ -21438,15 +21426,12 @@ lines: {
|
||||
lda lines_x,x
|
||||
tay
|
||||
//SEG34 [18] (byte~) lines::$2 ← (const byte[]) lines_x#0+(byte/signed byte/word/signed word) 1 *idx (byte) lines::l#2 [ lines::l#2 lines::$0 lines::$2 ] ( main:2::lines:12 [ lines::l#2 lines::$0 lines::$2 ] ) -- zpby1=cowo1_derefidx_zpby2
|
||||
ldx l
|
||||
lda lines_x+1,x
|
||||
sta _2
|
||||
//SEG35 [19] (byte~) lines::$3 ← (const byte[]) lines_y#0 *idx (byte) lines::l#2 [ lines::l#2 lines::$0 lines::$2 lines::$3 ] ( main:2::lines:12 [ lines::l#2 lines::$0 lines::$2 lines::$3 ] ) -- zpby1=cowo1_derefidx_zpby2
|
||||
ldx l
|
||||
lda lines_y,x
|
||||
sta _3
|
||||
//SEG36 [20] (byte~) lines::$5 ← (const byte[]) lines_y#0+(byte/signed byte/word/signed word) 1 *idx (byte) lines::l#2 [ lines::l#2 lines::$0 lines::$2 lines::$3 lines::$5 ] ( main:2::lines:12 [ lines::l#2 lines::$0 lines::$2 lines::$3 lines::$5 ] ) -- xby=cowo1_derefidx_zpby1
|
||||
ldx l
|
||||
lda lines_y+1,x
|
||||
tax
|
||||
//SEG37 [21] (byte) line::x0#0 ← (byte~) lines::$0 [ lines::l#2 lines::$2 lines::$3 lines::$5 line::x0#0 ] ( main:2::lines:12 [ lines::l#2 lines::$2 lines::$3 lines::$5 line::x0#0 ] ) -- zpby1=yby
|
||||
@ -22274,15 +22259,12 @@ lines: {
|
||||
lda lines_x,x
|
||||
tay
|
||||
//SEG34 [18] (byte~) lines::$2 ← (const byte[]) lines_x#0+(byte/signed byte/word/signed word) 1 *idx (byte) lines::l#2 [ lines::l#2 lines::$0 lines::$2 ] ( main:2::lines:12 [ lines::l#2 lines::$0 lines::$2 ] ) -- zpby1=cowo1_derefidx_zpby2
|
||||
ldx l
|
||||
lda lines_x+1,x
|
||||
sta _2
|
||||
//SEG35 [19] (byte~) lines::$3 ← (const byte[]) lines_y#0 *idx (byte) lines::l#2 [ lines::l#2 lines::$0 lines::$2 lines::$3 ] ( main:2::lines:12 [ lines::l#2 lines::$0 lines::$2 lines::$3 ] ) -- zpby1=cowo1_derefidx_zpby2
|
||||
ldx l
|
||||
lda lines_y,x
|
||||
sta _3
|
||||
//SEG36 [20] (byte~) lines::$5 ← (const byte[]) lines_y#0+(byte/signed byte/word/signed word) 1 *idx (byte) lines::l#2 [ lines::l#2 lines::$0 lines::$2 lines::$3 lines::$5 ] ( main:2::lines:12 [ lines::l#2 lines::$0 lines::$2 lines::$3 lines::$5 ] ) -- xby=cowo1_derefidx_zpby1
|
||||
ldx l
|
||||
lda lines_y+1,x
|
||||
tax
|
||||
//SEG37 [21] (byte) line::x0#0 ← (byte~) lines::$0 [ lines::l#2 lines::$2 lines::$3 lines::$5 line::x0#0 ] ( main:2::lines:12 [ lines::l#2 lines::$2 lines::$3 lines::$5 line::x0#0 ] ) -- zpby1=yby
|
||||
@ -23109,15 +23091,12 @@ lines: {
|
||||
lda lines_x,x
|
||||
tay
|
||||
//SEG34 [18] (byte~) lines::$2 ← (const byte[]) lines_x#0+(byte/signed byte/word/signed word) 1 *idx (byte) lines::l#2 [ lines::l#2 lines::$0 lines::$2 ] ( main:2::lines:12 [ lines::l#2 lines::$0 lines::$2 ] ) -- zpby1=cowo1_derefidx_zpby2
|
||||
ldx l
|
||||
lda lines_x+1,x
|
||||
sta _2
|
||||
//SEG35 [19] (byte~) lines::$3 ← (const byte[]) lines_y#0 *idx (byte) lines::l#2 [ lines::l#2 lines::$0 lines::$2 lines::$3 ] ( main:2::lines:12 [ lines::l#2 lines::$0 lines::$2 lines::$3 ] ) -- zpby1=cowo1_derefidx_zpby2
|
||||
ldx l
|
||||
lda lines_y,x
|
||||
sta _3
|
||||
//SEG36 [20] (byte~) lines::$5 ← (const byte[]) lines_y#0+(byte/signed byte/word/signed word) 1 *idx (byte) lines::l#2 [ lines::l#2 lines::$0 lines::$2 lines::$3 lines::$5 ] ( main:2::lines:12 [ lines::l#2 lines::$0 lines::$2 lines::$3 lines::$5 ] ) -- xby=cowo1_derefidx_zpby1
|
||||
ldx l
|
||||
lda lines_y+1,x
|
||||
tax
|
||||
//SEG37 [21] (byte) line::x0#0 ← (byte~) lines::$0 [ lines::l#2 lines::$2 lines::$3 lines::$5 line::x0#0 ] ( main:2::lines:12 [ lines::l#2 lines::$2 lines::$3 lines::$5 line::x0#0 ] ) -- zpby1=yby
|
||||
@ -24281,15 +24260,12 @@ lines: {
|
||||
lda lines_x,x
|
||||
tay
|
||||
//SEG34 [18] (byte~) lines::$2 ← (const byte[]) lines_x#0+(byte/signed byte/word/signed word) 1 *idx (byte) lines::l#2 [ lines::l#2 lines::$0 lines::$2 ] ( main:2::lines:12 [ lines::l#2 lines::$0 lines::$2 ] ) -- zpby1=cowo1_derefidx_zpby2
|
||||
ldx l
|
||||
lda lines_x+1,x
|
||||
sta _2
|
||||
//SEG35 [19] (byte~) lines::$3 ← (const byte[]) lines_y#0 *idx (byte) lines::l#2 [ lines::l#2 lines::$0 lines::$2 lines::$3 ] ( main:2::lines:12 [ lines::l#2 lines::$0 lines::$2 lines::$3 ] ) -- zpby1=cowo1_derefidx_zpby2
|
||||
ldx l
|
||||
lda lines_y,x
|
||||
sta _3
|
||||
//SEG36 [20] (byte~) lines::$5 ← (const byte[]) lines_y#0+(byte/signed byte/word/signed word) 1 *idx (byte) lines::l#2 [ lines::l#2 lines::$0 lines::$2 lines::$3 lines::$5 ] ( main:2::lines:12 [ lines::l#2 lines::$0 lines::$2 lines::$3 lines::$5 ] ) -- xby=cowo1_derefidx_zpby1
|
||||
ldx l
|
||||
lda lines_y+1,x
|
||||
tax
|
||||
//SEG37 [21] (byte) line::x0#0 ← (byte~) lines::$0 [ lines::l#2 lines::$2 lines::$3 lines::$5 line::x0#0 ] ( main:2::lines:12 [ lines::l#2 lines::$2 lines::$3 lines::$5 line::x0#0 ] ) -- zpby1=yby
|
||||
|
@ -47,7 +47,6 @@ plots: {
|
||||
ldx i
|
||||
lda plots_x,x
|
||||
tay
|
||||
ldx i
|
||||
lda plots_y,x
|
||||
tax
|
||||
jsr plot
|
||||
|
@ -6553,6 +6553,7 @@ init_screen: {
|
||||
}
|
||||
|
||||
Removing instruction lda #0
|
||||
Removing instruction ldx i
|
||||
Removing instruction ldy #0
|
||||
Removing instruction lda #>0
|
||||
Replacing instruction ldx #0 with TAX
|
||||
@ -6663,7 +6664,6 @@ plots: {
|
||||
lda plots_x,x
|
||||
tay
|
||||
//SEG37 [20] (byte~) plots::$1 ← (const byte[]) plots_y#0 *idx (byte) plots::i#2 [ plots::i#2 plots::$0 plots::$1 ] ( main:2::plots:13 [ plots::i#2 plots::$0 plots::$1 ] ) -- aby=cowo1_derefidx_zpby1
|
||||
ldx i
|
||||
lda plots_y,x
|
||||
//SEG38 [21] (byte) plot::x#0 ← (byte~) plots::$0 [ plots::i#2 plots::$1 plot::x#0 ] ( main:2::plots:13 [ plots::i#2 plots::$1 plot::x#0 ] )
|
||||
// (byte) plot::x#0 = (byte~) plots::$0 // register copy reg byte y
|
||||
@ -7035,7 +7035,6 @@ plots: {
|
||||
lda plots_x,x
|
||||
tay
|
||||
//SEG37 [20] (byte~) plots::$1 ← (const byte[]) plots_y#0 *idx (byte) plots::i#2 [ plots::i#2 plots::$0 plots::$1 ] ( main:2::plots:13 [ plots::i#2 plots::$0 plots::$1 ] ) -- aby=cowo1_derefidx_zpby1
|
||||
ldx i
|
||||
lda plots_y,x
|
||||
//SEG38 [21] (byte) plot::x#0 ← (byte~) plots::$0 [ plots::i#2 plots::$1 plot::x#0 ] ( main:2::plots:13 [ plots::i#2 plots::$1 plot::x#0 ] )
|
||||
// (byte) plot::x#0 = (byte~) plots::$0 // register copy reg byte y
|
||||
@ -7387,7 +7386,6 @@ plots: {
|
||||
lda plots_x,x
|
||||
tay
|
||||
//SEG37 [20] (byte~) plots::$1 ← (const byte[]) plots_y#0 *idx (byte) plots::i#2 [ plots::i#2 plots::$0 plots::$1 ] ( main:2::plots:13 [ plots::i#2 plots::$0 plots::$1 ] ) -- aby=cowo1_derefidx_zpby1
|
||||
ldx i
|
||||
lda plots_y,x
|
||||
//SEG38 [21] (byte) plot::x#0 ← (byte~) plots::$0 [ plots::i#2 plots::$1 plot::x#0 ] ( main:2::plots:13 [ plots::i#2 plots::$1 plot::x#0 ] )
|
||||
// (byte) plot::x#0 = (byte~) plots::$0 // register copy reg byte y
|
||||
@ -7709,7 +7707,6 @@ plots: {
|
||||
lda plots_x,x
|
||||
tay
|
||||
//SEG37 [20] (byte~) plots::$1 ← (const byte[]) plots_y#0 *idx (byte) plots::i#2 [ plots::i#2 plots::$0 plots::$1 ] ( main:2::plots:13 [ plots::i#2 plots::$0 plots::$1 ] ) -- aby=cowo1_derefidx_zpby1
|
||||
ldx i
|
||||
lda plots_y,x
|
||||
//SEG38 [21] (byte) plot::x#0 ← (byte~) plots::$0 [ plots::i#2 plots::$1 plot::x#0 ] ( main:2::plots:13 [ plots::i#2 plots::$1 plot::x#0 ] )
|
||||
// (byte) plot::x#0 = (byte~) plots::$0 // register copy reg byte y
|
||||
@ -8030,7 +8027,6 @@ plots: {
|
||||
lda plots_x,x
|
||||
tay
|
||||
//SEG37 [20] (byte~) plots::$1 ← (const byte[]) plots_y#0 *idx (byte) plots::i#2 [ plots::i#2 plots::$0 plots::$1 ] ( main:2::plots:13 [ plots::i#2 plots::$0 plots::$1 ] ) -- aby=cowo1_derefidx_zpby1
|
||||
ldx i
|
||||
lda plots_y,x
|
||||
//SEG38 [21] (byte) plot::x#0 ← (byte~) plots::$0 [ plots::i#2 plots::$1 plot::x#0 ] ( main:2::plots:13 [ plots::i#2 plots::$1 plot::x#0 ] )
|
||||
// (byte) plot::x#0 = (byte~) plots::$0 // register copy reg byte y
|
||||
@ -8354,7 +8350,6 @@ plots: {
|
||||
lda plots_x,x
|
||||
tay
|
||||
//SEG37 [20] (byte~) plots::$1 ← (const byte[]) plots_y#0 *idx (byte) plots::i#2 [ plots::i#2 plots::$0 plots::$1 ] ( main:2::plots:13 [ plots::i#2 plots::$0 plots::$1 ] ) -- aby=cowo1_derefidx_zpby1
|
||||
ldx i
|
||||
lda plots_y,x
|
||||
//SEG38 [21] (byte) plot::x#0 ← (byte~) plots::$0 [ plots::i#2 plots::$1 plot::x#0 ] ( main:2::plots:13 [ plots::i#2 plots::$1 plot::x#0 ] )
|
||||
// (byte) plot::x#0 = (byte~) plots::$0 // register copy reg byte y
|
||||
@ -8670,7 +8665,6 @@ plots: {
|
||||
lda plots_x,x
|
||||
tay
|
||||
//SEG37 [20] (byte~) plots::$1 ← (const byte[]) plots_y#0 *idx (byte) plots::i#2 [ plots::i#2 plots::$0 plots::$1 ] ( main:2::plots:13 [ plots::i#2 plots::$0 plots::$1 ] ) -- aby=cowo1_derefidx_zpby1
|
||||
ldx i
|
||||
lda plots_y,x
|
||||
//SEG38 [21] (byte) plot::x#0 ← (byte~) plots::$0 [ plots::i#2 plots::$1 plot::x#0 ] ( main:2::plots:13 [ plots::i#2 plots::$1 plot::x#0 ] )
|
||||
// (byte) plot::x#0 = (byte~) plots::$0 // register copy reg byte y
|
||||
@ -8985,7 +8979,6 @@ plots: {
|
||||
lda plots_x,x
|
||||
tay
|
||||
//SEG37 [20] (byte~) plots::$1 ← (const byte[]) plots_y#0 *idx (byte) plots::i#2 [ plots::i#2 plots::$0 plots::$1 ] ( main:2::plots:13 [ plots::i#2 plots::$0 plots::$1 ] ) -- aby=cowo1_derefidx_zpby1
|
||||
ldx i
|
||||
lda plots_y,x
|
||||
//SEG38 [21] (byte) plot::x#0 ← (byte~) plots::$0 [ plots::i#2 plots::$1 plot::x#0 ] ( main:2::plots:13 [ plots::i#2 plots::$1 plot::x#0 ] )
|
||||
// (byte) plot::x#0 = (byte~) plots::$0 // register copy reg byte y
|
||||
@ -9433,7 +9426,6 @@ plots: {
|
||||
lda plots_x,x
|
||||
tay
|
||||
//SEG37 [20] (byte~) plots::$1 ← (const byte[]) plots_y#0 *idx (byte) plots::i#2 [ plots::i#2 plots::$0 plots::$1 ] ( main:2::plots:13 [ plots::i#2 plots::$0 plots::$1 ] ) -- aby=cowo1_derefidx_zpby1
|
||||
ldx i
|
||||
lda plots_y,x
|
||||
//SEG38 [21] (byte) plot::x#0 ← (byte~) plots::$0 [ plots::i#2 plots::$1 plot::x#0 ] ( main:2::plots:13 [ plots::i#2 plots::$1 plot::x#0 ] )
|
||||
// (byte) plot::x#0 = (byte~) plots::$0 // register copy reg byte y
|
||||
|
@ -71,7 +71,6 @@ anim: {
|
||||
ldx j2
|
||||
sta SPRITES_XPOS,x
|
||||
lda sintab_y,y
|
||||
ldx j2
|
||||
sta SPRITES_YPOS,x
|
||||
lda xidx
|
||||
clc
|
||||
|
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user