mirror of
https://gitlab.com/camelot/kickc.git
synced 2025-03-24 00:30:25 +00:00
Added parenthesis to fragments when derefs are nested. Closes #270
This commit is contained in:
parent
e3427796d3
commit
733751dbe3
src
main
fragment
(_deref_pptc1)_derefidx_vbuyy=vbuaa.asm_deref_(_deref_pptc1)=vbuaa.asm_deref_(_deref_pptz1)=pbuc1_derefidx_vbuxx.asm_deref_(_deref_pptz1)=vbuaa.asm_deref_(pptc1_derefidx_vbuyy)=vbuaa.asm_deref_(pptz1_derefidx_vbuc1)=vbuaa.asm_deref_(pptz1_derefidx_vbuc1)=vbuxx.asmpbuc1_derefidx_(_deref_pbuz1)=_inc_pbuc1_derefidx_(_deref_pbuz1).asmpbuc1_derefidx_(pbuc2_derefidx_vbuxx)=pbuc3_derefidx_vbuxx.asmpbuc1_derefidx_(pbuc2_derefidx_vbuyy)=pbuc3_derefidx_vbuyy.asmpbuc1_derefidx_(pbuz1_derefidx_vbuyy)=vbuaa.asmpbuc1_derefidx_pbuc2_derefidx_vbuyy=pbuc3_derefidx_vbuyy.asmpbuz1_derefidx_(_deref_pbuz2)=_inc_pbuz1_derefidx_(_deref_pbuz2).asmpwuc1_derefidx_vbuyy=(_deref_pptc2)_derefidx_vbuyy.asmvbuaa=_deref_(_deref_pptc1).asmvbuaa=pbuz1_derefidx_(pbuz2_derefidx_vbuyy)_plus_pbuz3_derefidx_(pbuz4_derefidx_vbuyy).asmvbuaa=pbuz1_derefidx_vbuyy_plus_pbuz2_derefidx_(pbuz3_derefidx_vbuyy).asmvbuaa_ge_pbuc1_derefidx_(pbuc2_derefidx_vbuxx)_then_la1.asmvbuaa_ge_pbuc1_derefidx_(pbuc2_derefidx_vbuyy)_then_la1.asmvbuaa_lt_pbuc1_derefidx_(pbuc2_derefidx_vbuxx)_then_la1.asmvbuaa_lt_pbuc1_derefidx_(pbuc2_derefidx_vbuyy)_then_la1.asm
java/dk/camelot64/kickc
test/ref
c64dtv-gfxexplorer.log
complex/clearscreen
double-indexing-arrays.logexamples/multiplexer
hex2dec-ptrptr.loghex2dec.logmultiplexer-irq
plasma-center.logpointer-pointer-1.logptrptr-optimize-0.logptrptr-optimize-1.logptrptr-optimize-2.logscreen-show-spiral-buckets.logstruct-ptr-21.logstruct-ptr-22.asmstruct-ptr-22.log@ -0,0 +1,5 @@
|
||||
ldx {c1}
|
||||
stx $fe
|
||||
ldx {c1}+1
|
||||
stx $ff
|
||||
sta ($fe),y
|
0
src/main/fragment/_deref__deref_pptc1=vbuaa.asm → src/main/fragment/_deref_(_deref_pptc1)=vbuaa.asm
0
src/main/fragment/_deref__deref_pptc1=vbuaa.asm → src/main/fragment/_deref_(_deref_pptc1)=vbuaa.asm
0
src/main/fragment/_deref__deref_pptz1=vbuaa.asm → src/main/fragment/_deref_(_deref_pptz1)=vbuaa.asm
0
src/main/fragment/_deref__deref_pptz1=vbuaa.asm → src/main/fragment/_deref_(_deref_pptz1)=vbuaa.asm
@ -0,0 +1,3 @@
|
||||
lda {c3},x
|
||||
ldx {c2},y
|
||||
sta {c1},x
|
@ -1,3 +0,0 @@
|
||||
lda {c3},x
|
||||
ldy {c2},x
|
||||
sta {c1},y
|
0
src/main/fragment/vbuaa=_deref__deref_pptc1.asm → src/main/fragment/vbuaa=_deref_(_deref_pptc1).asm
0
src/main/fragment/vbuaa=_deref__deref_pptc1.asm → src/main/fragment/vbuaa=_deref_(_deref_pptc1).asm
@ -45,7 +45,7 @@ public class KickC implements Callable<Void> {
|
||||
@CommandLine.Option(names = {"-F", "-fragmentdir"}, description = "Path to the ASM fragment folder, where the compiler looks for ASM fragments.")
|
||||
private Path fragmentDir = null;
|
||||
|
||||
@CommandLine.Option(names = {"-o"}, description = "Name of the output assembler file. By default it is the same as the input file with extension .asm")
|
||||
@CommandLine.Option(names = {"-o", "-output"}, description = "Name of the output assembler file. By default it is the same as the input file with extension .asm")
|
||||
private String asmFileName = null;
|
||||
|
||||
@CommandLine.Option(names = {"-odir"}, description = "Path to the output folder, where the compiler places all generated files. By default the folder of the output file is used.")
|
||||
|
@ -309,10 +309,32 @@ public class AsmFragmentInstanceSpecFactory {
|
||||
ptrType = new SymbolTypePointer(castType);
|
||||
}
|
||||
if(value instanceof PointerDereferenceSimple) {
|
||||
return "_deref_" + bind(deref.getPointer(), ptrType);
|
||||
String bindPointer = bind(deref.getPointer(), ptrType);
|
||||
if(bindPointer.contains("deref")) {
|
||||
// Special handling of nested derefs - add parenthesis!
|
||||
return "_deref_" + "(" + bindPointer + ")";
|
||||
} else {
|
||||
return "_deref_" + bindPointer;
|
||||
}
|
||||
} else if(value instanceof PointerDereferenceIndexed) {
|
||||
PointerDereferenceIndexed derefIdx = (PointerDereferenceIndexed) value;
|
||||
return bind(derefIdx.getPointer(), ptrType) + "_derefidx_" + bind(derefIdx.getIndex());
|
||||
StringBuilder bindValue = new StringBuilder();
|
||||
String bindPointer = bind(derefIdx.getPointer(), ptrType);
|
||||
if(bindPointer.contains("deref")) {
|
||||
// Special handling of nested derefs - add parenthesis!
|
||||
bindValue.append("(").append(bindPointer).append(")");
|
||||
} else {
|
||||
bindValue.append(bindPointer);
|
||||
}
|
||||
bindValue.append("_derefidx_");
|
||||
String bindIndex = bind(derefIdx.getIndex());
|
||||
if(bindIndex.contains("deref")) {
|
||||
// Special handling of nested derefs - add parenthesis!
|
||||
bindValue.append("(").append(bindIndex).append(")");
|
||||
} else {
|
||||
bindValue.append(bindIndex);
|
||||
}
|
||||
return bindValue.toString();
|
||||
}
|
||||
} else if(value instanceof VariableRef) {
|
||||
Variable variable = program.getSymbolInfos().getVariable((VariableRef) value);
|
||||
|
@ -640,6 +640,9 @@ class AsmFragmentTemplateSynthesisRule {
|
||||
synths.add(new AsmFragmentTemplateSynthesisRule("(.*)=(.*c2.*)pb(.)c2_derefidx_vbuyy(.*)", rvalAa, "lda {c2},y", "$1=$2vb$3aa$4", null, null));
|
||||
synths.add(new AsmFragmentTemplateSynthesisRule("(.*)=(.*)pb(.)c2_derefidx_vbuyy(.*c2.*)", rvalAa, "lda {c2},y", "$1=$2vb$3aa$4", null, null));
|
||||
|
||||
// Remove any parenthesis ending up around values
|
||||
synths.add(new AsmFragmentTemplateSynthesisRule("(.*)\\(([vp][bwd][us][zcaxy][123456axy])\\)(.*)", null, null, "$1$2$3", null, null));
|
||||
|
||||
synths.add(new AsmFragmentTemplateSynthesisRule("(.*)_derefidx_vbuz1_(.*)", rvalYy+"|"+twoZ1, "ldy {z1}", "$1_derefidx_vbuyy_$2", null, mapZ1));
|
||||
synths.add(new AsmFragmentTemplateSynthesisRule("(.*)_derefidx_vbuz1_(lt|gt|le|ge|eq|neq)_(.*)", rvalXx+"|"+twoZ1, "ldx {z1}", "$1_derefidx_vbuxx_$2_$3", null, mapZ1));
|
||||
synths.add(new AsmFragmentTemplateSynthesisRule("pb(.)c1_derefidx_vbuyy_(lt|gt|le|ge|eq|neq)_(.*)", rvalAa+"|"+twoC1, "lda {c1},y", "vb$1aa_$2_$3", null, mapC1));
|
||||
|
@ -17669,7 +17669,7 @@ form_render_values: {
|
||||
jmp b3
|
||||
// form_render_values::@3
|
||||
b3:
|
||||
// [332] *((byte*)(word) form_field_ptr::line#0 + (byte) form_field_ptr::x#0) ← *((const byte[]) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_render_values::idx#5)) -- pbuz1_derefidx_vbuz2=pbuc1_derefidx_pbuc2_derefidx_vbuz3
|
||||
// [332] *((byte*)(word) form_field_ptr::line#0 + (byte) form_field_ptr::x#0) ← *((const byte[]) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_render_values::idx#5)) -- pbuz1_derefidx_vbuz2=pbuc1_derefidx_(pbuc2_derefidx_vbuz3)
|
||||
ldx.z idx
|
||||
ldy form_fields_val,x
|
||||
lda print_hextab,y
|
||||
@ -18146,7 +18146,7 @@ form_control: {
|
||||
jmp b16
|
||||
// form_control::@16
|
||||
b16:
|
||||
// [394] *((byte*)(word) form_field_ptr::line#0 + (byte) form_field_ptr::x#0) ← *((const byte[]) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28)) -- pbuz1_derefidx_vbuz2=pbuc1_derefidx_pbuc2_derefidx_vbuz3
|
||||
// [394] *((byte*)(word) form_field_ptr::line#0 + (byte) form_field_ptr::x#0) ← *((const byte[]) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28)) -- pbuz1_derefidx_vbuz2=pbuc1_derefidx_(pbuc2_derefidx_vbuz3)
|
||||
// Render field value
|
||||
ldx.z form_field_idx
|
||||
ldy form_fields_val,x
|
||||
@ -24791,7 +24791,7 @@ form_render_values: {
|
||||
jmp b3
|
||||
// form_render_values::@3
|
||||
b3:
|
||||
// [332] *((byte*)(word) form_field_ptr::line#0 + (byte) form_field_ptr::x#0) ← *((const byte[]) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_render_values::idx#5)) -- pbuz1_derefidx_vbuz2=pbuc1_derefidx_pbuc2_derefidx_vbuxx
|
||||
// [332] *((byte*)(word) form_field_ptr::line#0 + (byte) form_field_ptr::x#0) ← *((const byte[]) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_render_values::idx#5)) -- pbuz1_derefidx_vbuz2=pbuc1_derefidx_(pbuc2_derefidx_vbuxx)
|
||||
ldy form_fields_val,x
|
||||
lda print_hextab,y
|
||||
ldy.z form_field_ptr.x
|
||||
@ -25221,7 +25221,7 @@ form_control: {
|
||||
jmp b16
|
||||
// form_control::@16
|
||||
b16:
|
||||
// [394] *((byte*)(word) form_field_ptr::line#0 + (byte) form_field_ptr::x#0) ← *((const byte[]) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28)) -- pbuz1_derefidx_vbuz2=pbuc1_derefidx_pbuc2_derefidx_vbuz3
|
||||
// [394] *((byte*)(word) form_field_ptr::line#0 + (byte) form_field_ptr::x#0) ← *((const byte[]) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28)) -- pbuz1_derefidx_vbuz2=pbuc1_derefidx_(pbuc2_derefidx_vbuz3)
|
||||
// Render field value
|
||||
ldx.z form_field_idx
|
||||
ldy form_fields_val,x
|
||||
@ -32537,7 +32537,7 @@ form_render_values: {
|
||||
jsr form_field_ptr
|
||||
// form_render_values::@3
|
||||
// *field = print_hextab[form_fields_val[idx]]
|
||||
// [332] *((byte*)(word) form_field_ptr::line#0 + (byte) form_field_ptr::x#0) ← *((const byte[]) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_render_values::idx#5)) -- pbuz1_derefidx_vbuz2=pbuc1_derefidx_pbuc2_derefidx_vbuxx
|
||||
// [332] *((byte*)(word) form_field_ptr::line#0 + (byte) form_field_ptr::x#0) ← *((const byte[]) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_render_values::idx#5)) -- pbuz1_derefidx_vbuz2=pbuc1_derefidx_(pbuc2_derefidx_vbuxx)
|
||||
ldy form_fields_val,x
|
||||
lda print_hextab,y
|
||||
ldy.z form_field_ptr.x
|
||||
@ -32921,7 +32921,7 @@ form_control: {
|
||||
// form_control::@16
|
||||
b16:
|
||||
// *field = print_hextab[form_fields_val[form_field_idx]]
|
||||
// [394] *((byte*)(word) form_field_ptr::line#0 + (byte) form_field_ptr::x#0) ← *((const byte[]) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28)) -- pbuz1_derefidx_vbuz2=pbuc1_derefidx_pbuc2_derefidx_vbuz3
|
||||
// [394] *((byte*)(word) form_field_ptr::line#0 + (byte) form_field_ptr::x#0) ← *((const byte[]) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28)) -- pbuz1_derefidx_vbuz2=pbuc1_derefidx_(pbuc2_derefidx_vbuz3)
|
||||
// Render field value
|
||||
ldx.z form_field_idx
|
||||
ldy form_fields_val,x
|
||||
|
@ -7163,7 +7163,7 @@ processChars: {
|
||||
jmp b11
|
||||
// processChars::@11
|
||||
b11:
|
||||
// [265] *(*((byte**)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_SCREENPTR)) ← (byte) ' ' -- _deref_pptz1_derefidx_vbuc1=vbuc2
|
||||
// [265] *(*((byte**)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_SCREENPTR)) ← (byte) ' ' -- _deref_(pptz1_derefidx_vbuc1)=vbuc2
|
||||
// Clear the char on the screen
|
||||
ldx #' '
|
||||
ldy #OFFSET_STRUCT_PROCESSINGSPRITE_SCREENPTR
|
||||
@ -7180,7 +7180,7 @@ processChars: {
|
||||
lda SPRITES_ENABLE
|
||||
ora.z bitmask
|
||||
sta SPRITES_ENABLE
|
||||
// [267] *((const byte*) SPRITES_COLS#0 + *((byte*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_ID)) ← *((byte*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_COL) -- pbuc1_derefidx_pbuz1_derefidx_vbuc2=pbuz1_derefidx_vbuc3
|
||||
// [267] *((const byte*) SPRITES_COLS#0 + *((byte*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_ID)) ← *((byte*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_COL) -- pbuc1_derefidx_(pbuz1_derefidx_vbuc2)=pbuz1_derefidx_vbuc3
|
||||
// Set the sprite color
|
||||
ldy #OFFSET_STRUCT_PROCESSINGSPRITE_COL
|
||||
lda (processing),y
|
||||
@ -7190,7 +7190,7 @@ processChars: {
|
||||
tay
|
||||
pla
|
||||
sta SPRITES_COLS,y
|
||||
// [268] *((const byte*) SCREEN#0+(const word) SPRITE_PTRS#0 + *((byte*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_ID)) ← *((byte*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_PTR) -- pbuc1_derefidx_pbuz1_derefidx_vbuc2=pbuz1_derefidx_vbuc3
|
||||
// [268] *((const byte*) SCREEN#0+(const word) SPRITE_PTRS#0 + *((byte*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_ID)) ← *((byte*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_PTR) -- pbuc1_derefidx_(pbuz1_derefidx_vbuc2)=pbuz1_derefidx_vbuc3
|
||||
// Set sprite pointer
|
||||
ldy #OFFSET_STRUCT_PROCESSINGSPRITE_PTR
|
||||
lda (processing),y
|
||||
@ -9997,7 +9997,7 @@ processChars: {
|
||||
jmp b11
|
||||
// processChars::@11
|
||||
b11:
|
||||
// [265] *(*((byte**)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_SCREENPTR)) ← (byte) ' ' -- _deref_pptz1_derefidx_vbuc1=vbuc2
|
||||
// [265] *(*((byte**)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_SCREENPTR)) ← (byte) ' ' -- _deref_(pptz1_derefidx_vbuc1)=vbuc2
|
||||
// Clear the char on the screen
|
||||
ldx #' '
|
||||
ldy #OFFSET_STRUCT_PROCESSINGSPRITE_SCREENPTR
|
||||
@ -10014,7 +10014,7 @@ processChars: {
|
||||
lda SPRITES_ENABLE
|
||||
ora.z bitmask
|
||||
sta SPRITES_ENABLE
|
||||
// [267] *((const byte*) SPRITES_COLS#0 + *((byte*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_ID)) ← *((byte*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_COL) -- pbuc1_derefidx_pbuz1_derefidx_vbuc2=pbuz1_derefidx_vbuc3
|
||||
// [267] *((const byte*) SPRITES_COLS#0 + *((byte*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_ID)) ← *((byte*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_COL) -- pbuc1_derefidx_(pbuz1_derefidx_vbuc2)=pbuz1_derefidx_vbuc3
|
||||
// Set the sprite color
|
||||
ldy #OFFSET_STRUCT_PROCESSINGSPRITE_COL
|
||||
lda (processing),y
|
||||
@ -10024,7 +10024,7 @@ processChars: {
|
||||
tay
|
||||
pla
|
||||
sta SPRITES_COLS,y
|
||||
// [268] *((const byte*) SCREEN#0+(const word) SPRITE_PTRS#0 + *((byte*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_ID)) ← *((byte*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_PTR) -- pbuc1_derefidx_pbuz1_derefidx_vbuc2=pbuz1_derefidx_vbuc3
|
||||
// [268] *((const byte*) SCREEN#0+(const word) SPRITE_PTRS#0 + *((byte*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_ID)) ← *((byte*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_PTR) -- pbuc1_derefidx_(pbuz1_derefidx_vbuc2)=pbuz1_derefidx_vbuc3
|
||||
// Set sprite pointer
|
||||
ldy #OFFSET_STRUCT_PROCESSINGSPRITE_PTR
|
||||
lda (processing),y
|
||||
@ -12862,7 +12862,7 @@ processChars: {
|
||||
bne b3
|
||||
// processChars::@11
|
||||
// *(processing->screenPtr) = ' '
|
||||
// [265] *(*((byte**)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_SCREENPTR)) ← (byte) ' ' -- _deref_pptz1_derefidx_vbuc1=vbuc2
|
||||
// [265] *(*((byte**)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_SCREENPTR)) ← (byte) ' ' -- _deref_(pptz1_derefidx_vbuc1)=vbuc2
|
||||
// Clear the char on the screen
|
||||
ldx #' '
|
||||
ldy #OFFSET_STRUCT_PROCESSINGSPRITE_SCREENPTR
|
||||
@ -12881,7 +12881,7 @@ processChars: {
|
||||
ora.z bitmask
|
||||
sta SPRITES_ENABLE
|
||||
// SPRITES_COLS[processing->id] = processing->col
|
||||
// [267] *((const byte*) SPRITES_COLS#0 + *((byte*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_ID)) ← *((byte*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_COL) -- pbuc1_derefidx_pbuz1_derefidx_vbuc2=pbuz1_derefidx_vbuc3
|
||||
// [267] *((const byte*) SPRITES_COLS#0 + *((byte*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_ID)) ← *((byte*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_COL) -- pbuc1_derefidx_(pbuz1_derefidx_vbuc2)=pbuz1_derefidx_vbuc3
|
||||
// Set the sprite color
|
||||
ldy #OFFSET_STRUCT_PROCESSINGSPRITE_COL
|
||||
lda (processing),y
|
||||
@ -12892,7 +12892,7 @@ processChars: {
|
||||
pla
|
||||
sta SPRITES_COLS,y
|
||||
// *(SCREEN+SPRITE_PTRS+processing->id) = processing->ptr
|
||||
// [268] *((const byte*) SCREEN#0+(const word) SPRITE_PTRS#0 + *((byte*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_ID)) ← *((byte*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_PTR) -- pbuc1_derefidx_pbuz1_derefidx_vbuc2=pbuz1_derefidx_vbuc3
|
||||
// [268] *((const byte*) SCREEN#0+(const word) SPRITE_PTRS#0 + *((byte*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_ID)) ← *((byte*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_PTR) -- pbuc1_derefidx_(pbuz1_derefidx_vbuc2)=pbuz1_derefidx_vbuc3
|
||||
// Set sprite pointer
|
||||
ldy #OFFSET_STRUCT_PROCESSINGSPRITE_PTR
|
||||
lda (processing),y
|
||||
|
@ -376,35 +376,35 @@ main: {
|
||||
// [6] *((const byte*) SCREEN#0 + (byte) main::x#2) ← *((const byte[$3e8]) MAPDATA#0 + (byte) main::x#2) -- pbuc1_derefidx_vbuyy=pbuc2_derefidx_vbuyy
|
||||
lda MAPDATA,y
|
||||
sta SCREEN,y
|
||||
// [7] *((const byte*) COLS#0 + (byte) main::x#2) ← *((const byte[$100]) COLORMAP1#0 + *((const byte[$3e8]) MAPDATA#0 + (byte) main::x#2)) -- pbuc1_derefidx_vbuyy=pbuc2_derefidx_pbuc3_derefidx_vbuyy
|
||||
// [7] *((const byte*) COLS#0 + (byte) main::x#2) ← *((const byte[$100]) COLORMAP1#0 + *((const byte[$3e8]) MAPDATA#0 + (byte) main::x#2)) -- pbuc1_derefidx_vbuyy=pbuc2_derefidx_(pbuc3_derefidx_vbuyy)
|
||||
ldx MAPDATA,y
|
||||
lda COLORMAP1,x
|
||||
sta COLS,y
|
||||
// [8] *((const byte*) SCREEN#0+(byte) $c8 + (byte) main::x#2) ← *((const byte[$3e8]) MAPDATA#0+(byte) $c8 + (byte) main::x#2) -- pbuc1_derefidx_vbuyy=pbuc2_derefidx_vbuyy
|
||||
lda MAPDATA+$c8,y
|
||||
sta SCREEN+$c8,y
|
||||
// [9] *((const byte*) COLS#0+(byte) $c8 + (byte) main::x#2) ← *((const byte[$100]) COLORMAP1#0 + *((const byte[$3e8]) MAPDATA#0+(byte) $c8 + (byte) main::x#2)) -- pbuc1_derefidx_vbuyy=pbuc2_derefidx_pbuc3_derefidx_vbuyy
|
||||
// [9] *((const byte*) COLS#0+(byte) $c8 + (byte) main::x#2) ← *((const byte[$100]) COLORMAP1#0 + *((const byte[$3e8]) MAPDATA#0+(byte) $c8 + (byte) main::x#2)) -- pbuc1_derefidx_vbuyy=pbuc2_derefidx_(pbuc3_derefidx_vbuyy)
|
||||
ldx MAPDATA+$c8,y
|
||||
lda COLORMAP1,x
|
||||
sta COLS+$c8,y
|
||||
// [10] *((const byte*) SCREEN#0+(word) $190 + (byte) main::x#2) ← *((const byte[$3e8]) MAPDATA#0+(word) $190 + (byte) main::x#2) -- pbuc1_derefidx_vbuyy=pbuc2_derefidx_vbuyy
|
||||
lda MAPDATA+$190,y
|
||||
sta SCREEN+$190,y
|
||||
// [11] *((const byte*) COLS#0+(word) $190 + (byte) main::x#2) ← *((const byte[$100]) COLORMAP1#0 + *((const byte[$3e8]) MAPDATA#0+(word) $190 + (byte) main::x#2)) -- pbuc1_derefidx_vbuyy=pbuc2_derefidx_pbuc3_derefidx_vbuyy
|
||||
// [11] *((const byte*) COLS#0+(word) $190 + (byte) main::x#2) ← *((const byte[$100]) COLORMAP1#0 + *((const byte[$3e8]) MAPDATA#0+(word) $190 + (byte) main::x#2)) -- pbuc1_derefidx_vbuyy=pbuc2_derefidx_(pbuc3_derefidx_vbuyy)
|
||||
ldx MAPDATA+$190,y
|
||||
lda COLORMAP1,x
|
||||
sta COLS+$190,y
|
||||
// [12] *((const byte*) SCREEN#0+(word) $258 + (byte) main::x#2) ← *((const byte[$3e8]) MAPDATA#0+(word) $258 + (byte) main::x#2) -- pbuc1_derefidx_vbuyy=pbuc2_derefidx_vbuyy
|
||||
lda MAPDATA+$258,y
|
||||
sta SCREEN+$258,y
|
||||
// [13] *((const byte*) COLS#0+(word) $258 + (byte) main::x#2) ← *((const byte[$100]) COLORMAP2#0 + *((const byte[$3e8]) MAPDATA#0+(word) $258 + (byte) main::x#2)) -- pbuc1_derefidx_vbuyy=pbuc2_derefidx_pbuc3_derefidx_vbuyy
|
||||
// [13] *((const byte*) COLS#0+(word) $258 + (byte) main::x#2) ← *((const byte[$100]) COLORMAP2#0 + *((const byte[$3e8]) MAPDATA#0+(word) $258 + (byte) main::x#2)) -- pbuc1_derefidx_vbuyy=pbuc2_derefidx_(pbuc3_derefidx_vbuyy)
|
||||
ldx MAPDATA+$258,y
|
||||
lda COLORMAP2,x
|
||||
sta COLS+$258,y
|
||||
// [14] *((const byte*) SCREEN#0+(word) $320 + (byte) main::x#2) ← *((const byte[$3e8]) MAPDATA#0+(word) $320 + (byte) main::x#2) -- pbuc1_derefidx_vbuyy=pbuc2_derefidx_vbuyy
|
||||
lda MAPDATA+$320,y
|
||||
sta SCREEN+$320,y
|
||||
// [15] *((const byte*) COLS#0+(word) $320 + (byte) main::x#2) ← *((const byte[$100]) COLORMAP2#0 + *((const byte[$3e8]) MAPDATA#0+(word) $320 + (byte) main::x#2)) -- pbuc1_derefidx_vbuyy=pbuc2_derefidx_pbuc3_derefidx_vbuyy
|
||||
// [15] *((const byte*) COLS#0+(word) $320 + (byte) main::x#2) ← *((const byte[$100]) COLORMAP2#0 + *((const byte[$3e8]) MAPDATA#0+(word) $320 + (byte) main::x#2)) -- pbuc1_derefidx_vbuyy=pbuc2_derefidx_(pbuc3_derefidx_vbuyy)
|
||||
ldx MAPDATA+$320,y
|
||||
lda COLORMAP2,x
|
||||
sta COLS+$320,y
|
||||
@ -487,35 +487,35 @@ main: {
|
||||
// [6] *((const byte*) SCREEN#0 + (byte) main::x#2) ← *((const byte[$3e8]) MAPDATA#0 + (byte) main::x#2) -- pbuc1_derefidx_vbuyy=pbuc2_derefidx_vbuyy
|
||||
lda MAPDATA,y
|
||||
sta SCREEN,y
|
||||
// [7] *((const byte*) COLS#0 + (byte) main::x#2) ← *((const byte[$100]) COLORMAP1#0 + *((const byte[$3e8]) MAPDATA#0 + (byte) main::x#2)) -- pbuc1_derefidx_vbuyy=pbuc2_derefidx_pbuc3_derefidx_vbuyy
|
||||
// [7] *((const byte*) COLS#0 + (byte) main::x#2) ← *((const byte[$100]) COLORMAP1#0 + *((const byte[$3e8]) MAPDATA#0 + (byte) main::x#2)) -- pbuc1_derefidx_vbuyy=pbuc2_derefidx_(pbuc3_derefidx_vbuyy)
|
||||
ldx MAPDATA,y
|
||||
lda COLORMAP1,x
|
||||
sta COLS,y
|
||||
// [8] *((const byte*) SCREEN#0+(byte) $c8 + (byte) main::x#2) ← *((const byte[$3e8]) MAPDATA#0+(byte) $c8 + (byte) main::x#2) -- pbuc1_derefidx_vbuyy=pbuc2_derefidx_vbuyy
|
||||
lda MAPDATA+$c8,y
|
||||
sta SCREEN+$c8,y
|
||||
// [9] *((const byte*) COLS#0+(byte) $c8 + (byte) main::x#2) ← *((const byte[$100]) COLORMAP1#0 + *((const byte[$3e8]) MAPDATA#0+(byte) $c8 + (byte) main::x#2)) -- pbuc1_derefidx_vbuyy=pbuc2_derefidx_pbuc3_derefidx_vbuyy
|
||||
// [9] *((const byte*) COLS#0+(byte) $c8 + (byte) main::x#2) ← *((const byte[$100]) COLORMAP1#0 + *((const byte[$3e8]) MAPDATA#0+(byte) $c8 + (byte) main::x#2)) -- pbuc1_derefidx_vbuyy=pbuc2_derefidx_(pbuc3_derefidx_vbuyy)
|
||||
ldx MAPDATA+$c8,y
|
||||
lda COLORMAP1,x
|
||||
sta COLS+$c8,y
|
||||
// [10] *((const byte*) SCREEN#0+(word) $190 + (byte) main::x#2) ← *((const byte[$3e8]) MAPDATA#0+(word) $190 + (byte) main::x#2) -- pbuc1_derefidx_vbuyy=pbuc2_derefidx_vbuyy
|
||||
lda MAPDATA+$190,y
|
||||
sta SCREEN+$190,y
|
||||
// [11] *((const byte*) COLS#0+(word) $190 + (byte) main::x#2) ← *((const byte[$100]) COLORMAP1#0 + *((const byte[$3e8]) MAPDATA#0+(word) $190 + (byte) main::x#2)) -- pbuc1_derefidx_vbuyy=pbuc2_derefidx_pbuc3_derefidx_vbuyy
|
||||
// [11] *((const byte*) COLS#0+(word) $190 + (byte) main::x#2) ← *((const byte[$100]) COLORMAP1#0 + *((const byte[$3e8]) MAPDATA#0+(word) $190 + (byte) main::x#2)) -- pbuc1_derefidx_vbuyy=pbuc2_derefidx_(pbuc3_derefidx_vbuyy)
|
||||
ldx MAPDATA+$190,y
|
||||
lda COLORMAP1,x
|
||||
sta COLS+$190,y
|
||||
// [12] *((const byte*) SCREEN#0+(word) $258 + (byte) main::x#2) ← *((const byte[$3e8]) MAPDATA#0+(word) $258 + (byte) main::x#2) -- pbuc1_derefidx_vbuyy=pbuc2_derefidx_vbuyy
|
||||
lda MAPDATA+$258,y
|
||||
sta SCREEN+$258,y
|
||||
// [13] *((const byte*) COLS#0+(word) $258 + (byte) main::x#2) ← *((const byte[$100]) COLORMAP2#0 + *((const byte[$3e8]) MAPDATA#0+(word) $258 + (byte) main::x#2)) -- pbuc1_derefidx_vbuyy=pbuc2_derefidx_pbuc3_derefidx_vbuyy
|
||||
// [13] *((const byte*) COLS#0+(word) $258 + (byte) main::x#2) ← *((const byte[$100]) COLORMAP2#0 + *((const byte[$3e8]) MAPDATA#0+(word) $258 + (byte) main::x#2)) -- pbuc1_derefidx_vbuyy=pbuc2_derefidx_(pbuc3_derefidx_vbuyy)
|
||||
ldx MAPDATA+$258,y
|
||||
lda COLORMAP2,x
|
||||
sta COLS+$258,y
|
||||
// [14] *((const byte*) SCREEN#0+(word) $320 + (byte) main::x#2) ← *((const byte[$3e8]) MAPDATA#0+(word) $320 + (byte) main::x#2) -- pbuc1_derefidx_vbuyy=pbuc2_derefidx_vbuyy
|
||||
lda MAPDATA+$320,y
|
||||
sta SCREEN+$320,y
|
||||
// [15] *((const byte*) COLS#0+(word) $320 + (byte) main::x#2) ← *((const byte[$100]) COLORMAP2#0 + *((const byte[$3e8]) MAPDATA#0+(word) $320 + (byte) main::x#2)) -- pbuc1_derefidx_vbuyy=pbuc2_derefidx_pbuc3_derefidx_vbuyy
|
||||
// [15] *((const byte*) COLS#0+(word) $320 + (byte) main::x#2) ← *((const byte[$100]) COLORMAP2#0 + *((const byte[$3e8]) MAPDATA#0+(word) $320 + (byte) main::x#2)) -- pbuc1_derefidx_vbuyy=pbuc2_derefidx_(pbuc3_derefidx_vbuyy)
|
||||
ldx MAPDATA+$320,y
|
||||
lda COLORMAP2,x
|
||||
sta COLS+$320,y
|
||||
@ -617,7 +617,7 @@ main: {
|
||||
lda MAPDATA,y
|
||||
sta SCREEN,y
|
||||
// COLS[x] = COLORMAP1[MAPDATA[x]]
|
||||
// [7] *((const byte*) COLS#0 + (byte) main::x#2) ← *((const byte[$100]) COLORMAP1#0 + *((const byte[$3e8]) MAPDATA#0 + (byte) main::x#2)) -- pbuc1_derefidx_vbuyy=pbuc2_derefidx_pbuc3_derefidx_vbuyy
|
||||
// [7] *((const byte*) COLS#0 + (byte) main::x#2) ← *((const byte[$100]) COLORMAP1#0 + *((const byte[$3e8]) MAPDATA#0 + (byte) main::x#2)) -- pbuc1_derefidx_vbuyy=pbuc2_derefidx_(pbuc3_derefidx_vbuyy)
|
||||
ldx MAPDATA,y
|
||||
lda COLORMAP1,x
|
||||
sta COLS,y
|
||||
@ -626,7 +626,7 @@ main: {
|
||||
lda MAPDATA+$c8,y
|
||||
sta SCREEN+$c8,y
|
||||
// COLS[200+x] = COLORMAP1[MAPDATA[200+x]]
|
||||
// [9] *((const byte*) COLS#0+(byte) $c8 + (byte) main::x#2) ← *((const byte[$100]) COLORMAP1#0 + *((const byte[$3e8]) MAPDATA#0+(byte) $c8 + (byte) main::x#2)) -- pbuc1_derefidx_vbuyy=pbuc2_derefidx_pbuc3_derefidx_vbuyy
|
||||
// [9] *((const byte*) COLS#0+(byte) $c8 + (byte) main::x#2) ← *((const byte[$100]) COLORMAP1#0 + *((const byte[$3e8]) MAPDATA#0+(byte) $c8 + (byte) main::x#2)) -- pbuc1_derefidx_vbuyy=pbuc2_derefidx_(pbuc3_derefidx_vbuyy)
|
||||
ldx MAPDATA+$c8,y
|
||||
lda COLORMAP1,x
|
||||
sta COLS+$c8,y
|
||||
@ -635,7 +635,7 @@ main: {
|
||||
lda MAPDATA+$190,y
|
||||
sta SCREEN+$190,y
|
||||
// COLS[400+x] = COLORMAP1[MAPDATA[400+x]]
|
||||
// [11] *((const byte*) COLS#0+(word) $190 + (byte) main::x#2) ← *((const byte[$100]) COLORMAP1#0 + *((const byte[$3e8]) MAPDATA#0+(word) $190 + (byte) main::x#2)) -- pbuc1_derefidx_vbuyy=pbuc2_derefidx_pbuc3_derefidx_vbuyy
|
||||
// [11] *((const byte*) COLS#0+(word) $190 + (byte) main::x#2) ← *((const byte[$100]) COLORMAP1#0 + *((const byte[$3e8]) MAPDATA#0+(word) $190 + (byte) main::x#2)) -- pbuc1_derefidx_vbuyy=pbuc2_derefidx_(pbuc3_derefidx_vbuyy)
|
||||
ldx MAPDATA+$190,y
|
||||
lda COLORMAP1,x
|
||||
sta COLS+$190,y
|
||||
@ -644,7 +644,7 @@ main: {
|
||||
lda MAPDATA+$258,y
|
||||
sta SCREEN+$258,y
|
||||
// COLS[600+x] = COLORMAP2[MAPDATA[600+x]]
|
||||
// [13] *((const byte*) COLS#0+(word) $258 + (byte) main::x#2) ← *((const byte[$100]) COLORMAP2#0 + *((const byte[$3e8]) MAPDATA#0+(word) $258 + (byte) main::x#2)) -- pbuc1_derefidx_vbuyy=pbuc2_derefidx_pbuc3_derefidx_vbuyy
|
||||
// [13] *((const byte*) COLS#0+(word) $258 + (byte) main::x#2) ← *((const byte[$100]) COLORMAP2#0 + *((const byte[$3e8]) MAPDATA#0+(word) $258 + (byte) main::x#2)) -- pbuc1_derefidx_vbuyy=pbuc2_derefidx_(pbuc3_derefidx_vbuyy)
|
||||
ldx MAPDATA+$258,y
|
||||
lda COLORMAP2,x
|
||||
sta COLS+$258,y
|
||||
@ -653,7 +653,7 @@ main: {
|
||||
lda MAPDATA+$320,y
|
||||
sta SCREEN+$320,y
|
||||
// COLS[800+x] = COLORMAP2[MAPDATA[800+x]]
|
||||
// [15] *((const byte*) COLS#0+(word) $320 + (byte) main::x#2) ← *((const byte[$100]) COLORMAP2#0 + *((const byte[$3e8]) MAPDATA#0+(word) $320 + (byte) main::x#2)) -- pbuc1_derefidx_vbuyy=pbuc2_derefidx_pbuc3_derefidx_vbuyy
|
||||
// [15] *((const byte*) COLS#0+(word) $320 + (byte) main::x#2) ← *((const byte[$100]) COLORMAP2#0 + *((const byte[$3e8]) MAPDATA#0+(word) $320 + (byte) main::x#2)) -- pbuc1_derefidx_vbuyy=pbuc2_derefidx_(pbuc3_derefidx_vbuyy)
|
||||
ldx MAPDATA+$320,y
|
||||
lda COLORMAP2,x
|
||||
sta COLS+$320,y
|
||||
|
@ -2510,7 +2510,7 @@ plexShowSprite: {
|
||||
lda.z plex_sprite_idx
|
||||
asl
|
||||
sta.z plex_sprite_idx2
|
||||
// [36] (byte) plexShowSprite::plexFreeAdd1_ypos#0 ← *((const byte[PLEX_COUNT#0]) PLEX_YPOS#0 + *((const byte[PLEX_COUNT#0]) PLEX_SORTED_IDX#0 + (byte) plex_show_idx#42)) -- vbuz1=pbuc1_derefidx_pbuc2_derefidx_vbuz2
|
||||
// [36] (byte) plexShowSprite::plexFreeAdd1_ypos#0 ← *((const byte[PLEX_COUNT#0]) PLEX_YPOS#0 + *((const byte[PLEX_COUNT#0]) PLEX_SORTED_IDX#0 + (byte) plex_show_idx#42)) -- vbuz1=pbuc1_derefidx_(pbuc2_derefidx_vbuz2)
|
||||
ldx.z plex_show_idx
|
||||
ldy PLEX_SORTED_IDX,x
|
||||
ldx PLEX_YPOS,y
|
||||
@ -2541,7 +2541,7 @@ plexShowSprite: {
|
||||
jmp b4
|
||||
// plexShowSprite::@4
|
||||
b4:
|
||||
// [42] *((const byte*) PLEX_SCREEN_PTR#1 + (byte) plex_sprite_idx#42) ← *((const byte[PLEX_COUNT#0]) PLEX_PTR#0 + *((const byte[PLEX_COUNT#0]) PLEX_SORTED_IDX#0 + (byte) plex_show_idx#42)) -- pbuc1_derefidx_vbuz1=pbuc2_derefidx_pbuc3_derefidx_vbuz2
|
||||
// [42] *((const byte*) PLEX_SCREEN_PTR#1 + (byte) plex_sprite_idx#42) ← *((const byte[PLEX_COUNT#0]) PLEX_PTR#0 + *((const byte[PLEX_COUNT#0]) PLEX_SORTED_IDX#0 + (byte) plex_show_idx#42)) -- pbuc1_derefidx_vbuz1=pbuc2_derefidx_(pbuc3_derefidx_vbuz2)
|
||||
ldx.z plex_show_idx
|
||||
ldy PLEX_SORTED_IDX,x
|
||||
lda PLEX_PTR,y
|
||||
@ -2665,7 +2665,7 @@ plexSort: {
|
||||
ldy.z nxt_idx
|
||||
lda PLEX_YPOS,y
|
||||
sta.z nxt_y
|
||||
// [64] if((byte) plexSort::nxt_y#0>=*((const byte[PLEX_COUNT#0]) PLEX_YPOS#0 + *((const byte[PLEX_COUNT#0]) PLEX_SORTED_IDX#0 + (byte) plexSort::m#2))) goto plexSort::@2 -- vbuz1_ge_pbuc1_derefidx_pbuc2_derefidx_vbuz2_then_la1
|
||||
// [64] if((byte) plexSort::nxt_y#0>=*((const byte[PLEX_COUNT#0]) PLEX_YPOS#0 + *((const byte[PLEX_COUNT#0]) PLEX_SORTED_IDX#0 + (byte) plexSort::m#2))) goto plexSort::@2 -- vbuz1_ge_pbuc1_derefidx_(pbuc2_derefidx_vbuz2)_then_la1
|
||||
lda.z nxt_y
|
||||
ldx.z m
|
||||
ldy PLEX_SORTED_IDX,x
|
||||
@ -2697,7 +2697,7 @@ plexSort: {
|
||||
jmp b6
|
||||
// plexSort::@6
|
||||
b6:
|
||||
// [70] if((byte) plexSort::nxt_y#0<*((const byte[PLEX_COUNT#0]) PLEX_YPOS#0 + *((const byte[PLEX_COUNT#0]) PLEX_SORTED_IDX#0 + (byte) plexSort::s#1))) goto plexSort::@3 -- vbuz1_lt_pbuc1_derefidx_pbuc2_derefidx_vbuz2_then_la1
|
||||
// [70] if((byte) plexSort::nxt_y#0<*((const byte[PLEX_COUNT#0]) PLEX_YPOS#0 + *((const byte[PLEX_COUNT#0]) PLEX_SORTED_IDX#0 + (byte) plexSort::s#1))) goto plexSort::@3 -- vbuz1_lt_pbuc1_derefidx_(pbuc2_derefidx_vbuz2)_then_la1
|
||||
lda.z nxt_y
|
||||
ldx.z s
|
||||
ldy PLEX_SORTED_IDX,x
|
||||
@ -3325,7 +3325,7 @@ plexShowSprite: {
|
||||
lda.z plex_sprite_idx
|
||||
asl
|
||||
sta.z plex_sprite_idx2
|
||||
// [36] (byte) plexShowSprite::plexFreeAdd1_ypos#0 ← *((const byte[PLEX_COUNT#0]) PLEX_YPOS#0 + *((const byte[PLEX_COUNT#0]) PLEX_SORTED_IDX#0 + (byte) plex_show_idx#42)) -- vbuaa=pbuc1_derefidx_pbuc2_derefidx_vbuz1
|
||||
// [36] (byte) plexShowSprite::plexFreeAdd1_ypos#0 ← *((const byte[PLEX_COUNT#0]) PLEX_YPOS#0 + *((const byte[PLEX_COUNT#0]) PLEX_SORTED_IDX#0 + (byte) plex_show_idx#42)) -- vbuaa=pbuc1_derefidx_(pbuc2_derefidx_vbuz1)
|
||||
ldx.z plex_show_idx
|
||||
ldy PLEX_SORTED_IDX,x
|
||||
lda PLEX_YPOS,y
|
||||
@ -3350,7 +3350,7 @@ plexShowSprite: {
|
||||
jmp b4
|
||||
// plexShowSprite::@4
|
||||
b4:
|
||||
// [42] *((const byte*) PLEX_SCREEN_PTR#1 + (byte) plex_sprite_idx#42) ← *((const byte[PLEX_COUNT#0]) PLEX_PTR#0 + *((const byte[PLEX_COUNT#0]) PLEX_SORTED_IDX#0 + (byte) plex_show_idx#42)) -- pbuc1_derefidx_vbuz1=pbuc2_derefidx_pbuc3_derefidx_vbuz2
|
||||
// [42] *((const byte*) PLEX_SCREEN_PTR#1 + (byte) plex_sprite_idx#42) ← *((const byte[PLEX_COUNT#0]) PLEX_PTR#0 + *((const byte[PLEX_COUNT#0]) PLEX_SORTED_IDX#0 + (byte) plex_show_idx#42)) -- pbuc1_derefidx_vbuz1=pbuc2_derefidx_(pbuc3_derefidx_vbuz2)
|
||||
ldx.z plex_show_idx
|
||||
ldy PLEX_SORTED_IDX,x
|
||||
lda PLEX_PTR,y
|
||||
@ -3459,7 +3459,7 @@ plexSort: {
|
||||
ldy.z nxt_idx
|
||||
lda PLEX_YPOS,y
|
||||
sta.z nxt_y
|
||||
// [64] if((byte) plexSort::nxt_y#0>=*((const byte[PLEX_COUNT#0]) PLEX_YPOS#0 + *((const byte[PLEX_COUNT#0]) PLEX_SORTED_IDX#0 + (byte) plexSort::m#2))) goto plexSort::@2 -- vbuz1_ge_pbuc1_derefidx_pbuc2_derefidx_vbuz2_then_la1
|
||||
// [64] if((byte) plexSort::nxt_y#0>=*((const byte[PLEX_COUNT#0]) PLEX_YPOS#0 + *((const byte[PLEX_COUNT#0]) PLEX_SORTED_IDX#0 + (byte) plexSort::m#2))) goto plexSort::@2 -- vbuz1_ge_pbuc1_derefidx_(pbuc2_derefidx_vbuz2)_then_la1
|
||||
lda.z nxt_y
|
||||
ldx.z m
|
||||
ldy PLEX_SORTED_IDX,x
|
||||
@ -3488,7 +3488,7 @@ plexSort: {
|
||||
jmp b6
|
||||
// plexSort::@6
|
||||
b6:
|
||||
// [70] if((byte) plexSort::nxt_y#0<*((const byte[PLEX_COUNT#0]) PLEX_YPOS#0 + *((const byte[PLEX_COUNT#0]) PLEX_SORTED_IDX#0 + (byte) plexSort::s#1))) goto plexSort::@3 -- vbuz1_lt_pbuc1_derefidx_pbuc2_derefidx_vbuxx_then_la1
|
||||
// [70] if((byte) plexSort::nxt_y#0<*((const byte[PLEX_COUNT#0]) PLEX_YPOS#0 + *((const byte[PLEX_COUNT#0]) PLEX_SORTED_IDX#0 + (byte) plexSort::s#1))) goto plexSort::@3 -- vbuz1_lt_pbuc1_derefidx_(pbuc2_derefidx_vbuxx)_then_la1
|
||||
lda.z nxt_y
|
||||
ldy PLEX_SORTED_IDX,x
|
||||
cmp PLEX_YPOS,y
|
||||
@ -4235,7 +4235,7 @@ plexShowSprite: {
|
||||
asl
|
||||
sta.z plex_sprite_idx2
|
||||
// ypos = PLEX_YPOS[PLEX_SORTED_IDX[plex_show_idx]]
|
||||
// [36] (byte) plexShowSprite::plexFreeAdd1_ypos#0 ← *((const byte[PLEX_COUNT#0]) PLEX_YPOS#0 + *((const byte[PLEX_COUNT#0]) PLEX_SORTED_IDX#0 + (byte) plex_show_idx#42)) -- vbuaa=pbuc1_derefidx_pbuc2_derefidx_vbuz1
|
||||
// [36] (byte) plexShowSprite::plexFreeAdd1_ypos#0 ← *((const byte[PLEX_COUNT#0]) PLEX_YPOS#0 + *((const byte[PLEX_COUNT#0]) PLEX_SORTED_IDX#0 + (byte) plex_show_idx#42)) -- vbuaa=pbuc1_derefidx_(pbuc2_derefidx_vbuz1)
|
||||
ldx.z plex_show_idx
|
||||
ldy PLEX_SORTED_IDX,x
|
||||
lda PLEX_YPOS,y
|
||||
@ -4262,7 +4262,7 @@ plexShowSprite: {
|
||||
sax.z plex_free_next
|
||||
// plexShowSprite::@4
|
||||
// PLEX_SCREEN_PTR[plex_sprite_idx] = PLEX_PTR[PLEX_SORTED_IDX[plex_show_idx]]
|
||||
// [42] *((const byte*) PLEX_SCREEN_PTR#1 + (byte) plex_sprite_idx#42) ← *((const byte[PLEX_COUNT#0]) PLEX_PTR#0 + *((const byte[PLEX_COUNT#0]) PLEX_SORTED_IDX#0 + (byte) plex_show_idx#42)) -- pbuc1_derefidx_vbuz1=pbuc2_derefidx_pbuc3_derefidx_vbuz2
|
||||
// [42] *((const byte*) PLEX_SCREEN_PTR#1 + (byte) plex_sprite_idx#42) ← *((const byte[PLEX_COUNT#0]) PLEX_PTR#0 + *((const byte[PLEX_COUNT#0]) PLEX_SORTED_IDX#0 + (byte) plex_show_idx#42)) -- pbuc1_derefidx_vbuz1=pbuc2_derefidx_(pbuc3_derefidx_vbuz2)
|
||||
ldx.z plex_show_idx
|
||||
ldy PLEX_SORTED_IDX,x
|
||||
lda PLEX_PTR,y
|
||||
@ -4375,7 +4375,7 @@ plexSort: {
|
||||
lda PLEX_YPOS,y
|
||||
sta.z nxt_y
|
||||
// if(nxt_y<PLEX_YPOS[PLEX_SORTED_IDX[m]])
|
||||
// [64] if((byte) plexSort::nxt_y#0>=*((const byte[PLEX_COUNT#0]) PLEX_YPOS#0 + *((const byte[PLEX_COUNT#0]) PLEX_SORTED_IDX#0 + (byte) plexSort::m#2))) goto plexSort::@2 -- vbuz1_ge_pbuc1_derefidx_pbuc2_derefidx_vbuz2_then_la1
|
||||
// [64] if((byte) plexSort::nxt_y#0>=*((const byte[PLEX_COUNT#0]) PLEX_YPOS#0 + *((const byte[PLEX_COUNT#0]) PLEX_SORTED_IDX#0 + (byte) plexSort::m#2))) goto plexSort::@2 -- vbuz1_ge_pbuc1_derefidx_(pbuc2_derefidx_vbuz2)_then_la1
|
||||
ldx.z m
|
||||
ldy PLEX_SORTED_IDX,x
|
||||
cmp PLEX_YPOS,y
|
||||
@ -4398,7 +4398,7 @@ plexSort: {
|
||||
cpx #$ff
|
||||
beq b4
|
||||
// plexSort::@6
|
||||
// [70] if((byte) plexSort::nxt_y#0<*((const byte[PLEX_COUNT#0]) PLEX_YPOS#0 + *((const byte[PLEX_COUNT#0]) PLEX_SORTED_IDX#0 + (byte) plexSort::s#1))) goto plexSort::@3 -- vbuz1_lt_pbuc1_derefidx_pbuc2_derefidx_vbuxx_then_la1
|
||||
// [70] if((byte) plexSort::nxt_y#0<*((const byte[PLEX_COUNT#0]) PLEX_YPOS#0 + *((const byte[PLEX_COUNT#0]) PLEX_SORTED_IDX#0 + (byte) plexSort::s#1))) goto plexSort::@3 -- vbuz1_lt_pbuc1_derefidx_(pbuc2_derefidx_vbuxx)_then_la1
|
||||
lda.z nxt_y
|
||||
ldy PLEX_SORTED_IDX,x
|
||||
cmp PLEX_YPOS,y
|
||||
|
@ -1046,7 +1046,7 @@ utoa16n: {
|
||||
jmp b2
|
||||
// utoa16n::@2
|
||||
b2:
|
||||
// [43] *(*(&(byte*) utoa16w::dst#5)) ← *((const byte[]) DIGITS#0 + (byte) utoa16n::nybble#4) -- _deref__deref_pptc1=pbuc2_derefidx_vbuz1
|
||||
// [43] *(*(&(byte*) utoa16w::dst#5)) ← *((const byte[]) DIGITS#0 + (byte) utoa16n::nybble#4) -- _deref_(_deref_pptc1)=pbuc2_derefidx_vbuz1
|
||||
ldy.z nybble
|
||||
lda DIGITS,y
|
||||
ldy #0
|
||||
@ -1415,7 +1415,7 @@ utoa16n: {
|
||||
jmp b2
|
||||
// utoa16n::@2
|
||||
b2:
|
||||
// [43] *(*(&(byte*) utoa16w::dst#5)) ← *((const byte[]) DIGITS#0 + (byte) utoa16n::nybble#4) -- _deref__deref_pptc1=pbuc2_derefidx_vbuaa
|
||||
// [43] *(*(&(byte*) utoa16w::dst#5)) ← *((const byte[]) DIGITS#0 + (byte) utoa16n::nybble#4) -- _deref_(_deref_pptc1)=pbuc2_derefidx_vbuaa
|
||||
tay
|
||||
lda DIGITS,y
|
||||
ldy #0
|
||||
@ -1839,7 +1839,7 @@ utoa16n: {
|
||||
beq breturn
|
||||
// utoa16n::@2
|
||||
// *(*dst)++ = DIGITS[nybble]
|
||||
// [43] *(*(&(byte*) utoa16w::dst#5)) ← *((const byte[]) DIGITS#0 + (byte) utoa16n::nybble#4) -- _deref__deref_pptc1=pbuc2_derefidx_vbuaa
|
||||
// [43] *(*(&(byte*) utoa16w::dst#5)) ← *((const byte[]) DIGITS#0 + (byte) utoa16n::nybble#4) -- _deref_(_deref_pptc1)=pbuc2_derefidx_vbuaa
|
||||
tay
|
||||
lda DIGITS,y
|
||||
ldy #0
|
||||
|
@ -1989,7 +1989,7 @@ utoa16n: {
|
||||
jmp b2
|
||||
// utoa16n::@2
|
||||
b2:
|
||||
// [82] *(*(&(byte*) utoa16w::dst#5)) ← *((const byte[]) DIGITS#0 + (byte) utoa16n::nybble#4) -- _deref__deref_pptc1=pbuc2_derefidx_vbuz1
|
||||
// [82] *(*(&(byte*) utoa16w::dst#5)) ← *((const byte[]) DIGITS#0 + (byte) utoa16n::nybble#4) -- _deref_(_deref_pptc1)=pbuc2_derefidx_vbuz1
|
||||
ldy.z nybble
|
||||
lda DIGITS,y
|
||||
ldy #0
|
||||
@ -2685,7 +2685,7 @@ utoa16n: {
|
||||
jmp b2
|
||||
// utoa16n::@2
|
||||
b2:
|
||||
// [82] *(*(&(byte*) utoa16w::dst#5)) ← *((const byte[]) DIGITS#0 + (byte) utoa16n::nybble#4) -- _deref__deref_pptc1=pbuc2_derefidx_vbuaa
|
||||
// [82] *(*(&(byte*) utoa16w::dst#5)) ← *((const byte[]) DIGITS#0 + (byte) utoa16n::nybble#4) -- _deref_(_deref_pptc1)=pbuc2_derefidx_vbuaa
|
||||
tay
|
||||
lda DIGITS,y
|
||||
ldy #0
|
||||
@ -3455,7 +3455,7 @@ utoa16n: {
|
||||
beq breturn
|
||||
// utoa16n::@2
|
||||
// *(*dst)++ = DIGITS[nybble]
|
||||
// [82] *(*(&(byte*) utoa16w::dst#5)) ← *((const byte[]) DIGITS#0 + (byte) utoa16n::nybble#4) -- _deref__deref_pptc1=pbuc2_derefidx_vbuaa
|
||||
// [82] *(*(&(byte*) utoa16w::dst#5)) ← *((const byte[]) DIGITS#0 + (byte) utoa16n::nybble#4) -- _deref_(_deref_pptc1)=pbuc2_derefidx_vbuaa
|
||||
tay
|
||||
lda DIGITS,y
|
||||
ldy #0
|
||||
|
@ -2649,7 +2649,7 @@ plexSort: {
|
||||
ldy.z nxt_idx
|
||||
lda PLEX_YPOS,y
|
||||
sta.z nxt_y
|
||||
// [36] if((byte) plexSort::nxt_y#0>=*((const byte[PLEX_COUNT#0]) PLEX_YPOS#0 + *((const byte[PLEX_COUNT#0]) PLEX_SORTED_IDX#0 + (byte) plexSort::m#2))) goto plexSort::@2 -- vbuz1_ge_pbuc1_derefidx_pbuc2_derefidx_vbuz2_then_la1
|
||||
// [36] if((byte) plexSort::nxt_y#0>=*((const byte[PLEX_COUNT#0]) PLEX_YPOS#0 + *((const byte[PLEX_COUNT#0]) PLEX_SORTED_IDX#0 + (byte) plexSort::m#2))) goto plexSort::@2 -- vbuz1_ge_pbuc1_derefidx_(pbuc2_derefidx_vbuz2)_then_la1
|
||||
lda.z nxt_y
|
||||
ldx.z m
|
||||
ldy PLEX_SORTED_IDX,x
|
||||
@ -2681,7 +2681,7 @@ plexSort: {
|
||||
jmp b7
|
||||
// plexSort::@7
|
||||
b7:
|
||||
// [42] if((byte) plexSort::nxt_y#0<*((const byte[PLEX_COUNT#0]) PLEX_YPOS#0 + *((const byte[PLEX_COUNT#0]) PLEX_SORTED_IDX#0 + (byte) plexSort::s#1))) goto plexSort::@3 -- vbuz1_lt_pbuc1_derefidx_pbuc2_derefidx_vbuz2_then_la1
|
||||
// [42] if((byte) plexSort::nxt_y#0<*((const byte[PLEX_COUNT#0]) PLEX_YPOS#0 + *((const byte[PLEX_COUNT#0]) PLEX_SORTED_IDX#0 + (byte) plexSort::s#1))) goto plexSort::@3 -- vbuz1_lt_pbuc1_derefidx_(pbuc2_derefidx_vbuz2)_then_la1
|
||||
lda.z nxt_y
|
||||
ldx.z s
|
||||
ldy PLEX_SORTED_IDX,x
|
||||
@ -3017,7 +3017,7 @@ plexShowSprite: {
|
||||
lda.z plex_sprite_idx
|
||||
asl
|
||||
sta.z plex_sprite_idx2
|
||||
// [100] (byte) plexShowSprite::plexFreeAdd1_ypos#0 ← *((const byte[PLEX_COUNT#0]) PLEX_YPOS#0 + *((const byte[PLEX_COUNT#0]) PLEX_SORTED_IDX#0 + (byte) plex_show_idx#27)) -- vbuz1=pbuc1_derefidx_pbuc2_derefidx_vbuz2
|
||||
// [100] (byte) plexShowSprite::plexFreeAdd1_ypos#0 ← *((const byte[PLEX_COUNT#0]) PLEX_YPOS#0 + *((const byte[PLEX_COUNT#0]) PLEX_SORTED_IDX#0 + (byte) plex_show_idx#27)) -- vbuz1=pbuc1_derefidx_(pbuc2_derefidx_vbuz2)
|
||||
ldx.z plex_show_idx
|
||||
ldy PLEX_SORTED_IDX,x
|
||||
ldx PLEX_YPOS,y
|
||||
@ -3048,7 +3048,7 @@ plexShowSprite: {
|
||||
jmp b5
|
||||
// plexShowSprite::@5
|
||||
b5:
|
||||
// [106] *((const byte*) PLEX_SCREEN_PTR#0 + (byte) plex_sprite_idx#25) ← *((const byte[PLEX_COUNT#0]) PLEX_PTR#0 + *((const byte[PLEX_COUNT#0]) PLEX_SORTED_IDX#0 + (byte) plex_show_idx#27)) -- pbuc1_derefidx_vbuz1=pbuc2_derefidx_pbuc3_derefidx_vbuz2
|
||||
// [106] *((const byte*) PLEX_SCREEN_PTR#0 + (byte) plex_sprite_idx#25) ← *((const byte[PLEX_COUNT#0]) PLEX_PTR#0 + *((const byte[PLEX_COUNT#0]) PLEX_SORTED_IDX#0 + (byte) plex_show_idx#27)) -- pbuc1_derefidx_vbuz1=pbuc2_derefidx_(pbuc3_derefidx_vbuz2)
|
||||
ldx.z plex_show_idx
|
||||
ldy PLEX_SORTED_IDX,x
|
||||
lda PLEX_PTR,y
|
||||
@ -3687,7 +3687,7 @@ plexSort: {
|
||||
ldy.z nxt_idx
|
||||
lda PLEX_YPOS,y
|
||||
sta.z nxt_y
|
||||
// [36] if((byte) plexSort::nxt_y#0>=*((const byte[PLEX_COUNT#0]) PLEX_YPOS#0 + *((const byte[PLEX_COUNT#0]) PLEX_SORTED_IDX#0 + (byte) plexSort::m#2))) goto plexSort::@2 -- vbuz1_ge_pbuc1_derefidx_pbuc2_derefidx_vbuz2_then_la1
|
||||
// [36] if((byte) plexSort::nxt_y#0>=*((const byte[PLEX_COUNT#0]) PLEX_YPOS#0 + *((const byte[PLEX_COUNT#0]) PLEX_SORTED_IDX#0 + (byte) plexSort::m#2))) goto plexSort::@2 -- vbuz1_ge_pbuc1_derefidx_(pbuc2_derefidx_vbuz2)_then_la1
|
||||
lda.z nxt_y
|
||||
ldx.z m
|
||||
ldy PLEX_SORTED_IDX,x
|
||||
@ -3716,7 +3716,7 @@ plexSort: {
|
||||
jmp b7
|
||||
// plexSort::@7
|
||||
b7:
|
||||
// [42] if((byte) plexSort::nxt_y#0<*((const byte[PLEX_COUNT#0]) PLEX_YPOS#0 + *((const byte[PLEX_COUNT#0]) PLEX_SORTED_IDX#0 + (byte) plexSort::s#1))) goto plexSort::@3 -- vbuz1_lt_pbuc1_derefidx_pbuc2_derefidx_vbuxx_then_la1
|
||||
// [42] if((byte) plexSort::nxt_y#0<*((const byte[PLEX_COUNT#0]) PLEX_YPOS#0 + *((const byte[PLEX_COUNT#0]) PLEX_SORTED_IDX#0 + (byte) plexSort::s#1))) goto plexSort::@3 -- vbuz1_lt_pbuc1_derefidx_(pbuc2_derefidx_vbuxx)_then_la1
|
||||
lda.z nxt_y
|
||||
ldy PLEX_SORTED_IDX,x
|
||||
cmp PLEX_YPOS,y
|
||||
@ -4018,7 +4018,7 @@ plexShowSprite: {
|
||||
lda.z plex_sprite_idx
|
||||
asl
|
||||
sta.z plex_sprite_idx2
|
||||
// [100] (byte) plexShowSprite::plexFreeAdd1_ypos#0 ← *((const byte[PLEX_COUNT#0]) PLEX_YPOS#0 + *((const byte[PLEX_COUNT#0]) PLEX_SORTED_IDX#0 + (byte) plex_show_idx#27)) -- vbuaa=pbuc1_derefidx_pbuc2_derefidx_vbuz1
|
||||
// [100] (byte) plexShowSprite::plexFreeAdd1_ypos#0 ← *((const byte[PLEX_COUNT#0]) PLEX_YPOS#0 + *((const byte[PLEX_COUNT#0]) PLEX_SORTED_IDX#0 + (byte) plex_show_idx#27)) -- vbuaa=pbuc1_derefidx_(pbuc2_derefidx_vbuz1)
|
||||
ldx.z plex_show_idx
|
||||
ldy PLEX_SORTED_IDX,x
|
||||
lda PLEX_YPOS,y
|
||||
@ -4043,7 +4043,7 @@ plexShowSprite: {
|
||||
jmp b5
|
||||
// plexShowSprite::@5
|
||||
b5:
|
||||
// [106] *((const byte*) PLEX_SCREEN_PTR#0 + (byte) plex_sprite_idx#25) ← *((const byte[PLEX_COUNT#0]) PLEX_PTR#0 + *((const byte[PLEX_COUNT#0]) PLEX_SORTED_IDX#0 + (byte) plex_show_idx#27)) -- pbuc1_derefidx_vbuz1=pbuc2_derefidx_pbuc3_derefidx_vbuz2
|
||||
// [106] *((const byte*) PLEX_SCREEN_PTR#0 + (byte) plex_sprite_idx#25) ← *((const byte[PLEX_COUNT#0]) PLEX_PTR#0 + *((const byte[PLEX_COUNT#0]) PLEX_SORTED_IDX#0 + (byte) plex_show_idx#27)) -- pbuc1_derefidx_vbuz1=pbuc2_derefidx_(pbuc3_derefidx_vbuz2)
|
||||
ldx.z plex_show_idx
|
||||
ldy PLEX_SORTED_IDX,x
|
||||
lda PLEX_PTR,y
|
||||
@ -4758,7 +4758,7 @@ plexSort: {
|
||||
lda PLEX_YPOS,y
|
||||
sta.z nxt_y
|
||||
// if(nxt_y<PLEX_YPOS[PLEX_SORTED_IDX[m]])
|
||||
// [36] if((byte) plexSort::nxt_y#0>=*((const byte[PLEX_COUNT#0]) PLEX_YPOS#0 + *((const byte[PLEX_COUNT#0]) PLEX_SORTED_IDX#0 + (byte) plexSort::m#2))) goto plexSort::@2 -- vbuz1_ge_pbuc1_derefidx_pbuc2_derefidx_vbuz2_then_la1
|
||||
// [36] if((byte) plexSort::nxt_y#0>=*((const byte[PLEX_COUNT#0]) PLEX_YPOS#0 + *((const byte[PLEX_COUNT#0]) PLEX_SORTED_IDX#0 + (byte) plexSort::m#2))) goto plexSort::@2 -- vbuz1_ge_pbuc1_derefidx_(pbuc2_derefidx_vbuz2)_then_la1
|
||||
ldx.z m
|
||||
ldy PLEX_SORTED_IDX,x
|
||||
cmp PLEX_YPOS,y
|
||||
@ -4781,7 +4781,7 @@ plexSort: {
|
||||
cpx #$ff
|
||||
beq b4
|
||||
// plexSort::@7
|
||||
// [42] if((byte) plexSort::nxt_y#0<*((const byte[PLEX_COUNT#0]) PLEX_YPOS#0 + *((const byte[PLEX_COUNT#0]) PLEX_SORTED_IDX#0 + (byte) plexSort::s#1))) goto plexSort::@3 -- vbuz1_lt_pbuc1_derefidx_pbuc2_derefidx_vbuxx_then_la1
|
||||
// [42] if((byte) plexSort::nxt_y#0<*((const byte[PLEX_COUNT#0]) PLEX_YPOS#0 + *((const byte[PLEX_COUNT#0]) PLEX_SORTED_IDX#0 + (byte) plexSort::s#1))) goto plexSort::@3 -- vbuz1_lt_pbuc1_derefidx_(pbuc2_derefidx_vbuxx)_then_la1
|
||||
lda.z nxt_y
|
||||
ldy PLEX_SORTED_IDX,x
|
||||
cmp PLEX_YPOS,y
|
||||
@ -5066,7 +5066,7 @@ plexShowSprite: {
|
||||
asl
|
||||
sta.z plex_sprite_idx2
|
||||
// ypos = PLEX_YPOS[PLEX_SORTED_IDX[plex_show_idx]]
|
||||
// [100] (byte) plexShowSprite::plexFreeAdd1_ypos#0 ← *((const byte[PLEX_COUNT#0]) PLEX_YPOS#0 + *((const byte[PLEX_COUNT#0]) PLEX_SORTED_IDX#0 + (byte) plex_show_idx#27)) -- vbuaa=pbuc1_derefidx_pbuc2_derefidx_vbuz1
|
||||
// [100] (byte) plexShowSprite::plexFreeAdd1_ypos#0 ← *((const byte[PLEX_COUNT#0]) PLEX_YPOS#0 + *((const byte[PLEX_COUNT#0]) PLEX_SORTED_IDX#0 + (byte) plex_show_idx#27)) -- vbuaa=pbuc1_derefidx_(pbuc2_derefidx_vbuz1)
|
||||
ldx.z plex_show_idx
|
||||
ldy PLEX_SORTED_IDX,x
|
||||
lda PLEX_YPOS,y
|
||||
@ -5093,7 +5093,7 @@ plexShowSprite: {
|
||||
sax.z plexFreeAdd1__2
|
||||
// plexShowSprite::@5
|
||||
// PLEX_SCREEN_PTR[plex_sprite_idx] = PLEX_PTR[PLEX_SORTED_IDX[plex_show_idx]]
|
||||
// [106] *((const byte*) PLEX_SCREEN_PTR#0 + (byte) plex_sprite_idx#25) ← *((const byte[PLEX_COUNT#0]) PLEX_PTR#0 + *((const byte[PLEX_COUNT#0]) PLEX_SORTED_IDX#0 + (byte) plex_show_idx#27)) -- pbuc1_derefidx_vbuz1=pbuc2_derefidx_pbuc3_derefidx_vbuz2
|
||||
// [106] *((const byte*) PLEX_SCREEN_PTR#0 + (byte) plex_sprite_idx#25) ← *((const byte[PLEX_COUNT#0]) PLEX_PTR#0 + *((const byte[PLEX_COUNT#0]) PLEX_SORTED_IDX#0 + (byte) plex_show_idx#27)) -- pbuc1_derefidx_vbuz1=pbuc2_derefidx_(pbuc3_derefidx_vbuz2)
|
||||
ldx.z plex_show_idx
|
||||
ldy PLEX_SORTED_IDX,x
|
||||
lda PLEX_PTR,y
|
||||
|
@ -5709,7 +5709,7 @@ doplasma: {
|
||||
jmp b2
|
||||
// doplasma::@2
|
||||
b2:
|
||||
// [32] (byte~) doplasma::$2 ← *((byte*) doplasma::sin_x#0 + *((byte*) doplasma::angle#4 + (byte) doplasma::x#2)) + *((byte*) doplasma::sin_y#0 + *((byte*) doplasma::dist#4 + (byte) doplasma::x#2)) -- vbuz1=pbuz2_derefidx_pbuz3_derefidx_vbuz4_plus_pbuz5_derefidx_pbuz6_derefidx_vbuz4
|
||||
// [32] (byte~) doplasma::$2 ← *((byte*) doplasma::sin_x#0 + *((byte*) doplasma::angle#4 + (byte) doplasma::x#2)) + *((byte*) doplasma::sin_y#0 + *((byte*) doplasma::dist#4 + (byte) doplasma::x#2)) -- vbuz1=pbuz2_derefidx_(pbuz3_derefidx_vbuz4)_plus_pbuz5_derefidx_(pbuz6_derefidx_vbuz4)
|
||||
ldy.z x
|
||||
lda (dist),y
|
||||
sta.z $ff
|
||||
@ -8244,7 +8244,7 @@ doplasma: {
|
||||
jmp b2
|
||||
// doplasma::@2
|
||||
b2:
|
||||
// [32] (byte~) doplasma::$2 ← *((byte*) doplasma::sin_x#0 + *((byte*) doplasma::angle#4 + (byte) doplasma::x#2)) + *((byte*) doplasma::sin_y#0 + *((byte*) doplasma::dist#4 + (byte) doplasma::x#2)) -- vbuaa=pbuz1_derefidx_pbuz2_derefidx_vbuxx_plus_pbuz3_derefidx_pbuz4_derefidx_vbuxx
|
||||
// [32] (byte~) doplasma::$2 ← *((byte*) doplasma::sin_x#0 + *((byte*) doplasma::angle#4 + (byte) doplasma::x#2)) + *((byte*) doplasma::sin_y#0 + *((byte*) doplasma::dist#4 + (byte) doplasma::x#2)) -- vbuaa=pbuz1_derefidx_(pbuz2_derefidx_vbuxx)_plus_pbuz3_derefidx_(pbuz4_derefidx_vbuxx)
|
||||
txa
|
||||
tay
|
||||
lda (dist),y
|
||||
@ -10736,7 +10736,7 @@ doplasma: {
|
||||
// doplasma::@2
|
||||
b2:
|
||||
// sin_x[angle[x]] + sin_y[dist[x]]
|
||||
// [32] (byte~) doplasma::$2 ← *((byte*) doplasma::sin_x#0 + *((byte*) doplasma::angle#4 + (byte) doplasma::x#2)) + *((byte*) doplasma::sin_y#0 + *((byte*) doplasma::dist#4 + (byte) doplasma::x#2)) -- vbuaa=pbuz1_derefidx_pbuz2_derefidx_vbuxx_plus_pbuz3_derefidx_pbuz4_derefidx_vbuxx
|
||||
// [32] (byte~) doplasma::$2 ← *((byte*) doplasma::sin_x#0 + *((byte*) doplasma::angle#4 + (byte) doplasma::x#2)) + *((byte*) doplasma::sin_y#0 + *((byte*) doplasma::dist#4 + (byte) doplasma::x#2)) -- vbuaa=pbuz1_derefidx_(pbuz2_derefidx_vbuxx)_plus_pbuz3_derefidx_(pbuz4_derefidx_vbuxx)
|
||||
txa
|
||||
tay
|
||||
lda (dist),y
|
||||
|
@ -145,7 +145,7 @@ main: {
|
||||
sta.z pb
|
||||
lda #>b
|
||||
sta.z pb+1
|
||||
// [6] *((const byte*) main::SCREEN#0) ← *(*((const byte**) main::ppb#0)) -- _deref_pbuc1=_deref__deref_pptc2
|
||||
// [6] *((const byte*) main::SCREEN#0) ← *(*((const byte**) main::ppb#0)) -- _deref_pbuc1=_deref_(_deref_pptc2)
|
||||
ldy #0
|
||||
lda (ppb),y
|
||||
sta SCREEN
|
||||
@ -209,7 +209,7 @@ main: {
|
||||
sta.z pb
|
||||
lda #>b
|
||||
sta.z pb+1
|
||||
// [6] *((const byte*) main::SCREEN#0) ← *(*((const byte**) main::ppb#0)) -- _deref_pbuc1=_deref__deref_pptc2
|
||||
// [6] *((const byte*) main::SCREEN#0) ← *(*((const byte**) main::ppb#0)) -- _deref_pbuc1=_deref_(_deref_pptc2)
|
||||
ldy #0
|
||||
lda (ppb),y
|
||||
sta SCREEN
|
||||
@ -291,7 +291,7 @@ main: {
|
||||
lda #>b
|
||||
sta.z pb+1
|
||||
// *SCREEN = **ppb
|
||||
// [6] *((const byte*) main::SCREEN#0) ← *(*((const byte**) main::ppb#0)) -- _deref_pbuc1=_deref__deref_pptc2
|
||||
// [6] *((const byte*) main::SCREEN#0) ← *(*((const byte**) main::ppb#0)) -- _deref_pbuc1=_deref_(_deref_pptc2)
|
||||
ldy #0
|
||||
lda (ppb),y
|
||||
sta SCREEN
|
||||
|
@ -122,7 +122,7 @@ main: {
|
||||
sta.z screen
|
||||
lda #>$400
|
||||
sta.z screen+1
|
||||
// [5] *(*((const byte**) main::pscreen#0)) ← (byte) 'a' -- _deref__deref_pptc1=vbuc2
|
||||
// [5] *(*((const byte**) main::pscreen#0)) ← (byte) 'a' -- _deref_(_deref_pptc1)=vbuc2
|
||||
lda #'a'
|
||||
ldy #0
|
||||
sta (pscreen),y
|
||||
@ -131,7 +131,7 @@ main: {
|
||||
bne !+
|
||||
inc pscreen+1
|
||||
!:
|
||||
// [7] *(*((const byte**) main::pscreen#0)) ← (byte) 'b' -- _deref__deref_pptc1=vbuc2
|
||||
// [7] *(*((const byte**) main::pscreen#0)) ← (byte) 'b' -- _deref_(_deref_pptc1)=vbuc2
|
||||
lda #'b'
|
||||
ldy #0
|
||||
sta (pscreen),y
|
||||
@ -187,7 +187,7 @@ main: {
|
||||
sta.z screen
|
||||
lda #>$400
|
||||
sta.z screen+1
|
||||
// [5] *(*((const byte**) main::pscreen#0)) ← (byte) 'a' -- _deref__deref_pptc1=vbuc2
|
||||
// [5] *(*((const byte**) main::pscreen#0)) ← (byte) 'a' -- _deref_(_deref_pptc1)=vbuc2
|
||||
lda #'a'
|
||||
ldy #0
|
||||
sta (pscreen),y
|
||||
@ -196,7 +196,7 @@ main: {
|
||||
bne !+
|
||||
inc pscreen+1
|
||||
!:
|
||||
// [7] *(*((const byte**) main::pscreen#0)) ← (byte) 'b' -- _deref__deref_pptc1=vbuc2
|
||||
// [7] *(*((const byte**) main::pscreen#0)) ← (byte) 'b' -- _deref_(_deref_pptc1)=vbuc2
|
||||
lda #'b'
|
||||
ldy #0
|
||||
sta (pscreen),y
|
||||
@ -267,7 +267,7 @@ main: {
|
||||
lda #>$400
|
||||
sta.z screen+1
|
||||
// **pscreen = 'a'
|
||||
// [5] *(*((const byte**) main::pscreen#0)) ← (byte) 'a' -- _deref__deref_pptc1=vbuc2
|
||||
// [5] *(*((const byte**) main::pscreen#0)) ← (byte) 'a' -- _deref_(_deref_pptc1)=vbuc2
|
||||
lda #'a'
|
||||
ldy #0
|
||||
sta (pscreen),y
|
||||
@ -278,7 +278,7 @@ main: {
|
||||
inc pscreen+1
|
||||
!:
|
||||
// **pscreen = 'b'
|
||||
// [7] *(*((const byte**) main::pscreen#0)) ← (byte) 'b' -- _deref__deref_pptc1=vbuc2
|
||||
// [7] *(*((const byte**) main::pscreen#0)) ← (byte) 'b' -- _deref_(_deref_pptc1)=vbuc2
|
||||
lda #'b'
|
||||
ldy #0
|
||||
sta (pscreen),y
|
||||
|
@ -221,7 +221,7 @@ main: {
|
||||
// sub(byte zeropage(2) ch)
|
||||
sub: {
|
||||
.label ch = 2
|
||||
// [10] *(*((const byte**) main::pscreen#0)) ← (byte) sub::ch#2 -- _deref__deref_pptc1=vbuz1
|
||||
// [10] *(*((const byte**) main::pscreen#0)) ← (byte) sub::ch#2 -- _deref_(_deref_pptc1)=vbuz1
|
||||
lda.z ch
|
||||
ldy #0
|
||||
sta (main.pscreen),y
|
||||
@ -311,7 +311,7 @@ main: {
|
||||
// sub
|
||||
// sub(byte register(A) ch)
|
||||
sub: {
|
||||
// [10] *(*((const byte**) main::pscreen#0)) ← (byte) sub::ch#2 -- _deref__deref_pptc1=vbuaa
|
||||
// [10] *(*((const byte**) main::pscreen#0)) ← (byte) sub::ch#2 -- _deref_(_deref_pptc1)=vbuaa
|
||||
ldy #0
|
||||
sta (main.pscreen),y
|
||||
// [11] *((const byte**) main::pscreen#0) ← ++ *((const byte**) main::pscreen#0) -- _deref_pptc1=_inc__deref_pptc1
|
||||
@ -422,7 +422,7 @@ main: {
|
||||
// sub(byte register(A) ch)
|
||||
sub: {
|
||||
// *(*dst)++ = ch
|
||||
// [10] *(*((const byte**) main::pscreen#0)) ← (byte) sub::ch#2 -- _deref__deref_pptc1=vbuaa
|
||||
// [10] *(*((const byte**) main::pscreen#0)) ← (byte) sub::ch#2 -- _deref_(_deref_pptc1)=vbuaa
|
||||
ldy #0
|
||||
sta (main.pscreen),y
|
||||
// *(*dst)++ = ch;
|
||||
|
@ -221,7 +221,7 @@ main: {
|
||||
// sub(byte zeropage(2) ch)
|
||||
sub: {
|
||||
.label ch = 2
|
||||
// [10] *(*(&(byte*) main::screen#0)) ← (byte) sub::ch#2 -- _deref__deref_pptc1=vbuz1
|
||||
// [10] *(*(&(byte*) main::screen#0)) ← (byte) sub::ch#2 -- _deref_(_deref_pptc1)=vbuz1
|
||||
lda.z ch
|
||||
ldy #0
|
||||
sta (main.screen),y
|
||||
@ -311,7 +311,7 @@ main: {
|
||||
// sub
|
||||
// sub(byte register(A) ch)
|
||||
sub: {
|
||||
// [10] *(*(&(byte*) main::screen#0)) ← (byte) sub::ch#2 -- _deref__deref_pptc1=vbuaa
|
||||
// [10] *(*(&(byte*) main::screen#0)) ← (byte) sub::ch#2 -- _deref_(_deref_pptc1)=vbuaa
|
||||
ldy #0
|
||||
sta (main.screen),y
|
||||
// [11] *(&(byte*) main::screen#0) ← ++ *(&(byte*) main::screen#0) -- _deref_pptc1=_inc__deref_pptc1
|
||||
@ -420,7 +420,7 @@ main: {
|
||||
// sub(byte register(A) ch)
|
||||
sub: {
|
||||
// *(*dst)++ = ch
|
||||
// [10] *(*(&(byte*) main::screen#0)) ← (byte) sub::ch#2 -- _deref__deref_pptc1=vbuaa
|
||||
// [10] *(*(&(byte*) main::screen#0)) ← (byte) sub::ch#2 -- _deref_(_deref_pptc1)=vbuaa
|
||||
ldy #0
|
||||
sta (main.screen),y
|
||||
// *(*dst)++ = ch;
|
||||
|
@ -5024,7 +5024,7 @@ init_buckets: {
|
||||
jmp b3
|
||||
// init_buckets::@3
|
||||
b3:
|
||||
// [60] *((byte[])(void*) BUCKET_SIZES#0 + *((byte*) init_buckets::dist#4)) ← ++ *((byte[])(void*) BUCKET_SIZES#0 + *((byte*) init_buckets::dist#4)) -- pbuz1_derefidx__deref_pbuz2=_inc_pbuz1_derefidx__deref_pbuz2
|
||||
// [60] *((byte[])(void*) BUCKET_SIZES#0 + *((byte*) init_buckets::dist#4)) ← ++ *((byte[])(void*) BUCKET_SIZES#0 + *((byte*) init_buckets::dist#4)) -- pbuz1_derefidx_(_deref_pbuz2)=_inc_pbuz1_derefidx_(_deref_pbuz2)
|
||||
ldy #0
|
||||
lda (dist),y
|
||||
tay
|
||||
@ -7598,7 +7598,7 @@ init_buckets: {
|
||||
jmp b3
|
||||
// init_buckets::@3
|
||||
b3:
|
||||
// [60] *((byte[])(void*) BUCKET_SIZES#0 + *((byte*) init_buckets::dist#4)) ← ++ *((byte[])(void*) BUCKET_SIZES#0 + *((byte*) init_buckets::dist#4)) -- pbuz1_derefidx__deref_pbuz2=_inc_pbuz1_derefidx__deref_pbuz2
|
||||
// [60] *((byte[])(void*) BUCKET_SIZES#0 + *((byte*) init_buckets::dist#4)) ← ++ *((byte[])(void*) BUCKET_SIZES#0 + *((byte*) init_buckets::dist#4)) -- pbuz1_derefidx_(_deref_pbuz2)=_inc_pbuz1_derefidx_(_deref_pbuz2)
|
||||
ldy #0
|
||||
lda (dist),y
|
||||
tay
|
||||
@ -10045,7 +10045,7 @@ init_buckets: {
|
||||
// init_buckets::@3
|
||||
b3:
|
||||
// BUCKET_SIZES[*dist]++;
|
||||
// [60] *((byte[])(void*) BUCKET_SIZES#0 + *((byte*) init_buckets::dist#4)) ← ++ *((byte[])(void*) BUCKET_SIZES#0 + *((byte*) init_buckets::dist#4)) -- pbuz1_derefidx__deref_pbuz2=_inc_pbuz1_derefidx__deref_pbuz2
|
||||
// [60] *((byte[])(void*) BUCKET_SIZES#0 + *((byte*) init_buckets::dist#4)) ← ++ *((byte[])(void*) BUCKET_SIZES#0 + *((byte*) init_buckets::dist#4)) -- pbuz1_derefidx_(_deref_pbuz2)=_inc_pbuz1_derefidx_(_deref_pbuz2)
|
||||
ldy #0
|
||||
lda (dist),y
|
||||
tay
|
||||
|
@ -299,7 +299,7 @@ main: {
|
||||
lda.z i
|
||||
asl
|
||||
sta.z _3
|
||||
// [9] *((const word*) SCREEN#0 + (byte~) main::$3) ← *(*((word**)(const struct Setting[]) settings#0+(const byte) OFFSET_STRUCT_SETTING_BUF) + (byte~) main::$3) -- pwuc1_derefidx_vbuz1=_deref_pptc2_derefidx_vbuz1
|
||||
// [9] *((const word*) SCREEN#0 + (byte~) main::$3) ← *(*((word**)(const struct Setting[]) settings#0+(const byte) OFFSET_STRUCT_SETTING_BUF) + (byte~) main::$3) -- pwuc1_derefidx_vbuz1=(_deref_pptc2)_derefidx_vbuz1
|
||||
ldy.z _3
|
||||
lda settings+OFFSET_STRUCT_SETTING_BUF
|
||||
sta.z $fe
|
||||
@ -390,7 +390,7 @@ main: {
|
||||
// [8] (byte~) main::$3 ← (byte) main::i#2 << (byte) 1 -- vbuaa=vbuxx_rol_1
|
||||
txa
|
||||
asl
|
||||
// [9] *((const word*) SCREEN#0 + (byte~) main::$3) ← *(*((word**)(const struct Setting[]) settings#0+(const byte) OFFSET_STRUCT_SETTING_BUF) + (byte~) main::$3) -- pwuc1_derefidx_vbuaa=_deref_pptc2_derefidx_vbuaa
|
||||
// [9] *((const word*) SCREEN#0 + (byte~) main::$3) ← *(*((word**)(const struct Setting[]) settings#0+(const byte) OFFSET_STRUCT_SETTING_BUF) + (byte~) main::$3) -- pwuc1_derefidx_vbuaa=(_deref_pptc2)_derefidx_vbuaa
|
||||
tay
|
||||
lda settings+OFFSET_STRUCT_SETTING_BUF
|
||||
sta.z $fe
|
||||
@ -503,7 +503,7 @@ main: {
|
||||
// [8] (byte~) main::$3 ← (byte) main::i#2 << (byte) 1 -- vbuaa=vbuxx_rol_1
|
||||
txa
|
||||
asl
|
||||
// [9] *((const word*) SCREEN#0 + (byte~) main::$3) ← *(*((word**)(const struct Setting[]) settings#0+(const byte) OFFSET_STRUCT_SETTING_BUF) + (byte~) main::$3) -- pwuc1_derefidx_vbuaa=_deref_pptc2_derefidx_vbuaa
|
||||
// [9] *((const word*) SCREEN#0 + (byte~) main::$3) ← *(*((word**)(const struct Setting[]) settings#0+(const byte) OFFSET_STRUCT_SETTING_BUF) + (byte~) main::$3) -- pwuc1_derefidx_vbuaa=(_deref_pptc2)_derefidx_vbuaa
|
||||
tay
|
||||
lda settings+OFFSET_STRUCT_SETTING_BUF
|
||||
sta.z $fe
|
||||
|
@ -13,12 +13,11 @@ main: {
|
||||
sta files+1
|
||||
lda #$aa
|
||||
ldy #3
|
||||
ldx files,y
|
||||
stx !+ +1
|
||||
ldx files+1,y
|
||||
stx !+ +2
|
||||
!:
|
||||
sta $ffff
|
||||
ldx files
|
||||
stx.z $fe
|
||||
ldx files+1
|
||||
stx.z $ff
|
||||
sta ($fe),y
|
||||
lda files
|
||||
sta.z _0
|
||||
lda files+1
|
||||
|
@ -1055,15 +1055,14 @@ main: {
|
||||
sta files
|
||||
lda #>$4000
|
||||
sta files+1
|
||||
// [5] *(*((byte**)(const struct fileentry[$a]) files#0) + (byte) 3) ← (byte) $aa -- _deref_pptc1_derefidx_vbuc2=vbuc3
|
||||
// [5] *(*((byte**)(const struct fileentry[$a]) files#0) + (byte) 3) ← (byte) $aa -- (_deref_pptc1)_derefidx_vbuc2=vbuc3
|
||||
lda #$aa
|
||||
ldy #3
|
||||
ldx files,y
|
||||
stx !+ +1
|
||||
ldx files+1,y
|
||||
stx !+ +2
|
||||
!:
|
||||
sta $ffff
|
||||
ldx files
|
||||
stx.z $fe
|
||||
ldx files+1
|
||||
stx.z $ff
|
||||
sta ($fe),y
|
||||
// [6] (byte*~) main::$0 ← *((byte**)(const struct fileentry[$a]) files#0) -- pbuz1=_deref_pptc1
|
||||
lda files
|
||||
sta.z _0
|
||||
@ -1430,16 +1429,16 @@ Uplift Scope [print_ln]
|
||||
Uplift Scope [print_cls]
|
||||
Uplift Scope [fileentry]
|
||||
|
||||
Uplifting [] best 1979 combination zp ZP_WORD:2 [ print_line_cursor#10 print_line_cursor#19 print_line_cursor#1 ] zp ZP_WORD:6 [ print_char_cursor#28 print_char_cursor#2 print_char_cursor#29 print_char_cursor#45 print_char_cursor#48 print_char_cursor#1 ]
|
||||
Uplifting [print_str] best 1979 combination zp ZP_WORD:8 [ print_str::str#3 print_str::str#5 print_str::str#0 ]
|
||||
Uplifting [memset] best 1979 combination zp ZP_WORD:10 [ memset::dst#4 memset::dst#1 ]
|
||||
Uplifting [print_byte] best 1961 combination reg byte x [ print_byte::b#2 print_byte::b#0 print_byte::b#1 ] reg byte a [ print_byte::$0 ] reg byte x [ print_byte::$2 ]
|
||||
Uplifting [print_char] best 1952 combination reg byte a [ print_char::ch#2 print_char::ch#0 print_char::ch#1 ]
|
||||
Uplifting [main] best 1952 combination zp ZP_WORD:12 [ main::$0 ]
|
||||
Uplifting [RADIX] best 1952 combination
|
||||
Uplifting [print_ln] best 1952 combination
|
||||
Uplifting [print_cls] best 1952 combination
|
||||
Uplifting [fileentry] best 1952 combination
|
||||
Uplifting [] best 1978 combination zp ZP_WORD:2 [ print_line_cursor#10 print_line_cursor#19 print_line_cursor#1 ] zp ZP_WORD:6 [ print_char_cursor#28 print_char_cursor#2 print_char_cursor#29 print_char_cursor#45 print_char_cursor#48 print_char_cursor#1 ]
|
||||
Uplifting [print_str] best 1978 combination zp ZP_WORD:8 [ print_str::str#3 print_str::str#5 print_str::str#0 ]
|
||||
Uplifting [memset] best 1978 combination zp ZP_WORD:10 [ memset::dst#4 memset::dst#1 ]
|
||||
Uplifting [print_byte] best 1960 combination reg byte x [ print_byte::b#2 print_byte::b#0 print_byte::b#1 ] reg byte a [ print_byte::$0 ] reg byte x [ print_byte::$2 ]
|
||||
Uplifting [print_char] best 1951 combination reg byte a [ print_char::ch#2 print_char::ch#0 print_char::ch#1 ]
|
||||
Uplifting [main] best 1951 combination zp ZP_WORD:12 [ main::$0 ]
|
||||
Uplifting [RADIX] best 1951 combination
|
||||
Uplifting [print_ln] best 1951 combination
|
||||
Uplifting [print_cls] best 1951 combination
|
||||
Uplifting [fileentry] best 1951 combination
|
||||
Coalescing zero page register [ zp ZP_WORD:10 [ memset::dst#4 memset::dst#1 ] ] with [ zp ZP_WORD:2 [ print_line_cursor#10 print_line_cursor#19 print_line_cursor#1 ] ]
|
||||
Coalescing zero page register [ zp ZP_WORD:12 [ main::$0 ] ] with [ zp ZP_WORD:6 [ print_char_cursor#28 print_char_cursor#2 print_char_cursor#29 print_char_cursor#45 print_char_cursor#48 print_char_cursor#1 ] ]
|
||||
Allocated (was zp ZP_WORD:8) zp ZP_WORD:2 [ print_str::str#3 print_str::str#5 print_str::str#0 ]
|
||||
@ -1479,15 +1478,14 @@ main: {
|
||||
sta files
|
||||
lda #>$4000
|
||||
sta files+1
|
||||
// [5] *(*((byte**)(const struct fileentry[$a]) files#0) + (byte) 3) ← (byte) $aa -- _deref_pptc1_derefidx_vbuc2=vbuc3
|
||||
// [5] *(*((byte**)(const struct fileentry[$a]) files#0) + (byte) 3) ← (byte) $aa -- (_deref_pptc1)_derefidx_vbuc2=vbuc3
|
||||
lda #$aa
|
||||
ldy #3
|
||||
ldx files,y
|
||||
stx !+ +1
|
||||
ldx files+1,y
|
||||
stx !+ +2
|
||||
!:
|
||||
sta $ffff
|
||||
ldx files
|
||||
stx.z $fe
|
||||
ldx files+1
|
||||
stx.z $ff
|
||||
sta ($fe),y
|
||||
// [6] (byte*~) main::$0 ← *((byte**)(const struct fileentry[$a]) files#0) -- pbuz1=_deref_pptc1
|
||||
lda files
|
||||
sta.z _0
|
||||
@ -1959,7 +1957,7 @@ reg byte x [ print_byte::$2 ]
|
||||
|
||||
|
||||
FINAL ASSEMBLER
|
||||
Score: 1647
|
||||
Score: 1646
|
||||
|
||||
// File Comments
|
||||
// Demonstrates problem with missing parenthesis in double-dereferencing
|
||||
@ -1987,15 +1985,14 @@ main: {
|
||||
lda #>$4000
|
||||
sta files+1
|
||||
// file->bufEdit[3] = 0xAA
|
||||
// [5] *(*((byte**)(const struct fileentry[$a]) files#0) + (byte) 3) ← (byte) $aa -- _deref_pptc1_derefidx_vbuc2=vbuc3
|
||||
// [5] *(*((byte**)(const struct fileentry[$a]) files#0) + (byte) 3) ← (byte) $aa -- (_deref_pptc1)_derefidx_vbuc2=vbuc3
|
||||
lda #$aa
|
||||
ldy #3
|
||||
ldx files,y
|
||||
stx !+ +1
|
||||
ldx files+1,y
|
||||
stx !+ +2
|
||||
!:
|
||||
sta $ffff
|
||||
ldx files
|
||||
stx.z $fe
|
||||
ldx files+1
|
||||
stx.z $ff
|
||||
sta ($fe),y
|
||||
// (char *)file->bufEdit
|
||||
// [6] (byte*~) main::$0 ← *((byte**)(const struct fileentry[$a]) files#0) -- pbuz1=_deref_pptc1
|
||||
lda files
|
||||
|
Loading…
x
Reference in New Issue
Block a user