From 9265592f2581eca1b907d894d3b4c5df7f20868c Mon Sep 17 00:00:00 2001 From: jespergravgaard Date: Wed, 25 Apr 2018 01:11:28 +0200 Subject: [PATCH] Implemented identical phi elimination --- .../java/dk/camelot64/kickc/Compiler.java | 5 + .../fragment/asm/vwuz1_lt_vbuc1_then_la1.asm | 8 + .../kickc/passes/Pass2AliasElimination.java | 42 +- .../Pass2ConstantAdditionElimination.java | 2 +- .../passes/Pass2ConstantIdentification.java | 11 + .../passes/Pass2IdenticalPhiElimination.java | 64 + .../kickc/passes/Pass2SelfPhiElimination.java | 2 +- .../dk/camelot64/kickc/test/TestPrograms.java | 5 + .../dk/camelot64/kickc/test/kc/const-param.kc | 13 + .../dk/camelot64/kickc/test/kc/helloworld2.kc | 6 +- .../kickc/test/ref/bitmap-bresenham.log | 36 - .../kickc/test/ref/bitmap-plotter.log | 18 - .../dk/camelot64/kickc/test/ref/bool-vars.log | 24 - .../dk/camelot64/kickc/test/ref/bresenham.log | 4 - .../camelot64/kickc/test/ref/bresenhamarr.log | 4 - .../kickc/test/ref/c64dtv-8bppcharstretch.log | 3 - .../test/ref/c64dtv-8bppchunkystretch.log | 3 - .../kickc/test/ref/c64dtv-gfxexplorer.log | 156 - .../kickc/test/ref/c64dtv-gfxmodes.log | 90 - .../dk/camelot64/kickc/test/ref/casting.log | 10 - .../kickc/test/ref/chargen-analysis.log | 8 - .../dk/camelot64/kickc/test/ref/chargen.log | 3 - .../kickc/test/ref/const-identification.log | 6 - .../camelot64/kickc/test/ref/const-param.asm | 23 + .../camelot64/kickc/test/ref/const-param.cfg | 40 + .../camelot64/kickc/test/ref/const-param.log | 735 ++++ .../camelot64/kickc/test/ref/const-param.sym | 34 + .../dk/camelot64/kickc/test/ref/dword.log | 4 - .../dk/camelot64/kickc/test/ref/fibmem.log | 4 - .../camelot64/kickc/test/ref/flipper-rex2.log | 7 - .../kickc/test/ref/forclassicmin.log | 2 - .../kickc/test/ref/forincrementassign.log | 4 - .../camelot64/kickc/test/ref/forrangemin.log | 6 - .../dk/camelot64/kickc/test/ref/halfscii.log | 12 - .../camelot64/kickc/test/ref/helloworld2.asm | 50 +- .../camelot64/kickc/test/ref/helloworld2.cfg | 31 +- .../camelot64/kickc/test/ref/helloworld2.log | 735 ++-- .../camelot64/kickc/test/ref/helloworld2.sym | 32 +- .../kickc/test/ref/inline-assignment.log | 4 - .../dk/camelot64/kickc/test/ref/iterarray.log | 11 - .../dk/camelot64/kickc/test/ref/linegen.asm | 49 +- .../dk/camelot64/kickc/test/ref/linegen.cfg | 99 +- .../dk/camelot64/kickc/test/ref/linegen.log | 2467 ++++++------ .../dk/camelot64/kickc/test/ref/linegen.sym | 64 +- .../dk/camelot64/kickc/test/ref/literals.log | 6 - .../dk/camelot64/kickc/test/ref/longjump.log | 2 - .../dk/camelot64/kickc/test/ref/longjump2.log | 4 - .../kickc/test/ref/mem-alignment.log | 3 - .../kickc/test/ref/norom-charset.log | 3 - .../kickc/test/ref/overlap-allocation-2.log | 3 - .../camelot64/kickc/test/ref/ptr-complex.log | 8 - .../dk/camelot64/kickc/test/ref/scroll.log | 3 - .../dk/camelot64/kickc/test/ref/scrollbig.log | 73 - .../kickc/test/ref/sinus-sprites.asm | 13 +- .../kickc/test/ref/sinus-sprites.cfg | 203 +- .../kickc/test/ref/sinus-sprites.log | 2731 +++++++------- .../kickc/test/ref/sinus-sprites.sym | 8 +- .../camelot64/kickc/test/ref/sinusgen16.asm | 31 +- .../camelot64/kickc/test/ref/sinusgen16.cfg | 43 +- .../camelot64/kickc/test/ref/sinusgen16.log | 918 +++-- .../camelot64/kickc/test/ref/sinusgen16.sym | 51 +- .../camelot64/kickc/test/ref/sinusgen16b.asm | 57 +- .../camelot64/kickc/test/ref/sinusgen16b.cfg | 234 +- .../camelot64/kickc/test/ref/sinusgen16b.log | 3327 ++++++++--------- .../camelot64/kickc/test/ref/sinusgen16b.sym | 59 +- .../camelot64/kickc/test/ref/sinusgen8b.asm | 41 +- .../camelot64/kickc/test/ref/sinusgen8b.cfg | 43 +- .../camelot64/kickc/test/ref/sinusgen8b.log | 2363 ++++++------ .../camelot64/kickc/test/ref/sinusgen8b.sym | 63 +- .../kickc/test/ref/test-comparisons.log | 3 - .../kickc/test/ref/test-keyboard.log | 3 - .../camelot64/kickc/test/ref/zpparammin.log | 12 - .../dk/camelot64/kickc/test/ref/zpptr.log | 2 - 73 files changed, 7528 insertions(+), 7718 deletions(-) create mode 100644 src/main/java/dk/camelot64/kickc/fragment/asm/vwuz1_lt_vbuc1_then_la1.asm create mode 100644 src/main/java/dk/camelot64/kickc/passes/Pass2IdenticalPhiElimination.java create mode 100644 src/test/java/dk/camelot64/kickc/test/kc/const-param.kc create mode 100644 src/test/java/dk/camelot64/kickc/test/ref/const-param.asm create mode 100644 src/test/java/dk/camelot64/kickc/test/ref/const-param.cfg create mode 100644 src/test/java/dk/camelot64/kickc/test/ref/const-param.log create mode 100644 src/test/java/dk/camelot64/kickc/test/ref/const-param.sym diff --git a/src/main/java/dk/camelot64/kickc/Compiler.java b/src/main/java/dk/camelot64/kickc/Compiler.java index d36c0d126..3c8623c8e 100644 --- a/src/main/java/dk/camelot64/kickc/Compiler.java +++ b/src/main/java/dk/camelot64/kickc/Compiler.java @@ -184,6 +184,7 @@ public class Compiler { optimizations.add(new Pass2AliasElimination(program)); optimizations.add(new Pass2SelfPhiElimination(program)); optimizations.add(new Pass2RedundantPhiElimination(program)); + optimizations.add(new Pass2IdenticalPhiElimination(program)); optimizations.add(new Pass2ConditionalJumpSimplification(program)); optimizations.add(new Pass2ConditionalAndOrRewriting(program)); optimizations.add(new Pass2ConstantIdentification(program)); @@ -199,6 +200,10 @@ public class Compiler { // Constant inlining optimizations - as the last step to ensure that constant identification has been completed List constantOptimizations = new ArrayList<>(); constantOptimizations.add(new Pass2ConstantInlining(program)); + constantOptimizations.add(new Pass2IdenticalPhiElimination(program)); + constantOptimizations.add(new Pass2ConstantIdentification(program)); + constantOptimizations.add(new Pass2ConstantAdditionElimination(program)); + constantOptimizations.add(new Pass2ConstantIfs(program)); pass2OptimizeSSA(constantOptimizations); } diff --git a/src/main/java/dk/camelot64/kickc/fragment/asm/vwuz1_lt_vbuc1_then_la1.asm b/src/main/java/dk/camelot64/kickc/fragment/asm/vwuz1_lt_vbuc1_then_la1.asm new file mode 100644 index 000000000..90d792708 --- /dev/null +++ b/src/main/java/dk/camelot64/kickc/fragment/asm/vwuz1_lt_vbuc1_then_la1.asm @@ -0,0 +1,8 @@ +lda {z1}+1 +cmp #>{c1} +bcc {la1} +bne !+ +lda {z1} +cmp #<{c1} +bcc {la1} +!: diff --git a/src/main/java/dk/camelot64/kickc/passes/Pass2AliasElimination.java b/src/main/java/dk/camelot64/kickc/passes/Pass2AliasElimination.java index 931a024be..c5a3c49e9 100644 --- a/src/main/java/dk/camelot64/kickc/passes/Pass2AliasElimination.java +++ b/src/main/java/dk/camelot64/kickc/passes/Pass2AliasElimination.java @@ -19,6 +19,28 @@ public class Pass2AliasElimination extends Pass2SsaOptimization { super(program); } + /** + * Eliminate alias assignments replacing them with the aliassed variable. + */ + @Override + public boolean step() { + final Aliases aliases = findAliases(getProgram()); + removeAliasAssignments(aliases); + replaceVariables(aliases.getReplacements(getScope())); + for(AliasSet aliasSet : aliases.getAliasSets()) { + StringBuilder str = new StringBuilder(); + str.append(aliasSet.getKeepVar(getScope()).toString(getProgram())); + str.append(" = "); + for(VariableRef var : aliasSet.getEliminateVars(getScope())) { + str.append(var.toString(getProgram()) + " "); + } + getLog().append("Alias " + str); + } + deleteSymbols(aliases.getSymbolsToRemove(getScope())); + return (aliases.size() > 0); + } + + public static Aliases findAliases(Program program) { Aliases candidates = findAliasesCandidates(program); cleanupCandidates(candidates, program); @@ -131,26 +153,6 @@ public class Pass2AliasElimination extends Pass2SsaOptimization { return aliases; } - /** - * Eliminate alias assignments replacing them with the aliassed variable. - */ - @Override - public boolean step() { - final Aliases aliases = findAliases(getProgram()); - removeAliasAssignments(aliases); - replaceVariables(aliases.getReplacements(getScope())); - for(AliasSet aliasSet : aliases.getAliasSets()) { - StringBuilder str = new StringBuilder(); - str.append(aliasSet.getKeepVar(getScope()).toString(getProgram())); - str.append(" = "); - for(VariableRef var : aliasSet.getEliminateVars(getScope())) { - str.append(var.toString(getProgram()) + " "); - } - getLog().append("Alias " + str); - } - deleteSymbols(aliases.getSymbolsToRemove(getScope())); - return (aliases.size() > 0); - } /** * Remove all assignments that just assign an alias to itself diff --git a/src/main/java/dk/camelot64/kickc/passes/Pass2ConstantAdditionElimination.java b/src/main/java/dk/camelot64/kickc/passes/Pass2ConstantAdditionElimination.java index 98bc3f59c..8f2f57231 100644 --- a/src/main/java/dk/camelot64/kickc/passes/Pass2ConstantAdditionElimination.java +++ b/src/main/java/dk/camelot64/kickc/passes/Pass2ConstantAdditionElimination.java @@ -161,7 +161,7 @@ public class Pass2ConstantAdditionElimination extends Pass2SsaOptimization { */ private ConstantValue consolidateSubConstants(VariableRef variable) { if(getUsages(variable) > 1) { - getLog().append("Multiple usages for variable. Not optimizing sub-constant " + variable.toString(getProgram())); + //getLog().append("Multiple usages for variable. Not optimizing sub-constant " + variable.toString(getProgram())); return null; } StatementAssignment assignment = getGraph().getAssignment(variable); diff --git a/src/main/java/dk/camelot64/kickc/passes/Pass2ConstantIdentification.java b/src/main/java/dk/camelot64/kickc/passes/Pass2ConstantIdentification.java index 4c049bbc7..a493b87a5 100644 --- a/src/main/java/dk/camelot64/kickc/passes/Pass2ConstantIdentification.java +++ b/src/main/java/dk/camelot64/kickc/passes/Pass2ConstantIdentification.java @@ -300,6 +300,17 @@ public class Pass2ConstantIdentification extends Pass2SsaOptimization { if(Operators.ADDRESS_OF.equals(assignment.getOperator()) && var.equals(assignment.getrValue2())) { return true; } + } else if(statement instanceof StatementPhiBlock) { + for(StatementPhiBlock.PhiVariable phiVariable : ((StatementPhiBlock) statement).getPhiVariables()) { + for(StatementPhiBlock.PhiRValue phiRValue : phiVariable.getValues()) { + if(phiRValue.getrValue() instanceof ConstantVarPointer) { + if(((ConstantVarPointer)phiRValue.getrValue()).getToVar().equals(var)) { + return true; + } + + } + } + } } } } diff --git a/src/main/java/dk/camelot64/kickc/passes/Pass2IdenticalPhiElimination.java b/src/main/java/dk/camelot64/kickc/passes/Pass2IdenticalPhiElimination.java new file mode 100644 index 000000000..358325e5a --- /dev/null +++ b/src/main/java/dk/camelot64/kickc/passes/Pass2IdenticalPhiElimination.java @@ -0,0 +1,64 @@ +package dk.camelot64.kickc.passes; + +import dk.camelot64.kickc.model.ControlFlowBlock; +import dk.camelot64.kickc.model.Program; +import dk.camelot64.kickc.model.statements.Statement; +import dk.camelot64.kickc.model.statements.StatementPhiBlock; +import dk.camelot64.kickc.model.values.RValue; +import dk.camelot64.kickc.model.values.VariableRef; + +import java.util.LinkedHashMap; +import java.util.ListIterator; +import java.util.Map; + +/** Compiler Pass eliminating phi varialbes where all rValues are the same */ +public class Pass2IdenticalPhiElimination extends Pass2SsaOptimization { + + public Pass2IdenticalPhiElimination(Program program) { + super(program); + } + + /** + * Find phi-variables where all rValues are identical - and eliminate them (by alias-replacing with the passed value) + */ + @Override + public boolean step() { + Map phiIdentical = new LinkedHashMap<>(); + for(ControlFlowBlock block : getGraph().getAllBlocks()) { + for(Statement statement : block.getStatements()) { + if(statement instanceof StatementPhiBlock) { + StatementPhiBlock statementPhi = (StatementPhiBlock) statement; + ListIterator phiVariableIt = statementPhi.getPhiVariables().listIterator(); + while(phiVariableIt.hasNext()) { + StatementPhiBlock.PhiVariable phiVariable = phiVariableIt.next(); + RValue rValue = null; + boolean identical = true; + for(StatementPhiBlock.PhiRValue phiRValue : phiVariable.getValues()) { + if(rValue == null) { + rValue = phiRValue.getrValue(); + } else { + if(!rValue.equals(phiRValue.getrValue())) { + identical = false; + continue; + } + } + } + if(identical) { + // Found a phi-value with all rValues being identical + phiIdentical.put(phiVariable.getVariable(), rValue); + phiVariableIt.remove(); + } + } + } + } + } + replaceVariables(phiIdentical); + for(VariableRef var : phiIdentical.keySet()) { + RValue alias = phiIdentical.get(var); + getLog().append("Identical Phi Values " + var.toString(getProgram()) + " " + alias.toString(getProgram())); + } + deleteSymbols(phiIdentical.keySet()); + return phiIdentical.size()>0; + } + +} diff --git a/src/main/java/dk/camelot64/kickc/passes/Pass2SelfPhiElimination.java b/src/main/java/dk/camelot64/kickc/passes/Pass2SelfPhiElimination.java index f2f48a927..c99de0abb 100644 --- a/src/main/java/dk/camelot64/kickc/passes/Pass2SelfPhiElimination.java +++ b/src/main/java/dk/camelot64/kickc/passes/Pass2SelfPhiElimination.java @@ -14,7 +14,7 @@ public class Pass2SelfPhiElimination extends Pass2SsaOptimization { } /** - * Eliminate alias assignments replacing them with the aliased variable. + * Eliminate phi variables pointing to themselves */ @Override public boolean step() { diff --git a/src/test/java/dk/camelot64/kickc/test/TestPrograms.java b/src/test/java/dk/camelot64/kickc/test/TestPrograms.java index 610507735..61d3ae8e6 100644 --- a/src/test/java/dk/camelot64/kickc/test/TestPrograms.java +++ b/src/test/java/dk/camelot64/kickc/test/TestPrograms.java @@ -44,6 +44,11 @@ public class TestPrograms { AsmFragmentTemplateUsages.logUsages(log, false, false, false, false, false, false); } + @Test + public void testConstParam() throws IOException, URISyntaxException { + compileAndCompare("const-param"); + } + @Test public void testHelloWorld() throws IOException, URISyntaxException { compileAndCompare("helloworld"); diff --git a/src/test/java/dk/camelot64/kickc/test/kc/const-param.kc b/src/test/java/dk/camelot64/kickc/test/kc/const-param.kc new file mode 100644 index 000000000..7fd135f80 --- /dev/null +++ b/src/test/java/dk/camelot64/kickc/test/kc/const-param.kc @@ -0,0 +1,13 @@ +// Test that the compiler optimizes when the same parameter value is passed into a function in all calls + +void main() { + byte* screen = $400; + const byte reverse = $80; + screen[0] = sum(reverse, 'c'); + screen[1] = sum(reverse, 'm'); + screen[2] = sum(reverse, 'l'); +} + +byte sum(byte a, byte b) { + return a+b; +} \ No newline at end of file diff --git a/src/test/java/dk/camelot64/kickc/test/kc/helloworld2.kc b/src/test/java/dk/camelot64/kickc/test/kc/helloworld2.kc index 2d1a019fc..26d489f4a 100644 --- a/src/test/java/dk/camelot64/kickc/test/kc/helloworld2.kc +++ b/src/test/java/dk/camelot64/kickc/test/kc/helloworld2.kc @@ -1,11 +1,11 @@ byte* screen = $400; void main() { byte* hello = "hello world!@"; - print_spaced(screen, hello); - print_spaced(screen+40, hello); + print2(screen, hello); + print2(screen+80, hello); } -void print_spaced(byte* at, byte* msg) { +void print2(byte* at, byte* msg) { byte j=0; for(byte i=0; msg[i]!='@'; i++) { at[j] = msg[i]; diff --git a/src/test/java/dk/camelot64/kickc/test/ref/bitmap-bresenham.log b/src/test/java/dk/camelot64/kickc/test/ref/bitmap-bresenham.log index bb85d6de8..dcaa8416d 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/bitmap-bresenham.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/bitmap-bresenham.log @@ -2899,27 +2899,9 @@ Constant (const word/dword) main::$9 = main::$5|main::$8 Succesful SSA optimization Pass2ConstantIdentification Constant (const byte) main::$10 = ((byte))main::$9 Succesful SSA optimization Pass2ConstantIdentification -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::x#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::x#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::x#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::y#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::y#2 -Multiple usages for variable. Not optimizing sub-constant (byte*) bitmap_init::yoffs#2 -Multiple usages for variable. Not optimizing sub-constant (byte) lines::l#2 -Multiple usages for variable. Not optimizing sub-constant (byte) lines::l#2 -Multiple usages for variable. Not optimizing sub-constant (byte) lines::l#2 Consolidated array index constant in assignment *(lines_x#0+1 + lines::$0) -Multiple usages for variable. Not optimizing sub-constant (byte) lines::l#2 Consolidated array index constant in assignment *(lines_y#0+1 + lines::$1) Succesful SSA optimization Pass2ConstantAdditionElimination -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::x#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::x#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::x#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::y#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::y#2 -Multiple usages for variable. Not optimizing sub-constant (byte*) bitmap_init::yoffs#2 -Multiple usages for variable. Not optimizing sub-constant (byte) lines::l#2 -Multiple usages for variable. Not optimizing sub-constant (byte) lines::l#2 if() condition always true - replacing block destination if(true) goto main::@1 Succesful SSA optimization Pass2ConstantIfs Fixing inline constructor with bitmap_clear::$3 ← *(bitmap_plot_xhi#0 + 0) w= *(bitmap_plot_xlo#0 + 0) @@ -3084,21 +3066,9 @@ Not aliassing across scopes: bitmap_line_ydxd::yd#5 bitmap_line_ydxd::yd#0 Not aliassing across scopes: bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y1#0 Not aliassing across scopes: bitmap_plot::x#3 bitmap_line_ydxd::x#3 Not aliassing across scopes: bitmap_plot::y#3 bitmap_line_ydxd::y#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::x#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::x#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::x#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::y#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::y#2 -Multiple usages for variable. Not optimizing sub-constant (byte*) bitmap_init::yoffs#2 Consolidated array index constant in *(bitmap_plot_xhi#0+0) Consolidated array index constant in *(bitmap_plot_xlo#0+0) Succesful SSA optimization Pass2ConstantAdditionElimination -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::x#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::x#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::x#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::y#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::y#2 -Multiple usages for variable. Not optimizing sub-constant (byte*) bitmap_init::yoffs#2 Not culling empty block because it shares successor with its predecessor. (label) bitmap_init::@5 Not aliassing across scopes: bitmap_plot::x#4 bitmap_plot::x#1 Not aliassing across scopes: bitmap_plot::y#4 bitmap_plot::y#1 @@ -3170,12 +3140,6 @@ Not aliassing across scopes: bitmap_line_ydxd::yd#5 bitmap_line_ydxd::yd#0 Not aliassing across scopes: bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y1#0 Not aliassing across scopes: bitmap_plot::x#3 bitmap_line_ydxd::x#3 Not aliassing across scopes: bitmap_plot::y#3 bitmap_line_ydxd::y#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::x#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::x#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::x#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::y#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::y#2 -Multiple usages for variable. Not optimizing sub-constant (byte*) bitmap_init::yoffs#2 OPTIMIZING CONTROL FLOW GRAPH Inlining constant with var siblings (const byte) bitmap_init::bits#0 Inlining constant with var siblings (const byte) bitmap_init::bits#0 diff --git a/src/test/java/dk/camelot64/kickc/test/ref/bitmap-plotter.log b/src/test/java/dk/camelot64/kickc/test/ref/bitmap-plotter.log index 0c34c43cc..d8230506f 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/bitmap-plotter.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/bitmap-plotter.log @@ -1115,12 +1115,6 @@ Constant (const word/dword) main::$7 = main::$4|main::$6 Succesful SSA optimization Pass2ConstantIdentification Constant (const byte) main::$8 = ((byte))main::$7 Succesful SSA optimization Pass2ConstantIdentification -Multiple usages for variable. Not optimizing sub-constant (byte) init_plot_tables::x#2 -Multiple usages for variable. Not optimizing sub-constant (byte) init_plot_tables::x#2 -Multiple usages for variable. Not optimizing sub-constant (byte) init_plot_tables::x#2 -Multiple usages for variable. Not optimizing sub-constant (byte) init_plot_tables::y#2 -Multiple usages for variable. Not optimizing sub-constant (byte) init_plot_tables::y#2 -Multiple usages for variable. Not optimizing sub-constant (byte*) init_plot_tables::yoffs#2 if() condition always true - replacing block destination if(true) goto main::@1 Succesful SSA optimization Pass2ConstantIfs Removing unused block main::@return @@ -1134,19 +1128,7 @@ Culled Empty Block (label) init_plot_tables::@6 Culled Empty Block (label) init_screen::@3 Succesful SSA optimization Pass2CullEmptyBlocks Not culling empty block because it shares successor with its predecessor. (label) init_plot_tables::@5 -Multiple usages for variable. Not optimizing sub-constant (byte) init_plot_tables::x#2 -Multiple usages for variable. Not optimizing sub-constant (byte) init_plot_tables::x#2 -Multiple usages for variable. Not optimizing sub-constant (byte) init_plot_tables::x#2 -Multiple usages for variable. Not optimizing sub-constant (byte) init_plot_tables::y#2 -Multiple usages for variable. Not optimizing sub-constant (byte) init_plot_tables::y#2 -Multiple usages for variable. Not optimizing sub-constant (byte*) init_plot_tables::yoffs#2 Not culling empty block because it shares successor with its predecessor. (label) init_plot_tables::@5 -Multiple usages for variable. Not optimizing sub-constant (byte) init_plot_tables::x#2 -Multiple usages for variable. Not optimizing sub-constant (byte) init_plot_tables::x#2 -Multiple usages for variable. Not optimizing sub-constant (byte) init_plot_tables::x#2 -Multiple usages for variable. Not optimizing sub-constant (byte) init_plot_tables::y#2 -Multiple usages for variable. Not optimizing sub-constant (byte) init_plot_tables::y#2 -Multiple usages for variable. Not optimizing sub-constant (byte*) init_plot_tables::yoffs#2 OPTIMIZING CONTROL FLOW GRAPH Inlining constant with var siblings (const byte) plots::i#0 Inlining constant with var siblings (const byte) plots::i#0 diff --git a/src/test/java/dk/camelot64/kickc/test/ref/bool-vars.log b/src/test/java/dk/camelot64/kickc/test/ref/bool-vars.log index 35596db15..a13f3c56d 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/bool-vars.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/bool-vars.log @@ -619,14 +619,6 @@ Constant (const byte) bool_not::i#0 = 0 Constant (const byte*) bool_complex::screen#0 = ((byte*))1144 Constant (const byte) bool_complex::i#0 = 0 Succesful SSA optimization Pass2ConstantIdentification -Multiple usages for variable. Not optimizing sub-constant (byte) bool_and::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bool_and::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bool_or::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bool_or::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bool_not::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bool_not::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bool_complex::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bool_complex::i#2 Simple Condition (boolean~) bool_and::$0 if((byte) bool_and::i#2<(byte/signed byte/word/signed word/dword/signed dword) 10) goto bool_and::@7 Simple Condition (boolean~) bool_or::$0 if((byte) bool_or::i#2<(byte/signed byte/word/signed word/dword/signed dword) 10) goto bool_or::@2 Simple Condition (boolean~) bool_not::$2 if((byte) bool_not::i#2<(byte/signed byte/word/signed word/dword/signed dword) 10) goto bool_not::@4 @@ -638,22 +630,6 @@ Simple Condition (boolean~) bool_complex::$6 if((byte) bool_complex::i#2<(byte/s Simple Condition (boolean~) bool_complex::$4 if((byte~) bool_complex::$3==(byte/signed byte/word/signed word/dword/signed dword) 0) goto bool_complex::@2 Simple Condition (boolean~) bool_complex::$8 if((byte~) bool_complex::$7==(byte/signed byte/word/signed word/dword/signed dword) 0) goto bool_complex::@4 Succesful SSA optimization Pass2ConditionalJumpSimplification -Multiple usages for variable. Not optimizing sub-constant (byte) bool_and::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bool_and::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bool_or::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bool_or::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bool_not::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bool_not::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bool_complex::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bool_complex::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bool_and::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bool_and::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bool_or::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bool_or::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bool_not::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bool_not::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bool_complex::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bool_complex::i#2 OPTIMIZING CONTROL FLOW GRAPH Inlining constant with var siblings (const byte) bool_and::i#0 Inlining constant with var siblings (const byte) bool_and::i#0 diff --git a/src/test/java/dk/camelot64/kickc/test/ref/bresenham.log b/src/test/java/dk/camelot64/kickc/test/ref/bresenham.log index 1bcebd531..dbbde123e 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/bresenham.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/bresenham.log @@ -361,10 +361,6 @@ Constant (const byte*) main::$4 = SCREEN#0+main::$3 Succesful SSA optimization Pass2ConstantIdentification Constant (const byte*) main::cursor#0 = main::$4+main::x#0 Succesful SSA optimization Pass2ConstantIdentification -Multiple usages for variable. Not optimizing sub-constant (byte) main::y#2 -Multiple usages for variable. Not optimizing sub-constant (byte*) main::cursor#1 -Multiple usages for variable. Not optimizing sub-constant (byte) main::y#2 -Multiple usages for variable. Not optimizing sub-constant (byte*) main::cursor#1 OPTIMIZING CONTROL FLOW GRAPH Inlining constant with var siblings (const byte) main::x#0 Inlining constant with var siblings (const byte) main::x#0 diff --git a/src/test/java/dk/camelot64/kickc/test/ref/bresenhamarr.log b/src/test/java/dk/camelot64/kickc/test/ref/bresenhamarr.log index ca2d05bae..0c6a3ef36 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/bresenhamarr.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/bresenhamarr.log @@ -346,10 +346,6 @@ Succesful SSA optimization Pass2ConstantIdentification Constant (const byte) main::e#0 = main::yd#0/2 Constant (const word) main::idx#0 = main::x#0+main::$3 Succesful SSA optimization Pass2ConstantIdentification -Multiple usages for variable. Not optimizing sub-constant (byte) main::y#2 -Multiple usages for variable. Not optimizing sub-constant (word) main::idx#1 -Multiple usages for variable. Not optimizing sub-constant (byte) main::y#2 -Multiple usages for variable. Not optimizing sub-constant (word) main::idx#1 OPTIMIZING CONTROL FLOW GRAPH Inlining constant with var siblings (const byte) main::x#0 Inlining constant with var siblings (const byte) main::x#0 diff --git a/src/test/java/dk/camelot64/kickc/test/ref/c64dtv-8bppcharstretch.log b/src/test/java/dk/camelot64/kickc/test/ref/c64dtv-8bppcharstretch.log index 4402e6ff4..d96933c34 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/c64dtv-8bppcharstretch.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/c64dtv-8bppcharstretch.log @@ -2078,7 +2078,6 @@ Constant (const byte*) gfx_init_plane_charset8::gfxa#0 = ((byte*))gfx_init_plane Succesful SSA optimization Pass2ConstantIdentification Constant (const byte) main::$24 = main::$19|main::$23 Succesful SSA optimization Pass2ConstantIdentification -Multiple usages for variable. Not optimizing sub-constant (byte) main::j#2 if() condition always true - replacing block destination if(true) goto main::@3 Succesful SSA optimization Pass2ConstantIfs Eliminating unused constant (const byte) gfx_init_plane_charset8::gfxbCpuBank#1 @@ -2095,9 +2094,7 @@ Self Phi Eliminated (byte) gfx_init_plane_charset8::ch#7 Succesful SSA optimization Pass2SelfPhiElimination Redundant Phi (byte) gfx_init_plane_charset8::ch#7 (byte) gfx_init_plane_charset8::ch#8 Succesful SSA optimization Pass2RedundantPhiElimination -Multiple usages for variable. Not optimizing sub-constant (byte) main::j#2 Not culling empty block because it shares successor with its predecessor. (label) gfx_init_plane_charset8::@5 -Multiple usages for variable. Not optimizing sub-constant (byte) main::j#2 OPTIMIZING CONTROL FLOW GRAPH Inlining constant with var siblings (const byte) dtvSetCpuBankSegment1::cpuBankIdx#1 Inlining constant with var siblings (const byte) dtvSetCpuBankSegment1::cpuBankIdx#0 diff --git a/src/test/java/dk/camelot64/kickc/test/ref/c64dtv-8bppchunkystretch.log b/src/test/java/dk/camelot64/kickc/test/ref/c64dtv-8bppchunkystretch.log index 23adfc44e..e79db205e 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/c64dtv-8bppchunkystretch.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/c64dtv-8bppchunkystretch.log @@ -1726,7 +1726,6 @@ Constant (const byte) main::$22 = main::$21>>2 Succesful SSA optimization Pass2ConstantIdentification Constant (const byte) main::$23 = main::$18|main::$22 Succesful SSA optimization Pass2ConstantIdentification -Multiple usages for variable. Not optimizing sub-constant (byte) main::j#2 if() condition always true - replacing block destination if(true) goto main::@3 Succesful SSA optimization Pass2ConstantIfs Removing unused block main::@return @@ -1737,9 +1736,7 @@ Culled Empty Block (label) main::@6 Culled Empty Block (label) gfx_init_chunky::@7 Succesful SSA optimization Pass2CullEmptyBlocks Not aliassing across scopes: dtvSetCpuBankSegment1::cpuBankIdx#1 gfx_init_chunky::gfxbCpuBank#4 -Multiple usages for variable. Not optimizing sub-constant (byte) main::j#2 Not aliassing across scopes: dtvSetCpuBankSegment1::cpuBankIdx#1 gfx_init_chunky::gfxbCpuBank#4 -Multiple usages for variable. Not optimizing sub-constant (byte) main::j#2 OPTIMIZING CONTROL FLOW GRAPH Inlining constant with var siblings (const byte) dtvSetCpuBankSegment1::cpuBankIdx#2 Inlining constant with var siblings (const byte) dtvSetCpuBankSegment1::cpuBankIdx#2 diff --git a/src/test/java/dk/camelot64/kickc/test/ref/c64dtv-gfxexplorer.log b/src/test/java/dk/camelot64/kickc/test/ref/c64dtv-gfxexplorer.log index 85178910c..1281904eb 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/c64dtv-gfxexplorer.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/c64dtv-gfxexplorer.log @@ -16173,65 +16173,9 @@ Constant (const string) print_str_lines::str#2 = FORM_TEXT#0 Succesful SSA optimization Pass2ConstantIdentification Constant (const string) print_str_lines::str#1 = FORM_COLS#0 Succesful SSA optimization Pass2ConstantIdentification -Multiple usages for variable. Not optimizing sub-constant (byte*) print_screen#1 -Multiple usages for variable. Not optimizing sub-constant (byte) keyboard_event_scan::row#2 -Multiple usages for variable. Not optimizing sub-constant (byte) keyboard_event_scan::keycode#11 -Multiple usages for variable. Not optimizing sub-constant (byte) keyboard_event_scan::row#2 -Multiple usages for variable. Not optimizing sub-constant (byte) keyboard_events_size#18 -Multiple usages for variable. Not optimizing sub-constant (byte) keyboard_events_size#18 -Multiple usages for variable. Not optimizing sub-constant (byte) keyboard_event_scan::row#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::x#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::x#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::x#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::y#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::y#2 -Multiple usages for variable. Not optimizing sub-constant (byte*) bitmap_init::yoffs#2 -Multiple usages for variable. Not optimizing sub-constant (byte) gfx_mode::j#2 -Multiple usages for variable. Not optimizing sub-constant (byte) gfx_init_vic_bitmap::l#2 -Multiple usages for variable. Not optimizing sub-constant (byte) gfx_init_vic_bitmap::l#2 -Multiple usages for variable. Not optimizing sub-constant (byte) gfx_init_vic_bitmap::l#2 Consolidated array index constant in assignment *(gfx_init_vic_bitmap::lines_x#0+1 + gfx_init_vic_bitmap::$2) -Multiple usages for variable. Not optimizing sub-constant (byte) gfx_init_vic_bitmap::l#2 Consolidated array index constant in assignment *(gfx_init_vic_bitmap::lines_y#0+1 + gfx_init_vic_bitmap::$3) -Multiple usages for variable. Not optimizing sub-constant (byte*) form_set_screen::line#2 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#28 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#28 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#28 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#28 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#28 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#28 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#28 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#28 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#28 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#28 Succesful SSA optimization Pass2ConstantAdditionElimination -Multiple usages for variable. Not optimizing sub-constant (byte*) print_screen#1 -Multiple usages for variable. Not optimizing sub-constant (byte) keyboard_event_scan::row#2 -Multiple usages for variable. Not optimizing sub-constant (byte) keyboard_event_scan::keycode#11 -Multiple usages for variable. Not optimizing sub-constant (byte) keyboard_event_scan::row#2 -Multiple usages for variable. Not optimizing sub-constant (byte) keyboard_events_size#18 -Multiple usages for variable. Not optimizing sub-constant (byte) keyboard_events_size#18 -Multiple usages for variable. Not optimizing sub-constant (byte) keyboard_event_scan::row#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::x#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::x#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::x#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::y#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::y#2 -Multiple usages for variable. Not optimizing sub-constant (byte*) bitmap_init::yoffs#2 -Multiple usages for variable. Not optimizing sub-constant (byte) gfx_mode::j#2 -Multiple usages for variable. Not optimizing sub-constant (byte) gfx_init_vic_bitmap::l#2 -Multiple usages for variable. Not optimizing sub-constant (byte) gfx_init_vic_bitmap::l#2 -Multiple usages for variable. Not optimizing sub-constant (byte*) form_set_screen::line#2 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#28 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#28 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#28 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#28 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#28 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#28 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#28 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#28 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#28 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#28 if() condition always true - replacing block destination if(true) goto main::@2 Removing PHI-reference to removed block (gfx_mode::@16) in block gfx_mode::@return Removing PHI-reference to removed block (gfx_mode::@16) in block gfx_mode::@return @@ -16741,59 +16685,9 @@ Redundant Phi (byte) form_fields_cnt#21 (const byte) form_fields_cnt#0 Succesful SSA optimization Pass2RedundantPhiElimination Constant (const byte) form_field_idx#7 = form_fields_cnt#0-1 Succesful SSA optimization Pass2ConstantIdentification -Multiple usages for variable. Not optimizing sub-constant (byte*) print_screen#1 -Multiple usages for variable. Not optimizing sub-constant (byte) keyboard_event_scan::row#2 -Multiple usages for variable. Not optimizing sub-constant (byte) keyboard_event_scan::keycode#11 -Multiple usages for variable. Not optimizing sub-constant (byte) keyboard_event_scan::row#2 -Multiple usages for variable. Not optimizing sub-constant (byte) keyboard_events_size#18 -Multiple usages for variable. Not optimizing sub-constant (byte) keyboard_events_size#18 -Multiple usages for variable. Not optimizing sub-constant (byte) keyboard_event_scan::row#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::x#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::x#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::x#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::y#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::y#2 -Multiple usages for variable. Not optimizing sub-constant (byte*) bitmap_init::yoffs#2 Consolidated array index constant in *(bitmap_plot_xhi#0+0) Consolidated array index constant in *(bitmap_plot_xlo#0+0) -Multiple usages for variable. Not optimizing sub-constant (byte) gfx_mode::j#2 -Multiple usages for variable. Not optimizing sub-constant (byte*) form_set_screen::line#2 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#28 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#28 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#28 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#28 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#28 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#28 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#28 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#28 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#28 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#28 Succesful SSA optimization Pass2ConstantAdditionElimination -Multiple usages for variable. Not optimizing sub-constant (byte*) print_screen#1 -Multiple usages for variable. Not optimizing sub-constant (byte) keyboard_event_scan::row#2 -Multiple usages for variable. Not optimizing sub-constant (byte) keyboard_event_scan::keycode#11 -Multiple usages for variable. Not optimizing sub-constant (byte) keyboard_event_scan::row#2 -Multiple usages for variable. Not optimizing sub-constant (byte) keyboard_events_size#18 -Multiple usages for variable. Not optimizing sub-constant (byte) keyboard_events_size#18 -Multiple usages for variable. Not optimizing sub-constant (byte) keyboard_event_scan::row#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::x#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::x#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::x#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::y#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::y#2 -Multiple usages for variable. Not optimizing sub-constant (byte*) bitmap_init::yoffs#2 -Multiple usages for variable. Not optimizing sub-constant (byte) gfx_mode::j#2 -Multiple usages for variable. Not optimizing sub-constant (byte*) form_set_screen::line#2 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#28 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#28 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#28 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#28 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#28 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#28 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#28 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#28 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#28 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#28 Not culling empty block because it shares successor with its predecessor. (label) keyboard_event_scan::@21 Not culling empty block because it shares successor with its predecessor. (label) bitmap_init::@5 Not culling empty block because it shares successor with its predecessor. (label) get_plane::@27 @@ -16951,31 +16845,6 @@ Not aliassing across scopes: form_control::field#0 form_field_ptr::return#3 Not aliassing across scopes: keyboard_event_get::return#4 keyboard_event_get::return#2 Not aliassing across scopes: form_control::key_event#0 keyboard_event_get::return#4 Not aliassing across scopes: form_field_idx#18 form_field_idx#28 -Multiple usages for variable. Not optimizing sub-constant (byte*) print_screen#1 -Multiple usages for variable. Not optimizing sub-constant (byte) keyboard_event_scan::row#2 -Multiple usages for variable. Not optimizing sub-constant (byte) keyboard_event_scan::keycode#11 -Multiple usages for variable. Not optimizing sub-constant (byte) keyboard_event_scan::row#2 -Multiple usages for variable. Not optimizing sub-constant (byte) keyboard_events_size#18 -Multiple usages for variable. Not optimizing sub-constant (byte) keyboard_events_size#18 -Multiple usages for variable. Not optimizing sub-constant (byte) keyboard_event_scan::row#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::x#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::x#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::x#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::y#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::y#2 -Multiple usages for variable. Not optimizing sub-constant (byte*) bitmap_init::yoffs#2 -Multiple usages for variable. Not optimizing sub-constant (byte) gfx_mode::j#2 -Multiple usages for variable. Not optimizing sub-constant (byte*) form_set_screen::line#2 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#28 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#28 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#28 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#28 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#28 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#28 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#28 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#28 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#28 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#28 Not culling empty block because it shares successor with its predecessor. (label) keyboard_event_scan::@21 Not culling empty block because it shares successor with its predecessor. (label) bitmap_init::@5 Not culling empty block because it shares successor with its predecessor. (label) get_plane::@27 @@ -17116,31 +16985,6 @@ Not aliassing across scopes: form_control::field#0 form_field_ptr::return#3 Not aliassing across scopes: keyboard_event_get::return#4 keyboard_event_get::return#2 Not aliassing across scopes: form_control::key_event#0 keyboard_event_get::return#4 Not aliassing across scopes: form_field_idx#18 form_field_idx#28 -Multiple usages for variable. Not optimizing sub-constant (byte*) print_screen#1 -Multiple usages for variable. Not optimizing sub-constant (byte) keyboard_event_scan::row#2 -Multiple usages for variable. Not optimizing sub-constant (byte) keyboard_event_scan::keycode#11 -Multiple usages for variable. Not optimizing sub-constant (byte) keyboard_event_scan::row#2 -Multiple usages for variable. Not optimizing sub-constant (byte) keyboard_events_size#18 -Multiple usages for variable. Not optimizing sub-constant (byte) keyboard_events_size#18 -Multiple usages for variable. Not optimizing sub-constant (byte) keyboard_event_scan::row#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::x#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::x#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::x#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::y#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::y#2 -Multiple usages for variable. Not optimizing sub-constant (byte*) bitmap_init::yoffs#2 -Multiple usages for variable. Not optimizing sub-constant (byte) gfx_mode::j#2 -Multiple usages for variable. Not optimizing sub-constant (byte*) form_set_screen::line#2 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#28 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#28 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#28 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#28 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#28 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#28 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#28 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#28 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#28 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#28 OPTIMIZING CONTROL FLOW GRAPH Inlining constant with var siblings (const byte) dtvSetCpuBankSegment1::cpuBankIdx#2 Inlining constant with var siblings (const byte) dtvSetCpuBankSegment1::cpuBankIdx#2 diff --git a/src/test/java/dk/camelot64/kickc/test/ref/c64dtv-gfxmodes.log b/src/test/java/dk/camelot64/kickc/test/ref/c64dtv-gfxmodes.log index bcbfec98c..afb7d82f6 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/c64dtv-gfxmodes.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/c64dtv-gfxmodes.log @@ -14238,43 +14238,9 @@ Constant (const string) MENU_TEXT#0 = "C64DTV Graphics Modes CCLHBME@ Succesful SSA optimization Pass2ConstantIdentification Constant (const string) print_str_lines::str#1 = MENU_TEXT#0 Succesful SSA optimization Pass2ConstantIdentification -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::x#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::x#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::x#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::y#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::y#2 -Multiple usages for variable. Not optimizing sub-constant (byte*) bitmap_init::yoffs#2 -Multiple usages for variable. Not optimizing sub-constant (byte) mode_stdbitmap::l#2 -Multiple usages for variable. Not optimizing sub-constant (byte) mode_stdbitmap::l#2 -Multiple usages for variable. Not optimizing sub-constant (byte) mode_stdbitmap::l#2 Consolidated array index constant in assignment *(mode_stdbitmap::lines_x#0+1 + mode_stdbitmap::$28) -Multiple usages for variable. Not optimizing sub-constant (byte) mode_stdbitmap::l#2 Consolidated array index constant in assignment *(mode_stdbitmap::lines_y#0+1 + mode_stdbitmap::$29) -Multiple usages for variable. Not optimizing sub-constant (byte) mode_hicolstdchar::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) mode_hicolecmchar::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) mode_hicolmcchar::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) mode_twoplanebitmap::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) mode_sixsfred::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) mode_sixsfred2::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) mode_8bpppixelcell::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) mode_8bppchunkybmm::i#2 Succesful SSA optimization Pass2ConstantAdditionElimination -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::x#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::x#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::x#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::y#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::y#2 -Multiple usages for variable. Not optimizing sub-constant (byte*) bitmap_init::yoffs#2 -Multiple usages for variable. Not optimizing sub-constant (byte) mode_stdbitmap::l#2 -Multiple usages for variable. Not optimizing sub-constant (byte) mode_stdbitmap::l#2 -Multiple usages for variable. Not optimizing sub-constant (byte) mode_hicolstdchar::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) mode_hicolecmchar::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) mode_hicolmcchar::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) mode_twoplanebitmap::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) mode_sixsfred::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) mode_sixsfred2::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) mode_8bpppixelcell::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) mode_8bppchunkybmm::i#2 if() condition always true - replacing block destination if(true) goto main::@2 Removing PHI-reference to removed block (menu::@3) in block menu::@return if() condition always true - replacing block destination if(true) goto menu::@4 @@ -14688,37 +14654,9 @@ Redundant Phi (byte) mode_8bpppixelcell::ch#7 (byte) mode_8bpppixelcell::ch#8 Redundant Phi (byte) dtv_control#234 (byte) dtv_control#244 Redundant Phi (byte) dtv_control#235 (const byte) dtv_control#51 Succesful SSA optimization Pass2RedundantPhiElimination -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::x#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::x#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::x#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::y#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::y#2 -Multiple usages for variable. Not optimizing sub-constant (byte*) bitmap_init::yoffs#2 Consolidated array index constant in *(bitmap_plot_xhi#0+0) Consolidated array index constant in *(bitmap_plot_xlo#0+0) -Multiple usages for variable. Not optimizing sub-constant (byte) mode_hicolstdchar::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) mode_hicolecmchar::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) mode_hicolmcchar::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) mode_twoplanebitmap::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) mode_sixsfred::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) mode_sixsfred2::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) mode_8bpppixelcell::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) mode_8bppchunkybmm::i#2 Succesful SSA optimization Pass2ConstantAdditionElimination -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::x#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::x#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::x#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::y#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::y#2 -Multiple usages for variable. Not optimizing sub-constant (byte*) bitmap_init::yoffs#2 -Multiple usages for variable. Not optimizing sub-constant (byte) mode_hicolstdchar::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) mode_hicolecmchar::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) mode_hicolmcchar::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) mode_twoplanebitmap::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) mode_sixsfred::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) mode_sixsfred2::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) mode_8bpppixelcell::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) mode_8bppchunkybmm::i#2 Not culling empty block because it shares successor with its predecessor. (label) bitmap_init::@5 Culled Empty Block (label) main::@1 Not culling empty block because it shares successor with its predecessor. (label) mode_ctrl::@29 @@ -14848,20 +14786,6 @@ Self Phi Eliminated (byte) dtv_control#244 Succesful SSA optimization Pass2SelfPhiElimination Redundant Phi (byte) dtv_control#244 (const byte) dtv_control#48 Succesful SSA optimization Pass2RedundantPhiElimination -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::x#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::x#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::x#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::y#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::y#2 -Multiple usages for variable. Not optimizing sub-constant (byte*) bitmap_init::yoffs#2 -Multiple usages for variable. Not optimizing sub-constant (byte) mode_hicolstdchar::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) mode_hicolecmchar::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) mode_hicolmcchar::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) mode_twoplanebitmap::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) mode_sixsfred::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) mode_sixsfred2::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) mode_8bpppixelcell::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) mode_8bppchunkybmm::i#2 Not culling empty block because it shares successor with its predecessor. (label) bitmap_init::@5 Not culling empty block because it shares successor with its predecessor. (label) mode_ctrl::@29 Not culling empty block because it shares successor with its predecessor. (label) mode_8bpppixelcell::@11 @@ -14982,20 +14906,6 @@ Not aliassing across scopes: keyboard_key_pressed::return#21 keyboard_key_presse Not aliassing across scopes: mode_ctrl::$28 keyboard_key_pressed::return#21 Not aliassing across scopes: dtv_control#17 mode_ctrl::ctrl#14 Not aliassing across scopes: dtvSetCpuBankSegment1::cpuBankIdx#1 mode_8bppchunkybmm::gfxbCpuBank#4 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::x#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::x#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::x#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::y#2 -Multiple usages for variable. Not optimizing sub-constant (byte) bitmap_init::y#2 -Multiple usages for variable. Not optimizing sub-constant (byte*) bitmap_init::yoffs#2 -Multiple usages for variable. Not optimizing sub-constant (byte) mode_hicolstdchar::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) mode_hicolecmchar::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) mode_hicolmcchar::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) mode_twoplanebitmap::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) mode_sixsfred::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) mode_sixsfred2::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) mode_8bpppixelcell::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) mode_8bppchunkybmm::i#2 OPTIMIZING CONTROL FLOW GRAPH Inlining constant with var siblings (const byte) dtvSetCpuBankSegment1::cpuBankIdx#2 Inlining constant with var siblings (const byte) dtvSetCpuBankSegment1::cpuBankIdx#2 diff --git a/src/test/java/dk/camelot64/kickc/test/ref/casting.log b/src/test/java/dk/camelot64/kickc/test/ref/casting.log index 536cca748..f2475c1c4 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/casting.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/casting.log @@ -377,19 +377,9 @@ Constant (const word) w::$0 = w::w1#0-w::w2#0 Succesful SSA optimization Pass2ConstantIdentification Constant (const byte) w::b#0 = ((byte))w::$0 Succesful SSA optimization Pass2ConstantIdentification -Multiple usages for variable. Not optimizing sub-constant (byte) main::b#2 -Multiple usages for variable. Not optimizing sub-constant (byte) main::b#2 -Multiple usages for variable. Not optimizing sub-constant (byte) w::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) w::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) w::i#2 Eliminating Noop Cast (signed byte~) main::$1 ← ((signed byte)) (byte) main::b#2 Eliminating Noop Cast (byte~) main::$3 ← ((byte)) (signed byte) main::sb#0 Succesful SSA optimization Pass2NopCastElimination -Multiple usages for variable. Not optimizing sub-constant (byte) main::b#2 -Multiple usages for variable. Not optimizing sub-constant (byte) main::b#2 -Multiple usages for variable. Not optimizing sub-constant (byte) w::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) w::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) w::i#2 OPTIMIZING CONTROL FLOW GRAPH Inlining constant with var siblings (const byte) main::b#0 Inlining constant with var siblings (const byte) main::b#0 diff --git a/src/test/java/dk/camelot64/kickc/test/ref/chargen-analysis.log b/src/test/java/dk/camelot64/kickc/test/ref/chargen-analysis.log index 819cfc14e..4e83ab13c 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/chargen-analysis.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/chargen-analysis.log @@ -3410,11 +3410,7 @@ Constant (const byte*) print_str_at::at#2 = main::$7+20 Constant (const byte*) print_str_at::at#3 = main::$10+30 Succesful SSA optimization Pass2ConstantIdentification Consolidated constant in assignment plot_chargen::$7 -Multiple usages for variable. Not optimizing sub-constant (byte*) plot_chargen::chargen#0 -Multiple usages for variable. Not optimizing sub-constant (byte*) plot_chargen::sc#1 Succesful SSA optimization Pass2ConstantAdditionElimination -Multiple usages for variable. Not optimizing sub-constant (byte*) plot_chargen::chargen#0 -Multiple usages for variable. Not optimizing sub-constant (byte*) plot_chargen::sc#1 if() condition always true - replacing block destination if(true) goto main::@3 Succesful SSA optimization Pass2ConstantIfs Eliminating unused constant (const byte) main::shift#0 @@ -3485,8 +3481,6 @@ Constant (const byte*) plot_chargen::$6 = SCREEN#0 Succesful SSA optimization Pass2ConstantIdentification Constant (const byte*) plot_chargen::$7 = plot_chargen::$6+40+1 Succesful SSA optimization Pass2ConstantIdentification -Multiple usages for variable. Not optimizing sub-constant (byte*) plot_chargen::chargen#0 -Multiple usages for variable. Not optimizing sub-constant (byte*) plot_chargen::sc#1 Not culling empty block because it shares successor with its predecessor. (label) main::@15 Not culling empty block because it shares successor with its predecessor. (label) main::@16 Not culling empty block because it shares successor with its predecessor. (label) main::@17 @@ -3522,8 +3516,6 @@ Not aliassing across scopes: plot_chargen::pos#2 plot_chargen::pos#0 Not aliassing across scopes: mul8u::a#1 plot_chargen::pos#2 Not aliassing across scopes: mul8u::return#2 mul8u::res#2 Not aliassing across scopes: plot_chargen::$8 mul8u::return#2 -Multiple usages for variable. Not optimizing sub-constant (byte*) plot_chargen::chargen#0 -Multiple usages for variable. Not optimizing sub-constant (byte*) plot_chargen::sc#1 OPTIMIZING CONTROL FLOW GRAPH Inlining constant with var siblings (const word) mul8u::res#0 Inlining constant with var siblings (const word) mul8u::res#0 diff --git a/src/test/java/dk/camelot64/kickc/test/ref/chargen.log b/src/test/java/dk/camelot64/kickc/test/ref/chargen.log index 86bc895b8..6758931c3 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/chargen.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/chargen.log @@ -362,7 +362,6 @@ Succesful SSA optimization Pass2ConstantIdentification Constant (const byte*) main::CHAR_A#0 = CHARGEN#0+8 Constant (const byte*) main::sc#0 = SCREEN#0 Succesful SSA optimization Pass2ConstantIdentification -Multiple usages for variable. Not optimizing sub-constant (byte*) main::sc#1 Not culling empty block because it shares successor with its predecessor. (label) main::@4 Self Phi Eliminated (byte*) main::CHAR_A#1 Self Phi Eliminated (byte*) PROCPORT#8 @@ -370,9 +369,7 @@ Succesful SSA optimization Pass2SelfPhiElimination Redundant Phi (byte*) main::CHAR_A#1 (const byte*) main::CHAR_A#0 Redundant Phi (byte*) PROCPORT#8 (const byte*) PROCPORT#0 Succesful SSA optimization Pass2RedundantPhiElimination -Multiple usages for variable. Not optimizing sub-constant (byte*) main::sc#1 Not culling empty block because it shares successor with its predecessor. (label) main::@4 -Multiple usages for variable. Not optimizing sub-constant (byte*) main::sc#1 OPTIMIZING CONTROL FLOW GRAPH Inlining constant with var siblings (const byte) main::y#0 Inlining constant with var siblings (const byte) main::y#0 diff --git a/src/test/java/dk/camelot64/kickc/test/ref/const-identification.log b/src/test/java/dk/camelot64/kickc/test/ref/const-identification.log index 1efad399d..14a8c3e34 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/const-identification.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/const-identification.log @@ -320,8 +320,6 @@ Constant (const byte) line::x1#0 = 10 Succesful SSA optimization Pass2ConstantIdentification Constant (const byte) plot::x#0 = line::x0#0 Succesful SSA optimization Pass2ConstantIdentification -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#2 if() condition always true - replacing block destination if(true) goto main::@2 if() condition always true - replacing block destination if((const byte) line::x0#0<(const byte) line::x1#0) goto line::@1 Succesful SSA optimization Pass2ConstantIfs @@ -336,13 +334,9 @@ Not aliassing across scopes: plot::x#1 line::x#2 Not aliassing across scopes: plot::x#2 plot::x#1 Redundant Phi (byte) plot::x#2 (byte) plot::x#1 Succesful SSA optimization Pass2RedundantPhiElimination -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#2 Eliminating unused constant (const byte) plot::x#0 Succesful SSA optimization PassNEliminateUnusedVars Not aliassing across scopes: plot::x#1 line::x#2 -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#2 OPTIMIZING CONTROL FLOW GRAPH Inlining constant with var siblings (const byte) main::i#0 Inlining constant with var siblings (const byte) main::i#0 diff --git a/src/test/java/dk/camelot64/kickc/test/ref/const-param.asm b/src/test/java/dk/camelot64/kickc/test/ref/const-param.asm new file mode 100644 index 000000000..14a4faef5 --- /dev/null +++ b/src/test/java/dk/camelot64/kickc/test/ref/const-param.asm @@ -0,0 +1,23 @@ +.pc = $801 "Basic" +:BasicUpstart(main) +.pc = $80d "Program" + jsr main +main: { + .label screen = $400 + .label reverse = $80 + lda #'c' + jsr sum + sta screen+0 + lda #'m' + jsr sum + sta screen+1 + lda #'l' + jsr sum + sta screen+2 + rts +} +sum: { + clc + adc #main.reverse + rts +} diff --git a/src/test/java/dk/camelot64/kickc/test/ref/const-param.cfg b/src/test/java/dk/camelot64/kickc/test/ref/const-param.cfg new file mode 100644 index 000000000..d693f4391 --- /dev/null +++ b/src/test/java/dk/camelot64/kickc/test/ref/const-param.cfg @@ -0,0 +1,40 @@ +@begin: scope:[] from + [0] phi() [ ] ( ) + to:@2 +@2: scope:[] from @begin + [1] phi() [ ] ( ) + [2] call main param-assignment [ ] ( ) + to:@end +@end: scope:[] from @2 + [3] phi() [ ] ( ) +main: scope:[main] from @2 + [4] phi() [ ] ( main:2 [ ] ) + [5] call sum param-assignment [ sum::return#3 ] ( main:2 [ sum::return#3 ] ) + [6] (byte) sum::return#0 ← (byte) sum::return#3 [ sum::return#0 ] ( main:2 [ sum::return#0 ] ) + to:main::@1 +main::@1: scope:[main] from main + [7] (byte~) main::$0 ← (byte) sum::return#0 [ main::$0 ] ( main:2 [ main::$0 ] ) + [8] *((const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) 0) ← (byte~) main::$0 [ ] ( main:2 [ ] ) + [9] call sum param-assignment [ sum::return#3 ] ( main:2 [ sum::return#3 ] ) + [10] (byte) sum::return#1 ← (byte) sum::return#3 [ sum::return#1 ] ( main:2 [ sum::return#1 ] ) + to:main::@2 +main::@2: scope:[main] from main::@1 + [11] (byte~) main::$1 ← (byte) sum::return#1 [ main::$1 ] ( main:2 [ main::$1 ] ) + [12] *((const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) 1) ← (byte~) main::$1 [ ] ( main:2 [ ] ) + [13] call sum param-assignment [ sum::return#3 ] ( main:2 [ sum::return#3 ] ) + [14] (byte) sum::return#2 ← (byte) sum::return#3 [ sum::return#2 ] ( main:2 [ sum::return#2 ] ) + to:main::@3 +main::@3: scope:[main] from main::@2 + [15] (byte~) main::$2 ← (byte) sum::return#2 [ main::$2 ] ( main:2 [ main::$2 ] ) + [16] *((const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) 2) ← (byte~) main::$2 [ ] ( main:2 [ ] ) + to:main::@return +main::@return: scope:[main] from main::@3 + [17] return [ ] ( main:2 [ ] ) + to:@return +sum: scope:[sum] from main main::@1 main::@2 + [18] (byte) sum::b#3 ← phi( main/(byte) 'c' main::@1/(byte) 'm' main::@2/(byte) 'l' ) [ sum::b#3 ] ( main:2::sum:5 [ sum::b#3 ] main:2::sum:9 [ sum::b#3 ] main:2::sum:13 [ sum::b#3 ] ) + [19] (byte) sum::return#3 ← (const byte) main::reverse#0 + (byte) sum::b#3 [ sum::return#3 ] ( main:2::sum:5 [ sum::return#3 ] main:2::sum:9 [ sum::return#3 ] main:2::sum:13 [ sum::return#3 ] ) + to:sum::@return +sum::@return: scope:[sum] from sum + [20] return [ sum::return#3 ] ( main:2::sum:5 [ sum::return#3 ] main:2::sum:9 [ sum::return#3 ] main:2::sum:13 [ sum::return#3 ] ) + to:@return diff --git a/src/test/java/dk/camelot64/kickc/test/ref/const-param.log b/src/test/java/dk/camelot64/kickc/test/ref/const-param.log new file mode 100644 index 000000000..514244651 --- /dev/null +++ b/src/test/java/dk/camelot64/kickc/test/ref/const-param.log @@ -0,0 +1,735 @@ +PARSING src/test/java/dk/camelot64/kickc/test/kc/const-param.kc +// Test that the compiler optimizes when the same parameter value is passed into a function in all calls + +void main() { + byte* screen = $400; + const byte reverse = $80; + screen[0] = sum(reverse, 'c'); + screen[1] = sum(reverse, 'm'); + screen[2] = sum(reverse, 'l'); +} + +byte sum(byte a, byte b) { + return a+b; +} +SYMBOLS +(label) @1 +(label) @2 +(label) @begin +(label) @end +(void()) main() +(byte~) main::$0 +(byte~) main::$1 +(byte~) main::$2 +(label) main::@return +(byte) main::reverse +(byte*) main::screen +(byte()) sum((byte) sum::a , (byte) sum::b) +(byte~) sum::$0 +(label) sum::@1 +(label) sum::@return +(byte) sum::a +(byte) sum::b +(byte) sum::return + +Promoting word/signed word/dword/signed dword to byte* in main::screen ← ((byte*)) 1024 +INITIAL CONTROL FLOW GRAPH +@begin: scope:[] from + to:@1 +main: scope:[main] from + (byte*) main::screen ← ((byte*)) (word/signed word/dword/signed dword) 1024 + (byte) main::reverse ← (byte/word/signed word/dword/signed dword) 128 + (byte~) main::$0 ← call sum (byte) main::reverse (byte) 'c' + *((byte*) main::screen + (byte/signed byte/word/signed word/dword/signed dword) 0) ← (byte~) main::$0 + (byte~) main::$1 ← call sum (byte) main::reverse (byte) 'm' + *((byte*) main::screen + (byte/signed byte/word/signed word/dword/signed dword) 1) ← (byte~) main::$1 + (byte~) main::$2 ← call sum (byte) main::reverse (byte) 'l' + *((byte*) main::screen + (byte/signed byte/word/signed word/dword/signed dword) 2) ← (byte~) main::$2 + to:main::@return +main::@return: scope:[main] from main + return + to:@return +@1: scope:[] from @begin + to:@2 +sum: scope:[sum] from + (byte~) sum::$0 ← (byte) sum::a + (byte) sum::b + (byte) sum::return ← (byte~) sum::$0 + to:sum::@return +sum::@return: scope:[sum] from sum sum::@1 + (byte) sum::return ← (byte) sum::return + return (byte) sum::return + to:@return +sum::@1: scope:[sum] from + to:sum::@return +@2: scope:[] from @1 + call main + to:@end +@end: scope:[] from @2 + +Removing empty block @1 +Removing empty block sum::@1 +PROCEDURE MODIFY VARIABLE ANALYSIS + +Completing Phi functions... + +CONTROL FLOW GRAPH SSA WITH ASSIGNMENT CALL & RETURN +@begin: scope:[] from + to:@2 +main: scope:[main] from @2 + (byte*) main::screen#0 ← ((byte*)) (word/signed word/dword/signed dword) 1024 + (byte) main::reverse#0 ← (byte/word/signed word/dword/signed dword) 128 + (byte) sum::a#0 ← (byte) main::reverse#0 + (byte) sum::b#0 ← (byte) 'c' + call sum param-assignment + (byte) sum::return#0 ← (byte) sum::return#4 + to:main::@1 +main::@1: scope:[main] from main + (byte*) main::screen#1 ← phi( main/(byte*) main::screen#0 ) + (byte) sum::return#5 ← phi( main/(byte) sum::return#0 ) + (byte~) main::$0 ← (byte) sum::return#5 + *((byte*) main::screen#1 + (byte/signed byte/word/signed word/dword/signed dword) 0) ← (byte~) main::$0 + (byte) sum::a#1 ← (byte) main::reverse#0 + (byte) sum::b#1 ← (byte) 'm' + call sum param-assignment + (byte) sum::return#1 ← (byte) sum::return#4 + to:main::@2 +main::@2: scope:[main] from main::@1 + (byte*) main::screen#2 ← phi( main::@1/(byte*) main::screen#1 ) + (byte) sum::return#6 ← phi( main::@1/(byte) sum::return#1 ) + (byte~) main::$1 ← (byte) sum::return#6 + *((byte*) main::screen#2 + (byte/signed byte/word/signed word/dword/signed dword) 1) ← (byte~) main::$1 + (byte) sum::a#2 ← (byte) main::reverse#0 + (byte) sum::b#2 ← (byte) 'l' + call sum param-assignment + (byte) sum::return#2 ← (byte) sum::return#4 + to:main::@3 +main::@3: scope:[main] from main::@2 + (byte*) main::screen#3 ← phi( main::@2/(byte*) main::screen#2 ) + (byte) sum::return#7 ← phi( main::@2/(byte) sum::return#2 ) + (byte~) main::$2 ← (byte) sum::return#7 + *((byte*) main::screen#3 + (byte/signed byte/word/signed word/dword/signed dword) 2) ← (byte~) main::$2 + to:main::@return +main::@return: scope:[main] from main::@3 + return + to:@return +sum: scope:[sum] from main main::@1 main::@2 + (byte) sum::b#3 ← phi( main/(byte) sum::b#0 main::@1/(byte) sum::b#1 main::@2/(byte) sum::b#2 ) + (byte) sum::a#3 ← phi( main/(byte) sum::a#0 main::@1/(byte) sum::a#1 main::@2/(byte) sum::a#2 ) + (byte~) sum::$0 ← (byte) sum::a#3 + (byte) sum::b#3 + (byte) sum::return#3 ← (byte~) sum::$0 + to:sum::@return +sum::@return: scope:[sum] from sum + (byte) sum::return#8 ← phi( sum/(byte) sum::return#3 ) + (byte) sum::return#4 ← (byte) sum::return#8 + return + to:@return +@2: scope:[] from @begin + call main param-assignment + to:@3 +@3: scope:[] from @2 + to:@end +@end: scope:[] from @3 + +SYMBOL TABLE SSA +(label) @2 +(label) @3 +(label) @begin +(label) @end +(void()) main() +(byte~) main::$0 +(byte~) main::$1 +(byte~) main::$2 +(label) main::@1 +(label) main::@2 +(label) main::@3 +(label) main::@return +(byte) main::reverse +(byte) main::reverse#0 +(byte*) main::screen +(byte*) main::screen#0 +(byte*) main::screen#1 +(byte*) main::screen#2 +(byte*) main::screen#3 +(byte()) sum((byte) sum::a , (byte) sum::b) +(byte~) sum::$0 +(label) sum::@return +(byte) sum::a +(byte) sum::a#0 +(byte) sum::a#1 +(byte) sum::a#2 +(byte) sum::a#3 +(byte) sum::b +(byte) sum::b#0 +(byte) sum::b#1 +(byte) sum::b#2 +(byte) sum::b#3 +(byte) sum::return +(byte) sum::return#0 +(byte) sum::return#1 +(byte) sum::return#2 +(byte) sum::return#3 +(byte) sum::return#4 +(byte) sum::return#5 +(byte) sum::return#6 +(byte) sum::return#7 +(byte) sum::return#8 + +OPTIMIZING CONTROL FLOW GRAPH +Culled Empty Block (label) @3 +Succesful SSA optimization Pass2CullEmptyBlocks +Not aliassing across scopes: sum::a#0 main::reverse#0 +Not aliassing across scopes: sum::return#0 sum::return#4 +Not aliassing across scopes: main::$0 sum::return#5 +Not aliassing across scopes: sum::a#1 main::reverse#0 +Not aliassing across scopes: sum::return#1 sum::return#4 +Not aliassing across scopes: main::$1 sum::return#6 +Not aliassing across scopes: sum::a#2 main::reverse#0 +Not aliassing across scopes: sum::return#2 sum::return#4 +Not aliassing across scopes: main::$2 sum::return#7 +Not aliassing across scopes: sum::a#3 sum::a#0 +Not aliassing across scopes: sum::b#3 sum::b#0 +Alias (byte) sum::return#0 = (byte) sum::return#5 +Alias (byte*) main::screen#0 = (byte*) main::screen#1 (byte*) main::screen#2 (byte*) main::screen#3 +Alias (byte) sum::return#1 = (byte) sum::return#6 +Alias (byte) sum::return#2 = (byte) sum::return#7 +Alias (byte) sum::return#3 = (byte~) sum::$0 (byte) sum::return#8 (byte) sum::return#4 +Succesful SSA optimization Pass2AliasElimination +Not aliassing across scopes: sum::a#0 main::reverse#0 +Not aliassing across scopes: sum::return#0 sum::return#3 +Not aliassing across scopes: main::$0 sum::return#0 +Not aliassing across scopes: sum::a#1 main::reverse#0 +Not aliassing across scopes: sum::return#1 sum::return#3 +Not aliassing across scopes: main::$1 sum::return#1 +Not aliassing across scopes: sum::a#2 main::reverse#0 +Not aliassing across scopes: sum::return#2 sum::return#3 +Not aliassing across scopes: main::$2 sum::return#2 +Not aliassing across scopes: sum::a#3 sum::a#0 +Not aliassing across scopes: sum::b#3 sum::b#0 +Constant (const byte*) main::screen#0 = ((byte*))1024 +Constant (const byte) main::reverse#0 = 128 +Constant (const byte) sum::b#0 = 'c' +Constant (const byte) sum::b#1 = 'm' +Constant (const byte) sum::b#2 = 'l' +Succesful SSA optimization Pass2ConstantIdentification +Constant (const byte) sum::a#0 = main::reverse#0 +Constant (const byte) sum::a#1 = main::reverse#0 +Constant (const byte) sum::a#2 = main::reverse#0 +Succesful SSA optimization Pass2ConstantIdentification +Consolidated array index constant in *(main::screen#0+0) +Consolidated array index constant in *(main::screen#0+1) +Consolidated array index constant in *(main::screen#0+2) +Succesful SSA optimization Pass2ConstantAdditionElimination +Not aliassing across scopes: sum::return#0 sum::return#3 +Not aliassing across scopes: main::$0 sum::return#0 +Not aliassing across scopes: sum::return#1 sum::return#3 +Not aliassing across scopes: main::$1 sum::return#1 +Not aliassing across scopes: sum::return#2 sum::return#3 +Not aliassing across scopes: main::$2 sum::return#2 +OPTIMIZING CONTROL FLOW GRAPH +Inlining constant with var siblings (const byte) sum::b#0 +Inlining constant with different constant siblings (const byte) sum::b#0 +Inlining constant with different constant siblings (const byte) sum::b#0 +Inlining constant with var siblings (const byte) sum::b#1 +Inlining constant with different constant siblings (const byte) sum::b#1 +Inlining constant with different constant siblings (const byte) sum::b#1 +Inlining constant with var siblings (const byte) sum::b#2 +Inlining constant with different constant siblings (const byte) sum::b#2 +Inlining constant with different constant siblings (const byte) sum::b#2 +Inlining constant with var siblings (const byte) sum::a#0 +Inlining constant with var siblings (const byte) sum::a#1 +Inlining constant with var siblings (const byte) sum::a#2 +Constant inlined sum::a#2 = (const byte) main::reverse#0 +Constant inlined sum::b#1 = (byte) 'm' +Constant inlined sum::a#1 = (const byte) main::reverse#0 +Constant inlined sum::b#0 = (byte) 'c' +Constant inlined sum::b#2 = (byte) 'l' +Constant inlined sum::a#0 = (const byte) main::reverse#0 +Succesful SSA optimization Pass2ConstantInlining +Identical Phi Values (byte) sum::a#3 (const byte) main::reverse#0 +Succesful SSA optimization Pass2IdenticalPhiElimination +Block Sequence Planned @begin @2 @end main main::@1 main::@2 main::@3 main::@return sum sum::@return +Block Sequence Planned @begin @2 @end main main::@1 main::@2 main::@3 main::@return sum sum::@return +Adding NOP phi() at start of @begin +Adding NOP phi() at start of @2 +Adding NOP phi() at start of @end +Adding NOP phi() at start of main +CALL GRAPH +Calls in [] to main:2 +Calls in [main] to sum:5 sum:9 sum:13 + +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Created 1 initial phi equivalence classes +Coalesced down to 1 phi equivalence classes +Block Sequence Planned @begin @2 @end main main::@1 main::@2 main::@3 main::@return sum sum::@return +Adding NOP phi() at start of @begin +Adding NOP phi() at start of @2 +Adding NOP phi() at start of @end +Adding NOP phi() at start of main +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... + +FINAL CONTROL FLOW GRAPH +@begin: scope:[] from + [0] phi() [ ] ( ) + to:@2 +@2: scope:[] from @begin + [1] phi() [ ] ( ) + [2] call main param-assignment [ ] ( ) + to:@end +@end: scope:[] from @2 + [3] phi() [ ] ( ) +main: scope:[main] from @2 + [4] phi() [ ] ( main:2 [ ] ) + [5] call sum param-assignment [ sum::return#3 ] ( main:2 [ sum::return#3 ] ) + [6] (byte) sum::return#0 ← (byte) sum::return#3 [ sum::return#0 ] ( main:2 [ sum::return#0 ] ) + to:main::@1 +main::@1: scope:[main] from main + [7] (byte~) main::$0 ← (byte) sum::return#0 [ main::$0 ] ( main:2 [ main::$0 ] ) + [8] *((const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) 0) ← (byte~) main::$0 [ ] ( main:2 [ ] ) + [9] call sum param-assignment [ sum::return#3 ] ( main:2 [ sum::return#3 ] ) + [10] (byte) sum::return#1 ← (byte) sum::return#3 [ sum::return#1 ] ( main:2 [ sum::return#1 ] ) + to:main::@2 +main::@2: scope:[main] from main::@1 + [11] (byte~) main::$1 ← (byte) sum::return#1 [ main::$1 ] ( main:2 [ main::$1 ] ) + [12] *((const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) 1) ← (byte~) main::$1 [ ] ( main:2 [ ] ) + [13] call sum param-assignment [ sum::return#3 ] ( main:2 [ sum::return#3 ] ) + [14] (byte) sum::return#2 ← (byte) sum::return#3 [ sum::return#2 ] ( main:2 [ sum::return#2 ] ) + to:main::@3 +main::@3: scope:[main] from main::@2 + [15] (byte~) main::$2 ← (byte) sum::return#2 [ main::$2 ] ( main:2 [ main::$2 ] ) + [16] *((const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) 2) ← (byte~) main::$2 [ ] ( main:2 [ ] ) + to:main::@return +main::@return: scope:[main] from main::@3 + [17] return [ ] ( main:2 [ ] ) + to:@return +sum: scope:[sum] from main main::@1 main::@2 + [18] (byte) sum::b#3 ← phi( main/(byte) 'c' main::@1/(byte) 'm' main::@2/(byte) 'l' ) [ sum::b#3 ] ( main:2::sum:5 [ sum::b#3 ] main:2::sum:9 [ sum::b#3 ] main:2::sum:13 [ sum::b#3 ] ) + [19] (byte) sum::return#3 ← (const byte) main::reverse#0 + (byte) sum::b#3 [ sum::return#3 ] ( main:2::sum:5 [ sum::return#3 ] main:2::sum:9 [ sum::return#3 ] main:2::sum:13 [ sum::return#3 ] ) + to:sum::@return +sum::@return: scope:[sum] from sum + [20] return [ sum::return#3 ] ( main:2::sum:5 [ sum::return#3 ] main:2::sum:9 [ sum::return#3 ] main:2::sum:13 [ sum::return#3 ] ) + to:@return + +DOMINATORS +@begin dominated by @begin +@2 dominated by @2 @begin +@end dominated by @2 @begin @end +main dominated by @2 @begin main +main::@1 dominated by @2 @begin main::@1 main +main::@2 dominated by @2 @begin main::@1 main::@2 main +main::@3 dominated by @2 @begin main::@1 main::@2 main main::@3 +main::@return dominated by main::@return @2 @begin main::@1 main::@2 main main::@3 +sum dominated by @2 @begin main sum +sum::@return dominated by @2 @begin main sum sum::@return + +NATURAL LOOPS + +NATURAL LOOPS WITH DEPTH +Found 0 loops in scope [] +Found 0 loops in scope [main] +Found 0 loops in scope [sum] + + +VARIABLE REGISTER WEIGHTS +(void()) main() +(byte~) main::$0 4.0 +(byte~) main::$1 4.0 +(byte~) main::$2 4.0 +(byte) main::reverse +(byte*) main::screen +(byte()) sum((byte) sum::a , (byte) sum::b) +(byte) sum::a +(byte) sum::b +(byte) sum::b#3 2.0 +(byte) sum::return +(byte) sum::return#0 4.0 +(byte) sum::return#1 4.0 +(byte) sum::return#2 4.0 +(byte) sum::return#3 1.6 + +Initial phi equivalence classes +[ sum::b#3 ] +Added variable sum::return#0 to zero page equivalence class [ sum::return#0 ] +Added variable main::$0 to zero page equivalence class [ main::$0 ] +Added variable sum::return#1 to zero page equivalence class [ sum::return#1 ] +Added variable main::$1 to zero page equivalence class [ main::$1 ] +Added variable sum::return#2 to zero page equivalence class [ sum::return#2 ] +Added variable main::$2 to zero page equivalence class [ main::$2 ] +Added variable sum::return#3 to zero page equivalence class [ sum::return#3 ] +Complete equivalence classes +[ sum::b#3 ] +[ sum::return#0 ] +[ main::$0 ] +[ sum::return#1 ] +[ main::$1 ] +[ sum::return#2 ] +[ main::$2 ] +[ sum::return#3 ] +Allocated zp ZP_BYTE:2 [ sum::b#3 ] +Allocated zp ZP_BYTE:3 [ sum::return#0 ] +Allocated zp ZP_BYTE:4 [ main::$0 ] +Allocated zp ZP_BYTE:5 [ sum::return#1 ] +Allocated zp ZP_BYTE:6 [ main::$1 ] +Allocated zp ZP_BYTE:7 [ sum::return#2 ] +Allocated zp ZP_BYTE:8 [ main::$2 ] +Allocated zp ZP_BYTE:9 [ sum::return#3 ] + +INITIAL ASM +//SEG0 Basic Upstart +.pc = $801 "Basic" +:BasicUpstart(main) +.pc = $80d "Program" +//SEG1 Global Constants & labels +//SEG2 @begin +bbegin: +//SEG3 [1] phi from @begin to @2 [phi:@begin->@2] +b2_from_bbegin: + jmp b2 +//SEG4 @2 +b2: +//SEG5 [2] call main param-assignment [ ] ( ) +//SEG6 [4] phi from @2 to main [phi:@2->main] +main_from_b2: + jsr main +//SEG7 [3] phi from @2 to @end [phi:@2->@end] +bend_from_b2: + jmp bend +//SEG8 @end +bend: +//SEG9 main +main: { + .label screen = $400 + .label reverse = $80 + .label _0 = 4 + .label _1 = 6 + .label _2 = 8 + //SEG10 [5] call sum param-assignment [ sum::return#3 ] ( main:2 [ sum::return#3 ] ) + //SEG11 [18] phi from main to sum [phi:main->sum] + sum_from_main: + //SEG12 [18] phi (byte) sum::b#3 = (byte) 'c' [phi:main->sum#0] -- vbuz1=vbuc1 + lda #'c' + sta sum.b + jsr sum + //SEG13 [6] (byte) sum::return#0 ← (byte) sum::return#3 [ sum::return#0 ] ( main:2 [ sum::return#0 ] ) -- vbuz1=vbuz2 + lda sum.return_3 + sta sum.return + jmp b1 + //SEG14 main::@1 + b1: + //SEG15 [7] (byte~) main::$0 ← (byte) sum::return#0 [ main::$0 ] ( main:2 [ main::$0 ] ) -- vbuz1=vbuz2 + lda sum.return + sta _0 + //SEG16 [8] *((const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) 0) ← (byte~) main::$0 [ ] ( main:2 [ ] ) -- _deref_pbuc1=vbuz1 + lda _0 + sta screen+0 + //SEG17 [9] call sum param-assignment [ sum::return#3 ] ( main:2 [ sum::return#3 ] ) + //SEG18 [18] phi from main::@1 to sum [phi:main::@1->sum] + sum_from_b1: + //SEG19 [18] phi (byte) sum::b#3 = (byte) 'm' [phi:main::@1->sum#0] -- vbuz1=vbuc1 + lda #'m' + sta sum.b + jsr sum + //SEG20 [10] (byte) sum::return#1 ← (byte) sum::return#3 [ sum::return#1 ] ( main:2 [ sum::return#1 ] ) -- vbuz1=vbuz2 + lda sum.return_3 + sta sum.return_1 + jmp b2 + //SEG21 main::@2 + b2: + //SEG22 [11] (byte~) main::$1 ← (byte) sum::return#1 [ main::$1 ] ( main:2 [ main::$1 ] ) -- vbuz1=vbuz2 + lda sum.return_1 + sta _1 + //SEG23 [12] *((const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) 1) ← (byte~) main::$1 [ ] ( main:2 [ ] ) -- _deref_pbuc1=vbuz1 + lda _1 + sta screen+1 + //SEG24 [13] call sum param-assignment [ sum::return#3 ] ( main:2 [ sum::return#3 ] ) + //SEG25 [18] phi from main::@2 to sum [phi:main::@2->sum] + sum_from_b2: + //SEG26 [18] phi (byte) sum::b#3 = (byte) 'l' [phi:main::@2->sum#0] -- vbuz1=vbuc1 + lda #'l' + sta sum.b + jsr sum + //SEG27 [14] (byte) sum::return#2 ← (byte) sum::return#3 [ sum::return#2 ] ( main:2 [ sum::return#2 ] ) -- vbuz1=vbuz2 + lda sum.return_3 + sta sum.return_2 + jmp b3 + //SEG28 main::@3 + b3: + //SEG29 [15] (byte~) main::$2 ← (byte) sum::return#2 [ main::$2 ] ( main:2 [ main::$2 ] ) -- vbuz1=vbuz2 + lda sum.return_2 + sta _2 + //SEG30 [16] *((const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) 2) ← (byte~) main::$2 [ ] ( main:2 [ ] ) -- _deref_pbuc1=vbuz1 + lda _2 + sta screen+2 + jmp breturn + //SEG31 main::@return + breturn: + //SEG32 [17] return [ ] ( main:2 [ ] ) + rts +} +//SEG33 sum +sum: { + .label return = 3 + .label return_1 = 5 + .label return_2 = 7 + .label return_3 = 9 + .label b = 2 + //SEG34 [19] (byte) sum::return#3 ← (const byte) main::reverse#0 + (byte) sum::b#3 [ sum::return#3 ] ( main:2::sum:5 [ sum::return#3 ] main:2::sum:9 [ sum::return#3 ] main:2::sum:13 [ sum::return#3 ] ) -- vbuz1=vbuc1_plus_vbuz2 + lda #main.reverse + clc + adc b + sta return_3 + jmp breturn + //SEG35 sum::@return + breturn: + //SEG36 [20] return [ sum::return#3 ] ( main:2::sum:5 [ sum::return#3 ] main:2::sum:9 [ sum::return#3 ] main:2::sum:13 [ sum::return#3 ] ) + rts +} + +REGISTER UPLIFT POTENTIAL REGISTERS +Statement [19] (byte) sum::return#3 ← (const byte) main::reverse#0 + (byte) sum::b#3 [ sum::return#3 ] ( main:2::sum:5 [ sum::return#3 ] main:2::sum:9 [ sum::return#3 ] main:2::sum:13 [ sum::return#3 ] ) always clobbers reg byte a +Potential registers zp ZP_BYTE:2 [ sum::b#3 ] : zp ZP_BYTE:2 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:3 [ sum::return#0 ] : zp ZP_BYTE:3 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:4 [ main::$0 ] : zp ZP_BYTE:4 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:5 [ sum::return#1 ] : zp ZP_BYTE:5 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:6 [ main::$1 ] : zp ZP_BYTE:6 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:7 [ sum::return#2 ] : zp ZP_BYTE:7 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:8 [ main::$2 ] : zp ZP_BYTE:8 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:9 [ sum::return#3 ] : zp ZP_BYTE:9 , reg byte a , reg byte x , reg byte y , + +REGISTER UPLIFT SCOPES +Uplift Scope [sum] 4: zp ZP_BYTE:3 [ sum::return#0 ] 4: zp ZP_BYTE:5 [ sum::return#1 ] 4: zp ZP_BYTE:7 [ sum::return#2 ] 2: zp ZP_BYTE:2 [ sum::b#3 ] 1.6: zp ZP_BYTE:9 [ sum::return#3 ] +Uplift Scope [main] 4: zp ZP_BYTE:4 [ main::$0 ] 4: zp ZP_BYTE:6 [ main::$1 ] 4: zp ZP_BYTE:8 [ main::$2 ] +Uplift Scope [] + +Uplifting [sum] best 109 combination reg byte a [ sum::return#0 ] reg byte a [ sum::return#1 ] reg byte a [ sum::return#2 ] reg byte a [ sum::b#3 ] zp ZP_BYTE:9 [ sum::return#3 ] +Limited combination testing to 100 combinations of 1024 possible. +Uplifting [main] best 91 combination reg byte a [ main::$0 ] reg byte a [ main::$1 ] reg byte a [ main::$2 ] +Uplifting [] best 91 combination +Attempting to uplift remaining variables inzp ZP_BYTE:9 [ sum::return#3 ] +Uplifting [sum] best 79 combination reg byte a [ sum::return#3 ] + +ASSEMBLER BEFORE OPTIMIZATION +//SEG0 Basic Upstart +.pc = $801 "Basic" +:BasicUpstart(main) +.pc = $80d "Program" +//SEG1 Global Constants & labels +//SEG2 @begin +bbegin: +//SEG3 [1] phi from @begin to @2 [phi:@begin->@2] +b2_from_bbegin: + jmp b2 +//SEG4 @2 +b2: +//SEG5 [2] call main param-assignment [ ] ( ) +//SEG6 [4] phi from @2 to main [phi:@2->main] +main_from_b2: + jsr main +//SEG7 [3] phi from @2 to @end [phi:@2->@end] +bend_from_b2: + jmp bend +//SEG8 @end +bend: +//SEG9 main +main: { + .label screen = $400 + .label reverse = $80 + //SEG10 [5] call sum param-assignment [ sum::return#3 ] ( main:2 [ sum::return#3 ] ) + //SEG11 [18] phi from main to sum [phi:main->sum] + sum_from_main: + //SEG12 [18] phi (byte) sum::b#3 = (byte) 'c' [phi:main->sum#0] -- vbuaa=vbuc1 + lda #'c' + jsr sum + //SEG13 [6] (byte) sum::return#0 ← (byte) sum::return#3 [ sum::return#0 ] ( main:2 [ sum::return#0 ] ) + // (byte) sum::return#0 = (byte) sum::return#3 // register copy reg byte a + jmp b1 + //SEG14 main::@1 + b1: + //SEG15 [7] (byte~) main::$0 ← (byte) sum::return#0 [ main::$0 ] ( main:2 [ main::$0 ] ) + // (byte~) main::$0 = (byte) sum::return#0 // register copy reg byte a + //SEG16 [8] *((const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) 0) ← (byte~) main::$0 [ ] ( main:2 [ ] ) -- _deref_pbuc1=vbuaa + sta screen+0 + //SEG17 [9] call sum param-assignment [ sum::return#3 ] ( main:2 [ sum::return#3 ] ) + //SEG18 [18] phi from main::@1 to sum [phi:main::@1->sum] + sum_from_b1: + //SEG19 [18] phi (byte) sum::b#3 = (byte) 'm' [phi:main::@1->sum#0] -- vbuaa=vbuc1 + lda #'m' + jsr sum + //SEG20 [10] (byte) sum::return#1 ← (byte) sum::return#3 [ sum::return#1 ] ( main:2 [ sum::return#1 ] ) + // (byte) sum::return#1 = (byte) sum::return#3 // register copy reg byte a + jmp b2 + //SEG21 main::@2 + b2: + //SEG22 [11] (byte~) main::$1 ← (byte) sum::return#1 [ main::$1 ] ( main:2 [ main::$1 ] ) + // (byte~) main::$1 = (byte) sum::return#1 // register copy reg byte a + //SEG23 [12] *((const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) 1) ← (byte~) main::$1 [ ] ( main:2 [ ] ) -- _deref_pbuc1=vbuaa + sta screen+1 + //SEG24 [13] call sum param-assignment [ sum::return#3 ] ( main:2 [ sum::return#3 ] ) + //SEG25 [18] phi from main::@2 to sum [phi:main::@2->sum] + sum_from_b2: + //SEG26 [18] phi (byte) sum::b#3 = (byte) 'l' [phi:main::@2->sum#0] -- vbuaa=vbuc1 + lda #'l' + jsr sum + //SEG27 [14] (byte) sum::return#2 ← (byte) sum::return#3 [ sum::return#2 ] ( main:2 [ sum::return#2 ] ) + // (byte) sum::return#2 = (byte) sum::return#3 // register copy reg byte a + jmp b3 + //SEG28 main::@3 + b3: + //SEG29 [15] (byte~) main::$2 ← (byte) sum::return#2 [ main::$2 ] ( main:2 [ main::$2 ] ) + // (byte~) main::$2 = (byte) sum::return#2 // register copy reg byte a + //SEG30 [16] *((const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) 2) ← (byte~) main::$2 [ ] ( main:2 [ ] ) -- _deref_pbuc1=vbuaa + sta screen+2 + jmp breturn + //SEG31 main::@return + breturn: + //SEG32 [17] return [ ] ( main:2 [ ] ) + rts +} +//SEG33 sum +sum: { + //SEG34 [19] (byte) sum::return#3 ← (const byte) main::reverse#0 + (byte) sum::b#3 [ sum::return#3 ] ( main:2::sum:5 [ sum::return#3 ] main:2::sum:9 [ sum::return#3 ] main:2::sum:13 [ sum::return#3 ] ) -- vbuaa=vbuc1_plus_vbuaa + clc + adc #main.reverse + jmp breturn + //SEG35 sum::@return + breturn: + //SEG36 [20] return [ sum::return#3 ] ( main:2::sum:5 [ sum::return#3 ] main:2::sum:9 [ sum::return#3 ] main:2::sum:13 [ sum::return#3 ] ) + rts +} + +ASSEMBLER OPTIMIZATIONS +Removing instruction jmp b2 +Removing instruction jmp bend +Removing instruction jmp b1 +Removing instruction jmp b2 +Removing instruction jmp b3 +Removing instruction jmp breturn +Removing instruction jmp breturn +Succesful ASM optimization Pass5NextJumpElimination +Removing instruction bbegin: +Removing instruction b2_from_bbegin: +Removing instruction main_from_b2: +Removing instruction bend_from_b2: +Succesful ASM optimization Pass5RedundantLabelElimination +Removing instruction b2: +Removing instruction bend: +Removing instruction sum_from_main: +Removing instruction b1: +Removing instruction sum_from_b1: +Removing instruction b2: +Removing instruction sum_from_b2: +Removing instruction b3: +Removing instruction breturn: +Removing instruction breturn: +Succesful ASM optimization Pass5UnusedLabelElimination + +FINAL SYMBOL TABLE +(label) @2 +(label) @begin +(label) @end +(void()) main() +(byte~) main::$0 reg byte a 4.0 +(byte~) main::$1 reg byte a 4.0 +(byte~) main::$2 reg byte a 4.0 +(label) main::@1 +(label) main::@2 +(label) main::@3 +(label) main::@return +(byte) main::reverse +(const byte) main::reverse#0 reverse = (byte/word/signed word/dword/signed dword) 128 +(byte*) main::screen +(const byte*) main::screen#0 screen = ((byte*))(word/signed word/dword/signed dword) 1024 +(byte()) sum((byte) sum::a , (byte) sum::b) +(label) sum::@return +(byte) sum::a +(byte) sum::b +(byte) sum::b#3 reg byte a 2.0 +(byte) sum::return +(byte) sum::return#0 reg byte a 4.0 +(byte) sum::return#1 reg byte a 4.0 +(byte) sum::return#2 reg byte a 4.0 +(byte) sum::return#3 reg byte a 1.6 + +reg byte a [ sum::b#3 ] +reg byte a [ sum::return#0 ] +reg byte a [ main::$0 ] +reg byte a [ sum::return#1 ] +reg byte a [ main::$1 ] +reg byte a [ sum::return#2 ] +reg byte a [ main::$2 ] +reg byte a [ sum::return#3 ] + + +FINAL ASSEMBLER +Score: 58 + +//SEG0 Basic Upstart +.pc = $801 "Basic" +:BasicUpstart(main) +.pc = $80d "Program" +//SEG1 Global Constants & labels +//SEG2 @begin +//SEG3 [1] phi from @begin to @2 [phi:@begin->@2] +//SEG4 @2 +//SEG5 [2] call main param-assignment [ ] ( ) +//SEG6 [4] phi from @2 to main [phi:@2->main] + jsr main +//SEG7 [3] phi from @2 to @end [phi:@2->@end] +//SEG8 @end +//SEG9 main +main: { + .label screen = $400 + .label reverse = $80 + //SEG10 [5] call sum param-assignment [ sum::return#3 ] ( main:2 [ sum::return#3 ] ) + //SEG11 [18] phi from main to sum [phi:main->sum] + //SEG12 [18] phi (byte) sum::b#3 = (byte) 'c' [phi:main->sum#0] -- vbuaa=vbuc1 + lda #'c' + jsr sum + //SEG13 [6] (byte) sum::return#0 ← (byte) sum::return#3 [ sum::return#0 ] ( main:2 [ sum::return#0 ] ) + // (byte) sum::return#0 = (byte) sum::return#3 // register copy reg byte a + //SEG14 main::@1 + //SEG15 [7] (byte~) main::$0 ← (byte) sum::return#0 [ main::$0 ] ( main:2 [ main::$0 ] ) + // (byte~) main::$0 = (byte) sum::return#0 // register copy reg byte a + //SEG16 [8] *((const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) 0) ← (byte~) main::$0 [ ] ( main:2 [ ] ) -- _deref_pbuc1=vbuaa + sta screen+0 + //SEG17 [9] call sum param-assignment [ sum::return#3 ] ( main:2 [ sum::return#3 ] ) + //SEG18 [18] phi from main::@1 to sum [phi:main::@1->sum] + //SEG19 [18] phi (byte) sum::b#3 = (byte) 'm' [phi:main::@1->sum#0] -- vbuaa=vbuc1 + lda #'m' + jsr sum + //SEG20 [10] (byte) sum::return#1 ← (byte) sum::return#3 [ sum::return#1 ] ( main:2 [ sum::return#1 ] ) + // (byte) sum::return#1 = (byte) sum::return#3 // register copy reg byte a + //SEG21 main::@2 + //SEG22 [11] (byte~) main::$1 ← (byte) sum::return#1 [ main::$1 ] ( main:2 [ main::$1 ] ) + // (byte~) main::$1 = (byte) sum::return#1 // register copy reg byte a + //SEG23 [12] *((const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) 1) ← (byte~) main::$1 [ ] ( main:2 [ ] ) -- _deref_pbuc1=vbuaa + sta screen+1 + //SEG24 [13] call sum param-assignment [ sum::return#3 ] ( main:2 [ sum::return#3 ] ) + //SEG25 [18] phi from main::@2 to sum [phi:main::@2->sum] + //SEG26 [18] phi (byte) sum::b#3 = (byte) 'l' [phi:main::@2->sum#0] -- vbuaa=vbuc1 + lda #'l' + jsr sum + //SEG27 [14] (byte) sum::return#2 ← (byte) sum::return#3 [ sum::return#2 ] ( main:2 [ sum::return#2 ] ) + // (byte) sum::return#2 = (byte) sum::return#3 // register copy reg byte a + //SEG28 main::@3 + //SEG29 [15] (byte~) main::$2 ← (byte) sum::return#2 [ main::$2 ] ( main:2 [ main::$2 ] ) + // (byte~) main::$2 = (byte) sum::return#2 // register copy reg byte a + //SEG30 [16] *((const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) 2) ← (byte~) main::$2 [ ] ( main:2 [ ] ) -- _deref_pbuc1=vbuaa + sta screen+2 + //SEG31 main::@return + //SEG32 [17] return [ ] ( main:2 [ ] ) + rts +} +//SEG33 sum +sum: { + //SEG34 [19] (byte) sum::return#3 ← (const byte) main::reverse#0 + (byte) sum::b#3 [ sum::return#3 ] ( main:2::sum:5 [ sum::return#3 ] main:2::sum:9 [ sum::return#3 ] main:2::sum:13 [ sum::return#3 ] ) -- vbuaa=vbuc1_plus_vbuaa + clc + adc #main.reverse + //SEG35 sum::@return + //SEG36 [20] return [ sum::return#3 ] ( main:2::sum:5 [ sum::return#3 ] main:2::sum:9 [ sum::return#3 ] main:2::sum:13 [ sum::return#3 ] ) + rts +} + diff --git a/src/test/java/dk/camelot64/kickc/test/ref/const-param.sym b/src/test/java/dk/camelot64/kickc/test/ref/const-param.sym new file mode 100644 index 000000000..84667a07f --- /dev/null +++ b/src/test/java/dk/camelot64/kickc/test/ref/const-param.sym @@ -0,0 +1,34 @@ +(label) @2 +(label) @begin +(label) @end +(void()) main() +(byte~) main::$0 reg byte a 4.0 +(byte~) main::$1 reg byte a 4.0 +(byte~) main::$2 reg byte a 4.0 +(label) main::@1 +(label) main::@2 +(label) main::@3 +(label) main::@return +(byte) main::reverse +(const byte) main::reverse#0 reverse = (byte/word/signed word/dword/signed dword) 128 +(byte*) main::screen +(const byte*) main::screen#0 screen = ((byte*))(word/signed word/dword/signed dword) 1024 +(byte()) sum((byte) sum::a , (byte) sum::b) +(label) sum::@return +(byte) sum::a +(byte) sum::b +(byte) sum::b#3 reg byte a 2.0 +(byte) sum::return +(byte) sum::return#0 reg byte a 4.0 +(byte) sum::return#1 reg byte a 4.0 +(byte) sum::return#2 reg byte a 4.0 +(byte) sum::return#3 reg byte a 1.6 + +reg byte a [ sum::b#3 ] +reg byte a [ sum::return#0 ] +reg byte a [ main::$0 ] +reg byte a [ sum::return#1 ] +reg byte a [ main::$1 ] +reg byte a [ sum::return#2 ] +reg byte a [ main::$2 ] +reg byte a [ sum::return#3 ] diff --git a/src/test/java/dk/camelot64/kickc/test/ref/dword.log b/src/test/java/dk/camelot64/kickc/test/ref/dword.log index 27d6f5a71..97d48f059 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/dword.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/dword.log @@ -132,10 +132,6 @@ Constant (const dword) main::a#0 = 4000000000 Constant (const byte) main::i#0 = 0 Constant (const byte*) main::SCREEN#0 = ((byte*))1024 Succesful SSA optimization Pass2ConstantIdentification -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#2 OPTIMIZING CONTROL FLOW GRAPH Inlining constant with var siblings (const byte) main::i#0 Inlining constant with var siblings (const byte) main::i#0 diff --git a/src/test/java/dk/camelot64/kickc/test/ref/fibmem.log b/src/test/java/dk/camelot64/kickc/test/ref/fibmem.log index 9dc7269ba..b1315e335 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/fibmem.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/fibmem.log @@ -117,13 +117,9 @@ Constant (const byte) main::i#0 = 0 Succesful SSA optimization Pass2ConstantIdentification Consolidated array index constant in *(fibs#0+0) Consolidated array index constant in *(fibs#0+1) -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#2 Consolidated array index constant in assignment *(fibs#0+1 + main::$1) Consolidated array index constant in assignment *(fibs#0+2 + main::$0) Succesful SSA optimization Pass2ConstantAdditionElimination -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#2 Inferred type updated to byte in (byte/signed word/word/dword/signed dword~) main::$0 ← (byte) main::i#2 Inferred type updated to byte in (byte/signed word/word/dword/signed dword~) main::$1 ← (byte) main::i#2 Alias (byte) main::i#2 = (byte~) main::$0 (byte~) main::$1 diff --git a/src/test/java/dk/camelot64/kickc/test/ref/flipper-rex2.log b/src/test/java/dk/camelot64/kickc/test/ref/flipper-rex2.log index b61a963ad..fefd34c65 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/flipper-rex2.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/flipper-rex2.log @@ -662,11 +662,8 @@ Constant (const byte) plot::i#0 = 0 Constant (const byte) plot::y#0 = 16 Constant (const byte) plot::x#0 = 0 Succesful SSA optimization Pass2ConstantIdentification -Multiple usages for variable. Not optimizing sub-constant (byte) prepare::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte*) SCREEN#6 Consolidated constant in assignment plot::line#0 Succesful SSA optimization Pass2ConstantAdditionElimination -Multiple usages for variable. Not optimizing sub-constant (byte) prepare::i#2 if() condition always true - replacing block destination if(true) goto main::@1 Succesful SSA optimization Pass2ConstantIfs Removing unused block main::@return @@ -683,7 +680,6 @@ Succesful SSA optimization Pass2SelfPhiElimination Redundant Phi (byte*) RASTER#1 (byte*) RASTER#3 Redundant Phi (byte*) SCREEN#6 (byte*) SCREEN#7 Succesful SSA optimization Pass2RedundantPhiElimination -Multiple usages for variable. Not optimizing sub-constant (byte) prepare::i#2 Not aliassing identity: RASTER#3 RASTER#3 Not aliassing identity: SCREEN#7 SCREEN#7 Not aliassing across scopes: plot::$1 SCREEN#7 @@ -697,11 +693,8 @@ Constant (const byte*) plot::$1 = SCREEN#0 Succesful SSA optimization Pass2ConstantIdentification Constant (const byte*) plot::line#0 = plot::$1+plot::$0+12 Succesful SSA optimization Pass2ConstantIdentification -Multiple usages for variable. Not optimizing sub-constant (byte) prepare::i#2 Culled Empty Block (label) main::@1 Succesful SSA optimization Pass2CullEmptyBlocks -Multiple usages for variable. Not optimizing sub-constant (byte) prepare::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) prepare::i#2 OPTIMIZING CONTROL FLOW GRAPH Inlining constant with var siblings (const byte) main::c#0 Inlining constant with var siblings (const byte) main::c#0 diff --git a/src/test/java/dk/camelot64/kickc/test/ref/forclassicmin.log b/src/test/java/dk/camelot64/kickc/test/ref/forclassicmin.log index 13666ddcf..4cd75d3a9 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/forclassicmin.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/forclassicmin.log @@ -121,8 +121,6 @@ Succesful SSA optimization Pass2ConditionalJumpSimplification Constant (const byte*) SCREEN#0 = ((byte*))1024 Constant (const byte) main::i#0 = 0 Succesful SSA optimization Pass2ConstantIdentification -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#2 OPTIMIZING CONTROL FLOW GRAPH Inlining constant with var siblings (const byte) main::i#0 Inlining constant with var siblings (const byte) main::i#0 diff --git a/src/test/java/dk/camelot64/kickc/test/ref/forincrementassign.log b/src/test/java/dk/camelot64/kickc/test/ref/forincrementassign.log index 1ea5cee03..70209028a 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/forincrementassign.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/forincrementassign.log @@ -119,10 +119,6 @@ Succesful SSA optimization Pass2ConditionalJumpSimplification Constant (const byte*) SCREEN#0 = ((byte*))1024 Constant (const byte) main::i#0 = 0 Succesful SSA optimization Pass2ConstantIdentification -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#2 OPTIMIZING CONTROL FLOW GRAPH Inlining constant with var siblings (const byte) main::i#0 Inlining constant with var siblings (const byte) main::i#0 diff --git a/src/test/java/dk/camelot64/kickc/test/ref/forrangemin.log b/src/test/java/dk/camelot64/kickc/test/ref/forrangemin.log index 2fd39b58c..bf4931c25 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/forrangemin.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/forrangemin.log @@ -183,14 +183,8 @@ Constant (const byte*) SCREEN2#0 = ((byte*))1280 Constant (const byte) main::i#0 = 0 Constant (const byte) main::j#0 = 100 Succesful SSA optimization Pass2ConstantIdentification -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) main::j#2 Culled Empty Block (label) main::@3 Succesful SSA optimization Pass2CullEmptyBlocks -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) main::j#2 -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) main::j#2 OPTIMIZING CONTROL FLOW GRAPH Inlining constant with var siblings (const byte) main::i#0 Inlining constant with var siblings (const byte) main::i#0 diff --git a/src/test/java/dk/camelot64/kickc/test/ref/halfscii.log b/src/test/java/dk/camelot64/kickc/test/ref/halfscii.log index 21bcf588f..044164d21 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/halfscii.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/halfscii.log @@ -766,19 +766,7 @@ Constant (const byte*) main::charset4#0 = CHARSET4#0 Constant (const byte) main::bits_gen#2 = main::bits_gen#0+1 Constant (const byte*) main::$38 = CHARGEN#0+2048 Succesful SSA optimization Pass2ConstantIdentification -Multiple usages for variable. Not optimizing sub-constant (byte*) main::chargen#10 -Multiple usages for variable. Not optimizing sub-constant (byte) main::bits_gen#1 -Multiple usages for variable. Not optimizing sub-constant (byte) main::bits_gen#14 -Multiple usages for variable. Not optimizing sub-constant (byte*) main::chargen#10 -Multiple usages for variable. Not optimizing sub-constant (byte) main::bits_gen#16 -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#2 Not culling empty block because it shares successor with its predecessor. (label) main::@7 -Multiple usages for variable. Not optimizing sub-constant (byte*) main::chargen#10 -Multiple usages for variable. Not optimizing sub-constant (byte) main::bits_gen#1 -Multiple usages for variable. Not optimizing sub-constant (byte) main::bits_gen#14 -Multiple usages for variable. Not optimizing sub-constant (byte*) main::chargen#10 -Multiple usages for variable. Not optimizing sub-constant (byte) main::bits_gen#16 -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#2 OPTIMIZING CONTROL FLOW GRAPH Inlining constant with var siblings (const byte) main::bits_gen#0 Inlining constant with var siblings (const byte) main::bits_gen#0 diff --git a/src/test/java/dk/camelot64/kickc/test/ref/helloworld2.asm b/src/test/java/dk/camelot64/kickc/test/ref/helloworld2.asm index 99ca792ad..7c9300bf0 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/helloworld2.asm +++ b/src/test/java/dk/camelot64/kickc/test/ref/helloworld2.asm @@ -5,47 +5,29 @@ jsr main main: { lda #screen - sta print_spaced.at+1 - lda #hello - sta print_spaced.msg+1 - jsr print_spaced - lda #screen+$28 - sta print_spaced.at+1 - lda #hello - sta print_spaced.msg+1 - jsr print_spaced + sta print2.at+1 + jsr print2 + lda #screen+$50 + sta print2.at+1 + jsr print2 rts hello: .text "hello world!@" } -print_spaced: { - .label j = 6 - .label msg = 2 - .label at = 4 - lda #0 - sta j - tax +print2: { + .label at = 2 + ldy #0 + ldx #0 b1: - txa - tay - lda (msg),y - ldy j + lda main.hello,x sta (at),y - tya - clc - adc #2 - sta j + iny + iny inx - txa - tay - lda (msg),y + lda main.hello,x cmp #'@' bne b1 rts diff --git a/src/test/java/dk/camelot64/kickc/test/ref/helloworld2.cfg b/src/test/java/dk/camelot64/kickc/test/ref/helloworld2.cfg index ded713131..567e413cf 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/helloworld2.cfg +++ b/src/test/java/dk/camelot64/kickc/test/ref/helloworld2.cfg @@ -9,27 +9,26 @@ [3] phi() [ ] ( ) main: scope:[main] from @2 [4] phi() [ ] ( main:2 [ ] ) - [5] call print_spaced param-assignment [ ] ( main:2 [ ] ) + [5] call print2 param-assignment [ ] ( main:2 [ ] ) to:main::@1 main::@1: scope:[main] from main [6] phi() [ ] ( main:2 [ ] ) - [7] call print_spaced param-assignment [ ] ( main:2 [ ] ) + [7] call print2 param-assignment [ ] ( main:2 [ ] ) to:main::@return main::@return: scope:[main] from main::@1 [8] return [ ] ( main:2 [ ] ) to:@return -print_spaced: scope:[print_spaced] from main main::@1 - [9] (byte*) print_spaced::at#3 ← phi( main/(const byte*) screen#0 main::@1/(const byte*) screen#0+(byte/signed byte/word/signed word/dword/signed dword) 40 ) [ print_spaced::msg#3 print_spaced::at#3 ] ( main:2::print_spaced:5 [ print_spaced::msg#3 print_spaced::at#3 ] main:2::print_spaced:7 [ print_spaced::msg#3 print_spaced::at#3 ] ) - [9] (byte*) print_spaced::msg#3 ← phi( main/(const string) main::hello#0 main::@1/(const string) main::hello#0 ) [ print_spaced::msg#3 print_spaced::at#3 ] ( main:2::print_spaced:5 [ print_spaced::msg#3 print_spaced::at#3 ] main:2::print_spaced:7 [ print_spaced::msg#3 print_spaced::at#3 ] ) - to:print_spaced::@1 -print_spaced::@1: scope:[print_spaced] from print_spaced print_spaced::@1 - [10] (byte) print_spaced::j#2 ← phi( print_spaced/(byte/signed byte/word/signed word/dword/signed dword) 0 print_spaced::@1/(byte) print_spaced::j#1 ) [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#2 print_spaced::j#2 ] ( main:2::print_spaced:5 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#2 print_spaced::j#2 ] main:2::print_spaced:7 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#2 print_spaced::j#2 ] ) - [10] (byte) print_spaced::i#2 ← phi( print_spaced/(byte/signed byte/word/signed word/dword/signed dword) 0 print_spaced::@1/(byte) print_spaced::i#1 ) [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#2 print_spaced::j#2 ] ( main:2::print_spaced:5 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#2 print_spaced::j#2 ] main:2::print_spaced:7 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#2 print_spaced::j#2 ] ) - [11] *((byte*) print_spaced::at#3 + (byte) print_spaced::j#2) ← *((byte*) print_spaced::msg#3 + (byte) print_spaced::i#2) [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#2 print_spaced::j#2 ] ( main:2::print_spaced:5 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#2 print_spaced::j#2 ] main:2::print_spaced:7 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#2 print_spaced::j#2 ] ) - [12] (byte) print_spaced::j#1 ← (byte) print_spaced::j#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#2 print_spaced::j#1 ] ( main:2::print_spaced:5 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#2 print_spaced::j#1 ] main:2::print_spaced:7 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#2 print_spaced::j#1 ] ) - [13] (byte) print_spaced::i#1 ← ++ (byte) print_spaced::i#2 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#1 print_spaced::j#1 ] ( main:2::print_spaced:5 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#1 print_spaced::j#1 ] main:2::print_spaced:7 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#1 print_spaced::j#1 ] ) - [14] if(*((byte*) print_spaced::msg#3 + (byte) print_spaced::i#1)!=(byte) '@') goto print_spaced::@1 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#1 print_spaced::j#1 ] ( main:2::print_spaced:5 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#1 print_spaced::j#1 ] main:2::print_spaced:7 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#1 print_spaced::j#1 ] ) - to:print_spaced::@return -print_spaced::@return: scope:[print_spaced] from print_spaced::@1 - [15] return [ ] ( main:2::print_spaced:5 [ ] main:2::print_spaced:7 [ ] ) +print2: scope:[print2] from main main::@1 + [9] (byte*) print2::at#3 ← phi( main/(const byte*) screen#0 main::@1/(const byte*) screen#0+(byte/signed byte/word/signed word/dword/signed dword) 80 ) [ print2::at#3 ] ( main:2::print2:5 [ print2::at#3 ] main:2::print2:7 [ print2::at#3 ] ) + to:print2::@1 +print2::@1: scope:[print2] from print2 print2::@1 + [10] (byte) print2::j#2 ← phi( print2/(byte/signed byte/word/signed word/dword/signed dword) 0 print2::@1/(byte) print2::j#1 ) [ print2::at#3 print2::i#2 print2::j#2 ] ( main:2::print2:5 [ print2::at#3 print2::i#2 print2::j#2 ] main:2::print2:7 [ print2::at#3 print2::i#2 print2::j#2 ] ) + [10] (byte) print2::i#2 ← phi( print2/(byte/signed byte/word/signed word/dword/signed dword) 0 print2::@1/(byte) print2::i#1 ) [ print2::at#3 print2::i#2 print2::j#2 ] ( main:2::print2:5 [ print2::at#3 print2::i#2 print2::j#2 ] main:2::print2:7 [ print2::at#3 print2::i#2 print2::j#2 ] ) + [11] *((byte*) print2::at#3 + (byte) print2::j#2) ← *((const string) main::hello#0 + (byte) print2::i#2) [ print2::at#3 print2::i#2 print2::j#2 ] ( main:2::print2:5 [ print2::at#3 print2::i#2 print2::j#2 ] main:2::print2:7 [ print2::at#3 print2::i#2 print2::j#2 ] ) + [12] (byte) print2::j#1 ← (byte) print2::j#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ print2::at#3 print2::i#2 print2::j#1 ] ( main:2::print2:5 [ print2::at#3 print2::i#2 print2::j#1 ] main:2::print2:7 [ print2::at#3 print2::i#2 print2::j#1 ] ) + [13] (byte) print2::i#1 ← ++ (byte) print2::i#2 [ print2::at#3 print2::i#1 print2::j#1 ] ( main:2::print2:5 [ print2::at#3 print2::i#1 print2::j#1 ] main:2::print2:7 [ print2::at#3 print2::i#1 print2::j#1 ] ) + [14] if(*((const string) main::hello#0 + (byte) print2::i#1)!=(byte) '@') goto print2::@1 [ print2::at#3 print2::i#1 print2::j#1 ] ( main:2::print2:5 [ print2::at#3 print2::i#1 print2::j#1 ] main:2::print2:7 [ print2::at#3 print2::i#1 print2::j#1 ] ) + to:print2::@return +print2::@return: scope:[print2] from print2::@1 + [15] return [ ] ( main:2::print2:5 [ ] main:2::print2:7 [ ] ) to:@return diff --git a/src/test/java/dk/camelot64/kickc/test/ref/helloworld2.log b/src/test/java/dk/camelot64/kickc/test/ref/helloworld2.log index 6a2f897f0..7480c1d19 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/helloworld2.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/helloworld2.log @@ -2,11 +2,11 @@ PARSING src/test/java/dk/camelot64/kickc/test/kc/helloworld2.kc byte* screen = $400; void main() { byte* hello = "hello world!@"; - print_spaced(screen, hello); - print_spaced(screen+40, hello); + print2(screen, hello); + print2(screen+80, hello); } -void print_spaced(byte* at, byte* msg) { +void print2(byte* at, byte* msg) { byte j=0; for(byte i=0; msg[i]!='@'; i++) { at[j] = msg[i]; @@ -14,7 +14,7 @@ void print_spaced(byte* at, byte* msg) { } } -Adding pre/post-modifier (byte) print_spaced::i ← ++ (byte) print_spaced::i +Adding pre/post-modifier (byte) print2::i ← ++ (byte) print2::i SYMBOLS (label) @1 (label) @2 @@ -26,16 +26,16 @@ SYMBOLS (void~) main::$2 (label) main::@return (byte*) main::hello -(void()) print_spaced((byte*) print_spaced::at , (byte*) print_spaced::msg) -(byte/signed word/word/dword/signed dword~) print_spaced::$0 -(boolean~) print_spaced::$1 -(label) print_spaced::@1 -(label) print_spaced::@2 -(label) print_spaced::@return -(byte*) print_spaced::at -(byte) print_spaced::i -(byte) print_spaced::j -(byte*) print_spaced::msg +(void()) print2((byte*) print2::at , (byte*) print2::msg) +(byte/signed word/word/dword/signed dword~) print2::$0 +(boolean~) print2::$1 +(label) print2::@1 +(label) print2::@2 +(label) print2::@return +(byte*) print2::at +(byte) print2::i +(byte) print2::j +(byte*) print2::msg (byte*) screen Promoting word/signed word/dword/signed dword to byte* in screen ← ((byte*)) 1024 @@ -45,30 +45,30 @@ INITIAL CONTROL FLOW GRAPH to:@1 main: scope:[main] from (byte*) main::hello ← (string) "hello world!@" - (void~) main::$0 ← call print_spaced (byte*) screen (byte*) main::hello - (byte*~) main::$1 ← (byte*) screen + (byte/signed byte/word/signed word/dword/signed dword) 40 - (void~) main::$2 ← call print_spaced (byte*~) main::$1 (byte*) main::hello + (void~) main::$0 ← call print2 (byte*) screen (byte*) main::hello + (byte*~) main::$1 ← (byte*) screen + (byte/signed byte/word/signed word/dword/signed dword) 80 + (void~) main::$2 ← call print2 (byte*~) main::$1 (byte*) main::hello to:main::@return main::@return: scope:[main] from main return to:@return @1: scope:[] from @begin to:@2 -print_spaced: scope:[print_spaced] from - (byte) print_spaced::j ← (byte/signed byte/word/signed word/dword/signed dword) 0 - (byte) print_spaced::i ← (byte/signed byte/word/signed word/dword/signed dword) 0 - to:print_spaced::@1 -print_spaced::@1: scope:[print_spaced] from print_spaced print_spaced::@1 - *((byte*) print_spaced::at + (byte) print_spaced::j) ← *((byte*) print_spaced::msg + (byte) print_spaced::i) - (byte/signed word/word/dword/signed dword~) print_spaced::$0 ← (byte) print_spaced::j + (byte/signed byte/word/signed word/dword/signed dword) 2 - (byte) print_spaced::j ← (byte/signed word/word/dword/signed dword~) print_spaced::$0 - (byte) print_spaced::i ← ++ (byte) print_spaced::i - (boolean~) print_spaced::$1 ← *((byte*) print_spaced::msg + (byte) print_spaced::i) != (byte) '@' - if((boolean~) print_spaced::$1) goto print_spaced::@1 - to:print_spaced::@2 -print_spaced::@2: scope:[print_spaced] from print_spaced::@1 - to:print_spaced::@return -print_spaced::@return: scope:[print_spaced] from print_spaced::@2 +print2: scope:[print2] from + (byte) print2::j ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (byte) print2::i ← (byte/signed byte/word/signed word/dword/signed dword) 0 + to:print2::@1 +print2::@1: scope:[print2] from print2 print2::@1 + *((byte*) print2::at + (byte) print2::j) ← *((byte*) print2::msg + (byte) print2::i) + (byte/signed word/word/dword/signed dword~) print2::$0 ← (byte) print2::j + (byte/signed byte/word/signed word/dword/signed dword) 2 + (byte) print2::j ← (byte/signed word/word/dword/signed dword~) print2::$0 + (byte) print2::i ← ++ (byte) print2::i + (boolean~) print2::$1 ← *((byte*) print2::msg + (byte) print2::i) != (byte) '@' + if((boolean~) print2::$1) goto print2::@1 + to:print2::@2 +print2::@2: scope:[print2] from print2::@1 + to:print2::@return +print2::@return: scope:[print2] from print2::@2 return to:@return @2: scope:[] from @1 @@ -80,7 +80,7 @@ Eliminating unused variable - keeping the call (void~) main::$0 Eliminating unused variable - keeping the call (void~) main::$2 Creating constant string variable for inline (const string) main::$3 "hello world!@" Removing empty block @1 -Removing empty block print_spaced::@2 +Removing empty block print2::@2 PROCEDURE MODIFY VARIABLE ANALYSIS Completing Phi functions... @@ -93,42 +93,42 @@ CONTROL FLOW GRAPH SSA WITH ASSIGNMENT CALL & RETURN main: scope:[main] from @2 (byte*) screen#1 ← phi( @2/(byte*) screen#3 ) (byte*) main::hello#0 ← (const string) main::$3 - (byte*) print_spaced::at#0 ← (byte*) screen#1 - (byte*) print_spaced::msg#0 ← (byte*) main::hello#0 - call print_spaced param-assignment + (byte*) print2::at#0 ← (byte*) screen#1 + (byte*) print2::msg#0 ← (byte*) main::hello#0 + call print2 param-assignment to:main::@1 main::@1: scope:[main] from main (byte*) main::hello#1 ← phi( main/(byte*) main::hello#0 ) (byte*) screen#2 ← phi( main/(byte*) screen#1 ) - (byte*~) main::$1 ← (byte*) screen#2 + (byte/signed byte/word/signed word/dword/signed dword) 40 - (byte*) print_spaced::at#1 ← (byte*~) main::$1 - (byte*) print_spaced::msg#1 ← (byte*) main::hello#1 - call print_spaced param-assignment + (byte*~) main::$1 ← (byte*) screen#2 + (byte/signed byte/word/signed word/dword/signed dword) 80 + (byte*) print2::at#1 ← (byte*~) main::$1 + (byte*) print2::msg#1 ← (byte*) main::hello#1 + call print2 param-assignment to:main::@2 main::@2: scope:[main] from main::@1 to:main::@return main::@return: scope:[main] from main::@2 return to:@return -print_spaced: scope:[print_spaced] from main main::@1 - (byte*) print_spaced::at#3 ← phi( main/(byte*) print_spaced::at#0 main::@1/(byte*) print_spaced::at#1 ) - (byte*) print_spaced::msg#3 ← phi( main/(byte*) print_spaced::msg#0 main::@1/(byte*) print_spaced::msg#1 ) - (byte) print_spaced::j#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0 - (byte) print_spaced::i#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0 - to:print_spaced::@1 -print_spaced::@1: scope:[print_spaced] from print_spaced print_spaced::@1 - (byte) print_spaced::j#2 ← phi( print_spaced/(byte) print_spaced::j#0 print_spaced::@1/(byte) print_spaced::j#1 ) - (byte*) print_spaced::at#2 ← phi( print_spaced/(byte*) print_spaced::at#3 print_spaced::@1/(byte*) print_spaced::at#2 ) - (byte) print_spaced::i#2 ← phi( print_spaced/(byte) print_spaced::i#0 print_spaced::@1/(byte) print_spaced::i#1 ) - (byte*) print_spaced::msg#2 ← phi( print_spaced/(byte*) print_spaced::msg#3 print_spaced::@1/(byte*) print_spaced::msg#2 ) - *((byte*) print_spaced::at#2 + (byte) print_spaced::j#2) ← *((byte*) print_spaced::msg#2 + (byte) print_spaced::i#2) - (byte/signed word/word/dword/signed dword~) print_spaced::$0 ← (byte) print_spaced::j#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 - (byte) print_spaced::j#1 ← (byte/signed word/word/dword/signed dword~) print_spaced::$0 - (byte) print_spaced::i#1 ← ++ (byte) print_spaced::i#2 - (boolean~) print_spaced::$1 ← *((byte*) print_spaced::msg#2 + (byte) print_spaced::i#1) != (byte) '@' - if((boolean~) print_spaced::$1) goto print_spaced::@1 - to:print_spaced::@return -print_spaced::@return: scope:[print_spaced] from print_spaced::@1 +print2: scope:[print2] from main main::@1 + (byte*) print2::at#3 ← phi( main/(byte*) print2::at#0 main::@1/(byte*) print2::at#1 ) + (byte*) print2::msg#3 ← phi( main/(byte*) print2::msg#0 main::@1/(byte*) print2::msg#1 ) + (byte) print2::j#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (byte) print2::i#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0 + to:print2::@1 +print2::@1: scope:[print2] from print2 print2::@1 + (byte) print2::j#2 ← phi( print2/(byte) print2::j#0 print2::@1/(byte) print2::j#1 ) + (byte*) print2::at#2 ← phi( print2/(byte*) print2::at#3 print2::@1/(byte*) print2::at#2 ) + (byte) print2::i#2 ← phi( print2/(byte) print2::i#0 print2::@1/(byte) print2::i#1 ) + (byte*) print2::msg#2 ← phi( print2/(byte*) print2::msg#3 print2::@1/(byte*) print2::msg#2 ) + *((byte*) print2::at#2 + (byte) print2::j#2) ← *((byte*) print2::msg#2 + (byte) print2::i#2) + (byte/signed word/word/dword/signed dword~) print2::$0 ← (byte) print2::j#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 + (byte) print2::j#1 ← (byte/signed word/word/dword/signed dword~) print2::$0 + (byte) print2::i#1 ← ++ (byte) print2::i#2 + (boolean~) print2::$1 ← *((byte*) print2::msg#2 + (byte) print2::i#1) != (byte) '@' + if((boolean~) print2::$1) goto print2::@1 + to:print2::@return +print2::@return: scope:[print2] from print2::@1 return to:@return @2: scope:[] from @begin @@ -153,29 +153,29 @@ SYMBOL TABLE SSA (byte*) main::hello (byte*) main::hello#0 (byte*) main::hello#1 -(void()) print_spaced((byte*) print_spaced::at , (byte*) print_spaced::msg) -(byte/signed word/word/dword/signed dword~) print_spaced::$0 -(boolean~) print_spaced::$1 -(label) print_spaced::@1 -(label) print_spaced::@return -(byte*) print_spaced::at -(byte*) print_spaced::at#0 -(byte*) print_spaced::at#1 -(byte*) print_spaced::at#2 -(byte*) print_spaced::at#3 -(byte) print_spaced::i -(byte) print_spaced::i#0 -(byte) print_spaced::i#1 -(byte) print_spaced::i#2 -(byte) print_spaced::j -(byte) print_spaced::j#0 -(byte) print_spaced::j#1 -(byte) print_spaced::j#2 -(byte*) print_spaced::msg -(byte*) print_spaced::msg#0 -(byte*) print_spaced::msg#1 -(byte*) print_spaced::msg#2 -(byte*) print_spaced::msg#3 +(void()) print2((byte*) print2::at , (byte*) print2::msg) +(byte/signed word/word/dword/signed dword~) print2::$0 +(boolean~) print2::$1 +(label) print2::@1 +(label) print2::@return +(byte*) print2::at +(byte*) print2::at#0 +(byte*) print2::at#1 +(byte*) print2::at#2 +(byte*) print2::at#3 +(byte) print2::i +(byte) print2::i#0 +(byte) print2::i#1 +(byte) print2::i#2 +(byte) print2::j +(byte) print2::j#0 +(byte) print2::j#1 +(byte) print2::j#2 +(byte*) print2::msg +(byte*) print2::msg#0 +(byte*) print2::msg#1 +(byte*) print2::msg#2 +(byte*) print2::msg#3 (byte*) screen (byte*) screen#0 (byte*) screen#1 @@ -187,63 +187,65 @@ Culled Empty Block (label) main::@2 Culled Empty Block (label) @3 Succesful SSA optimization Pass2CullEmptyBlocks Not aliassing across scopes: screen#1 screen#3 -Not aliassing across scopes: print_spaced::at#0 screen#1 -Not aliassing across scopes: print_spaced::msg#0 main::hello#0 -Not aliassing across scopes: print_spaced::msg#1 main::hello#1 -Not aliassing across scopes: print_spaced::msg#3 print_spaced::msg#0 -Not aliassing across scopes: print_spaced::at#3 print_spaced::at#0 +Not aliassing across scopes: print2::at#0 screen#1 +Not aliassing across scopes: print2::msg#0 main::hello#0 +Not aliassing across scopes: print2::msg#1 main::hello#1 +Not aliassing across scopes: print2::msg#3 print2::msg#0 +Not aliassing across scopes: print2::at#3 print2::at#0 Alias (byte*) screen#1 = (byte*) screen#2 Alias (byte*) main::hello#0 = (byte*) main::hello#1 -Alias (byte*) print_spaced::at#1 = (byte*~) main::$1 -Alias (byte) print_spaced::j#1 = (byte/signed word/word/dword/signed dword~) print_spaced::$0 +Alias (byte*) print2::at#1 = (byte*~) main::$1 +Alias (byte) print2::j#1 = (byte/signed word/word/dword/signed dword~) print2::$0 Alias (byte*) screen#0 = (byte*) screen#3 Succesful SSA optimization Pass2AliasElimination Not aliassing across scopes: screen#1 screen#0 -Not aliassing across scopes: print_spaced::at#0 screen#1 -Not aliassing across scopes: print_spaced::msg#0 main::hello#0 -Not aliassing across scopes: print_spaced::msg#1 main::hello#0 -Not aliassing across scopes: print_spaced::msg#3 print_spaced::msg#0 -Not aliassing across scopes: print_spaced::at#3 print_spaced::at#0 -Self Phi Eliminated (byte*) print_spaced::msg#2 -Self Phi Eliminated (byte*) print_spaced::at#2 +Not aliassing across scopes: print2::at#0 screen#1 +Not aliassing across scopes: print2::msg#0 main::hello#0 +Not aliassing across scopes: print2::msg#1 main::hello#0 +Not aliassing across scopes: print2::msg#3 print2::msg#0 +Not aliassing across scopes: print2::at#3 print2::at#0 +Self Phi Eliminated (byte*) print2::msg#2 +Self Phi Eliminated (byte*) print2::at#2 Succesful SSA optimization Pass2SelfPhiElimination Redundant Phi (byte*) screen#1 (byte*) screen#0 -Redundant Phi (byte*) print_spaced::msg#2 (byte*) print_spaced::msg#3 -Redundant Phi (byte*) print_spaced::at#2 (byte*) print_spaced::at#3 +Redundant Phi (byte*) print2::msg#2 (byte*) print2::msg#3 +Redundant Phi (byte*) print2::at#2 (byte*) print2::at#3 Succesful SSA optimization Pass2RedundantPhiElimination -Simple Condition (boolean~) print_spaced::$1 if(*((byte*) print_spaced::msg#3 + (byte) print_spaced::i#1)!=(byte) '@') goto print_spaced::@1 +Simple Condition (boolean~) print2::$1 if(*((byte*) print2::msg#3 + (byte) print2::i#1)!=(byte) '@') goto print2::@1 Succesful SSA optimization Pass2ConditionalJumpSimplification Constant (const byte*) screen#0 = ((byte*))1024 Constant (const string) main::hello#0 = main::$3 -Constant (const byte) print_spaced::j#0 = 0 -Constant (const byte) print_spaced::i#0 = 0 +Constant (const byte) print2::j#0 = 0 +Constant (const byte) print2::i#0 = 0 Succesful SSA optimization Pass2ConstantIdentification -Constant (const byte*) print_spaced::at#0 = screen#0 -Constant (const string) print_spaced::msg#0 = main::hello#0 -Constant (const byte*) print_spaced::at#1 = screen#0+40 -Constant (const string) print_spaced::msg#1 = main::hello#0 +Constant (const byte*) print2::at#0 = screen#0 +Constant (const string) print2::msg#0 = main::hello#0 +Constant (const byte*) print2::at#1 = screen#0+80 +Constant (const string) print2::msg#1 = main::hello#0 Succesful SSA optimization Pass2ConstantIdentification OPTIMIZING CONTROL FLOW GRAPH -Inlining constant with var siblings (const byte) print_spaced::j#0 -Inlining constant with var siblings (const byte) print_spaced::j#0 -Inlining constant with var siblings (const byte) print_spaced::i#0 -Inlining constant with var siblings (const byte) print_spaced::i#0 -Inlining constant with var siblings (const byte*) print_spaced::at#0 -Inlining constant with different constant siblings (const byte*) print_spaced::at#0 -Inlining constant with var siblings (const string) print_spaced::msg#0 -Inlining constant with var siblings (const byte*) print_spaced::at#1 -Inlining constant with var siblings (const string) print_spaced::msg#1 -Constant inlined print_spaced::j#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 -Constant inlined print_spaced::i#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 -Constant inlined print_spaced::at#0 = (const byte*) screen#0 -Constant inlined print_spaced::at#1 = (const byte*) screen#0+(byte/signed byte/word/signed word/dword/signed dword) 40 +Inlining constant with var siblings (const byte) print2::j#0 +Inlining constant with var siblings (const byte) print2::j#0 +Inlining constant with var siblings (const byte) print2::i#0 +Inlining constant with var siblings (const byte) print2::i#0 +Inlining constant with var siblings (const byte*) print2::at#0 +Inlining constant with different constant siblings (const byte*) print2::at#0 +Inlining constant with var siblings (const string) print2::msg#0 +Inlining constant with var siblings (const byte*) print2::at#1 +Inlining constant with var siblings (const string) print2::msg#1 +Constant inlined print2::msg#1 = (const string) main::hello#0 +Constant inlined print2::j#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 +Constant inlined print2::msg#0 = (const string) main::hello#0 +Constant inlined print2::i#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 +Constant inlined print2::at#1 = (const byte*) screen#0+(byte/signed byte/word/signed word/dword/signed dword) 80 Constant inlined main::$3 = (const string) main::hello#0 -Constant inlined print_spaced::msg#1 = (const string) main::hello#0 -Constant inlined print_spaced::msg#0 = (const string) main::hello#0 +Constant inlined print2::at#0 = (const byte*) screen#0 Succesful SSA optimization Pass2ConstantInlining -Block Sequence Planned @begin @2 @end main main::@1 main::@return print_spaced print_spaced::@1 print_spaced::@return -Added new block during phi lifting print_spaced::@3(between print_spaced::@1 and print_spaced::@1) -Block Sequence Planned @begin @2 @end main main::@1 main::@return print_spaced print_spaced::@1 print_spaced::@return print_spaced::@3 +Identical Phi Values (byte*) print2::msg#3 (const string) main::hello#0 +Succesful SSA optimization Pass2IdenticalPhiElimination +Block Sequence Planned @begin @2 @end main main::@1 main::@return print2 print2::@1 print2::@return +Added new block during phi lifting print2::@3(between print2::@1 and print2::@1) +Block Sequence Planned @begin @2 @end main main::@1 main::@return print2 print2::@1 print2::@return print2::@3 Adding NOP phi() at start of @begin Adding NOP phi() at start of @2 Adding NOP phi() at start of @end @@ -251,7 +253,7 @@ Adding NOP phi() at start of main Adding NOP phi() at start of main::@1 CALL GRAPH Calls in [] to main:2 -Calls in [main] to print_spaced:5 print_spaced:7 +Calls in [main] to print2:5 print2:7 Propagating live ranges... Propagating live ranges... @@ -260,12 +262,12 @@ Propagating live ranges... Propagating live ranges... Propagating live ranges... Propagating live ranges... -Created 4 initial phi equivalence classes -Coalesced [16] print_spaced::i#3 ← print_spaced::i#1 -Coalesced [17] print_spaced::j#3 ← print_spaced::j#1 -Coalesced down to 4 phi equivalence classes -Culled Empty Block (label) print_spaced::@3 -Block Sequence Planned @begin @2 @end main main::@1 main::@return print_spaced print_spaced::@1 print_spaced::@return +Created 3 initial phi equivalence classes +Coalesced [16] print2::i#3 ← print2::i#1 +Coalesced [17] print2::j#3 ← print2::j#1 +Coalesced down to 3 phi equivalence classes +Culled Empty Block (label) print2::@3 +Block Sequence Planned @begin @2 @end main main::@1 main::@return print2 print2::@1 print2::@return Adding NOP phi() at start of @begin Adding NOP phi() at start of @2 Adding NOP phi() at start of @end @@ -289,29 +291,28 @@ FINAL CONTROL FLOW GRAPH [3] phi() [ ] ( ) main: scope:[main] from @2 [4] phi() [ ] ( main:2 [ ] ) - [5] call print_spaced param-assignment [ ] ( main:2 [ ] ) + [5] call print2 param-assignment [ ] ( main:2 [ ] ) to:main::@1 main::@1: scope:[main] from main [6] phi() [ ] ( main:2 [ ] ) - [7] call print_spaced param-assignment [ ] ( main:2 [ ] ) + [7] call print2 param-assignment [ ] ( main:2 [ ] ) to:main::@return main::@return: scope:[main] from main::@1 [8] return [ ] ( main:2 [ ] ) to:@return -print_spaced: scope:[print_spaced] from main main::@1 - [9] (byte*) print_spaced::at#3 ← phi( main/(const byte*) screen#0 main::@1/(const byte*) screen#0+(byte/signed byte/word/signed word/dword/signed dword) 40 ) [ print_spaced::msg#3 print_spaced::at#3 ] ( main:2::print_spaced:5 [ print_spaced::msg#3 print_spaced::at#3 ] main:2::print_spaced:7 [ print_spaced::msg#3 print_spaced::at#3 ] ) - [9] (byte*) print_spaced::msg#3 ← phi( main/(const string) main::hello#0 main::@1/(const string) main::hello#0 ) [ print_spaced::msg#3 print_spaced::at#3 ] ( main:2::print_spaced:5 [ print_spaced::msg#3 print_spaced::at#3 ] main:2::print_spaced:7 [ print_spaced::msg#3 print_spaced::at#3 ] ) - to:print_spaced::@1 -print_spaced::@1: scope:[print_spaced] from print_spaced print_spaced::@1 - [10] (byte) print_spaced::j#2 ← phi( print_spaced/(byte/signed byte/word/signed word/dword/signed dword) 0 print_spaced::@1/(byte) print_spaced::j#1 ) [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#2 print_spaced::j#2 ] ( main:2::print_spaced:5 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#2 print_spaced::j#2 ] main:2::print_spaced:7 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#2 print_spaced::j#2 ] ) - [10] (byte) print_spaced::i#2 ← phi( print_spaced/(byte/signed byte/word/signed word/dword/signed dword) 0 print_spaced::@1/(byte) print_spaced::i#1 ) [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#2 print_spaced::j#2 ] ( main:2::print_spaced:5 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#2 print_spaced::j#2 ] main:2::print_spaced:7 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#2 print_spaced::j#2 ] ) - [11] *((byte*) print_spaced::at#3 + (byte) print_spaced::j#2) ← *((byte*) print_spaced::msg#3 + (byte) print_spaced::i#2) [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#2 print_spaced::j#2 ] ( main:2::print_spaced:5 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#2 print_spaced::j#2 ] main:2::print_spaced:7 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#2 print_spaced::j#2 ] ) - [12] (byte) print_spaced::j#1 ← (byte) print_spaced::j#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#2 print_spaced::j#1 ] ( main:2::print_spaced:5 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#2 print_spaced::j#1 ] main:2::print_spaced:7 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#2 print_spaced::j#1 ] ) - [13] (byte) print_spaced::i#1 ← ++ (byte) print_spaced::i#2 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#1 print_spaced::j#1 ] ( main:2::print_spaced:5 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#1 print_spaced::j#1 ] main:2::print_spaced:7 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#1 print_spaced::j#1 ] ) - [14] if(*((byte*) print_spaced::msg#3 + (byte) print_spaced::i#1)!=(byte) '@') goto print_spaced::@1 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#1 print_spaced::j#1 ] ( main:2::print_spaced:5 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#1 print_spaced::j#1 ] main:2::print_spaced:7 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#1 print_spaced::j#1 ] ) - to:print_spaced::@return -print_spaced::@return: scope:[print_spaced] from print_spaced::@1 - [15] return [ ] ( main:2::print_spaced:5 [ ] main:2::print_spaced:7 [ ] ) +print2: scope:[print2] from main main::@1 + [9] (byte*) print2::at#3 ← phi( main/(const byte*) screen#0 main::@1/(const byte*) screen#0+(byte/signed byte/word/signed word/dword/signed dword) 80 ) [ print2::at#3 ] ( main:2::print2:5 [ print2::at#3 ] main:2::print2:7 [ print2::at#3 ] ) + to:print2::@1 +print2::@1: scope:[print2] from print2 print2::@1 + [10] (byte) print2::j#2 ← phi( print2/(byte/signed byte/word/signed word/dword/signed dword) 0 print2::@1/(byte) print2::j#1 ) [ print2::at#3 print2::i#2 print2::j#2 ] ( main:2::print2:5 [ print2::at#3 print2::i#2 print2::j#2 ] main:2::print2:7 [ print2::at#3 print2::i#2 print2::j#2 ] ) + [10] (byte) print2::i#2 ← phi( print2/(byte/signed byte/word/signed word/dword/signed dword) 0 print2::@1/(byte) print2::i#1 ) [ print2::at#3 print2::i#2 print2::j#2 ] ( main:2::print2:5 [ print2::at#3 print2::i#2 print2::j#2 ] main:2::print2:7 [ print2::at#3 print2::i#2 print2::j#2 ] ) + [11] *((byte*) print2::at#3 + (byte) print2::j#2) ← *((const string) main::hello#0 + (byte) print2::i#2) [ print2::at#3 print2::i#2 print2::j#2 ] ( main:2::print2:5 [ print2::at#3 print2::i#2 print2::j#2 ] main:2::print2:7 [ print2::at#3 print2::i#2 print2::j#2 ] ) + [12] (byte) print2::j#1 ← (byte) print2::j#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ print2::at#3 print2::i#2 print2::j#1 ] ( main:2::print2:5 [ print2::at#3 print2::i#2 print2::j#1 ] main:2::print2:7 [ print2::at#3 print2::i#2 print2::j#1 ] ) + [13] (byte) print2::i#1 ← ++ (byte) print2::i#2 [ print2::at#3 print2::i#1 print2::j#1 ] ( main:2::print2:5 [ print2::at#3 print2::i#1 print2::j#1 ] main:2::print2:7 [ print2::at#3 print2::i#1 print2::j#1 ] ) + [14] if(*((const string) main::hello#0 + (byte) print2::i#1)!=(byte) '@') goto print2::@1 [ print2::at#3 print2::i#1 print2::j#1 ] ( main:2::print2:5 [ print2::at#3 print2::i#1 print2::j#1 ] main:2::print2:7 [ print2::at#3 print2::i#1 print2::j#1 ] ) + to:print2::@return +print2::@return: scope:[print2] from print2::@1 + [15] return [ ] ( main:2::print2:5 [ ] main:2::print2:7 [ ] ) to:@return DOMINATORS @@ -321,53 +322,49 @@ DOMINATORS main dominated by @2 @begin main main::@1 dominated by @2 @begin main::@1 main main::@return dominated by main::@return @2 @begin main::@1 main -print_spaced dominated by @2 @begin print_spaced main -print_spaced::@1 dominated by @2 @begin print_spaced print_spaced::@1 main -print_spaced::@return dominated by @2 @begin print_spaced print_spaced::@1 print_spaced::@return main +print2 dominated by @2 @begin print2 main +print2::@1 dominated by @2 @begin print2 print2::@1 main +print2::@return dominated by @2 @begin print2 print2::@1 main print2::@return NATURAL LOOPS -Found back edge: Loop head: print_spaced::@1 tails: print_spaced::@1 blocks: null -Populated: Loop head: print_spaced::@1 tails: print_spaced::@1 blocks: print_spaced::@1 -Loop head: print_spaced::@1 tails: print_spaced::@1 blocks: print_spaced::@1 +Found back edge: Loop head: print2::@1 tails: print2::@1 blocks: null +Populated: Loop head: print2::@1 tails: print2::@1 blocks: print2::@1 +Loop head: print2::@1 tails: print2::@1 blocks: print2::@1 NATURAL LOOPS WITH DEPTH Found 0 loops in scope [] Found 0 loops in scope [main] -Found 1 loops in scope [print_spaced] - Loop head: print_spaced::@1 tails: print_spaced::@1 blocks: print_spaced::@1 -Loop head: print_spaced::@1 tails: print_spaced::@1 blocks: print_spaced::@1 depth: 1 +Found 1 loops in scope [print2] + Loop head: print2::@1 tails: print2::@1 blocks: print2::@1 +Loop head: print2::@1 tails: print2::@1 blocks: print2::@1 depth: 1 VARIABLE REGISTER WEIGHTS (void()) main() (byte*) main::hello -(void()) print_spaced((byte*) print_spaced::at , (byte*) print_spaced::msg) -(byte*) print_spaced::at -(byte*) print_spaced::at#3 1.8333333333333333 -(byte) print_spaced::i -(byte) print_spaced::i#1 16.5 -(byte) print_spaced::i#2 11.0 -(byte) print_spaced::j -(byte) print_spaced::j#1 7.333333333333333 -(byte) print_spaced::j#2 16.5 -(byte*) print_spaced::msg -(byte*) print_spaced::msg#3 3.6666666666666665 +(void()) print2((byte*) print2::at , (byte*) print2::msg) +(byte*) print2::at +(byte*) print2::at#3 1.8333333333333333 +(byte) print2::i +(byte) print2::i#1 16.5 +(byte) print2::i#2 11.0 +(byte) print2::j +(byte) print2::j#1 7.333333333333333 +(byte) print2::j#2 16.5 +(byte*) print2::msg (byte*) screen Initial phi equivalence classes -[ print_spaced::msg#3 ] -[ print_spaced::at#3 ] -[ print_spaced::i#2 print_spaced::i#1 ] -[ print_spaced::j#2 print_spaced::j#1 ] +[ print2::at#3 ] +[ print2::i#2 print2::i#1 ] +[ print2::j#2 print2::j#1 ] Complete equivalence classes -[ print_spaced::msg#3 ] -[ print_spaced::at#3 ] -[ print_spaced::i#2 print_spaced::i#1 ] -[ print_spaced::j#2 print_spaced::j#1 ] -Allocated zp ZP_WORD:2 [ print_spaced::msg#3 ] -Allocated zp ZP_WORD:4 [ print_spaced::at#3 ] -Allocated zp ZP_BYTE:6 [ print_spaced::i#2 print_spaced::i#1 ] -Allocated zp ZP_BYTE:7 [ print_spaced::j#2 print_spaced::j#1 ] +[ print2::at#3 ] +[ print2::i#2 print2::i#1 ] +[ print2::j#2 print2::j#1 ] +Allocated zp ZP_WORD:2 [ print2::at#3 ] +Allocated zp ZP_BYTE:4 [ print2::i#2 print2::i#1 ] +Allocated zp ZP_BYTE:5 [ print2::j#2 print2::j#1 ] INITIAL ASM //SEG0 Basic Upstart @@ -394,126 +391,100 @@ bend_from_b2: bend: //SEG9 main main: { - //SEG10 [5] call print_spaced param-assignment [ ] ( main:2 [ ] ) - //SEG11 [9] phi from main to print_spaced [phi:main->print_spaced] - print_spaced_from_main: - //SEG12 [9] phi (byte*) print_spaced::at#3 = (const byte*) screen#0 [phi:main->print_spaced#0] -- pbuz1=pbuc1 + //SEG10 [5] call print2 param-assignment [ ] ( main:2 [ ] ) + //SEG11 [9] phi from main to print2 [phi:main->print2] + print2_from_main: + //SEG12 [9] phi (byte*) print2::at#3 = (const byte*) screen#0 [phi:main->print2#0] -- pbuz1=pbuc1 lda #screen - sta print_spaced.at+1 - //SEG13 [9] phi (byte*) print_spaced::msg#3 = (const string) main::hello#0 [phi:main->print_spaced#1] -- pbuz1=pbuc1 - lda #hello - sta print_spaced.msg+1 - jsr print_spaced - //SEG14 [6] phi from main to main::@1 [phi:main->main::@1] + sta print2.at+1 + jsr print2 + //SEG13 [6] phi from main to main::@1 [phi:main->main::@1] b1_from_main: jmp b1 - //SEG15 main::@1 + //SEG14 main::@1 b1: - //SEG16 [7] call print_spaced param-assignment [ ] ( main:2 [ ] ) - //SEG17 [9] phi from main::@1 to print_spaced [phi:main::@1->print_spaced] - print_spaced_from_b1: - //SEG18 [9] phi (byte*) print_spaced::at#3 = (const byte*) screen#0+(byte/signed byte/word/signed word/dword/signed dword) 40 [phi:main::@1->print_spaced#0] -- pbuz1=pbuc1 - lda #screen+$28 - sta print_spaced.at+1 - //SEG19 [9] phi (byte*) print_spaced::msg#3 = (const string) main::hello#0 [phi:main::@1->print_spaced#1] -- pbuz1=pbuc1 - lda #hello - sta print_spaced.msg+1 - jsr print_spaced + //SEG15 [7] call print2 param-assignment [ ] ( main:2 [ ] ) + //SEG16 [9] phi from main::@1 to print2 [phi:main::@1->print2] + print2_from_b1: + //SEG17 [9] phi (byte*) print2::at#3 = (const byte*) screen#0+(byte/signed byte/word/signed word/dword/signed dword) 80 [phi:main::@1->print2#0] -- pbuz1=pbuc1 + lda #screen+$50 + sta print2.at+1 + jsr print2 jmp breturn - //SEG20 main::@return + //SEG18 main::@return breturn: - //SEG21 [8] return [ ] ( main:2 [ ] ) + //SEG19 [8] return [ ] ( main:2 [ ] ) rts hello: .text "hello world!@" } -//SEG22 print_spaced -print_spaced: { - .label j = 7 - .label i = 6 - .label msg = 2 - .label at = 4 - //SEG23 [10] phi from print_spaced to print_spaced::@1 [phi:print_spaced->print_spaced::@1] - b1_from_print_spaced: - //SEG24 [10] phi (byte) print_spaced::j#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:print_spaced->print_spaced::@1#0] -- vbuz1=vbuc1 +//SEG20 print2 +print2: { + .label j = 5 + .label i = 4 + .label at = 2 + //SEG21 [10] phi from print2 to print2::@1 [phi:print2->print2::@1] + b1_from_print2: + //SEG22 [10] phi (byte) print2::j#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:print2->print2::@1#0] -- vbuz1=vbuc1 lda #0 sta j - //SEG25 [10] phi (byte) print_spaced::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:print_spaced->print_spaced::@1#1] -- vbuz1=vbuc1 + //SEG23 [10] phi (byte) print2::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:print2->print2::@1#1] -- vbuz1=vbuc1 lda #0 sta i jmp b1 - //SEG26 [10] phi from print_spaced::@1 to print_spaced::@1 [phi:print_spaced::@1->print_spaced::@1] + //SEG24 [10] phi from print2::@1 to print2::@1 [phi:print2::@1->print2::@1] b1_from_b1: - //SEG27 [10] phi (byte) print_spaced::j#2 = (byte) print_spaced::j#1 [phi:print_spaced::@1->print_spaced::@1#0] -- register_copy - //SEG28 [10] phi (byte) print_spaced::i#2 = (byte) print_spaced::i#1 [phi:print_spaced::@1->print_spaced::@1#1] -- register_copy + //SEG25 [10] phi (byte) print2::j#2 = (byte) print2::j#1 [phi:print2::@1->print2::@1#0] -- register_copy + //SEG26 [10] phi (byte) print2::i#2 = (byte) print2::i#1 [phi:print2::@1->print2::@1#1] -- register_copy jmp b1 - //SEG29 print_spaced::@1 + //SEG27 print2::@1 b1: - //SEG30 [11] *((byte*) print_spaced::at#3 + (byte) print_spaced::j#2) ← *((byte*) print_spaced::msg#3 + (byte) print_spaced::i#2) [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#2 print_spaced::j#2 ] ( main:2::print_spaced:5 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#2 print_spaced::j#2 ] main:2::print_spaced:7 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#2 print_spaced::j#2 ] ) -- pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuz4 - ldy j - sty $ff + //SEG28 [11] *((byte*) print2::at#3 + (byte) print2::j#2) ← *((const string) main::hello#0 + (byte) print2::i#2) [ print2::at#3 print2::i#2 print2::j#2 ] ( main:2::print2:5 [ print2::at#3 print2::i#2 print2::j#2 ] main:2::print2:7 [ print2::at#3 print2::i#2 print2::j#2 ] ) -- pbuz1_derefidx_vbuz2=pbuc1_derefidx_vbuz3 ldy i - lda (msg),y - ldy $ff + lda main.hello,y + ldy j sta (at),y - //SEG31 [12] (byte) print_spaced::j#1 ← (byte) print_spaced::j#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#2 print_spaced::j#1 ] ( main:2::print_spaced:5 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#2 print_spaced::j#1 ] main:2::print_spaced:7 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#2 print_spaced::j#1 ] ) -- vbuz1=vbuz1_plus_2 + //SEG29 [12] (byte) print2::j#1 ← (byte) print2::j#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ print2::at#3 print2::i#2 print2::j#1 ] ( main:2::print2:5 [ print2::at#3 print2::i#2 print2::j#1 ] main:2::print2:7 [ print2::at#3 print2::i#2 print2::j#1 ] ) -- vbuz1=vbuz1_plus_2 lda j clc adc #2 sta j - //SEG32 [13] (byte) print_spaced::i#1 ← ++ (byte) print_spaced::i#2 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#1 print_spaced::j#1 ] ( main:2::print_spaced:5 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#1 print_spaced::j#1 ] main:2::print_spaced:7 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#1 print_spaced::j#1 ] ) -- vbuz1=_inc_vbuz1 + //SEG30 [13] (byte) print2::i#1 ← ++ (byte) print2::i#2 [ print2::at#3 print2::i#1 print2::j#1 ] ( main:2::print2:5 [ print2::at#3 print2::i#1 print2::j#1 ] main:2::print2:7 [ print2::at#3 print2::i#1 print2::j#1 ] ) -- vbuz1=_inc_vbuz1 inc i - //SEG33 [14] if(*((byte*) print_spaced::msg#3 + (byte) print_spaced::i#1)!=(byte) '@') goto print_spaced::@1 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#1 print_spaced::j#1 ] ( main:2::print_spaced:5 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#1 print_spaced::j#1 ] main:2::print_spaced:7 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#1 print_spaced::j#1 ] ) -- pbuz1_derefidx_vbuz2_neq_vbuc1_then_la1 + //SEG31 [14] if(*((const string) main::hello#0 + (byte) print2::i#1)!=(byte) '@') goto print2::@1 [ print2::at#3 print2::i#1 print2::j#1 ] ( main:2::print2:5 [ print2::at#3 print2::i#1 print2::j#1 ] main:2::print2:7 [ print2::at#3 print2::i#1 print2::j#1 ] ) -- pbuc1_derefidx_vbuz1_neq_vbuc2_then_la1 ldy i - lda (msg),y + lda main.hello,y cmp #'@' bne b1_from_b1 jmp breturn - //SEG34 print_spaced::@return + //SEG32 print2::@return breturn: - //SEG35 [15] return [ ] ( main:2::print_spaced:5 [ ] main:2::print_spaced:7 [ ] ) + //SEG33 [15] return [ ] ( main:2::print2:5 [ ] main:2::print2:7 [ ] ) rts } REGISTER UPLIFT POTENTIAL REGISTERS -Potential register analysis [11] *(print_spaced::at#3 + print_spaced::j#2) ← *(print_spaced::msg#3 + print_spaced::i#2) missing fragment pbuz1_derefidx_vbuxx=pbuz2_derefidx_vbuaa allocation: zp ZP_WORD:2 [ print_spaced::msg#3 ] zp ZP_WORD:4 [ print_spaced::at#3 ] reg byte x [ print_spaced::j#2 print_spaced::j#1 ] reg byte a [ print_spaced::i#2 print_spaced::i#1 ] -Potential register analysis [11] *(print_spaced::at#3 + print_spaced::j#2) ← *(print_spaced::msg#3 + print_spaced::i#2) missing fragment pbuz1_derefidx_vbuaa=pbuz2_derefidx_vbuyy allocation: zp ZP_WORD:2 [ print_spaced::msg#3 ] zp ZP_WORD:4 [ print_spaced::at#3 ] reg byte a [ print_spaced::j#2 print_spaced::j#1 ] reg byte y [ print_spaced::i#2 print_spaced::i#1 ] -Potential register analysis [11] *(print_spaced::at#3 + print_spaced::j#2) ← *(print_spaced::msg#3 + print_spaced::i#2) missing fragment pbuz1_derefidx_vbuxx=pbuz2_derefidx_vbuyy allocation: zp ZP_WORD:2 [ print_spaced::msg#3 ] zp ZP_WORD:4 [ print_spaced::at#3 ] reg byte x [ print_spaced::j#2 print_spaced::j#1 ] reg byte y [ print_spaced::i#2 print_spaced::i#1 ] -MISSING FRAGMENTS - pbuz1_derefidx_vbuxx=pbuz2_derefidx_vbuaa - pbuz1_derefidx_vbuaa=pbuz2_derefidx_vbuyy - pbuz1_derefidx_vbuxx=pbuz2_derefidx_vbuyy -Statement [11] *((byte*) print_spaced::at#3 + (byte) print_spaced::j#2) ← *((byte*) print_spaced::msg#3 + (byte) print_spaced::i#2) [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#2 print_spaced::j#2 ] ( main:2::print_spaced:5 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#2 print_spaced::j#2 ] main:2::print_spaced:7 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#2 print_spaced::j#2 ] ) always clobbers reg byte a reg byte y -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:6 [ print_spaced::i#2 print_spaced::i#1 ] -Removing always clobbered register reg byte y as potential for zp ZP_BYTE:6 [ print_spaced::i#2 print_spaced::i#1 ] -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:7 [ print_spaced::j#2 print_spaced::j#1 ] -Removing always clobbered register reg byte y as potential for zp ZP_BYTE:7 [ print_spaced::j#2 print_spaced::j#1 ] -Statement [14] if(*((byte*) print_spaced::msg#3 + (byte) print_spaced::i#1)!=(byte) '@') goto print_spaced::@1 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#1 print_spaced::j#1 ] ( main:2::print_spaced:5 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#1 print_spaced::j#1 ] main:2::print_spaced:7 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#1 print_spaced::j#1 ] ) always clobbers reg byte a reg byte y -Statement [11] *((byte*) print_spaced::at#3 + (byte) print_spaced::j#2) ← *((byte*) print_spaced::msg#3 + (byte) print_spaced::i#2) [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#2 print_spaced::j#2 ] ( main:2::print_spaced:5 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#2 print_spaced::j#2 ] main:2::print_spaced:7 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#2 print_spaced::j#2 ] ) always clobbers reg byte a reg byte y -Statement [14] if(*((byte*) print_spaced::msg#3 + (byte) print_spaced::i#1)!=(byte) '@') goto print_spaced::@1 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#1 print_spaced::j#1 ] ( main:2::print_spaced:5 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#1 print_spaced::j#1 ] main:2::print_spaced:7 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#1 print_spaced::j#1 ] ) always clobbers reg byte a reg byte y -Potential registers zp ZP_WORD:2 [ print_spaced::msg#3 ] : zp ZP_WORD:2 , -Potential registers zp ZP_WORD:4 [ print_spaced::at#3 ] : zp ZP_WORD:4 , -Potential registers zp ZP_BYTE:6 [ print_spaced::i#2 print_spaced::i#1 ] : zp ZP_BYTE:6 , reg byte x , -Potential registers zp ZP_BYTE:7 [ print_spaced::j#2 print_spaced::j#1 ] : zp ZP_BYTE:7 , reg byte x , +Statement [11] *((byte*) print2::at#3 + (byte) print2::j#2) ← *((const string) main::hello#0 + (byte) print2::i#2) [ print2::at#3 print2::i#2 print2::j#2 ] ( main:2::print2:5 [ print2::at#3 print2::i#2 print2::j#2 ] main:2::print2:7 [ print2::at#3 print2::i#2 print2::j#2 ] ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:4 [ print2::i#2 print2::i#1 ] +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:5 [ print2::j#2 print2::j#1 ] +Statement [14] if(*((const string) main::hello#0 + (byte) print2::i#1)!=(byte) '@') goto print2::@1 [ print2::at#3 print2::i#1 print2::j#1 ] ( main:2::print2:5 [ print2::at#3 print2::i#1 print2::j#1 ] main:2::print2:7 [ print2::at#3 print2::i#1 print2::j#1 ] ) always clobbers reg byte a +Statement [11] *((byte*) print2::at#3 + (byte) print2::j#2) ← *((const string) main::hello#0 + (byte) print2::i#2) [ print2::at#3 print2::i#2 print2::j#2 ] ( main:2::print2:5 [ print2::at#3 print2::i#2 print2::j#2 ] main:2::print2:7 [ print2::at#3 print2::i#2 print2::j#2 ] ) always clobbers reg byte a +Statement [14] if(*((const string) main::hello#0 + (byte) print2::i#1)!=(byte) '@') goto print2::@1 [ print2::at#3 print2::i#1 print2::j#1 ] ( main:2::print2:5 [ print2::at#3 print2::i#1 print2::j#1 ] main:2::print2:7 [ print2::at#3 print2::i#1 print2::j#1 ] ) always clobbers reg byte a +Potential registers zp ZP_WORD:2 [ print2::at#3 ] : zp ZP_WORD:2 , +Potential registers zp ZP_BYTE:4 [ print2::i#2 print2::i#1 ] : zp ZP_BYTE:4 , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:5 [ print2::j#2 print2::j#1 ] : zp ZP_BYTE:5 , reg byte x , reg byte y , REGISTER UPLIFT SCOPES -Uplift Scope [print_spaced] 27.5: zp ZP_BYTE:6 [ print_spaced::i#2 print_spaced::i#1 ] 23.83: zp ZP_BYTE:7 [ print_spaced::j#2 print_spaced::j#1 ] 3.67: zp ZP_WORD:2 [ print_spaced::msg#3 ] 1.83: zp ZP_WORD:4 [ print_spaced::at#3 ] +Uplift Scope [print2] 27.5: zp ZP_BYTE:4 [ print2::i#2 print2::i#1 ] 23.83: zp ZP_BYTE:5 [ print2::j#2 print2::j#1 ] 1.83: zp ZP_WORD:2 [ print2::at#3 ] Uplift Scope [main] Uplift Scope [] -Uplifting [print_spaced] best 687 combination reg byte x [ print_spaced::i#2 print_spaced::i#1 ] zp ZP_BYTE:7 [ print_spaced::j#2 print_spaced::j#1 ] zp ZP_WORD:2 [ print_spaced::msg#3 ] zp ZP_WORD:4 [ print_spaced::at#3 ] -Uplifting [main] best 687 combination -Uplifting [] best 687 combination -Attempting to uplift remaining variables inzp ZP_BYTE:7 [ print_spaced::j#2 print_spaced::j#1 ] -Uplifting [print_spaced] best 687 combination zp ZP_BYTE:7 [ print_spaced::j#2 print_spaced::j#1 ] -Allocated (was zp ZP_BYTE:7) zp ZP_BYTE:6 [ print_spaced::j#2 print_spaced::j#1 ] +Uplifting [print2] best 447 combination reg byte x [ print2::i#2 print2::i#1 ] reg byte y [ print2::j#2 print2::j#1 ] zp ZP_WORD:2 [ print2::at#3 ] +Uplifting [main] best 447 combination +Uplifting [] best 447 combination ASSEMBLER BEFORE OPTIMIZATION //SEG0 Basic Upstart @@ -540,89 +511,69 @@ bend_from_b2: bend: //SEG9 main main: { - //SEG10 [5] call print_spaced param-assignment [ ] ( main:2 [ ] ) - //SEG11 [9] phi from main to print_spaced [phi:main->print_spaced] - print_spaced_from_main: - //SEG12 [9] phi (byte*) print_spaced::at#3 = (const byte*) screen#0 [phi:main->print_spaced#0] -- pbuz1=pbuc1 + //SEG10 [5] call print2 param-assignment [ ] ( main:2 [ ] ) + //SEG11 [9] phi from main to print2 [phi:main->print2] + print2_from_main: + //SEG12 [9] phi (byte*) print2::at#3 = (const byte*) screen#0 [phi:main->print2#0] -- pbuz1=pbuc1 lda #screen - sta print_spaced.at+1 - //SEG13 [9] phi (byte*) print_spaced::msg#3 = (const string) main::hello#0 [phi:main->print_spaced#1] -- pbuz1=pbuc1 - lda #hello - sta print_spaced.msg+1 - jsr print_spaced - //SEG14 [6] phi from main to main::@1 [phi:main->main::@1] + sta print2.at+1 + jsr print2 + //SEG13 [6] phi from main to main::@1 [phi:main->main::@1] b1_from_main: jmp b1 - //SEG15 main::@1 + //SEG14 main::@1 b1: - //SEG16 [7] call print_spaced param-assignment [ ] ( main:2 [ ] ) - //SEG17 [9] phi from main::@1 to print_spaced [phi:main::@1->print_spaced] - print_spaced_from_b1: - //SEG18 [9] phi (byte*) print_spaced::at#3 = (const byte*) screen#0+(byte/signed byte/word/signed word/dword/signed dword) 40 [phi:main::@1->print_spaced#0] -- pbuz1=pbuc1 - lda #screen+$28 - sta print_spaced.at+1 - //SEG19 [9] phi (byte*) print_spaced::msg#3 = (const string) main::hello#0 [phi:main::@1->print_spaced#1] -- pbuz1=pbuc1 - lda #hello - sta print_spaced.msg+1 - jsr print_spaced + //SEG15 [7] call print2 param-assignment [ ] ( main:2 [ ] ) + //SEG16 [9] phi from main::@1 to print2 [phi:main::@1->print2] + print2_from_b1: + //SEG17 [9] phi (byte*) print2::at#3 = (const byte*) screen#0+(byte/signed byte/word/signed word/dword/signed dword) 80 [phi:main::@1->print2#0] -- pbuz1=pbuc1 + lda #screen+$50 + sta print2.at+1 + jsr print2 jmp breturn - //SEG20 main::@return + //SEG18 main::@return breturn: - //SEG21 [8] return [ ] ( main:2 [ ] ) + //SEG19 [8] return [ ] ( main:2 [ ] ) rts hello: .text "hello world!@" } -//SEG22 print_spaced -print_spaced: { - .label j = 6 - .label msg = 2 - .label at = 4 - //SEG23 [10] phi from print_spaced to print_spaced::@1 [phi:print_spaced->print_spaced::@1] - b1_from_print_spaced: - //SEG24 [10] phi (byte) print_spaced::j#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:print_spaced->print_spaced::@1#0] -- vbuz1=vbuc1 - lda #0 - sta j - //SEG25 [10] phi (byte) print_spaced::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:print_spaced->print_spaced::@1#1] -- vbuxx=vbuc1 +//SEG20 print2 +print2: { + .label at = 2 + //SEG21 [10] phi from print2 to print2::@1 [phi:print2->print2::@1] + b1_from_print2: + //SEG22 [10] phi (byte) print2::j#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:print2->print2::@1#0] -- vbuyy=vbuc1 + ldy #0 + //SEG23 [10] phi (byte) print2::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:print2->print2::@1#1] -- vbuxx=vbuc1 ldx #0 jmp b1 - //SEG26 [10] phi from print_spaced::@1 to print_spaced::@1 [phi:print_spaced::@1->print_spaced::@1] + //SEG24 [10] phi from print2::@1 to print2::@1 [phi:print2::@1->print2::@1] b1_from_b1: - //SEG27 [10] phi (byte) print_spaced::j#2 = (byte) print_spaced::j#1 [phi:print_spaced::@1->print_spaced::@1#0] -- register_copy - //SEG28 [10] phi (byte) print_spaced::i#2 = (byte) print_spaced::i#1 [phi:print_spaced::@1->print_spaced::@1#1] -- register_copy + //SEG25 [10] phi (byte) print2::j#2 = (byte) print2::j#1 [phi:print2::@1->print2::@1#0] -- register_copy + //SEG26 [10] phi (byte) print2::i#2 = (byte) print2::i#1 [phi:print2::@1->print2::@1#1] -- register_copy jmp b1 - //SEG29 print_spaced::@1 + //SEG27 print2::@1 b1: - //SEG30 [11] *((byte*) print_spaced::at#3 + (byte) print_spaced::j#2) ← *((byte*) print_spaced::msg#3 + (byte) print_spaced::i#2) [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#2 print_spaced::j#2 ] ( main:2::print_spaced:5 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#2 print_spaced::j#2 ] main:2::print_spaced:7 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#2 print_spaced::j#2 ] ) -- pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuxx - txa - tay - lda (msg),y - ldy j + //SEG28 [11] *((byte*) print2::at#3 + (byte) print2::j#2) ← *((const string) main::hello#0 + (byte) print2::i#2) [ print2::at#3 print2::i#2 print2::j#2 ] ( main:2::print2:5 [ print2::at#3 print2::i#2 print2::j#2 ] main:2::print2:7 [ print2::at#3 print2::i#2 print2::j#2 ] ) -- pbuz1_derefidx_vbuyy=pbuc1_derefidx_vbuxx + lda main.hello,x sta (at),y - //SEG31 [12] (byte) print_spaced::j#1 ← (byte) print_spaced::j#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#2 print_spaced::j#1 ] ( main:2::print_spaced:5 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#2 print_spaced::j#1 ] main:2::print_spaced:7 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#2 print_spaced::j#1 ] ) -- vbuz1=vbuz1_plus_2 - lda j - clc - adc #2 - sta j - //SEG32 [13] (byte) print_spaced::i#1 ← ++ (byte) print_spaced::i#2 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#1 print_spaced::j#1 ] ( main:2::print_spaced:5 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#1 print_spaced::j#1 ] main:2::print_spaced:7 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#1 print_spaced::j#1 ] ) -- vbuxx=_inc_vbuxx + //SEG29 [12] (byte) print2::j#1 ← (byte) print2::j#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ print2::at#3 print2::i#2 print2::j#1 ] ( main:2::print2:5 [ print2::at#3 print2::i#2 print2::j#1 ] main:2::print2:7 [ print2::at#3 print2::i#2 print2::j#1 ] ) -- vbuyy=vbuyy_plus_2 + iny + iny + //SEG30 [13] (byte) print2::i#1 ← ++ (byte) print2::i#2 [ print2::at#3 print2::i#1 print2::j#1 ] ( main:2::print2:5 [ print2::at#3 print2::i#1 print2::j#1 ] main:2::print2:7 [ print2::at#3 print2::i#1 print2::j#1 ] ) -- vbuxx=_inc_vbuxx inx - //SEG33 [14] if(*((byte*) print_spaced::msg#3 + (byte) print_spaced::i#1)!=(byte) '@') goto print_spaced::@1 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#1 print_spaced::j#1 ] ( main:2::print_spaced:5 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#1 print_spaced::j#1 ] main:2::print_spaced:7 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#1 print_spaced::j#1 ] ) -- pbuz1_derefidx_vbuxx_neq_vbuc1_then_la1 - txa - tay - lda (msg),y + //SEG31 [14] if(*((const string) main::hello#0 + (byte) print2::i#1)!=(byte) '@') goto print2::@1 [ print2::at#3 print2::i#1 print2::j#1 ] ( main:2::print2:5 [ print2::at#3 print2::i#1 print2::j#1 ] main:2::print2:7 [ print2::at#3 print2::i#1 print2::j#1 ] ) -- pbuc1_derefidx_vbuxx_neq_vbuc2_then_la1 + lda main.hello,x cmp #'@' bne b1_from_b1 jmp breturn - //SEG34 print_spaced::@return + //SEG32 print2::@return breturn: - //SEG35 [15] return [ ] ( main:2::print_spaced:5 [ ] main:2::print_spaced:7 [ ] ) + //SEG33 [15] return [ ] ( main:2::print2:5 [ ] main:2::print2:7 [ ] ) rts } @@ -634,23 +585,21 @@ Removing instruction jmp breturn Removing instruction jmp b1 Removing instruction jmp breturn Succesful ASM optimization Pass5NextJumpElimination -Replacing instruction ldx #0 with TAX -Replacing instruction lda j with TYA Replacing label b1_from_b1 with b1 Removing instruction bbegin: Removing instruction b2_from_bbegin: Removing instruction main_from_b2: Removing instruction bend_from_b2: Removing instruction b1_from_main: -Removing instruction print_spaced_from_b1: +Removing instruction print2_from_b1: Removing instruction b1_from_b1: Succesful ASM optimization Pass5RedundantLabelElimination Removing instruction b2: Removing instruction bend: -Removing instruction print_spaced_from_main: +Removing instruction print2_from_main: Removing instruction b1: Removing instruction breturn: -Removing instruction b1_from_print_spaced: +Removing instruction b1_from_print2: Removing instruction breturn: Succesful ASM optimization Pass5UnusedLabelElimination Removing instruction jmp b1 @@ -665,30 +614,28 @@ FINAL SYMBOL TABLE (label) main::@return (byte*) main::hello (const string) main::hello#0 hello = (string) "hello world!@" -(void()) print_spaced((byte*) print_spaced::at , (byte*) print_spaced::msg) -(label) print_spaced::@1 -(label) print_spaced::@return -(byte*) print_spaced::at -(byte*) print_spaced::at#3 at zp ZP_WORD:4 1.8333333333333333 -(byte) print_spaced::i -(byte) print_spaced::i#1 reg byte x 16.5 -(byte) print_spaced::i#2 reg byte x 11.0 -(byte) print_spaced::j -(byte) print_spaced::j#1 j zp ZP_BYTE:6 7.333333333333333 -(byte) print_spaced::j#2 j zp ZP_BYTE:6 16.5 -(byte*) print_spaced::msg -(byte*) print_spaced::msg#3 msg zp ZP_WORD:2 3.6666666666666665 +(void()) print2((byte*) print2::at , (byte*) print2::msg) +(label) print2::@1 +(label) print2::@return +(byte*) print2::at +(byte*) print2::at#3 at zp ZP_WORD:2 1.8333333333333333 +(byte) print2::i +(byte) print2::i#1 reg byte x 16.5 +(byte) print2::i#2 reg byte x 11.0 +(byte) print2::j +(byte) print2::j#1 reg byte y 7.333333333333333 +(byte) print2::j#2 reg byte y 16.5 +(byte*) print2::msg (byte*) screen (const byte*) screen#0 screen = ((byte*))(word/signed word/dword/signed dword) 1024 -zp ZP_WORD:2 [ print_spaced::msg#3 ] -zp ZP_WORD:4 [ print_spaced::at#3 ] -reg byte x [ print_spaced::i#2 print_spaced::i#1 ] -zp ZP_BYTE:6 [ print_spaced::j#2 print_spaced::j#1 ] +zp ZP_WORD:2 [ print2::at#3 ] +reg byte x [ print2::i#2 print2::i#1 ] +reg byte y [ print2::j#2 print2::j#1 ] FINAL ASSEMBLER -Score: 575 +Score: 345 //SEG0 Basic Upstart .pc = $801 "Basic" @@ -706,76 +653,56 @@ Score: 575 //SEG8 @end //SEG9 main main: { - //SEG10 [5] call print_spaced param-assignment [ ] ( main:2 [ ] ) - //SEG11 [9] phi from main to print_spaced [phi:main->print_spaced] - //SEG12 [9] phi (byte*) print_spaced::at#3 = (const byte*) screen#0 [phi:main->print_spaced#0] -- pbuz1=pbuc1 + //SEG10 [5] call print2 param-assignment [ ] ( main:2 [ ] ) + //SEG11 [9] phi from main to print2 [phi:main->print2] + //SEG12 [9] phi (byte*) print2::at#3 = (const byte*) screen#0 [phi:main->print2#0] -- pbuz1=pbuc1 lda #screen - sta print_spaced.at+1 - //SEG13 [9] phi (byte*) print_spaced::msg#3 = (const string) main::hello#0 [phi:main->print_spaced#1] -- pbuz1=pbuc1 - lda #hello - sta print_spaced.msg+1 - jsr print_spaced - //SEG14 [6] phi from main to main::@1 [phi:main->main::@1] - //SEG15 main::@1 - //SEG16 [7] call print_spaced param-assignment [ ] ( main:2 [ ] ) - //SEG17 [9] phi from main::@1 to print_spaced [phi:main::@1->print_spaced] - //SEG18 [9] phi (byte*) print_spaced::at#3 = (const byte*) screen#0+(byte/signed byte/word/signed word/dword/signed dword) 40 [phi:main::@1->print_spaced#0] -- pbuz1=pbuc1 - lda #screen+$28 - sta print_spaced.at+1 - //SEG19 [9] phi (byte*) print_spaced::msg#3 = (const string) main::hello#0 [phi:main::@1->print_spaced#1] -- pbuz1=pbuc1 - lda #hello - sta print_spaced.msg+1 - jsr print_spaced - //SEG20 main::@return - //SEG21 [8] return [ ] ( main:2 [ ] ) + sta print2.at+1 + jsr print2 + //SEG13 [6] phi from main to main::@1 [phi:main->main::@1] + //SEG14 main::@1 + //SEG15 [7] call print2 param-assignment [ ] ( main:2 [ ] ) + //SEG16 [9] phi from main::@1 to print2 [phi:main::@1->print2] + //SEG17 [9] phi (byte*) print2::at#3 = (const byte*) screen#0+(byte/signed byte/word/signed word/dword/signed dword) 80 [phi:main::@1->print2#0] -- pbuz1=pbuc1 + lda #screen+$50 + sta print2.at+1 + jsr print2 + //SEG18 main::@return + //SEG19 [8] return [ ] ( main:2 [ ] ) rts hello: .text "hello world!@" } -//SEG22 print_spaced -print_spaced: { - .label j = 6 - .label msg = 2 - .label at = 4 - //SEG23 [10] phi from print_spaced to print_spaced::@1 [phi:print_spaced->print_spaced::@1] - //SEG24 [10] phi (byte) print_spaced::j#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:print_spaced->print_spaced::@1#0] -- vbuz1=vbuc1 - lda #0 - sta j - //SEG25 [10] phi (byte) print_spaced::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:print_spaced->print_spaced::@1#1] -- vbuxx=vbuc1 - tax - //SEG26 [10] phi from print_spaced::@1 to print_spaced::@1 [phi:print_spaced::@1->print_spaced::@1] - //SEG27 [10] phi (byte) print_spaced::j#2 = (byte) print_spaced::j#1 [phi:print_spaced::@1->print_spaced::@1#0] -- register_copy - //SEG28 [10] phi (byte) print_spaced::i#2 = (byte) print_spaced::i#1 [phi:print_spaced::@1->print_spaced::@1#1] -- register_copy - //SEG29 print_spaced::@1 +//SEG20 print2 +print2: { + .label at = 2 + //SEG21 [10] phi from print2 to print2::@1 [phi:print2->print2::@1] + //SEG22 [10] phi (byte) print2::j#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:print2->print2::@1#0] -- vbuyy=vbuc1 + ldy #0 + //SEG23 [10] phi (byte) print2::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:print2->print2::@1#1] -- vbuxx=vbuc1 + ldx #0 + //SEG24 [10] phi from print2::@1 to print2::@1 [phi:print2::@1->print2::@1] + //SEG25 [10] phi (byte) print2::j#2 = (byte) print2::j#1 [phi:print2::@1->print2::@1#0] -- register_copy + //SEG26 [10] phi (byte) print2::i#2 = (byte) print2::i#1 [phi:print2::@1->print2::@1#1] -- register_copy + //SEG27 print2::@1 b1: - //SEG30 [11] *((byte*) print_spaced::at#3 + (byte) print_spaced::j#2) ← *((byte*) print_spaced::msg#3 + (byte) print_spaced::i#2) [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#2 print_spaced::j#2 ] ( main:2::print_spaced:5 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#2 print_spaced::j#2 ] main:2::print_spaced:7 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#2 print_spaced::j#2 ] ) -- pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuxx - txa - tay - lda (msg),y - ldy j + //SEG28 [11] *((byte*) print2::at#3 + (byte) print2::j#2) ← *((const string) main::hello#0 + (byte) print2::i#2) [ print2::at#3 print2::i#2 print2::j#2 ] ( main:2::print2:5 [ print2::at#3 print2::i#2 print2::j#2 ] main:2::print2:7 [ print2::at#3 print2::i#2 print2::j#2 ] ) -- pbuz1_derefidx_vbuyy=pbuc1_derefidx_vbuxx + lda main.hello,x sta (at),y - //SEG31 [12] (byte) print_spaced::j#1 ← (byte) print_spaced::j#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#2 print_spaced::j#1 ] ( main:2::print_spaced:5 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#2 print_spaced::j#1 ] main:2::print_spaced:7 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#2 print_spaced::j#1 ] ) -- vbuz1=vbuz1_plus_2 - tya - clc - adc #2 - sta j - //SEG32 [13] (byte) print_spaced::i#1 ← ++ (byte) print_spaced::i#2 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#1 print_spaced::j#1 ] ( main:2::print_spaced:5 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#1 print_spaced::j#1 ] main:2::print_spaced:7 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#1 print_spaced::j#1 ] ) -- vbuxx=_inc_vbuxx + //SEG29 [12] (byte) print2::j#1 ← (byte) print2::j#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ print2::at#3 print2::i#2 print2::j#1 ] ( main:2::print2:5 [ print2::at#3 print2::i#2 print2::j#1 ] main:2::print2:7 [ print2::at#3 print2::i#2 print2::j#1 ] ) -- vbuyy=vbuyy_plus_2 + iny + iny + //SEG30 [13] (byte) print2::i#1 ← ++ (byte) print2::i#2 [ print2::at#3 print2::i#1 print2::j#1 ] ( main:2::print2:5 [ print2::at#3 print2::i#1 print2::j#1 ] main:2::print2:7 [ print2::at#3 print2::i#1 print2::j#1 ] ) -- vbuxx=_inc_vbuxx inx - //SEG33 [14] if(*((byte*) print_spaced::msg#3 + (byte) print_spaced::i#1)!=(byte) '@') goto print_spaced::@1 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#1 print_spaced::j#1 ] ( main:2::print_spaced:5 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#1 print_spaced::j#1 ] main:2::print_spaced:7 [ print_spaced::msg#3 print_spaced::at#3 print_spaced::i#1 print_spaced::j#1 ] ) -- pbuz1_derefidx_vbuxx_neq_vbuc1_then_la1 - txa - tay - lda (msg),y + //SEG31 [14] if(*((const string) main::hello#0 + (byte) print2::i#1)!=(byte) '@') goto print2::@1 [ print2::at#3 print2::i#1 print2::j#1 ] ( main:2::print2:5 [ print2::at#3 print2::i#1 print2::j#1 ] main:2::print2:7 [ print2::at#3 print2::i#1 print2::j#1 ] ) -- pbuc1_derefidx_vbuxx_neq_vbuc2_then_la1 + lda main.hello,x cmp #'@' bne b1 - //SEG34 print_spaced::@return - //SEG35 [15] return [ ] ( main:2::print_spaced:5 [ ] main:2::print_spaced:7 [ ] ) + //SEG32 print2::@return + //SEG33 [15] return [ ] ( main:2::print2:5 [ ] main:2::print2:7 [ ] ) rts } diff --git a/src/test/java/dk/camelot64/kickc/test/ref/helloworld2.sym b/src/test/java/dk/camelot64/kickc/test/ref/helloworld2.sym index fc16d6e4f..9e5cbdad2 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/helloworld2.sym +++ b/src/test/java/dk/camelot64/kickc/test/ref/helloworld2.sym @@ -6,23 +6,21 @@ (label) main::@return (byte*) main::hello (const string) main::hello#0 hello = (string) "hello world!@" -(void()) print_spaced((byte*) print_spaced::at , (byte*) print_spaced::msg) -(label) print_spaced::@1 -(label) print_spaced::@return -(byte*) print_spaced::at -(byte*) print_spaced::at#3 at zp ZP_WORD:4 1.8333333333333333 -(byte) print_spaced::i -(byte) print_spaced::i#1 reg byte x 16.5 -(byte) print_spaced::i#2 reg byte x 11.0 -(byte) print_spaced::j -(byte) print_spaced::j#1 j zp ZP_BYTE:6 7.333333333333333 -(byte) print_spaced::j#2 j zp ZP_BYTE:6 16.5 -(byte*) print_spaced::msg -(byte*) print_spaced::msg#3 msg zp ZP_WORD:2 3.6666666666666665 +(void()) print2((byte*) print2::at , (byte*) print2::msg) +(label) print2::@1 +(label) print2::@return +(byte*) print2::at +(byte*) print2::at#3 at zp ZP_WORD:2 1.8333333333333333 +(byte) print2::i +(byte) print2::i#1 reg byte x 16.5 +(byte) print2::i#2 reg byte x 11.0 +(byte) print2::j +(byte) print2::j#1 reg byte y 7.333333333333333 +(byte) print2::j#2 reg byte y 16.5 +(byte*) print2::msg (byte*) screen (const byte*) screen#0 screen = ((byte*))(word/signed word/dword/signed dword) 1024 -zp ZP_WORD:2 [ print_spaced::msg#3 ] -zp ZP_WORD:4 [ print_spaced::at#3 ] -reg byte x [ print_spaced::i#2 print_spaced::i#1 ] -zp ZP_BYTE:6 [ print_spaced::j#2 print_spaced::j#1 ] +zp ZP_WORD:2 [ print2::at#3 ] +reg byte x [ print2::i#2 print2::i#1 ] +reg byte y [ print2::j#2 print2::j#1 ] diff --git a/src/test/java/dk/camelot64/kickc/test/ref/inline-assignment.log b/src/test/java/dk/camelot64/kickc/test/ref/inline-assignment.log index aa277a979..5221e9b2c 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/inline-assignment.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/inline-assignment.log @@ -112,10 +112,6 @@ Constant (const byte) main::i#0 = 0 Succesful SSA optimization Pass2ConstantIdentification Constant (const byte*) main::$0 = SCREEN#0+80 Succesful SSA optimization Pass2ConstantIdentification -Multiple usages for variable. Not optimizing sub-constant (byte) main::a#0 -Multiple usages for variable. Not optimizing sub-constant (byte) main::a#0 -Multiple usages for variable. Not optimizing sub-constant (byte) main::a#0 -Multiple usages for variable. Not optimizing sub-constant (byte) main::a#0 OPTIMIZING CONTROL FLOW GRAPH Inlining constant with var siblings (const byte) main::i#0 Constant inlined main::i#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 diff --git a/src/test/java/dk/camelot64/kickc/test/ref/iterarray.log b/src/test/java/dk/camelot64/kickc/test/ref/iterarray.log index a872ff351..ece837253 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/iterarray.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/iterarray.log @@ -110,22 +110,11 @@ Succesful SSA optimization Pass2ConditionalJumpSimplification Constant (const byte*) main::buf#0 = ((byte*))4352 Constant (const byte) main::i#0 = 5 Succesful SSA optimization Pass2ConstantIdentification -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#2 Consolidated constant in assignment main::$1 -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#2 Succesful SSA optimization Pass2ConstantAdditionElimination -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#2 Inferred type updated to byte in (byte/signed word/word/dword/signed dword~) main::$0 ← (byte) main::i#2 Alias (byte) main::i#2 = (byte~) main::$0 Succesful SSA optimization Pass2AliasElimination -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#2 OPTIMIZING CONTROL FLOW GRAPH Inlining constant with var siblings (const byte) main::i#0 Inlining constant with var siblings (const byte) main::i#0 diff --git a/src/test/java/dk/camelot64/kickc/test/ref/linegen.asm b/src/test/java/dk/camelot64/kickc/test/ref/linegen.asm index 12e26b62b..f855918db 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/linegen.asm +++ b/src/test/java/dk/camelot64/kickc/test/ref/linegen.asm @@ -1,7 +1,7 @@ .pc = $801 "Basic" :BasicUpstart(main) .pc = $80d "Program" - .label rem16u = $11 + .label rem16u = $f .label print_char_cursor = 7 .label print_line_cursor = 3 jsr main @@ -11,10 +11,6 @@ main: { sta lin16u_gen.lintab lda #>lintab1 sta lin16u_gen.lintab+1 - lda #<$14 - sta lin16u_gen.length - lda #>$14 - sta lin16u_gen.length+1 lda #<$22d sta lin16u_gen.min lda #>$22d @@ -28,10 +24,6 @@ main: { sta lin16u_gen.lintab lda #>lintab2 sta lin16u_gen.lintab+1 - lda #<$14 - sta lin16u_gen.length - lda #>$14 - sta lin16u_gen.length+1 lda #<$79cb sta lin16u_gen.min lda #>$79cb @@ -45,10 +37,6 @@ main: { sta lin16u_gen.lintab lda #>lintab3 sta lin16u_gen.lintab+1 - lda #<$14 - sta lin16u_gen.length - lda #>$14 - sta lin16u_gen.length+1 lda #<0 sta lin16u_gen.min sta lin16u_gen.min+1 @@ -295,15 +283,14 @@ print_cls: { lin16u_gen: { .label _5 = 5 .label ampl = 3 - .label stepi = $15 - .label stepf = $13 - .label step = $17 + .label stepi = $13 + .label stepf = $11 + .label step = $15 .label val = 9 - .label lintab = $d + .label lintab = 7 .label i = 3 .label max = 3 .label min = 5 - .label length = 7 lda ampl sec sbc min @@ -311,12 +298,9 @@ lin16u_gen: { lda ampl+1 sbc min+1 sta ampl+1 - lda length - sec - sbc #1 + lda #<$14-1 sta divr16u.divisor - lda length+1 - sbc #0 + lda #>$14-1 sta divr16u.divisor+1 lda #<0 sta divr16u.rem @@ -326,12 +310,9 @@ lin16u_gen: { sta stepi lda divr16u.return+1 sta stepi+1 - lda length - sec - sbc #1 + lda #<$14-1 sta divr16u.divisor - lda length+1 - sbc #0 + lda #>$14-1 sta divr16u.divisor+1 lda #<0 sta divr16u.dividend @@ -391,21 +372,21 @@ lin16u_gen: { inc i+1 !: lda i+1 - cmp length+1 + cmp #>$14 bcc b1 bne !+ lda i - cmp length + cmp #<$14 bcc b1 !: rts } divr16u: { - .label rem = $11 + .label rem = $f .label dividend = 3 - .label quotient = $13 - .label return = $13 - .label divisor = $f + .label quotient = $11 + .label return = $11 + .label divisor = $d ldx #0 txa sta quotient diff --git a/src/test/java/dk/camelot64/kickc/test/ref/linegen.cfg b/src/test/java/dk/camelot64/kickc/test/ref/linegen.cfg index aad93c7c1..25d3599ae 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/linegen.cfg +++ b/src/test/java/dk/camelot64/kickc/test/ref/linegen.cfg @@ -197,79 +197,76 @@ print_cls::@return: scope:[print_cls] from print_cls::@1 [96] return [ ] ( main:2::print_cls:11 [ ] ) to:@return lin16u_gen: scope:[lin16u_gen] from main main::@3 main::@4 - [97] (word*) lin16u_gen::lintab#5 ← phi( main/(const word[20]) main::lintab1#0 main::@3/(const word[20]) main::lintab2#0 main::@4/(const word[20]) main::lintab3#0 ) [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 ] ( main:2::lin16u_gen:5 [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 ] main:2::lin16u_gen:7 [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 ] main:2::lin16u_gen:9 [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 ] ) - [97] (word) lin16u_gen::length#3 ← phi( main/(byte/signed byte/word/signed word/dword/signed dword) 20 main::@3/(byte/signed byte/word/signed word/dword/signed dword) 20 main::@4/(byte/signed byte/word/signed word/dword/signed dword) 20 ) [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 ] ( main:2::lin16u_gen:5 [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 ] main:2::lin16u_gen:7 [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 ] main:2::lin16u_gen:9 [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 ] ) - [97] (word) lin16u_gen::min#3 ← phi( main/(word/signed word/dword/signed dword) 557 main::@3/(word/signed word/dword/signed dword) 31179 main::@4/(byte/signed byte/word/signed word/dword/signed dword) 0 ) [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 ] ( main:2::lin16u_gen:5 [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 ] main:2::lin16u_gen:7 [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 ] main:2::lin16u_gen:9 [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 ] ) - [97] (word) lin16u_gen::max#3 ← phi( main/(word/signed word/dword/signed dword) 29793 main::@3/(word/dword/signed dword) 63361 main::@4/(word/signed word/dword/signed dword) 25736 ) [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 ] ( main:2::lin16u_gen:5 [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 ] main:2::lin16u_gen:7 [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 ] main:2::lin16u_gen:9 [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 ] ) - [98] (word) lin16u_gen::ampl#0 ← (word) lin16u_gen::max#3 - (word) lin16u_gen::min#3 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 ] ) - [99] (word) divr16u::divisor#0 ← (word) lin16u_gen::length#3 - (byte/signed byte/word/signed word/dword/signed dword) 1 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 divr16u::divisor#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 divr16u::divisor#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 divr16u::divisor#0 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 divr16u::divisor#0 ] ) - [100] (word) divr16u::dividend#1 ← (word) lin16u_gen::ampl#0 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#0 divr16u::dividend#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#0 divr16u::dividend#1 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#0 divr16u::dividend#1 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#0 divr16u::dividend#1 ] ) - [101] call divr16u param-assignment [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] ) - [102] (word) divr16u::return#2 ← (word) divr16u::return#0 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#2 rem16u#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#2 rem16u#1 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#2 rem16u#1 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#2 rem16u#1 ] ) + [97] (word*) lin16u_gen::lintab#5 ← phi( main/(const word[20]) main::lintab1#0 main::@3/(const word[20]) main::lintab2#0 main::@4/(const word[20]) main::lintab3#0 ) [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::lintab#5 ] ( main:2::lin16u_gen:5 [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::lintab#5 ] main:2::lin16u_gen:7 [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::lintab#5 ] main:2::lin16u_gen:9 [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::lintab#5 ] ) + [97] (word) lin16u_gen::min#3 ← phi( main/(word/signed word/dword/signed dword) 557 main::@3/(word/signed word/dword/signed dword) 31179 main::@4/(byte/signed byte/word/signed word/dword/signed dword) 0 ) [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::lintab#5 ] ( main:2::lin16u_gen:5 [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::lintab#5 ] main:2::lin16u_gen:7 [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::lintab#5 ] main:2::lin16u_gen:9 [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::lintab#5 ] ) + [97] (word) lin16u_gen::max#3 ← phi( main/(word/signed word/dword/signed dword) 29793 main::@3/(word/dword/signed dword) 63361 main::@4/(word/signed word/dword/signed dword) 25736 ) [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::lintab#5 ] ( main:2::lin16u_gen:5 [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::lintab#5 ] main:2::lin16u_gen:7 [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::lintab#5 ] main:2::lin16u_gen:9 [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::lintab#5 ] ) + [98] (word) lin16u_gen::ampl#0 ← (word) lin16u_gen::max#3 - (word) lin16u_gen::min#3 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 ] ) + [99] (word) divr16u::dividend#1 ← (word) lin16u_gen::ampl#0 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::dividend#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::dividend#1 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::dividend#1 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::dividend#1 ] ) + [100] call divr16u param-assignment [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] ) + [101] (word) divr16u::return#2 ← (word) divr16u::return#0 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#2 rem16u#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#2 rem16u#1 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#2 rem16u#1 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#2 rem16u#1 ] ) to:lin16u_gen::@3 lin16u_gen::@3: scope:[lin16u_gen] from lin16u_gen - [103] (word) lin16u_gen::stepi#0 ← (word) divr16u::return#2 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 rem16u#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 rem16u#1 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 rem16u#1 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 rem16u#1 ] ) - [104] (word) divr16u::divisor#1 ← (word) lin16u_gen::length#3 - (byte/signed byte/word/signed word/dword/signed dword) 1 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#1 rem16u#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#1 rem16u#1 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#1 rem16u#1 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#1 rem16u#1 ] ) - [105] (word) divr16u::rem#4 ← (word) rem16u#1 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#1 divr16u::rem#4 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#1 divr16u::rem#4 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#1 divr16u::rem#4 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#1 divr16u::rem#4 ] ) - [106] call divr16u param-assignment [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 lin16u_gen::stepi#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 lin16u_gen::stepi#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 lin16u_gen::stepi#0 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 lin16u_gen::stepi#0 ] ) - [107] (word) divr16u::return#3 ← (word) divr16u::return#0 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#3 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#3 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#3 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#3 ] ) + [102] (word) lin16u_gen::stepi#0 ← (word) divr16u::return#2 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 rem16u#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 rem16u#1 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 rem16u#1 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 rem16u#1 ] ) + [103] (word) divr16u::rem#4 ← (word) rem16u#1 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#4 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#4 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#4 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#4 ] ) + [104] call divr16u param-assignment [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 lin16u_gen::stepi#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 lin16u_gen::stepi#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 lin16u_gen::stepi#0 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 lin16u_gen::stepi#0 ] ) + [105] (word) divr16u::return#3 ← (word) divr16u::return#0 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#3 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#3 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#3 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#3 ] ) to:lin16u_gen::@4 lin16u_gen::@4: scope:[lin16u_gen] from lin16u_gen::@3 - [108] (word) lin16u_gen::stepf#0 ← (word) divr16u::return#3 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 lin16u_gen::stepf#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 lin16u_gen::stepf#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 lin16u_gen::stepf#0 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 lin16u_gen::stepf#0 ] ) - [109] (dword) lin16u_gen::step#0 ← (word) lin16u_gen::stepi#0 dw= (word) lin16u_gen::stepf#0 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::step#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::step#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::step#0 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::step#0 ] ) - [110] (dword) lin16u_gen::val#0 ← (word) lin16u_gen::min#3 dw= (byte/signed byte/word/signed word/dword/signed dword) 0 [ lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::step#0 lin16u_gen::val#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::step#0 lin16u_gen::val#0 ] main:2::lin16u_gen:7 [ lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::step#0 lin16u_gen::val#0 ] main:2::lin16u_gen:9 [ lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::step#0 lin16u_gen::val#0 ] ) + [106] (word) lin16u_gen::stepf#0 ← (word) divr16u::return#3 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 lin16u_gen::stepf#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 lin16u_gen::stepf#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 lin16u_gen::stepf#0 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 lin16u_gen::stepf#0 ] ) + [107] (dword) lin16u_gen::step#0 ← (word) lin16u_gen::stepi#0 dw= (word) lin16u_gen::stepf#0 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::step#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::step#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::step#0 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::step#0 ] ) + [108] (dword) lin16u_gen::val#0 ← (word) lin16u_gen::min#3 dw= (byte/signed byte/word/signed word/dword/signed dword) 0 [ lin16u_gen::lintab#5 lin16u_gen::step#0 lin16u_gen::val#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::lintab#5 lin16u_gen::step#0 lin16u_gen::val#0 ] main:2::lin16u_gen:7 [ lin16u_gen::lintab#5 lin16u_gen::step#0 lin16u_gen::val#0 ] main:2::lin16u_gen:9 [ lin16u_gen::lintab#5 lin16u_gen::step#0 lin16u_gen::val#0 ] ) to:lin16u_gen::@1 lin16u_gen::@1: scope:[lin16u_gen] from lin16u_gen::@1 lin16u_gen::@4 - [111] (word) lin16u_gen::i#2 ← phi( lin16u_gen::@1/(word) lin16u_gen::i#1 lin16u_gen::@4/(byte/signed byte/word/signed word/dword/signed dword) 0 ) [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] main:2::lin16u_gen:7 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] main:2::lin16u_gen:9 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] ) - [111] (word*) lin16u_gen::lintab#4 ← phi( lin16u_gen::@1/(word*) lin16u_gen::lintab#3 lin16u_gen::@4/(word*) lin16u_gen::lintab#5 ) [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] main:2::lin16u_gen:7 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] main:2::lin16u_gen:9 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] ) - [111] (dword) lin16u_gen::val#2 ← phi( lin16u_gen::@1/(dword) lin16u_gen::val#1 lin16u_gen::@4/(dword) lin16u_gen::val#0 ) [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] main:2::lin16u_gen:7 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] main:2::lin16u_gen:9 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] ) - [112] (word~) lin16u_gen::$5 ← > (dword) lin16u_gen::val#2 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::$5 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::$5 ] main:2::lin16u_gen:7 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::$5 ] main:2::lin16u_gen:9 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::$5 ] ) - [113] *((word*) lin16u_gen::lintab#4) ← (word~) lin16u_gen::$5 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] main:2::lin16u_gen:7 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] main:2::lin16u_gen:9 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] ) - [114] (dword) lin16u_gen::val#1 ← (dword) lin16u_gen::val#2 + (dword) lin16u_gen::step#0 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::val#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::val#1 ] main:2::lin16u_gen:7 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::val#1 ] main:2::lin16u_gen:9 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::val#1 ] ) - [115] (word*) lin16u_gen::lintab#3 ← (word*) lin16u_gen::lintab#4 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::i#2 lin16u_gen::val#1 lin16u_gen::lintab#3 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::i#2 lin16u_gen::val#1 lin16u_gen::lintab#3 ] main:2::lin16u_gen:7 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::i#2 lin16u_gen::val#1 lin16u_gen::lintab#3 ] main:2::lin16u_gen:9 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::i#2 lin16u_gen::val#1 lin16u_gen::lintab#3 ] ) - [116] (word) lin16u_gen::i#1 ← ++ (word) lin16u_gen::i#2 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] main:2::lin16u_gen:7 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] main:2::lin16u_gen:9 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] ) - [117] if((word) lin16u_gen::i#1<(word) lin16u_gen::length#3) goto lin16u_gen::@1 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] main:2::lin16u_gen:7 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] main:2::lin16u_gen:9 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] ) + [109] (word) lin16u_gen::i#2 ← phi( lin16u_gen::@1/(word) lin16u_gen::i#1 lin16u_gen::@4/(byte/signed byte/word/signed word/dword/signed dword) 0 ) [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] ( main:2::lin16u_gen:5 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] main:2::lin16u_gen:7 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] main:2::lin16u_gen:9 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] ) + [109] (word*) lin16u_gen::lintab#4 ← phi( lin16u_gen::@1/(word*) lin16u_gen::lintab#3 lin16u_gen::@4/(word*) lin16u_gen::lintab#5 ) [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] ( main:2::lin16u_gen:5 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] main:2::lin16u_gen:7 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] main:2::lin16u_gen:9 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] ) + [109] (dword) lin16u_gen::val#2 ← phi( lin16u_gen::@1/(dword) lin16u_gen::val#1 lin16u_gen::@4/(dword) lin16u_gen::val#0 ) [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] ( main:2::lin16u_gen:5 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] main:2::lin16u_gen:7 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] main:2::lin16u_gen:9 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] ) + [110] (word~) lin16u_gen::$5 ← > (dword) lin16u_gen::val#2 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::$5 ] ( main:2::lin16u_gen:5 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::$5 ] main:2::lin16u_gen:7 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::$5 ] main:2::lin16u_gen:9 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::$5 ] ) + [111] *((word*) lin16u_gen::lintab#4) ← (word~) lin16u_gen::$5 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] ( main:2::lin16u_gen:5 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] main:2::lin16u_gen:7 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] main:2::lin16u_gen:9 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] ) + [112] (dword) lin16u_gen::val#1 ← (dword) lin16u_gen::val#2 + (dword) lin16u_gen::step#0 [ lin16u_gen::step#0 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::val#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::step#0 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::val#1 ] main:2::lin16u_gen:7 [ lin16u_gen::step#0 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::val#1 ] main:2::lin16u_gen:9 [ lin16u_gen::step#0 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::val#1 ] ) + [113] (word*) lin16u_gen::lintab#3 ← (word*) lin16u_gen::lintab#4 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ lin16u_gen::step#0 lin16u_gen::i#2 lin16u_gen::val#1 lin16u_gen::lintab#3 ] ( main:2::lin16u_gen:5 [ lin16u_gen::step#0 lin16u_gen::i#2 lin16u_gen::val#1 lin16u_gen::lintab#3 ] main:2::lin16u_gen:7 [ lin16u_gen::step#0 lin16u_gen::i#2 lin16u_gen::val#1 lin16u_gen::lintab#3 ] main:2::lin16u_gen:9 [ lin16u_gen::step#0 lin16u_gen::i#2 lin16u_gen::val#1 lin16u_gen::lintab#3 ] ) + [114] (word) lin16u_gen::i#1 ← ++ (word) lin16u_gen::i#2 [ lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] main:2::lin16u_gen:7 [ lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] main:2::lin16u_gen:9 [ lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] ) + [115] if((word) lin16u_gen::i#1<(byte/signed byte/word/signed word/dword/signed dword) 20) goto lin16u_gen::@1 [ lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] main:2::lin16u_gen:7 [ lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] main:2::lin16u_gen:9 [ lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] ) to:lin16u_gen::@return lin16u_gen::@return: scope:[lin16u_gen] from lin16u_gen::@1 - [118] return [ ] ( main:2::lin16u_gen:5 [ ] main:2::lin16u_gen:7 [ ] main:2::lin16u_gen:9 [ ] ) + [116] return [ ] ( main:2::lin16u_gen:5 [ ] main:2::lin16u_gen:7 [ ] main:2::lin16u_gen:9 [ ] ) to:@return divr16u: scope:[divr16u] from lin16u_gen lin16u_gen::@3 - [119] (word) divr16u::divisor#6 ← phi( lin16u_gen/(word) divr16u::divisor#0 lin16u_gen::@3/(word) divr16u::divisor#1 ) [ divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ) - [119] (word) divr16u::dividend#5 ← phi( lin16u_gen/(word) divr16u::dividend#1 lin16u_gen::@3/(byte/signed byte/word/signed word/dword/signed dword) 0 ) [ divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ) - [119] (word) divr16u::rem#10 ← phi( lin16u_gen/(byte/signed byte/word/signed word/dword/signed dword) 0 lin16u_gen::@3/(word) divr16u::rem#4 ) [ divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ) + [117] (word) divr16u::divisor#6 ← phi( lin16u_gen/(byte/signed byte/word/signed word/dword/signed dword) 20-(byte/signed byte/word/signed word/dword/signed dword) 1 lin16u_gen::@3/(byte/signed byte/word/signed word/dword/signed dword) 20-(byte/signed byte/word/signed word/dword/signed dword) 1 ) [ divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ) + [117] (word) divr16u::dividend#5 ← phi( lin16u_gen/(word) divr16u::dividend#1 lin16u_gen::@3/(byte/signed byte/word/signed word/dword/signed dword) 0 ) [ divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ) + [117] (word) divr16u::rem#10 ← phi( lin16u_gen/(byte/signed byte/word/signed word/dword/signed dword) 0 lin16u_gen::@3/(word) divr16u::rem#4 ) [ divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ) to:divr16u::@1 divr16u::@1: scope:[divr16u] from divr16u divr16u::@3 - [120] (byte) divr16u::i#2 ← phi( divr16u/(byte/signed byte/word/signed word/dword/signed dword) 0 divr16u::@3/(byte) divr16u::i#1 ) [ divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ) - [120] (word) divr16u::quotient#3 ← phi( divr16u/(byte/signed byte/word/signed word/dword/signed dword) 0 divr16u::@3/(word) divr16u::return#0 ) [ divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ) - [120] (word) divr16u::dividend#3 ← phi( divr16u/(word) divr16u::dividend#5 divr16u::@3/(word) divr16u::dividend#0 ) [ divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ) - [120] (word) divr16u::rem#5 ← phi( divr16u/(word) divr16u::rem#10 divr16u::@3/(word) divr16u::rem#11 ) [ divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ) - [121] (word) divr16u::rem#0 ← (word) divr16u::rem#5 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) - [122] (byte~) divr16u::$1 ← > (word) divr16u::dividend#3 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) - [123] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) - [124] if((byte~) divr16u::$2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto divr16u::@2 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) + [118] (byte) divr16u::i#2 ← phi( divr16u/(byte/signed byte/word/signed word/dword/signed dword) 0 divr16u::@3/(byte) divr16u::i#1 ) [ divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ) + [118] (word) divr16u::quotient#3 ← phi( divr16u/(byte/signed byte/word/signed word/dword/signed dword) 0 divr16u::@3/(word) divr16u::return#0 ) [ divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ) + [118] (word) divr16u::dividend#3 ← phi( divr16u/(word) divr16u::dividend#5 divr16u::@3/(word) divr16u::dividend#0 ) [ divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ) + [118] (word) divr16u::rem#5 ← phi( divr16u/(word) divr16u::rem#10 divr16u::@3/(word) divr16u::rem#11 ) [ divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ) + [119] (word) divr16u::rem#0 ← (word) divr16u::rem#5 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) + [120] (byte~) divr16u::$1 ← > (word) divr16u::dividend#3 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) + [121] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) + [122] if((byte~) divr16u::$2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto divr16u::@2 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) to:divr16u::@4 divr16u::@4: scope:[divr16u] from divr16u::@1 - [125] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) + [123] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) to:divr16u::@2 divr16u::@2: scope:[divr16u] from divr16u::@1 divr16u::@4 - [126] (word) divr16u::rem#6 ← phi( divr16u::@1/(word) divr16u::rem#0 divr16u::@4/(word) divr16u::rem#1 ) [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] ) - [127] (word) divr16u::dividend#0 ← (word) divr16u::dividend#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ) - [128] (word) divr16u::quotient#1 ← (word) divr16u::quotient#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) - [129] if((word) divr16u::rem#6<(word) divr16u::divisor#6) goto divr16u::@3 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) + [124] (word) divr16u::rem#6 ← phi( divr16u::@1/(word) divr16u::rem#0 divr16u::@4/(word) divr16u::rem#1 ) [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] ) + [125] (word) divr16u::dividend#0 ← (word) divr16u::dividend#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ) + [126] (word) divr16u::quotient#1 ← (word) divr16u::quotient#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) + [127] if((word) divr16u::rem#6<(word) divr16u::divisor#6) goto divr16u::@3 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) to:divr16u::@5 divr16u::@5: scope:[divr16u] from divr16u::@2 - [130] (word) divr16u::quotient#2 ← ++ (word) divr16u::quotient#1 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] ) - [131] (word) divr16u::rem#2 ← (word) divr16u::rem#6 - (word) divr16u::divisor#6 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ) + [128] (word) divr16u::quotient#2 ← ++ (word) divr16u::quotient#1 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] ) + [129] (word) divr16u::rem#2 ← (word) divr16u::rem#6 - (word) divr16u::divisor#6 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ) to:divr16u::@3 divr16u::@3: scope:[divr16u] from divr16u::@2 divr16u::@5 - [132] (word) divr16u::return#0 ← phi( divr16u::@2/(word) divr16u::quotient#1 divr16u::@5/(word) divr16u::quotient#2 ) [ divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] ) - [132] (word) divr16u::rem#11 ← phi( divr16u::@2/(word) divr16u::rem#6 divr16u::@5/(word) divr16u::rem#2 ) [ divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] ) - [133] (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2 [ divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ) - [134] if((byte) divr16u::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto divr16u::@1 [ divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ) + [130] (word) divr16u::return#0 ← phi( divr16u::@2/(word) divr16u::quotient#1 divr16u::@5/(word) divr16u::quotient#2 ) [ divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] ) + [130] (word) divr16u::rem#11 ← phi( divr16u::@2/(word) divr16u::rem#6 divr16u::@5/(word) divr16u::rem#2 ) [ divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] ) + [131] (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2 [ divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ) + [132] if((byte) divr16u::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto divr16u::@1 [ divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ) to:divr16u::@6 divr16u::@6: scope:[divr16u] from divr16u::@3 - [135] (word) rem16u#1 ← (word) divr16u::rem#11 [ divr16u::return#0 rem16u#1 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] ) + [133] (word) rem16u#1 ← (word) divr16u::rem#11 [ divr16u::return#0 rem16u#1 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] ) to:divr16u::@return divr16u::@return: scope:[divr16u] from divr16u::@6 - [136] return [ divr16u::return#0 rem16u#1 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] ) + [134] return [ divr16u::return#0 rem16u#1 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] ) to:@return diff --git a/src/test/java/dk/camelot64/kickc/test/ref/linegen.log b/src/test/java/dk/camelot64/kickc/test/ref/linegen.log index 429e235ad..1a0b7934d 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/linegen.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/linegen.log @@ -2944,10 +2944,6 @@ Constant (const word[20]) lin16u_gen::lintab#0 = main::lintab1#0 Constant (const word[20]) lin16u_gen::lintab#1 = main::lintab2#0 Constant (const word[20]) lin16u_gen::lintab#2 = main::lintab3#0 Succesful SSA optimization Pass2ConstantIdentification -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#10 -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#10 -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#10 -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#10 Fixing inline constructor with lin16u_gen::$9 ← lin16u_gen::stepi#0 dw= lin16u_gen::stepf#0 Fixing inline constructor with lin16u_gen::$10 ← lin16u_gen::min#3 dw= 0 Succesful SSA optimization Pass2FixInlineConstructors @@ -2999,10 +2995,6 @@ Not aliassing across scopes: lin16u_gen::stepi#0 divr16u::return#2 Not aliassing across scopes: divr16u::rem#4 rem16u#1 Not aliassing across scopes: divr16u::return#3 divr16u::return#0 Not aliassing across scopes: lin16u_gen::stepf#0 divr16u::return#3 -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#10 -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#10 -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#10 -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#10 Not aliassing across scopes: divr16u::dividend#5 divr16u::dividend#1 Not aliassing across scopes: divr16u::divisor#6 divr16u::divisor#0 Not aliassing across scopes: rem16u#1 divr16u::rem#11 @@ -3018,10 +3010,6 @@ Not aliassing across scopes: lin16u_gen::stepi#0 divr16u::return#2 Not aliassing across scopes: divr16u::rem#4 rem16u#1 Not aliassing across scopes: divr16u::return#3 divr16u::return#0 Not aliassing across scopes: lin16u_gen::stepf#0 divr16u::return#3 -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#10 -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#10 -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#10 -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#10 OPTIMIZING CONTROL FLOW GRAPH Inlining constant with var siblings (const word) divr16u::quotient#0 Inlining constant with var siblings (const word) divr16u::quotient#0 @@ -3199,6 +3187,18 @@ Constant inlined print_str::str#6 = (const string) main::str5 Constant inlined lin16u_gen::lintab#0 = (const word[20]) main::lintab1#0 Constant inlined print_str::str#5 = (const string) main::str4 Succesful SSA optimization Pass2ConstantInlining +Identical Phi Values (word) lin16u_gen::length#3 (byte/signed byte/word/signed word/dword/signed dword) 20 +Succesful SSA optimization Pass2IdenticalPhiElimination +Constant (const word) divr16u::divisor#0 = 20-1 +Constant (const word) divr16u::divisor#1 = 20-1 +Succesful SSA optimization Pass2ConstantIdentification +Inlining constant with var siblings (const word) divr16u::divisor#0 +Inlining constant with different constant siblings (const word) divr16u::divisor#0 +Inlining constant with var siblings (const word) divr16u::divisor#1 +Inlining constant with different constant siblings (const word) divr16u::divisor#1 +Constant inlined divr16u::divisor#1 = (byte/signed byte/word/signed word/dword/signed dword) 20-(byte/signed byte/word/signed word/dword/signed dword) 1 +Constant inlined divr16u::divisor#0 = (byte/signed byte/word/signed word/dword/signed dword) 20-(byte/signed byte/word/signed word/dword/signed dword) 1 +Succesful SSA optimization Pass2ConstantInlining Block Sequence Planned @begin @23 @end main main::@3 main::@4 main::@5 main::@6 main::@7 main::@8 main::@9 main::@10 main::@11 main::@12 main::@1 main::@14 main::@15 main::@16 main::@17 main::@18 main::@19 main::@20 main::@21 main::@2 main::@22 main::@23 main::@24 main::@25 main::@26 main::@27 main::@return print_ln print_ln::@1 print_ln::@return print_word print_word::@1 print_word::@return print_byte print_byte::@1 print_byte::@return print_char print_char::@return print_str print_str::@1 print_str::@return print_str::@2 print_cls print_cls::@1 print_cls::@return lin16u_gen lin16u_gen::@3 lin16u_gen::@4 lin16u_gen::@1 lin16u_gen::@return divr16u divr16u::@1 divr16u::@4 divr16u::@2 divr16u::@5 divr16u::@3 divr16u::@6 divr16u::@return Added new block during phi lifting main::@29(between main::@21 and main::@1) Added new block during phi lifting print_ln::@3(between print_ln::@1 and print_ln::@1) @@ -3229,7 +3229,7 @@ Calls in [] to main:2 Calls in [main] to lin16u_gen:5 lin16u_gen:7 lin16u_gen:9 print_cls:11 print_str:13 print_word:15 print_str:17 print_word:19 print_str:21 print_word:23 print_ln:25 print_byte:30 print_str:32 print_word:35 print_str:37 print_word:40 print_str:42 print_word:45 print_ln:47 print_str:51 print_word:53 print_str:55 print_word:57 print_str:59 print_word:61 print_ln:63 Calls in [print_word] to print_byte:77 print_byte:81 Calls in [print_byte] to print_char:88 print_char:93 -Calls in [lin16u_gen] to divr16u:123 divr16u:130 +Calls in [lin16u_gen] to divr16u:121 divr16u:126 Propagating live ranges... Propagating live ranges... @@ -3249,9 +3249,7 @@ Propagating live ranges... Propagating live ranges... Propagating live ranges... Propagating live ranges... -Propagating live ranges... -Propagating live ranges... -Created 30 initial phi equivalence classes +Created 29 initial phi equivalence classes Coalesced [16] print_char_cursor#103 ← print_char_cursor#11 Coalesced (already) [20] print_char_cursor#96 ← print_char_cursor#11 Coalesced [28] print_byte::b#5 ← print_byte::b#2 @@ -3283,28 +3281,26 @@ Coalesced (already) [101] print_char_cursor#104 ← print_char_cursor#86 Coalesced [108] print_str::str#14 ← print_str::str#0 Coalesced [109] print_char_cursor#105 ← print_char_cursor#1 Coalesced [116] print_cls::sc#3 ← print_cls::sc#1 -Coalesced [121] divr16u::dividend#9 ← divr16u::dividend#1 -Coalesced [122] divr16u::divisor#8 ← divr16u::divisor#0 -Coalesced [128] divr16u::rem#12 ← divr16u::rem#4 -Coalesced [129] divr16u::divisor#9 ← divr16u::divisor#1 -Coalesced [135] lin16u_gen::val#4 ← lin16u_gen::val#0 -Coalesced [136] lin16u_gen::lintab#9 ← lin16u_gen::lintab#5 -Coalesced [145] lin16u_gen::val#3 ← lin16u_gen::val#1 -Coalesced [146] lin16u_gen::lintab#8 ← lin16u_gen::lintab#3 -Coalesced [147] lin16u_gen::i#3 ← lin16u_gen::i#1 -Coalesced [149] divr16u::rem#13 ← divr16u::rem#10 -Coalesced [150] divr16u::dividend#10 ← divr16u::dividend#5 -Coalesced [157] divr16u::rem#16 ← divr16u::rem#1 -Coalesced [164] divr16u::rem#18 ← divr16u::rem#2 -Coalesced [165] divr16u::return#8 ← divr16u::quotient#2 -Coalesced [171] divr16u::rem#14 ← divr16u::rem#11 -Coalesced [172] divr16u::dividend#11 ← divr16u::dividend#0 -Coalesced [173] divr16u::quotient#9 ← divr16u::return#0 -Coalesced [174] divr16u::i#7 ← divr16u::i#1 -Coalesced [175] divr16u::rem#17 ← divr16u::rem#6 -Coalesced [176] divr16u::return#7 ← divr16u::quotient#1 -Coalesced [177] divr16u::rem#15 ← divr16u::rem#0 -Coalesced down to 19 phi equivalence classes +Coalesced [120] divr16u::dividend#9 ← divr16u::dividend#1 +Coalesced [125] divr16u::rem#12 ← divr16u::rem#4 +Coalesced [131] lin16u_gen::val#4 ← lin16u_gen::val#0 +Coalesced [132] lin16u_gen::lintab#9 ← lin16u_gen::lintab#5 +Coalesced [141] lin16u_gen::val#3 ← lin16u_gen::val#1 +Coalesced [142] lin16u_gen::lintab#8 ← lin16u_gen::lintab#3 +Coalesced [143] lin16u_gen::i#3 ← lin16u_gen::i#1 +Coalesced [145] divr16u::rem#13 ← divr16u::rem#10 +Coalesced [146] divr16u::dividend#10 ← divr16u::dividend#5 +Coalesced [153] divr16u::rem#16 ← divr16u::rem#1 +Coalesced [160] divr16u::rem#18 ← divr16u::rem#2 +Coalesced [161] divr16u::return#8 ← divr16u::quotient#2 +Coalesced [167] divr16u::rem#14 ← divr16u::rem#11 +Coalesced [168] divr16u::dividend#11 ← divr16u::dividend#0 +Coalesced [169] divr16u::quotient#9 ← divr16u::return#0 +Coalesced [170] divr16u::i#7 ← divr16u::i#1 +Coalesced [171] divr16u::rem#17 ← divr16u::rem#6 +Coalesced [172] divr16u::return#7 ← divr16u::quotient#1 +Coalesced [173] divr16u::rem#15 ← divr16u::rem#0 +Coalesced down to 18 phi equivalence classes Culled Empty Block (label) main::@29 Culled Empty Block (label) print_ln::@3 Culled Empty Block (label) print_cls::@3 @@ -3555,81 +3551,78 @@ print_cls::@return: scope:[print_cls] from print_cls::@1 [96] return [ ] ( main:2::print_cls:11 [ ] ) to:@return lin16u_gen: scope:[lin16u_gen] from main main::@3 main::@4 - [97] (word*) lin16u_gen::lintab#5 ← phi( main/(const word[20]) main::lintab1#0 main::@3/(const word[20]) main::lintab2#0 main::@4/(const word[20]) main::lintab3#0 ) [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 ] ( main:2::lin16u_gen:5 [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 ] main:2::lin16u_gen:7 [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 ] main:2::lin16u_gen:9 [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 ] ) - [97] (word) lin16u_gen::length#3 ← phi( main/(byte/signed byte/word/signed word/dword/signed dword) 20 main::@3/(byte/signed byte/word/signed word/dword/signed dword) 20 main::@4/(byte/signed byte/word/signed word/dword/signed dword) 20 ) [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 ] ( main:2::lin16u_gen:5 [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 ] main:2::lin16u_gen:7 [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 ] main:2::lin16u_gen:9 [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 ] ) - [97] (word) lin16u_gen::min#3 ← phi( main/(word/signed word/dword/signed dword) 557 main::@3/(word/signed word/dword/signed dword) 31179 main::@4/(byte/signed byte/word/signed word/dword/signed dword) 0 ) [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 ] ( main:2::lin16u_gen:5 [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 ] main:2::lin16u_gen:7 [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 ] main:2::lin16u_gen:9 [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 ] ) - [97] (word) lin16u_gen::max#3 ← phi( main/(word/signed word/dword/signed dword) 29793 main::@3/(word/dword/signed dword) 63361 main::@4/(word/signed word/dword/signed dword) 25736 ) [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 ] ( main:2::lin16u_gen:5 [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 ] main:2::lin16u_gen:7 [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 ] main:2::lin16u_gen:9 [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 ] ) - [98] (word) lin16u_gen::ampl#0 ← (word) lin16u_gen::max#3 - (word) lin16u_gen::min#3 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 ] ) - [99] (word) divr16u::divisor#0 ← (word) lin16u_gen::length#3 - (byte/signed byte/word/signed word/dword/signed dword) 1 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 divr16u::divisor#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 divr16u::divisor#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 divr16u::divisor#0 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 divr16u::divisor#0 ] ) - [100] (word) divr16u::dividend#1 ← (word) lin16u_gen::ampl#0 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#0 divr16u::dividend#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#0 divr16u::dividend#1 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#0 divr16u::dividend#1 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#0 divr16u::dividend#1 ] ) - [101] call divr16u param-assignment [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] ) - [102] (word) divr16u::return#2 ← (word) divr16u::return#0 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#2 rem16u#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#2 rem16u#1 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#2 rem16u#1 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#2 rem16u#1 ] ) + [97] (word*) lin16u_gen::lintab#5 ← phi( main/(const word[20]) main::lintab1#0 main::@3/(const word[20]) main::lintab2#0 main::@4/(const word[20]) main::lintab3#0 ) [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::lintab#5 ] ( main:2::lin16u_gen:5 [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::lintab#5 ] main:2::lin16u_gen:7 [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::lintab#5 ] main:2::lin16u_gen:9 [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::lintab#5 ] ) + [97] (word) lin16u_gen::min#3 ← phi( main/(word/signed word/dword/signed dword) 557 main::@3/(word/signed word/dword/signed dword) 31179 main::@4/(byte/signed byte/word/signed word/dword/signed dword) 0 ) [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::lintab#5 ] ( main:2::lin16u_gen:5 [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::lintab#5 ] main:2::lin16u_gen:7 [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::lintab#5 ] main:2::lin16u_gen:9 [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::lintab#5 ] ) + [97] (word) lin16u_gen::max#3 ← phi( main/(word/signed word/dword/signed dword) 29793 main::@3/(word/dword/signed dword) 63361 main::@4/(word/signed word/dword/signed dword) 25736 ) [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::lintab#5 ] ( main:2::lin16u_gen:5 [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::lintab#5 ] main:2::lin16u_gen:7 [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::lintab#5 ] main:2::lin16u_gen:9 [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::lintab#5 ] ) + [98] (word) lin16u_gen::ampl#0 ← (word) lin16u_gen::max#3 - (word) lin16u_gen::min#3 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 ] ) + [99] (word) divr16u::dividend#1 ← (word) lin16u_gen::ampl#0 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::dividend#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::dividend#1 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::dividend#1 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::dividend#1 ] ) + [100] call divr16u param-assignment [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] ) + [101] (word) divr16u::return#2 ← (word) divr16u::return#0 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#2 rem16u#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#2 rem16u#1 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#2 rem16u#1 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#2 rem16u#1 ] ) to:lin16u_gen::@3 lin16u_gen::@3: scope:[lin16u_gen] from lin16u_gen - [103] (word) lin16u_gen::stepi#0 ← (word) divr16u::return#2 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 rem16u#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 rem16u#1 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 rem16u#1 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 rem16u#1 ] ) - [104] (word) divr16u::divisor#1 ← (word) lin16u_gen::length#3 - (byte/signed byte/word/signed word/dword/signed dword) 1 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#1 rem16u#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#1 rem16u#1 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#1 rem16u#1 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#1 rem16u#1 ] ) - [105] (word) divr16u::rem#4 ← (word) rem16u#1 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#1 divr16u::rem#4 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#1 divr16u::rem#4 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#1 divr16u::rem#4 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#1 divr16u::rem#4 ] ) - [106] call divr16u param-assignment [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 lin16u_gen::stepi#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 lin16u_gen::stepi#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 lin16u_gen::stepi#0 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 lin16u_gen::stepi#0 ] ) - [107] (word) divr16u::return#3 ← (word) divr16u::return#0 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#3 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#3 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#3 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#3 ] ) + [102] (word) lin16u_gen::stepi#0 ← (word) divr16u::return#2 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 rem16u#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 rem16u#1 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 rem16u#1 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 rem16u#1 ] ) + [103] (word) divr16u::rem#4 ← (word) rem16u#1 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#4 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#4 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#4 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#4 ] ) + [104] call divr16u param-assignment [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 lin16u_gen::stepi#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 lin16u_gen::stepi#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 lin16u_gen::stepi#0 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 lin16u_gen::stepi#0 ] ) + [105] (word) divr16u::return#3 ← (word) divr16u::return#0 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#3 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#3 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#3 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#3 ] ) to:lin16u_gen::@4 lin16u_gen::@4: scope:[lin16u_gen] from lin16u_gen::@3 - [108] (word) lin16u_gen::stepf#0 ← (word) divr16u::return#3 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 lin16u_gen::stepf#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 lin16u_gen::stepf#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 lin16u_gen::stepf#0 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 lin16u_gen::stepf#0 ] ) - [109] (dword) lin16u_gen::step#0 ← (word) lin16u_gen::stepi#0 dw= (word) lin16u_gen::stepf#0 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::step#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::step#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::step#0 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::step#0 ] ) - [110] (dword) lin16u_gen::val#0 ← (word) lin16u_gen::min#3 dw= (byte/signed byte/word/signed word/dword/signed dword) 0 [ lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::step#0 lin16u_gen::val#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::step#0 lin16u_gen::val#0 ] main:2::lin16u_gen:7 [ lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::step#0 lin16u_gen::val#0 ] main:2::lin16u_gen:9 [ lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::step#0 lin16u_gen::val#0 ] ) + [106] (word) lin16u_gen::stepf#0 ← (word) divr16u::return#3 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 lin16u_gen::stepf#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 lin16u_gen::stepf#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 lin16u_gen::stepf#0 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 lin16u_gen::stepf#0 ] ) + [107] (dword) lin16u_gen::step#0 ← (word) lin16u_gen::stepi#0 dw= (word) lin16u_gen::stepf#0 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::step#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::step#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::step#0 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::step#0 ] ) + [108] (dword) lin16u_gen::val#0 ← (word) lin16u_gen::min#3 dw= (byte/signed byte/word/signed word/dword/signed dword) 0 [ lin16u_gen::lintab#5 lin16u_gen::step#0 lin16u_gen::val#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::lintab#5 lin16u_gen::step#0 lin16u_gen::val#0 ] main:2::lin16u_gen:7 [ lin16u_gen::lintab#5 lin16u_gen::step#0 lin16u_gen::val#0 ] main:2::lin16u_gen:9 [ lin16u_gen::lintab#5 lin16u_gen::step#0 lin16u_gen::val#0 ] ) to:lin16u_gen::@1 lin16u_gen::@1: scope:[lin16u_gen] from lin16u_gen::@1 lin16u_gen::@4 - [111] (word) lin16u_gen::i#2 ← phi( lin16u_gen::@1/(word) lin16u_gen::i#1 lin16u_gen::@4/(byte/signed byte/word/signed word/dword/signed dword) 0 ) [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] main:2::lin16u_gen:7 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] main:2::lin16u_gen:9 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] ) - [111] (word*) lin16u_gen::lintab#4 ← phi( lin16u_gen::@1/(word*) lin16u_gen::lintab#3 lin16u_gen::@4/(word*) lin16u_gen::lintab#5 ) [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] main:2::lin16u_gen:7 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] main:2::lin16u_gen:9 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] ) - [111] (dword) lin16u_gen::val#2 ← phi( lin16u_gen::@1/(dword) lin16u_gen::val#1 lin16u_gen::@4/(dword) lin16u_gen::val#0 ) [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] main:2::lin16u_gen:7 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] main:2::lin16u_gen:9 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] ) - [112] (word~) lin16u_gen::$5 ← > (dword) lin16u_gen::val#2 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::$5 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::$5 ] main:2::lin16u_gen:7 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::$5 ] main:2::lin16u_gen:9 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::$5 ] ) - [113] *((word*) lin16u_gen::lintab#4) ← (word~) lin16u_gen::$5 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] main:2::lin16u_gen:7 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] main:2::lin16u_gen:9 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] ) - [114] (dword) lin16u_gen::val#1 ← (dword) lin16u_gen::val#2 + (dword) lin16u_gen::step#0 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::val#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::val#1 ] main:2::lin16u_gen:7 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::val#1 ] main:2::lin16u_gen:9 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::val#1 ] ) - [115] (word*) lin16u_gen::lintab#3 ← (word*) lin16u_gen::lintab#4 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::i#2 lin16u_gen::val#1 lin16u_gen::lintab#3 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::i#2 lin16u_gen::val#1 lin16u_gen::lintab#3 ] main:2::lin16u_gen:7 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::i#2 lin16u_gen::val#1 lin16u_gen::lintab#3 ] main:2::lin16u_gen:9 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::i#2 lin16u_gen::val#1 lin16u_gen::lintab#3 ] ) - [116] (word) lin16u_gen::i#1 ← ++ (word) lin16u_gen::i#2 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] main:2::lin16u_gen:7 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] main:2::lin16u_gen:9 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] ) - [117] if((word) lin16u_gen::i#1<(word) lin16u_gen::length#3) goto lin16u_gen::@1 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] main:2::lin16u_gen:7 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] main:2::lin16u_gen:9 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] ) + [109] (word) lin16u_gen::i#2 ← phi( lin16u_gen::@1/(word) lin16u_gen::i#1 lin16u_gen::@4/(byte/signed byte/word/signed word/dword/signed dword) 0 ) [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] ( main:2::lin16u_gen:5 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] main:2::lin16u_gen:7 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] main:2::lin16u_gen:9 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] ) + [109] (word*) lin16u_gen::lintab#4 ← phi( lin16u_gen::@1/(word*) lin16u_gen::lintab#3 lin16u_gen::@4/(word*) lin16u_gen::lintab#5 ) [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] ( main:2::lin16u_gen:5 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] main:2::lin16u_gen:7 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] main:2::lin16u_gen:9 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] ) + [109] (dword) lin16u_gen::val#2 ← phi( lin16u_gen::@1/(dword) lin16u_gen::val#1 lin16u_gen::@4/(dword) lin16u_gen::val#0 ) [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] ( main:2::lin16u_gen:5 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] main:2::lin16u_gen:7 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] main:2::lin16u_gen:9 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] ) + [110] (word~) lin16u_gen::$5 ← > (dword) lin16u_gen::val#2 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::$5 ] ( main:2::lin16u_gen:5 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::$5 ] main:2::lin16u_gen:7 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::$5 ] main:2::lin16u_gen:9 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::$5 ] ) + [111] *((word*) lin16u_gen::lintab#4) ← (word~) lin16u_gen::$5 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] ( main:2::lin16u_gen:5 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] main:2::lin16u_gen:7 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] main:2::lin16u_gen:9 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] ) + [112] (dword) lin16u_gen::val#1 ← (dword) lin16u_gen::val#2 + (dword) lin16u_gen::step#0 [ lin16u_gen::step#0 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::val#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::step#0 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::val#1 ] main:2::lin16u_gen:7 [ lin16u_gen::step#0 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::val#1 ] main:2::lin16u_gen:9 [ lin16u_gen::step#0 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::val#1 ] ) + [113] (word*) lin16u_gen::lintab#3 ← (word*) lin16u_gen::lintab#4 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ lin16u_gen::step#0 lin16u_gen::i#2 lin16u_gen::val#1 lin16u_gen::lintab#3 ] ( main:2::lin16u_gen:5 [ lin16u_gen::step#0 lin16u_gen::i#2 lin16u_gen::val#1 lin16u_gen::lintab#3 ] main:2::lin16u_gen:7 [ lin16u_gen::step#0 lin16u_gen::i#2 lin16u_gen::val#1 lin16u_gen::lintab#3 ] main:2::lin16u_gen:9 [ lin16u_gen::step#0 lin16u_gen::i#2 lin16u_gen::val#1 lin16u_gen::lintab#3 ] ) + [114] (word) lin16u_gen::i#1 ← ++ (word) lin16u_gen::i#2 [ lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] main:2::lin16u_gen:7 [ lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] main:2::lin16u_gen:9 [ lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] ) + [115] if((word) lin16u_gen::i#1<(byte/signed byte/word/signed word/dword/signed dword) 20) goto lin16u_gen::@1 [ lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] main:2::lin16u_gen:7 [ lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] main:2::lin16u_gen:9 [ lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] ) to:lin16u_gen::@return lin16u_gen::@return: scope:[lin16u_gen] from lin16u_gen::@1 - [118] return [ ] ( main:2::lin16u_gen:5 [ ] main:2::lin16u_gen:7 [ ] main:2::lin16u_gen:9 [ ] ) + [116] return [ ] ( main:2::lin16u_gen:5 [ ] main:2::lin16u_gen:7 [ ] main:2::lin16u_gen:9 [ ] ) to:@return divr16u: scope:[divr16u] from lin16u_gen lin16u_gen::@3 - [119] (word) divr16u::divisor#6 ← phi( lin16u_gen/(word) divr16u::divisor#0 lin16u_gen::@3/(word) divr16u::divisor#1 ) [ divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ) - [119] (word) divr16u::dividend#5 ← phi( lin16u_gen/(word) divr16u::dividend#1 lin16u_gen::@3/(byte/signed byte/word/signed word/dword/signed dword) 0 ) [ divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ) - [119] (word) divr16u::rem#10 ← phi( lin16u_gen/(byte/signed byte/word/signed word/dword/signed dword) 0 lin16u_gen::@3/(word) divr16u::rem#4 ) [ divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ) + [117] (word) divr16u::divisor#6 ← phi( lin16u_gen/(byte/signed byte/word/signed word/dword/signed dword) 20-(byte/signed byte/word/signed word/dword/signed dword) 1 lin16u_gen::@3/(byte/signed byte/word/signed word/dword/signed dword) 20-(byte/signed byte/word/signed word/dword/signed dword) 1 ) [ divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ) + [117] (word) divr16u::dividend#5 ← phi( lin16u_gen/(word) divr16u::dividend#1 lin16u_gen::@3/(byte/signed byte/word/signed word/dword/signed dword) 0 ) [ divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ) + [117] (word) divr16u::rem#10 ← phi( lin16u_gen/(byte/signed byte/word/signed word/dword/signed dword) 0 lin16u_gen::@3/(word) divr16u::rem#4 ) [ divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ) to:divr16u::@1 divr16u::@1: scope:[divr16u] from divr16u divr16u::@3 - [120] (byte) divr16u::i#2 ← phi( divr16u/(byte/signed byte/word/signed word/dword/signed dword) 0 divr16u::@3/(byte) divr16u::i#1 ) [ divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ) - [120] (word) divr16u::quotient#3 ← phi( divr16u/(byte/signed byte/word/signed word/dword/signed dword) 0 divr16u::@3/(word) divr16u::return#0 ) [ divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ) - [120] (word) divr16u::dividend#3 ← phi( divr16u/(word) divr16u::dividend#5 divr16u::@3/(word) divr16u::dividend#0 ) [ divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ) - [120] (word) divr16u::rem#5 ← phi( divr16u/(word) divr16u::rem#10 divr16u::@3/(word) divr16u::rem#11 ) [ divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ) - [121] (word) divr16u::rem#0 ← (word) divr16u::rem#5 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) - [122] (byte~) divr16u::$1 ← > (word) divr16u::dividend#3 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) - [123] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) - [124] if((byte~) divr16u::$2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto divr16u::@2 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) + [118] (byte) divr16u::i#2 ← phi( divr16u/(byte/signed byte/word/signed word/dword/signed dword) 0 divr16u::@3/(byte) divr16u::i#1 ) [ divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ) + [118] (word) divr16u::quotient#3 ← phi( divr16u/(byte/signed byte/word/signed word/dword/signed dword) 0 divr16u::@3/(word) divr16u::return#0 ) [ divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ) + [118] (word) divr16u::dividend#3 ← phi( divr16u/(word) divr16u::dividend#5 divr16u::@3/(word) divr16u::dividend#0 ) [ divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ) + [118] (word) divr16u::rem#5 ← phi( divr16u/(word) divr16u::rem#10 divr16u::@3/(word) divr16u::rem#11 ) [ divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ) + [119] (word) divr16u::rem#0 ← (word) divr16u::rem#5 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) + [120] (byte~) divr16u::$1 ← > (word) divr16u::dividend#3 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) + [121] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) + [122] if((byte~) divr16u::$2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto divr16u::@2 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) to:divr16u::@4 divr16u::@4: scope:[divr16u] from divr16u::@1 - [125] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) + [123] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) to:divr16u::@2 divr16u::@2: scope:[divr16u] from divr16u::@1 divr16u::@4 - [126] (word) divr16u::rem#6 ← phi( divr16u::@1/(word) divr16u::rem#0 divr16u::@4/(word) divr16u::rem#1 ) [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] ) - [127] (word) divr16u::dividend#0 ← (word) divr16u::dividend#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ) - [128] (word) divr16u::quotient#1 ← (word) divr16u::quotient#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) - [129] if((word) divr16u::rem#6<(word) divr16u::divisor#6) goto divr16u::@3 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) + [124] (word) divr16u::rem#6 ← phi( divr16u::@1/(word) divr16u::rem#0 divr16u::@4/(word) divr16u::rem#1 ) [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] ) + [125] (word) divr16u::dividend#0 ← (word) divr16u::dividend#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ) + [126] (word) divr16u::quotient#1 ← (word) divr16u::quotient#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) + [127] if((word) divr16u::rem#6<(word) divr16u::divisor#6) goto divr16u::@3 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) to:divr16u::@5 divr16u::@5: scope:[divr16u] from divr16u::@2 - [130] (word) divr16u::quotient#2 ← ++ (word) divr16u::quotient#1 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] ) - [131] (word) divr16u::rem#2 ← (word) divr16u::rem#6 - (word) divr16u::divisor#6 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ) + [128] (word) divr16u::quotient#2 ← ++ (word) divr16u::quotient#1 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] ) + [129] (word) divr16u::rem#2 ← (word) divr16u::rem#6 - (word) divr16u::divisor#6 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ) to:divr16u::@3 divr16u::@3: scope:[divr16u] from divr16u::@2 divr16u::@5 - [132] (word) divr16u::return#0 ← phi( divr16u::@2/(word) divr16u::quotient#1 divr16u::@5/(word) divr16u::quotient#2 ) [ divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] ) - [132] (word) divr16u::rem#11 ← phi( divr16u::@2/(word) divr16u::rem#6 divr16u::@5/(word) divr16u::rem#2 ) [ divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] ) - [133] (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2 [ divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ) - [134] if((byte) divr16u::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto divr16u::@1 [ divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ) + [130] (word) divr16u::return#0 ← phi( divr16u::@2/(word) divr16u::quotient#1 divr16u::@5/(word) divr16u::quotient#2 ) [ divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] ) + [130] (word) divr16u::rem#11 ← phi( divr16u::@2/(word) divr16u::rem#6 divr16u::@5/(word) divr16u::rem#2 ) [ divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] ) + [131] (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2 [ divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ) + [132] if((byte) divr16u::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto divr16u::@1 [ divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ) to:divr16u::@6 divr16u::@6: scope:[divr16u] from divr16u::@3 - [135] (word) rem16u#1 ← (word) divr16u::rem#11 [ divr16u::return#0 rem16u#1 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] ) + [133] (word) rem16u#1 ← (word) divr16u::rem#11 [ divr16u::return#0 rem16u#1 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] ) to:divr16u::@return divr16u::@return: scope:[divr16u] from divr16u::@6 - [136] return [ divr16u::return#0 rem16u#1 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] ) + [134] return [ divr16u::return#0 rem16u#1 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] ) to:@return DOMINATORS @@ -3751,9 +3744,7 @@ VARIABLE REGISTER WEIGHTS (word) divr16u::dividend#3 5.0 (word) divr16u::dividend#5 4.0 (word) divr16u::divisor -(word) divr16u::divisor#0 2.0 -(word) divr16u::divisor#1 2.0 -(word) divr16u::divisor#6 1.625 +(word) divr16u::divisor#6 1.375 (byte) divr16u::i (byte) divr16u::i#1 16.5 (byte) divr16u::i#2 1.6923076923076923 @@ -3777,26 +3768,25 @@ VARIABLE REGISTER WEIGHTS (void()) lin16u_gen((word) lin16u_gen::min , (word) lin16u_gen::max , (word*) lin16u_gen::lintab , (word) lin16u_gen::length) (word~) lin16u_gen::$5 22.0 (word) lin16u_gen::ampl -(word) lin16u_gen::ampl#0 2.0 +(word) lin16u_gen::ampl#0 4.0 (word) lin16u_gen::i (word) lin16u_gen::i#1 16.5 (word) lin16u_gen::i#2 4.4 (word) lin16u_gen::length -(word) lin16u_gen::length#3 0.7142857142857143 (word*) lin16u_gen::lintab (word*) lin16u_gen::lintab#3 7.333333333333333 (word*) lin16u_gen::lintab#4 8.75 -(word*) lin16u_gen::lintab#5 0.14285714285714285 +(word*) lin16u_gen::lintab#5 0.16666666666666666 (word) lin16u_gen::max (word) lin16u_gen::max#3 2.0 (word) lin16u_gen::min -(word) lin16u_gen::min#3 0.3076923076923077 +(word) lin16u_gen::min#3 0.36363636363636365 (dword) lin16u_gen::step (dword) lin16u_gen::step#0 1.4444444444444446 (word) lin16u_gen::stepf (word) lin16u_gen::stepf#0 4.0 (word) lin16u_gen::stepi -(word) lin16u_gen::stepi#0 0.6666666666666666 +(word) lin16u_gen::stepi#0 0.8 (dword) lin16u_gen::val (dword) lin16u_gen::val#0 4.0 (dword) lin16u_gen::val#1 5.5 @@ -3853,7 +3843,7 @@ VARIABLE REGISTER WEIGHTS (word) print_word::w#4 22.0 (word) print_word::w#5 22.0 (word) rem16u -(word) rem16u#1 0.6666666666666666 +(word) rem16u#1 0.8 Initial phi equivalence classes [ main::i#10 main::i#1 ] @@ -3866,11 +3856,10 @@ Initial phi equivalence classes [ print_cls::sc#2 print_cls::sc#1 ] [ lin16u_gen::max#3 ] [ lin16u_gen::min#3 ] -[ lin16u_gen::length#3 ] [ lin16u_gen::val#2 lin16u_gen::val#1 lin16u_gen::val#0 ] [ lin16u_gen::lintab#4 lin16u_gen::lintab#3 lin16u_gen::lintab#5 ] [ lin16u_gen::i#2 lin16u_gen::i#1 ] -[ divr16u::divisor#6 divr16u::divisor#0 divr16u::divisor#1 ] +[ divr16u::divisor#6 ] [ divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] [ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#1 divr16u::dividend#0 ] [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] @@ -3898,11 +3887,10 @@ Complete equivalence classes [ print_cls::sc#2 print_cls::sc#1 ] [ lin16u_gen::max#3 ] [ lin16u_gen::min#3 ] -[ lin16u_gen::length#3 ] [ lin16u_gen::val#2 lin16u_gen::val#1 lin16u_gen::val#0 ] [ lin16u_gen::lintab#4 lin16u_gen::lintab#3 lin16u_gen::lintab#5 ] [ lin16u_gen::i#2 lin16u_gen::i#1 ] -[ divr16u::divisor#6 divr16u::divisor#0 divr16u::divisor#1 ] +[ divr16u::divisor#6 ] [ divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] [ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#1 divr16u::dividend#0 ] [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] @@ -3929,27 +3917,26 @@ Allocated zp ZP_WORD:11 [ print_str::str#10 print_str::str#12 print_str::str#0 ] Allocated zp ZP_WORD:13 [ print_cls::sc#2 print_cls::sc#1 ] Allocated zp ZP_WORD:15 [ lin16u_gen::max#3 ] Allocated zp ZP_WORD:17 [ lin16u_gen::min#3 ] -Allocated zp ZP_WORD:19 [ lin16u_gen::length#3 ] -Allocated zp ZP_DWORD:21 [ lin16u_gen::val#2 lin16u_gen::val#1 lin16u_gen::val#0 ] -Allocated zp ZP_WORD:25 [ lin16u_gen::lintab#4 lin16u_gen::lintab#3 lin16u_gen::lintab#5 ] -Allocated zp ZP_WORD:27 [ lin16u_gen::i#2 lin16u_gen::i#1 ] -Allocated zp ZP_WORD:29 [ divr16u::divisor#6 divr16u::divisor#0 divr16u::divisor#1 ] -Allocated zp ZP_WORD:31 [ divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] -Allocated zp ZP_WORD:33 [ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#1 divr16u::dividend#0 ] -Allocated zp ZP_WORD:35 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] -Allocated zp ZP_BYTE:37 [ divr16u::i#2 divr16u::i#1 ] -Allocated zp ZP_BYTE:38 [ print_byte::$0 ] -Allocated zp ZP_BYTE:39 [ print_byte::$2 ] -Allocated zp ZP_WORD:40 [ lin16u_gen::ampl#0 ] -Allocated zp ZP_WORD:42 [ divr16u::return#2 ] -Allocated zp ZP_WORD:44 [ lin16u_gen::stepi#0 ] -Allocated zp ZP_WORD:46 [ divr16u::return#3 ] -Allocated zp ZP_WORD:48 [ lin16u_gen::stepf#0 ] -Allocated zp ZP_DWORD:50 [ lin16u_gen::step#0 ] -Allocated zp ZP_WORD:54 [ lin16u_gen::$5 ] -Allocated zp ZP_BYTE:56 [ divr16u::$1 ] -Allocated zp ZP_BYTE:57 [ divr16u::$2 ] -Allocated zp ZP_WORD:58 [ rem16u#1 ] +Allocated zp ZP_DWORD:19 [ lin16u_gen::val#2 lin16u_gen::val#1 lin16u_gen::val#0 ] +Allocated zp ZP_WORD:23 [ lin16u_gen::lintab#4 lin16u_gen::lintab#3 lin16u_gen::lintab#5 ] +Allocated zp ZP_WORD:25 [ lin16u_gen::i#2 lin16u_gen::i#1 ] +Allocated zp ZP_WORD:27 [ divr16u::divisor#6 ] +Allocated zp ZP_WORD:29 [ divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] +Allocated zp ZP_WORD:31 [ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#1 divr16u::dividend#0 ] +Allocated zp ZP_WORD:33 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] +Allocated zp ZP_BYTE:35 [ divr16u::i#2 divr16u::i#1 ] +Allocated zp ZP_BYTE:36 [ print_byte::$0 ] +Allocated zp ZP_BYTE:37 [ print_byte::$2 ] +Allocated zp ZP_WORD:38 [ lin16u_gen::ampl#0 ] +Allocated zp ZP_WORD:40 [ divr16u::return#2 ] +Allocated zp ZP_WORD:42 [ lin16u_gen::stepi#0 ] +Allocated zp ZP_WORD:44 [ divr16u::return#3 ] +Allocated zp ZP_WORD:46 [ lin16u_gen::stepf#0 ] +Allocated zp ZP_DWORD:48 [ lin16u_gen::step#0 ] +Allocated zp ZP_WORD:52 [ lin16u_gen::$5 ] +Allocated zp ZP_BYTE:54 [ divr16u::$1 ] +Allocated zp ZP_BYTE:55 [ divr16u::$2 ] +Allocated zp ZP_WORD:56 [ rem16u#1 ] INITIAL ASM //SEG0 Basic Upstart @@ -3957,7 +3944,7 @@ INITIAL ASM :BasicUpstart(main) .pc = $80d "Program" //SEG1 Global Constants & labels - .label rem16u = $3a + .label rem16u = $38 .label print_char_cursor = 9 .label print_line_cursor = 3 //SEG2 @begin @@ -3987,433 +3974,418 @@ main: { sta lin16u_gen.lintab lda #>lintab1 sta lin16u_gen.lintab+1 - //SEG13 [97] phi (word) lin16u_gen::length#3 = (byte/signed byte/word/signed word/dword/signed dword) 20 [phi:main->lin16u_gen#1] -- vwuz1=vbuc1 - lda #<$14 - sta lin16u_gen.length - lda #>$14 - sta lin16u_gen.length+1 - //SEG14 [97] phi (word) lin16u_gen::min#3 = (word/signed word/dword/signed dword) 557 [phi:main->lin16u_gen#2] -- vwuz1=vwuc1 + //SEG13 [97] phi (word) lin16u_gen::min#3 = (word/signed word/dword/signed dword) 557 [phi:main->lin16u_gen#1] -- vwuz1=vwuc1 lda #<$22d sta lin16u_gen.min lda #>$22d sta lin16u_gen.min+1 - //SEG15 [97] phi (word) lin16u_gen::max#3 = (word/signed word/dword/signed dword) 29793 [phi:main->lin16u_gen#3] -- vwuz1=vwuc1 + //SEG14 [97] phi (word) lin16u_gen::max#3 = (word/signed word/dword/signed dword) 29793 [phi:main->lin16u_gen#2] -- vwuz1=vwuc1 lda #<$7461 sta lin16u_gen.max lda #>$7461 sta lin16u_gen.max+1 jsr lin16u_gen - //SEG16 [6] phi from main to main::@3 [phi:main->main::@3] + //SEG15 [6] phi from main to main::@3 [phi:main->main::@3] b3_from_main: jmp b3 - //SEG17 main::@3 + //SEG16 main::@3 b3: - //SEG18 [7] call lin16u_gen param-assignment [ ] ( main:2 [ ] ) - //SEG19 [97] phi from main::@3 to lin16u_gen [phi:main::@3->lin16u_gen] + //SEG17 [7] call lin16u_gen param-assignment [ ] ( main:2 [ ] ) + //SEG18 [97] phi from main::@3 to lin16u_gen [phi:main::@3->lin16u_gen] lin16u_gen_from_b3: - //SEG20 [97] phi (word*) lin16u_gen::lintab#5 = (const word[20]) main::lintab2#0 [phi:main::@3->lin16u_gen#0] -- pwuz1=pwuc1 + //SEG19 [97] phi (word*) lin16u_gen::lintab#5 = (const word[20]) main::lintab2#0 [phi:main::@3->lin16u_gen#0] -- pwuz1=pwuc1 lda #lintab2 sta lin16u_gen.lintab+1 - //SEG21 [97] phi (word) lin16u_gen::length#3 = (byte/signed byte/word/signed word/dword/signed dword) 20 [phi:main::@3->lin16u_gen#1] -- vwuz1=vbuc1 - lda #<$14 - sta lin16u_gen.length - lda #>$14 - sta lin16u_gen.length+1 - //SEG22 [97] phi (word) lin16u_gen::min#3 = (word/signed word/dword/signed dword) 31179 [phi:main::@3->lin16u_gen#2] -- vwuz1=vwuc1 + //SEG20 [97] phi (word) lin16u_gen::min#3 = (word/signed word/dword/signed dword) 31179 [phi:main::@3->lin16u_gen#1] -- vwuz1=vwuc1 lda #<$79cb sta lin16u_gen.min lda #>$79cb sta lin16u_gen.min+1 - //SEG23 [97] phi (word) lin16u_gen::max#3 = (word/dword/signed dword) 63361 [phi:main::@3->lin16u_gen#3] -- vwuz1=vwuc1 + //SEG21 [97] phi (word) lin16u_gen::max#3 = (word/dword/signed dword) 63361 [phi:main::@3->lin16u_gen#2] -- vwuz1=vwuc1 lda #<$f781 sta lin16u_gen.max lda #>$f781 sta lin16u_gen.max+1 jsr lin16u_gen - //SEG24 [8] phi from main::@3 to main::@4 [phi:main::@3->main::@4] + //SEG22 [8] phi from main::@3 to main::@4 [phi:main::@3->main::@4] b4_from_b3: jmp b4 - //SEG25 main::@4 + //SEG23 main::@4 b4: - //SEG26 [9] call lin16u_gen param-assignment [ ] ( main:2 [ ] ) - //SEG27 [97] phi from main::@4 to lin16u_gen [phi:main::@4->lin16u_gen] + //SEG24 [9] call lin16u_gen param-assignment [ ] ( main:2 [ ] ) + //SEG25 [97] phi from main::@4 to lin16u_gen [phi:main::@4->lin16u_gen] lin16u_gen_from_b4: - //SEG28 [97] phi (word*) lin16u_gen::lintab#5 = (const word[20]) main::lintab3#0 [phi:main::@4->lin16u_gen#0] -- pwuz1=pwuc1 + //SEG26 [97] phi (word*) lin16u_gen::lintab#5 = (const word[20]) main::lintab3#0 [phi:main::@4->lin16u_gen#0] -- pwuz1=pwuc1 lda #lintab3 sta lin16u_gen.lintab+1 - //SEG29 [97] phi (word) lin16u_gen::length#3 = (byte/signed byte/word/signed word/dword/signed dword) 20 [phi:main::@4->lin16u_gen#1] -- vwuz1=vbuc1 - lda #<$14 - sta lin16u_gen.length - lda #>$14 - sta lin16u_gen.length+1 - //SEG30 [97] phi (word) lin16u_gen::min#3 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::@4->lin16u_gen#2] -- vwuz1=vbuc1 + //SEG27 [97] phi (word) lin16u_gen::min#3 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::@4->lin16u_gen#1] -- vwuz1=vbuc1 lda #<0 sta lin16u_gen.min lda #>0 sta lin16u_gen.min+1 - //SEG31 [97] phi (word) lin16u_gen::max#3 = (word/signed word/dword/signed dword) 25736 [phi:main::@4->lin16u_gen#3] -- vwuz1=vwuc1 + //SEG28 [97] phi (word) lin16u_gen::max#3 = (word/signed word/dword/signed dword) 25736 [phi:main::@4->lin16u_gen#2] -- vwuz1=vwuc1 lda #<$6488 sta lin16u_gen.max lda #>$6488 sta lin16u_gen.max+1 jsr lin16u_gen - //SEG32 [10] phi from main::@4 to main::@5 [phi:main::@4->main::@5] + //SEG29 [10] phi from main::@4 to main::@5 [phi:main::@4->main::@5] b5_from_b4: jmp b5 - //SEG33 main::@5 + //SEG30 main::@5 b5: - //SEG34 [11] call print_cls param-assignment [ ] ( main:2 [ ] ) - //SEG35 [91] phi from main::@5 to print_cls [phi:main::@5->print_cls] + //SEG31 [11] call print_cls param-assignment [ ] ( main:2 [ ] ) + //SEG32 [91] phi from main::@5 to print_cls [phi:main::@5->print_cls] print_cls_from_b5: jsr print_cls - //SEG36 [12] phi from main::@5 to main::@6 [phi:main::@5->main::@6] + //SEG33 [12] phi from main::@5 to main::@6 [phi:main::@5->main::@6] b6_from_b5: jmp b6 - //SEG37 main::@6 + //SEG34 main::@6 b6: - //SEG38 [13] call print_str param-assignment [ print_char_cursor#2 ] ( main:2 [ print_char_cursor#2 ] ) - //SEG39 [84] phi from main::@6 to print_str [phi:main::@6->print_str] + //SEG35 [13] call print_str param-assignment [ print_char_cursor#2 ] ( main:2 [ print_char_cursor#2 ] ) + //SEG36 [84] phi from main::@6 to print_str [phi:main::@6->print_str] print_str_from_b6: - //SEG40 [84] phi (byte*) print_char_cursor#86 = ((byte*))(word/signed word/dword/signed dword) 1024 [phi:main::@6->print_str#0] -- pbuz1=pbuc1 + //SEG37 [84] phi (byte*) print_char_cursor#86 = ((byte*))(word/signed word/dword/signed dword) 1024 [phi:main::@6->print_str#0] -- pbuz1=pbuc1 lda #<$400 sta print_char_cursor lda #>$400 sta print_char_cursor+1 - //SEG41 [84] phi (byte*) print_str::str#12 = (const string) main::str [phi:main::@6->print_str#1] -- pbuz1=pbuc1 + //SEG38 [84] phi (byte*) print_str::str#12 = (const string) main::str [phi:main::@6->print_str#1] -- pbuz1=pbuc1 lda #str sta print_str.str+1 jsr print_str - //SEG42 [14] phi from main::@6 to main::@7 [phi:main::@6->main::@7] + //SEG39 [14] phi from main::@6 to main::@7 [phi:main::@6->main::@7] b7_from_b6: jmp b7 - //SEG43 main::@7 + //SEG40 main::@7 b7: - //SEG44 [15] call print_word param-assignment [ print_char_cursor#11 ] ( main:2 [ print_char_cursor#11 ] ) - //SEG45 [66] phi from main::@7 to print_word [phi:main::@7->print_word] + //SEG41 [15] call print_word param-assignment [ print_char_cursor#11 ] ( main:2 [ print_char_cursor#11 ] ) + //SEG42 [66] phi from main::@7 to print_word [phi:main::@7->print_word] print_word_from_b7: - //SEG46 [66] phi (word) print_word::w#10 = (word/signed word/dword/signed dword) 557 [phi:main::@7->print_word#0] -- vwuz1=vwuc1 + //SEG43 [66] phi (word) print_word::w#10 = (word/signed word/dword/signed dword) 557 [phi:main::@7->print_word#0] -- vwuz1=vwuc1 lda #<$22d sta print_word.w lda #>$22d sta print_word.w+1 jsr print_word - //SEG47 [16] phi from main::@7 to main::@8 [phi:main::@7->main::@8] + //SEG44 [16] phi from main::@7 to main::@8 [phi:main::@7->main::@8] b8_from_b7: jmp b8 - //SEG48 main::@8 + //SEG45 main::@8 b8: - //SEG49 [17] call print_str param-assignment [ print_char_cursor#2 ] ( main:2 [ print_char_cursor#2 ] ) - //SEG50 [84] phi from main::@8 to print_str [phi:main::@8->print_str] + //SEG46 [17] call print_str param-assignment [ print_char_cursor#2 ] ( main:2 [ print_char_cursor#2 ] ) + //SEG47 [84] phi from main::@8 to print_str [phi:main::@8->print_str] print_str_from_b8: - //SEG51 [84] phi (byte*) print_char_cursor#86 = (byte*) print_char_cursor#11 [phi:main::@8->print_str#0] -- register_copy - //SEG52 [84] phi (byte*) print_str::str#12 = (const string) main::str1 [phi:main::@8->print_str#1] -- pbuz1=pbuc1 + //SEG48 [84] phi (byte*) print_char_cursor#86 = (byte*) print_char_cursor#11 [phi:main::@8->print_str#0] -- register_copy + //SEG49 [84] phi (byte*) print_str::str#12 = (const string) main::str1 [phi:main::@8->print_str#1] -- pbuz1=pbuc1 lda #str1 sta print_str.str+1 jsr print_str - //SEG53 [18] phi from main::@8 to main::@9 [phi:main::@8->main::@9] + //SEG50 [18] phi from main::@8 to main::@9 [phi:main::@8->main::@9] b9_from_b8: jmp b9 - //SEG54 main::@9 + //SEG51 main::@9 b9: - //SEG55 [19] call print_word param-assignment [ print_char_cursor#11 ] ( main:2 [ print_char_cursor#11 ] ) - //SEG56 [66] phi from main::@9 to print_word [phi:main::@9->print_word] + //SEG52 [19] call print_word param-assignment [ print_char_cursor#11 ] ( main:2 [ print_char_cursor#11 ] ) + //SEG53 [66] phi from main::@9 to print_word [phi:main::@9->print_word] print_word_from_b9: - //SEG57 [66] phi (word) print_word::w#10 = (word/signed word/dword/signed dword) 31179 [phi:main::@9->print_word#0] -- vwuz1=vwuc1 + //SEG54 [66] phi (word) print_word::w#10 = (word/signed word/dword/signed dword) 31179 [phi:main::@9->print_word#0] -- vwuz1=vwuc1 lda #<$79cb sta print_word.w lda #>$79cb sta print_word.w+1 jsr print_word - //SEG58 [20] phi from main::@9 to main::@10 [phi:main::@9->main::@10] + //SEG55 [20] phi from main::@9 to main::@10 [phi:main::@9->main::@10] b10_from_b9: jmp b10 - //SEG59 main::@10 + //SEG56 main::@10 b10: - //SEG60 [21] call print_str param-assignment [ print_char_cursor#2 ] ( main:2 [ print_char_cursor#2 ] ) - //SEG61 [84] phi from main::@10 to print_str [phi:main::@10->print_str] + //SEG57 [21] call print_str param-assignment [ print_char_cursor#2 ] ( main:2 [ print_char_cursor#2 ] ) + //SEG58 [84] phi from main::@10 to print_str [phi:main::@10->print_str] print_str_from_b10: - //SEG62 [84] phi (byte*) print_char_cursor#86 = (byte*) print_char_cursor#11 [phi:main::@10->print_str#0] -- register_copy - //SEG63 [84] phi (byte*) print_str::str#12 = (const string) main::str2 [phi:main::@10->print_str#1] -- pbuz1=pbuc1 + //SEG59 [84] phi (byte*) print_char_cursor#86 = (byte*) print_char_cursor#11 [phi:main::@10->print_str#0] -- register_copy + //SEG60 [84] phi (byte*) print_str::str#12 = (const string) main::str2 [phi:main::@10->print_str#1] -- pbuz1=pbuc1 lda #str2 sta print_str.str+1 jsr print_str - //SEG64 [22] phi from main::@10 to main::@11 [phi:main::@10->main::@11] + //SEG61 [22] phi from main::@10 to main::@11 [phi:main::@10->main::@11] b11_from_b10: jmp b11 - //SEG65 main::@11 + //SEG62 main::@11 b11: - //SEG66 [23] call print_word param-assignment [ print_char_cursor#11 ] ( main:2 [ print_char_cursor#11 ] ) - //SEG67 [66] phi from main::@11 to print_word [phi:main::@11->print_word] + //SEG63 [23] call print_word param-assignment [ print_char_cursor#11 ] ( main:2 [ print_char_cursor#11 ] ) + //SEG64 [66] phi from main::@11 to print_word [phi:main::@11->print_word] print_word_from_b11: - //SEG68 [66] phi (word) print_word::w#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::@11->print_word#0] -- vwuz1=vbuc1 + //SEG65 [66] phi (word) print_word::w#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::@11->print_word#0] -- vwuz1=vbuc1 lda #<0 sta print_word.w lda #>0 sta print_word.w+1 jsr print_word - //SEG69 [24] phi from main::@11 to main::@12 [phi:main::@11->main::@12] + //SEG66 [24] phi from main::@11 to main::@12 [phi:main::@11->main::@12] b12_from_b11: jmp b12 - //SEG70 main::@12 + //SEG67 main::@12 b12: - //SEG71 [25] call print_ln param-assignment [ print_line_cursor#1 ] ( main:2 [ print_line_cursor#1 ] ) - //SEG72 [61] phi from main::@12 to print_ln [phi:main::@12->print_ln] + //SEG68 [25] call print_ln param-assignment [ print_line_cursor#1 ] ( main:2 [ print_line_cursor#1 ] ) + //SEG69 [61] phi from main::@12 to print_ln [phi:main::@12->print_ln] print_ln_from_b12: - //SEG73 [61] phi (byte*) print_line_cursor#21 = ((byte*))(word/signed word/dword/signed dword) 1024 [phi:main::@12->print_ln#0] -- pbuz1=pbuc1 + //SEG70 [61] phi (byte*) print_line_cursor#21 = ((byte*))(word/signed word/dword/signed dword) 1024 [phi:main::@12->print_ln#0] -- pbuz1=pbuc1 lda #<$400 sta print_line_cursor lda #>$400 sta print_line_cursor+1 jsr print_ln - //SEG74 [26] phi from main::@12 to main::@1 [phi:main::@12->main::@1] + //SEG71 [26] phi from main::@12 to main::@1 [phi:main::@12->main::@1] b1_from_b12: - //SEG75 [26] phi (byte) main::i#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::@12->main::@1#0] -- vbuz1=vbuc1 + //SEG72 [26] phi (byte) main::i#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::@12->main::@1#0] -- vbuz1=vbuc1 lda #0 sta i jmp b1 - //SEG76 [26] phi from main::@21 to main::@1 [phi:main::@21->main::@1] + //SEG73 [26] phi from main::@21 to main::@1 [phi:main::@21->main::@1] b1_from_b21: - //SEG77 [26] phi (byte) main::i#10 = (byte) main::i#1 [phi:main::@21->main::@1#0] -- register_copy + //SEG74 [26] phi (byte) main::i#10 = (byte) main::i#1 [phi:main::@21->main::@1#0] -- register_copy jmp b1 - //SEG78 main::@1 + //SEG75 main::@1 b1: - //SEG79 [27] (byte) print_byte::b#2 ← (byte) main::i#10 [ main::i#10 print_byte::b#2 print_line_cursor#1 ] ( main:2 [ main::i#10 print_byte::b#2 print_line_cursor#1 ] ) -- vbuz1=vbuz2 + //SEG76 [27] (byte) print_byte::b#2 ← (byte) main::i#10 [ main::i#10 print_byte::b#2 print_line_cursor#1 ] ( main:2 [ main::i#10 print_byte::b#2 print_line_cursor#1 ] ) -- vbuz1=vbuz2 lda i sta print_byte.b - //SEG80 [28] (byte*~) print_char_cursor#91 ← (byte*) print_line_cursor#1 [ main::i#10 print_byte::b#2 print_char_cursor#91 print_line_cursor#1 ] ( main:2 [ main::i#10 print_byte::b#2 print_char_cursor#91 print_line_cursor#1 ] ) -- pbuz1=pbuz2 + //SEG77 [28] (byte*~) print_char_cursor#91 ← (byte*) print_line_cursor#1 [ main::i#10 print_byte::b#2 print_char_cursor#91 print_line_cursor#1 ] ( main:2 [ main::i#10 print_byte::b#2 print_char_cursor#91 print_line_cursor#1 ] ) -- pbuz1=pbuz2 lda print_line_cursor sta print_char_cursor lda print_line_cursor+1 sta print_char_cursor+1 - //SEG81 [29] call print_byte param-assignment [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] ( main:2 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] ) - //SEG82 [72] phi from main::@1 to print_byte [phi:main::@1->print_byte] + //SEG78 [29] call print_byte param-assignment [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] ( main:2 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] ) + //SEG79 [72] phi from main::@1 to print_byte [phi:main::@1->print_byte] print_byte_from_b1: - //SEG83 [72] phi (byte*) print_char_cursor#81 = (byte*~) print_char_cursor#91 [phi:main::@1->print_byte#0] -- register_copy - //SEG84 [72] phi (byte) print_byte::b#3 = (byte) print_byte::b#2 [phi:main::@1->print_byte#1] -- register_copy + //SEG80 [72] phi (byte*) print_char_cursor#81 = (byte*~) print_char_cursor#91 [phi:main::@1->print_byte#0] -- register_copy + //SEG81 [72] phi (byte) print_byte::b#3 = (byte) print_byte::b#2 [phi:main::@1->print_byte#1] -- register_copy jsr print_byte - //SEG85 [30] phi from main::@1 to main::@14 [phi:main::@1->main::@14] + //SEG82 [30] phi from main::@1 to main::@14 [phi:main::@1->main::@14] b14_from_b1: jmp b14 - //SEG86 main::@14 + //SEG83 main::@14 b14: - //SEG87 [31] call print_str param-assignment [ main::i#10 print_line_cursor#1 print_char_cursor#2 ] ( main:2 [ main::i#10 print_line_cursor#1 print_char_cursor#2 ] ) - //SEG88 [84] phi from main::@14 to print_str [phi:main::@14->print_str] + //SEG84 [31] call print_str param-assignment [ main::i#10 print_line_cursor#1 print_char_cursor#2 ] ( main:2 [ main::i#10 print_line_cursor#1 print_char_cursor#2 ] ) + //SEG85 [84] phi from main::@14 to print_str [phi:main::@14->print_str] print_str_from_b14: - //SEG89 [84] phi (byte*) print_char_cursor#86 = (byte*) print_char_cursor#11 [phi:main::@14->print_str#0] -- register_copy - //SEG90 [84] phi (byte*) print_str::str#12 = (const string) main::str3 [phi:main::@14->print_str#1] -- pbuz1=pbuc1 + //SEG86 [84] phi (byte*) print_char_cursor#86 = (byte*) print_char_cursor#11 [phi:main::@14->print_str#0] -- register_copy + //SEG87 [84] phi (byte*) print_str::str#12 = (const string) main::str3 [phi:main::@14->print_str#1] -- pbuz1=pbuc1 lda #str3 sta print_str.str+1 jsr print_str jmp b15 - //SEG91 main::@15 + //SEG88 main::@15 b15: - //SEG92 [32] (word) print_word::w#3 ← *((const word[20]) main::lintab1#0 + (byte) main::i#10) [ main::i#10 print_line_cursor#1 print_word::w#3 print_char_cursor#2 ] ( main:2 [ main::i#10 print_line_cursor#1 print_word::w#3 print_char_cursor#2 ] ) -- vwuz1=pwuc1_derefidx_vbuz2 + //SEG89 [32] (word) print_word::w#3 ← *((const word[20]) main::lintab1#0 + (byte) main::i#10) [ main::i#10 print_line_cursor#1 print_word::w#3 print_char_cursor#2 ] ( main:2 [ main::i#10 print_line_cursor#1 print_word::w#3 print_char_cursor#2 ] ) -- vwuz1=pwuc1_derefidx_vbuz2 ldy i lda lintab1,y sta print_word.w lda lintab1+1,y sta print_word.w+1 - //SEG93 [33] call print_word param-assignment [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] ( main:2 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] ) - //SEG94 [66] phi from main::@15 to print_word [phi:main::@15->print_word] + //SEG90 [33] call print_word param-assignment [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] ( main:2 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] ) + //SEG91 [66] phi from main::@15 to print_word [phi:main::@15->print_word] print_word_from_b15: - //SEG95 [66] phi (word) print_word::w#10 = (word) print_word::w#3 [phi:main::@15->print_word#0] -- register_copy + //SEG92 [66] phi (word) print_word::w#10 = (word) print_word::w#3 [phi:main::@15->print_word#0] -- register_copy jsr print_word - //SEG96 [34] phi from main::@15 to main::@16 [phi:main::@15->main::@16] + //SEG93 [34] phi from main::@15 to main::@16 [phi:main::@15->main::@16] b16_from_b15: jmp b16 - //SEG97 main::@16 + //SEG94 main::@16 b16: - //SEG98 [35] call print_str param-assignment [ main::i#10 print_line_cursor#1 print_char_cursor#2 ] ( main:2 [ main::i#10 print_line_cursor#1 print_char_cursor#2 ] ) - //SEG99 [84] phi from main::@16 to print_str [phi:main::@16->print_str] + //SEG95 [35] call print_str param-assignment [ main::i#10 print_line_cursor#1 print_char_cursor#2 ] ( main:2 [ main::i#10 print_line_cursor#1 print_char_cursor#2 ] ) + //SEG96 [84] phi from main::@16 to print_str [phi:main::@16->print_str] print_str_from_b16: - //SEG100 [84] phi (byte*) print_char_cursor#86 = (byte*) print_char_cursor#11 [phi:main::@16->print_str#0] -- register_copy - //SEG101 [84] phi (byte*) print_str::str#12 = (const string) main::str4 [phi:main::@16->print_str#1] -- pbuz1=pbuc1 + //SEG97 [84] phi (byte*) print_char_cursor#86 = (byte*) print_char_cursor#11 [phi:main::@16->print_str#0] -- register_copy + //SEG98 [84] phi (byte*) print_str::str#12 = (const string) main::str4 [phi:main::@16->print_str#1] -- pbuz1=pbuc1 lda #str4 sta print_str.str+1 jsr print_str jmp b17 - //SEG102 main::@17 + //SEG99 main::@17 b17: - //SEG103 [36] (word) print_word::w#4 ← *((const word[20]) main::lintab2#0 + (byte) main::i#10) [ main::i#10 print_line_cursor#1 print_word::w#4 print_char_cursor#2 ] ( main:2 [ main::i#10 print_line_cursor#1 print_word::w#4 print_char_cursor#2 ] ) -- vwuz1=pwuc1_derefidx_vbuz2 + //SEG100 [36] (word) print_word::w#4 ← *((const word[20]) main::lintab2#0 + (byte) main::i#10) [ main::i#10 print_line_cursor#1 print_word::w#4 print_char_cursor#2 ] ( main:2 [ main::i#10 print_line_cursor#1 print_word::w#4 print_char_cursor#2 ] ) -- vwuz1=pwuc1_derefidx_vbuz2 ldy i lda lintab2,y sta print_word.w lda lintab2+1,y sta print_word.w+1 - //SEG104 [37] call print_word param-assignment [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] ( main:2 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] ) - //SEG105 [66] phi from main::@17 to print_word [phi:main::@17->print_word] + //SEG101 [37] call print_word param-assignment [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] ( main:2 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] ) + //SEG102 [66] phi from main::@17 to print_word [phi:main::@17->print_word] print_word_from_b17: - //SEG106 [66] phi (word) print_word::w#10 = (word) print_word::w#4 [phi:main::@17->print_word#0] -- register_copy + //SEG103 [66] phi (word) print_word::w#10 = (word) print_word::w#4 [phi:main::@17->print_word#0] -- register_copy jsr print_word - //SEG107 [38] phi from main::@17 to main::@18 [phi:main::@17->main::@18] + //SEG104 [38] phi from main::@17 to main::@18 [phi:main::@17->main::@18] b18_from_b17: jmp b18 - //SEG108 main::@18 + //SEG105 main::@18 b18: - //SEG109 [39] call print_str param-assignment [ main::i#10 print_line_cursor#1 print_char_cursor#2 ] ( main:2 [ main::i#10 print_line_cursor#1 print_char_cursor#2 ] ) - //SEG110 [84] phi from main::@18 to print_str [phi:main::@18->print_str] + //SEG106 [39] call print_str param-assignment [ main::i#10 print_line_cursor#1 print_char_cursor#2 ] ( main:2 [ main::i#10 print_line_cursor#1 print_char_cursor#2 ] ) + //SEG107 [84] phi from main::@18 to print_str [phi:main::@18->print_str] print_str_from_b18: - //SEG111 [84] phi (byte*) print_char_cursor#86 = (byte*) print_char_cursor#11 [phi:main::@18->print_str#0] -- register_copy - //SEG112 [84] phi (byte*) print_str::str#12 = (const string) main::str5 [phi:main::@18->print_str#1] -- pbuz1=pbuc1 + //SEG108 [84] phi (byte*) print_char_cursor#86 = (byte*) print_char_cursor#11 [phi:main::@18->print_str#0] -- register_copy + //SEG109 [84] phi (byte*) print_str::str#12 = (const string) main::str5 [phi:main::@18->print_str#1] -- pbuz1=pbuc1 lda #str5 sta print_str.str+1 jsr print_str jmp b19 - //SEG113 main::@19 + //SEG110 main::@19 b19: - //SEG114 [40] (word) print_word::w#5 ← *((const word[20]) main::lintab3#0 + (byte) main::i#10) [ main::i#10 print_line_cursor#1 print_word::w#5 print_char_cursor#2 ] ( main:2 [ main::i#10 print_line_cursor#1 print_word::w#5 print_char_cursor#2 ] ) -- vwuz1=pwuc1_derefidx_vbuz2 + //SEG111 [40] (word) print_word::w#5 ← *((const word[20]) main::lintab3#0 + (byte) main::i#10) [ main::i#10 print_line_cursor#1 print_word::w#5 print_char_cursor#2 ] ( main:2 [ main::i#10 print_line_cursor#1 print_word::w#5 print_char_cursor#2 ] ) -- vwuz1=pwuc1_derefidx_vbuz2 ldy i lda lintab3,y sta print_word.w lda lintab3+1,y sta print_word.w+1 - //SEG115 [41] call print_word param-assignment [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] ( main:2 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] ) - //SEG116 [66] phi from main::@19 to print_word [phi:main::@19->print_word] + //SEG112 [41] call print_word param-assignment [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] ( main:2 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] ) + //SEG113 [66] phi from main::@19 to print_word [phi:main::@19->print_word] print_word_from_b19: - //SEG117 [66] phi (word) print_word::w#10 = (word) print_word::w#5 [phi:main::@19->print_word#0] -- register_copy + //SEG114 [66] phi (word) print_word::w#10 = (word) print_word::w#5 [phi:main::@19->print_word#0] -- register_copy jsr print_word - //SEG118 [42] phi from main::@19 to main::@20 [phi:main::@19->main::@20] + //SEG115 [42] phi from main::@19 to main::@20 [phi:main::@19->main::@20] b20_from_b19: jmp b20 - //SEG119 main::@20 + //SEG116 main::@20 b20: - //SEG120 [43] call print_ln param-assignment [ main::i#10 print_line_cursor#1 ] ( main:2 [ main::i#10 print_line_cursor#1 ] ) - //SEG121 [61] phi from main::@20 to print_ln [phi:main::@20->print_ln] + //SEG117 [43] call print_ln param-assignment [ main::i#10 print_line_cursor#1 ] ( main:2 [ main::i#10 print_line_cursor#1 ] ) + //SEG118 [61] phi from main::@20 to print_ln [phi:main::@20->print_ln] print_ln_from_b20: - //SEG122 [61] phi (byte*) print_line_cursor#21 = (byte*) print_line_cursor#1 [phi:main::@20->print_ln#0] -- register_copy + //SEG119 [61] phi (byte*) print_line_cursor#21 = (byte*) print_line_cursor#1 [phi:main::@20->print_ln#0] -- register_copy jsr print_ln jmp b21 - //SEG123 main::@21 + //SEG120 main::@21 b21: - //SEG124 [44] (byte) main::i#1 ← (byte) main::i#10 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ main::i#1 print_line_cursor#1 ] ( main:2 [ main::i#1 print_line_cursor#1 ] ) -- vbuz1=vbuz1_plus_2 + //SEG121 [44] (byte) main::i#1 ← (byte) main::i#10 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ main::i#1 print_line_cursor#1 ] ( main:2 [ main::i#1 print_line_cursor#1 ] ) -- vbuz1=vbuz1_plus_2 lda i clc adc #2 sta i - //SEG125 [45] if((byte) main::i#1<(byte/signed byte/word/signed word/dword/signed dword) 20*(byte/signed byte/word/signed word/dword/signed dword) 2) goto main::@1 [ main::i#1 print_line_cursor#1 ] ( main:2 [ main::i#1 print_line_cursor#1 ] ) -- vbuz1_lt_vbuc1_then_la1 + //SEG122 [45] if((byte) main::i#1<(byte/signed byte/word/signed word/dword/signed dword) 20*(byte/signed byte/word/signed word/dword/signed dword) 2) goto main::@1 [ main::i#1 print_line_cursor#1 ] ( main:2 [ main::i#1 print_line_cursor#1 ] ) -- vbuz1_lt_vbuc1_then_la1 lda i cmp #$14*2 bcc b1_from_b21 jmp b2 - //SEG126 main::@2 + //SEG123 main::@2 b2: - //SEG127 [46] (byte*~) print_char_cursor#100 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#100 ] ( main:2 [ print_line_cursor#1 print_char_cursor#100 ] ) -- pbuz1=pbuz2 + //SEG124 [46] (byte*~) print_char_cursor#100 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#100 ] ( main:2 [ print_line_cursor#1 print_char_cursor#100 ] ) -- pbuz1=pbuz2 lda print_line_cursor sta print_char_cursor lda print_line_cursor+1 sta print_char_cursor+1 - //SEG128 [47] call print_str param-assignment [ print_line_cursor#1 print_char_cursor#2 ] ( main:2 [ print_line_cursor#1 print_char_cursor#2 ] ) - //SEG129 [84] phi from main::@2 to print_str [phi:main::@2->print_str] + //SEG125 [47] call print_str param-assignment [ print_line_cursor#1 print_char_cursor#2 ] ( main:2 [ print_line_cursor#1 print_char_cursor#2 ] ) + //SEG126 [84] phi from main::@2 to print_str [phi:main::@2->print_str] print_str_from_b2: - //SEG130 [84] phi (byte*) print_char_cursor#86 = (byte*~) print_char_cursor#100 [phi:main::@2->print_str#0] -- register_copy - //SEG131 [84] phi (byte*) print_str::str#12 = (const string) main::str6 [phi:main::@2->print_str#1] -- pbuz1=pbuc1 + //SEG127 [84] phi (byte*) print_char_cursor#86 = (byte*~) print_char_cursor#100 [phi:main::@2->print_str#0] -- register_copy + //SEG128 [84] phi (byte*) print_str::str#12 = (const string) main::str6 [phi:main::@2->print_str#1] -- pbuz1=pbuc1 lda #str6 sta print_str.str+1 jsr print_str - //SEG132 [48] phi from main::@2 to main::@22 [phi:main::@2->main::@22] + //SEG129 [48] phi from main::@2 to main::@22 [phi:main::@2->main::@22] b22_from_b2: jmp b22 - //SEG133 main::@22 + //SEG130 main::@22 b22: - //SEG134 [49] call print_word param-assignment [ print_line_cursor#1 print_char_cursor#11 ] ( main:2 [ print_line_cursor#1 print_char_cursor#11 ] ) - //SEG135 [66] phi from main::@22 to print_word [phi:main::@22->print_word] + //SEG131 [49] call print_word param-assignment [ print_line_cursor#1 print_char_cursor#11 ] ( main:2 [ print_line_cursor#1 print_char_cursor#11 ] ) + //SEG132 [66] phi from main::@22 to print_word [phi:main::@22->print_word] print_word_from_b22: - //SEG136 [66] phi (word) print_word::w#10 = (word/signed word/dword/signed dword) 29793 [phi:main::@22->print_word#0] -- vwuz1=vwuc1 + //SEG133 [66] phi (word) print_word::w#10 = (word/signed word/dword/signed dword) 29793 [phi:main::@22->print_word#0] -- vwuz1=vwuc1 lda #<$7461 sta print_word.w lda #>$7461 sta print_word.w+1 jsr print_word - //SEG137 [50] phi from main::@22 to main::@23 [phi:main::@22->main::@23] + //SEG134 [50] phi from main::@22 to main::@23 [phi:main::@22->main::@23] b23_from_b22: jmp b23 - //SEG138 main::@23 + //SEG135 main::@23 b23: - //SEG139 [51] call print_str param-assignment [ print_line_cursor#1 print_char_cursor#2 ] ( main:2 [ print_line_cursor#1 print_char_cursor#2 ] ) - //SEG140 [84] phi from main::@23 to print_str [phi:main::@23->print_str] + //SEG136 [51] call print_str param-assignment [ print_line_cursor#1 print_char_cursor#2 ] ( main:2 [ print_line_cursor#1 print_char_cursor#2 ] ) + //SEG137 [84] phi from main::@23 to print_str [phi:main::@23->print_str] print_str_from_b23: - //SEG141 [84] phi (byte*) print_char_cursor#86 = (byte*) print_char_cursor#11 [phi:main::@23->print_str#0] -- register_copy - //SEG142 [84] phi (byte*) print_str::str#12 = (const string) main::str7 [phi:main::@23->print_str#1] -- pbuz1=pbuc1 + //SEG138 [84] phi (byte*) print_char_cursor#86 = (byte*) print_char_cursor#11 [phi:main::@23->print_str#0] -- register_copy + //SEG139 [84] phi (byte*) print_str::str#12 = (const string) main::str7 [phi:main::@23->print_str#1] -- pbuz1=pbuc1 lda #str7 sta print_str.str+1 jsr print_str - //SEG143 [52] phi from main::@23 to main::@24 [phi:main::@23->main::@24] + //SEG140 [52] phi from main::@23 to main::@24 [phi:main::@23->main::@24] b24_from_b23: jmp b24 - //SEG144 main::@24 + //SEG141 main::@24 b24: - //SEG145 [53] call print_word param-assignment [ print_line_cursor#1 print_char_cursor#11 ] ( main:2 [ print_line_cursor#1 print_char_cursor#11 ] ) - //SEG146 [66] phi from main::@24 to print_word [phi:main::@24->print_word] + //SEG142 [53] call print_word param-assignment [ print_line_cursor#1 print_char_cursor#11 ] ( main:2 [ print_line_cursor#1 print_char_cursor#11 ] ) + //SEG143 [66] phi from main::@24 to print_word [phi:main::@24->print_word] print_word_from_b24: - //SEG147 [66] phi (word) print_word::w#10 = (word/dword/signed dword) 63361 [phi:main::@24->print_word#0] -- vwuz1=vwuc1 + //SEG144 [66] phi (word) print_word::w#10 = (word/dword/signed dword) 63361 [phi:main::@24->print_word#0] -- vwuz1=vwuc1 lda #<$f781 sta print_word.w lda #>$f781 sta print_word.w+1 jsr print_word - //SEG148 [54] phi from main::@24 to main::@25 [phi:main::@24->main::@25] + //SEG145 [54] phi from main::@24 to main::@25 [phi:main::@24->main::@25] b25_from_b24: jmp b25 - //SEG149 main::@25 + //SEG146 main::@25 b25: - //SEG150 [55] call print_str param-assignment [ print_line_cursor#1 print_char_cursor#2 ] ( main:2 [ print_line_cursor#1 print_char_cursor#2 ] ) - //SEG151 [84] phi from main::@25 to print_str [phi:main::@25->print_str] + //SEG147 [55] call print_str param-assignment [ print_line_cursor#1 print_char_cursor#2 ] ( main:2 [ print_line_cursor#1 print_char_cursor#2 ] ) + //SEG148 [84] phi from main::@25 to print_str [phi:main::@25->print_str] print_str_from_b25: - //SEG152 [84] phi (byte*) print_char_cursor#86 = (byte*) print_char_cursor#11 [phi:main::@25->print_str#0] -- register_copy - //SEG153 [84] phi (byte*) print_str::str#12 = (const string) main::str8 [phi:main::@25->print_str#1] -- pbuz1=pbuc1 + //SEG149 [84] phi (byte*) print_char_cursor#86 = (byte*) print_char_cursor#11 [phi:main::@25->print_str#0] -- register_copy + //SEG150 [84] phi (byte*) print_str::str#12 = (const string) main::str8 [phi:main::@25->print_str#1] -- pbuz1=pbuc1 lda #str8 sta print_str.str+1 jsr print_str - //SEG154 [56] phi from main::@25 to main::@26 [phi:main::@25->main::@26] + //SEG151 [56] phi from main::@25 to main::@26 [phi:main::@25->main::@26] b26_from_b25: jmp b26 - //SEG155 main::@26 + //SEG152 main::@26 b26: - //SEG156 [57] call print_word param-assignment [ print_line_cursor#1 print_char_cursor#11 ] ( main:2 [ print_line_cursor#1 print_char_cursor#11 ] ) - //SEG157 [66] phi from main::@26 to print_word [phi:main::@26->print_word] + //SEG153 [57] call print_word param-assignment [ print_line_cursor#1 print_char_cursor#11 ] ( main:2 [ print_line_cursor#1 print_char_cursor#11 ] ) + //SEG154 [66] phi from main::@26 to print_word [phi:main::@26->print_word] print_word_from_b26: - //SEG158 [66] phi (word) print_word::w#10 = (word/signed word/dword/signed dword) 25736 [phi:main::@26->print_word#0] -- vwuz1=vwuc1 + //SEG155 [66] phi (word) print_word::w#10 = (word/signed word/dword/signed dword) 25736 [phi:main::@26->print_word#0] -- vwuz1=vwuc1 lda #<$6488 sta print_word.w lda #>$6488 sta print_word.w+1 jsr print_word - //SEG159 [58] phi from main::@26 to main::@27 [phi:main::@26->main::@27] + //SEG156 [58] phi from main::@26 to main::@27 [phi:main::@26->main::@27] b27_from_b26: jmp b27 - //SEG160 main::@27 + //SEG157 main::@27 b27: - //SEG161 [59] call print_ln param-assignment [ ] ( main:2 [ ] ) - //SEG162 [61] phi from main::@27 to print_ln [phi:main::@27->print_ln] + //SEG158 [59] call print_ln param-assignment [ ] ( main:2 [ ] ) + //SEG159 [61] phi from main::@27 to print_ln [phi:main::@27->print_ln] print_ln_from_b27: - //SEG163 [61] phi (byte*) print_line_cursor#21 = (byte*) print_line_cursor#1 [phi:main::@27->print_ln#0] -- register_copy + //SEG160 [61] phi (byte*) print_line_cursor#21 = (byte*) print_line_cursor#1 [phi:main::@27->print_ln#0] -- register_copy jsr print_ln jmp breturn - //SEG164 main::@return + //SEG161 main::@return breturn: - //SEG165 [60] return [ ] ( main:2 [ ] ) + //SEG162 [60] return [ ] ( main:2 [ ] ) rts str: .text " @" str1: .text " @" @@ -4428,16 +4400,16 @@ main: { lintab2: .fill $28, 0 lintab3: .fill $28, 0 } -//SEG166 print_ln +//SEG163 print_ln print_ln: { - //SEG167 [62] phi from print_ln print_ln::@1 to print_ln::@1 [phi:print_ln/print_ln::@1->print_ln::@1] + //SEG164 [62] phi from print_ln print_ln::@1 to print_ln::@1 [phi:print_ln/print_ln::@1->print_ln::@1] b1_from_print_ln: b1_from_b1: - //SEG168 [62] phi (byte*) print_line_cursor#11 = (byte*) print_line_cursor#21 [phi:print_ln/print_ln::@1->print_ln::@1#0] -- register_copy + //SEG165 [62] phi (byte*) print_line_cursor#11 = (byte*) print_line_cursor#21 [phi:print_ln/print_ln::@1->print_ln::@1#0] -- register_copy jmp b1 - //SEG169 print_ln::@1 + //SEG166 print_ln::@1 b1: - //SEG170 [63] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#11 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ print_line_cursor#1 print_char_cursor#11 ] ( main:2::print_ln:25 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_ln:43 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_ln:59 [ print_line_cursor#1 print_char_cursor#11 ] ) -- pbuz1=pbuz1_plus_vbuc1 + //SEG167 [63] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#11 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ print_line_cursor#1 print_char_cursor#11 ] ( main:2::print_ln:25 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_ln:43 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_ln:59 [ print_line_cursor#1 print_char_cursor#11 ] ) -- pbuz1=pbuz1_plus_vbuc1 lda print_line_cursor clc adc #$28 @@ -4445,7 +4417,7 @@ print_ln: { bcc !+ inc print_line_cursor+1 !: - //SEG171 [64] if((byte*) print_line_cursor#1<(byte*) print_char_cursor#11) goto print_ln::@1 [ print_line_cursor#1 print_char_cursor#11 ] ( main:2::print_ln:25 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_ln:43 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_ln:59 [ print_line_cursor#1 print_char_cursor#11 ] ) -- pbuz1_lt_pbuz2_then_la1 + //SEG168 [64] if((byte*) print_line_cursor#1<(byte*) print_char_cursor#11) goto print_ln::@1 [ print_line_cursor#1 print_char_cursor#11 ] ( main:2::print_ln:25 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_ln:43 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_ln:59 [ print_line_cursor#1 print_char_cursor#11 ] ) -- pbuz1_lt_pbuz2_then_la1 lda print_line_cursor+1 cmp print_char_cursor+1 bcc b1_from_b1 @@ -4455,171 +4427,171 @@ print_ln: { bcc b1_from_b1 !: jmp breturn - //SEG172 print_ln::@return + //SEG169 print_ln::@return breturn: - //SEG173 [65] return [ print_line_cursor#1 ] ( main:2::print_ln:25 [ print_line_cursor#1 ] main:2::print_ln:43 [ main::i#10 print_line_cursor#1 ] main:2::print_ln:59 [ print_line_cursor#1 ] ) + //SEG170 [65] return [ print_line_cursor#1 ] ( main:2::print_ln:25 [ print_line_cursor#1 ] main:2::print_ln:43 [ main::i#10 print_line_cursor#1 ] main:2::print_ln:59 [ print_line_cursor#1 ] ) rts } -//SEG174 print_word +//SEG171 print_word print_word: { .label w = 5 - //SEG175 [67] (byte) print_byte::b#0 ← > (word) print_word::w#10 [ print_word::w#10 print_byte::b#0 print_char_cursor#2 ] ( main:2::print_word:15 [ print_word::w#10 print_byte::b#0 print_char_cursor#2 ] main:2::print_word:19 [ print_word::w#10 print_byte::b#0 print_char_cursor#2 ] main:2::print_word:23 [ print_word::w#10 print_byte::b#0 print_char_cursor#2 ] main:2::print_word:33 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#0 print_char_cursor#2 ] main:2::print_word:37 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#0 print_char_cursor#2 ] main:2::print_word:41 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#0 print_char_cursor#2 ] main:2::print_word:49 [ print_line_cursor#1 print_word::w#10 print_byte::b#0 print_char_cursor#2 ] main:2::print_word:53 [ print_line_cursor#1 print_word::w#10 print_byte::b#0 print_char_cursor#2 ] main:2::print_word:57 [ print_line_cursor#1 print_word::w#10 print_byte::b#0 print_char_cursor#2 ] ) -- vbuz1=_hi_vwuz2 + //SEG172 [67] (byte) print_byte::b#0 ← > (word) print_word::w#10 [ print_word::w#10 print_byte::b#0 print_char_cursor#2 ] ( main:2::print_word:15 [ print_word::w#10 print_byte::b#0 print_char_cursor#2 ] main:2::print_word:19 [ print_word::w#10 print_byte::b#0 print_char_cursor#2 ] main:2::print_word:23 [ print_word::w#10 print_byte::b#0 print_char_cursor#2 ] main:2::print_word:33 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#0 print_char_cursor#2 ] main:2::print_word:37 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#0 print_char_cursor#2 ] main:2::print_word:41 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#0 print_char_cursor#2 ] main:2::print_word:49 [ print_line_cursor#1 print_word::w#10 print_byte::b#0 print_char_cursor#2 ] main:2::print_word:53 [ print_line_cursor#1 print_word::w#10 print_byte::b#0 print_char_cursor#2 ] main:2::print_word:57 [ print_line_cursor#1 print_word::w#10 print_byte::b#0 print_char_cursor#2 ] ) -- vbuz1=_hi_vwuz2 lda w+1 sta print_byte.b - //SEG176 [68] call print_byte param-assignment [ print_char_cursor#11 print_word::w#10 ] ( main:2::print_word:15 [ print_char_cursor#11 print_word::w#10 ] main:2::print_word:19 [ print_char_cursor#11 print_word::w#10 ] main:2::print_word:23 [ print_char_cursor#11 print_word::w#10 ] main:2::print_word:33 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_word::w#10 ] main:2::print_word:37 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_word::w#10 ] main:2::print_word:41 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_word::w#10 ] main:2::print_word:49 [ print_line_cursor#1 print_char_cursor#11 print_word::w#10 ] main:2::print_word:53 [ print_line_cursor#1 print_char_cursor#11 print_word::w#10 ] main:2::print_word:57 [ print_line_cursor#1 print_char_cursor#11 print_word::w#10 ] ) - //SEG177 [72] phi from print_word to print_byte [phi:print_word->print_byte] + //SEG173 [68] call print_byte param-assignment [ print_char_cursor#11 print_word::w#10 ] ( main:2::print_word:15 [ print_char_cursor#11 print_word::w#10 ] main:2::print_word:19 [ print_char_cursor#11 print_word::w#10 ] main:2::print_word:23 [ print_char_cursor#11 print_word::w#10 ] main:2::print_word:33 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_word::w#10 ] main:2::print_word:37 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_word::w#10 ] main:2::print_word:41 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_word::w#10 ] main:2::print_word:49 [ print_line_cursor#1 print_char_cursor#11 print_word::w#10 ] main:2::print_word:53 [ print_line_cursor#1 print_char_cursor#11 print_word::w#10 ] main:2::print_word:57 [ print_line_cursor#1 print_char_cursor#11 print_word::w#10 ] ) + //SEG174 [72] phi from print_word to print_byte [phi:print_word->print_byte] print_byte_from_print_word: - //SEG178 [72] phi (byte*) print_char_cursor#81 = (byte*) print_char_cursor#2 [phi:print_word->print_byte#0] -- register_copy - //SEG179 [72] phi (byte) print_byte::b#3 = (byte) print_byte::b#0 [phi:print_word->print_byte#1] -- register_copy + //SEG175 [72] phi (byte*) print_char_cursor#81 = (byte*) print_char_cursor#2 [phi:print_word->print_byte#0] -- register_copy + //SEG176 [72] phi (byte) print_byte::b#3 = (byte) print_byte::b#0 [phi:print_word->print_byte#1] -- register_copy jsr print_byte jmp b1 - //SEG180 print_word::@1 + //SEG177 print_word::@1 b1: - //SEG181 [69] (byte) print_byte::b#1 ← < (word) print_word::w#10 [ print_char_cursor#11 print_byte::b#1 ] ( main:2::print_word:15 [ print_char_cursor#11 print_byte::b#1 ] main:2::print_word:19 [ print_char_cursor#11 print_byte::b#1 ] main:2::print_word:23 [ print_char_cursor#11 print_byte::b#1 ] main:2::print_word:33 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_byte::b#1 ] main:2::print_word:37 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_byte::b#1 ] main:2::print_word:41 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_byte::b#1 ] main:2::print_word:49 [ print_line_cursor#1 print_char_cursor#11 print_byte::b#1 ] main:2::print_word:53 [ print_line_cursor#1 print_char_cursor#11 print_byte::b#1 ] main:2::print_word:57 [ print_line_cursor#1 print_char_cursor#11 print_byte::b#1 ] ) -- vbuz1=_lo_vwuz2 + //SEG178 [69] (byte) print_byte::b#1 ← < (word) print_word::w#10 [ print_char_cursor#11 print_byte::b#1 ] ( main:2::print_word:15 [ print_char_cursor#11 print_byte::b#1 ] main:2::print_word:19 [ print_char_cursor#11 print_byte::b#1 ] main:2::print_word:23 [ print_char_cursor#11 print_byte::b#1 ] main:2::print_word:33 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_byte::b#1 ] main:2::print_word:37 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_byte::b#1 ] main:2::print_word:41 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_byte::b#1 ] main:2::print_word:49 [ print_line_cursor#1 print_char_cursor#11 print_byte::b#1 ] main:2::print_word:53 [ print_line_cursor#1 print_char_cursor#11 print_byte::b#1 ] main:2::print_word:57 [ print_line_cursor#1 print_char_cursor#11 print_byte::b#1 ] ) -- vbuz1=_lo_vwuz2 lda w sta print_byte.b - //SEG182 [70] call print_byte param-assignment [ print_char_cursor#11 ] ( main:2::print_word:15 [ print_char_cursor#11 ] main:2::print_word:19 [ print_char_cursor#11 ] main:2::print_word:23 [ print_char_cursor#11 ] main:2::print_word:33 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:37 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:41 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:49 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:53 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:57 [ print_line_cursor#1 print_char_cursor#11 ] ) - //SEG183 [72] phi from print_word::@1 to print_byte [phi:print_word::@1->print_byte] + //SEG179 [70] call print_byte param-assignment [ print_char_cursor#11 ] ( main:2::print_word:15 [ print_char_cursor#11 ] main:2::print_word:19 [ print_char_cursor#11 ] main:2::print_word:23 [ print_char_cursor#11 ] main:2::print_word:33 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:37 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:41 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:49 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:53 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:57 [ print_line_cursor#1 print_char_cursor#11 ] ) + //SEG180 [72] phi from print_word::@1 to print_byte [phi:print_word::@1->print_byte] print_byte_from_b1: - //SEG184 [72] phi (byte*) print_char_cursor#81 = (byte*) print_char_cursor#11 [phi:print_word::@1->print_byte#0] -- register_copy - //SEG185 [72] phi (byte) print_byte::b#3 = (byte) print_byte::b#1 [phi:print_word::@1->print_byte#1] -- register_copy + //SEG181 [72] phi (byte*) print_char_cursor#81 = (byte*) print_char_cursor#11 [phi:print_word::@1->print_byte#0] -- register_copy + //SEG182 [72] phi (byte) print_byte::b#3 = (byte) print_byte::b#1 [phi:print_word::@1->print_byte#1] -- register_copy jsr print_byte jmp breturn - //SEG186 print_word::@return + //SEG183 print_word::@return breturn: - //SEG187 [71] return [ print_char_cursor#11 ] ( main:2::print_word:15 [ print_char_cursor#11 ] main:2::print_word:19 [ print_char_cursor#11 ] main:2::print_word:23 [ print_char_cursor#11 ] main:2::print_word:33 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:37 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:41 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:49 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:53 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:57 [ print_line_cursor#1 print_char_cursor#11 ] ) + //SEG184 [71] return [ print_char_cursor#11 ] ( main:2::print_word:15 [ print_char_cursor#11 ] main:2::print_word:19 [ print_char_cursor#11 ] main:2::print_word:23 [ print_char_cursor#11 ] main:2::print_word:33 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:37 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:41 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:49 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:53 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:57 [ print_line_cursor#1 print_char_cursor#11 ] ) rts } -//SEG188 print_byte +//SEG185 print_byte print_byte: { - .label _0 = $26 - .label _2 = $27 + .label _0 = $24 + .label _2 = $25 .label b = 7 - //SEG189 [73] (byte~) print_byte::$0 ← (byte) print_byte::b#3 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ print_byte::b#3 print_char_cursor#81 print_byte::$0 ] ( main:2::print_byte:29 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:15::print_byte:68 [ print_word::w#10 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:19::print_byte:68 [ print_word::w#10 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:23::print_byte:68 [ print_word::w#10 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:33::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:37::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:41::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:49::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:53::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:57::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:15::print_byte:70 [ print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:19::print_byte:70 [ print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:23::print_byte:70 [ print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:33::print_byte:70 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:37::print_byte:70 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:41::print_byte:70 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:49::print_byte:70 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:53::print_byte:70 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:57::print_byte:70 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] ) -- vbuz1=vbuz2_ror_4 + //SEG186 [73] (byte~) print_byte::$0 ← (byte) print_byte::b#3 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ print_byte::b#3 print_char_cursor#81 print_byte::$0 ] ( main:2::print_byte:29 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:15::print_byte:68 [ print_word::w#10 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:19::print_byte:68 [ print_word::w#10 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:23::print_byte:68 [ print_word::w#10 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:33::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:37::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:41::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:49::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:53::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:57::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:15::print_byte:70 [ print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:19::print_byte:70 [ print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:23::print_byte:70 [ print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:33::print_byte:70 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:37::print_byte:70 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:41::print_byte:70 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:49::print_byte:70 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:53::print_byte:70 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:57::print_byte:70 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] ) -- vbuz1=vbuz2_ror_4 lda b lsr lsr lsr lsr sta _0 - //SEG190 [74] (byte) print_char::ch#0 ← *((const string) print_hextab#0 + (byte~) print_byte::$0) [ print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] ( main:2::print_byte:29 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:15::print_byte:68 [ print_word::w#10 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:19::print_byte:68 [ print_word::w#10 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:23::print_byte:68 [ print_word::w#10 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:33::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:37::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:41::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:49::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:53::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:57::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:15::print_byte:70 [ print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:19::print_byte:70 [ print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:23::print_byte:70 [ print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:33::print_byte:70 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:37::print_byte:70 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:41::print_byte:70 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:49::print_byte:70 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:53::print_byte:70 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:57::print_byte:70 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] ) -- vbuz1=pbuc1_derefidx_vbuz2 + //SEG187 [74] (byte) print_char::ch#0 ← *((const string) print_hextab#0 + (byte~) print_byte::$0) [ print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] ( main:2::print_byte:29 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:15::print_byte:68 [ print_word::w#10 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:19::print_byte:68 [ print_word::w#10 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:23::print_byte:68 [ print_word::w#10 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:33::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:37::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:41::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:49::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:53::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:57::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:15::print_byte:70 [ print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:19::print_byte:70 [ print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:23::print_byte:70 [ print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:33::print_byte:70 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:37::print_byte:70 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:41::print_byte:70 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:49::print_byte:70 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:53::print_byte:70 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:57::print_byte:70 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] ) -- vbuz1=pbuc1_derefidx_vbuz2 ldy _0 lda print_hextab,y sta print_char.ch - //SEG191 [75] call print_char param-assignment [ print_char_cursor#11 print_byte::b#3 ] ( main:2::print_byte:29 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:15::print_byte:68 [ print_word::w#10 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:19::print_byte:68 [ print_word::w#10 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:23::print_byte:68 [ print_word::w#10 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:33::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:37::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:41::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:49::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:53::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:57::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:15::print_byte:70 [ print_char_cursor#11 print_byte::b#3 ] main:2::print_word:19::print_byte:70 [ print_char_cursor#11 print_byte::b#3 ] main:2::print_word:23::print_byte:70 [ print_char_cursor#11 print_byte::b#3 ] main:2::print_word:33::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:37::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:41::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:49::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:53::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:57::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 print_byte::b#3 ] ) - //SEG192 [80] phi from print_byte to print_char [phi:print_byte->print_char] + //SEG188 [75] call print_char param-assignment [ print_char_cursor#11 print_byte::b#3 ] ( main:2::print_byte:29 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:15::print_byte:68 [ print_word::w#10 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:19::print_byte:68 [ print_word::w#10 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:23::print_byte:68 [ print_word::w#10 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:33::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:37::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:41::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:49::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:53::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:57::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:15::print_byte:70 [ print_char_cursor#11 print_byte::b#3 ] main:2::print_word:19::print_byte:70 [ print_char_cursor#11 print_byte::b#3 ] main:2::print_word:23::print_byte:70 [ print_char_cursor#11 print_byte::b#3 ] main:2::print_word:33::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:37::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:41::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:49::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:53::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:57::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 print_byte::b#3 ] ) + //SEG189 [80] phi from print_byte to print_char [phi:print_byte->print_char] print_char_from_print_byte: - //SEG193 [80] phi (byte*) print_char_cursor#50 = (byte*) print_char_cursor#81 [phi:print_byte->print_char#0] -- register_copy - //SEG194 [80] phi (byte) print_char::ch#2 = (byte) print_char::ch#0 [phi:print_byte->print_char#1] -- register_copy + //SEG190 [80] phi (byte*) print_char_cursor#50 = (byte*) print_char_cursor#81 [phi:print_byte->print_char#0] -- register_copy + //SEG191 [80] phi (byte) print_char::ch#2 = (byte) print_char::ch#0 [phi:print_byte->print_char#1] -- register_copy jsr print_char jmp b1 - //SEG195 print_byte::@1 + //SEG192 print_byte::@1 b1: - //SEG196 [76] (byte~) print_byte::$2 ← (byte) print_byte::b#3 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ print_char_cursor#11 print_byte::$2 ] ( main:2::print_byte:29 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_byte::$2 ] main:2::print_word:15::print_byte:68 [ print_word::w#10 print_char_cursor#11 print_byte::$2 ] main:2::print_word:19::print_byte:68 [ print_word::w#10 print_char_cursor#11 print_byte::$2 ] main:2::print_word:23::print_byte:68 [ print_word::w#10 print_char_cursor#11 print_byte::$2 ] main:2::print_word:33::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::$2 ] main:2::print_word:37::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::$2 ] main:2::print_word:41::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::$2 ] main:2::print_word:49::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::$2 ] main:2::print_word:53::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::$2 ] main:2::print_word:57::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::$2 ] main:2::print_word:15::print_byte:70 [ print_char_cursor#11 print_byte::$2 ] main:2::print_word:19::print_byte:70 [ print_char_cursor#11 print_byte::$2 ] main:2::print_word:23::print_byte:70 [ print_char_cursor#11 print_byte::$2 ] main:2::print_word:33::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_byte::$2 ] main:2::print_word:37::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_byte::$2 ] main:2::print_word:41::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_byte::$2 ] main:2::print_word:49::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 print_byte::$2 ] main:2::print_word:53::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 print_byte::$2 ] main:2::print_word:57::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 print_byte::$2 ] ) -- vbuz1=vbuz2_band_vbuc1 + //SEG193 [76] (byte~) print_byte::$2 ← (byte) print_byte::b#3 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ print_char_cursor#11 print_byte::$2 ] ( main:2::print_byte:29 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_byte::$2 ] main:2::print_word:15::print_byte:68 [ print_word::w#10 print_char_cursor#11 print_byte::$2 ] main:2::print_word:19::print_byte:68 [ print_word::w#10 print_char_cursor#11 print_byte::$2 ] main:2::print_word:23::print_byte:68 [ print_word::w#10 print_char_cursor#11 print_byte::$2 ] main:2::print_word:33::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::$2 ] main:2::print_word:37::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::$2 ] main:2::print_word:41::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::$2 ] main:2::print_word:49::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::$2 ] main:2::print_word:53::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::$2 ] main:2::print_word:57::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::$2 ] main:2::print_word:15::print_byte:70 [ print_char_cursor#11 print_byte::$2 ] main:2::print_word:19::print_byte:70 [ print_char_cursor#11 print_byte::$2 ] main:2::print_word:23::print_byte:70 [ print_char_cursor#11 print_byte::$2 ] main:2::print_word:33::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_byte::$2 ] main:2::print_word:37::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_byte::$2 ] main:2::print_word:41::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_byte::$2 ] main:2::print_word:49::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 print_byte::$2 ] main:2::print_word:53::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 print_byte::$2 ] main:2::print_word:57::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 print_byte::$2 ] ) -- vbuz1=vbuz2_band_vbuc1 lda #$f and b sta _2 - //SEG197 [77] (byte) print_char::ch#1 ← *((const string) print_hextab#0 + (byte~) print_byte::$2) [ print_char_cursor#11 print_char::ch#1 ] ( main:2::print_byte:29 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:15::print_byte:68 [ print_word::w#10 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:19::print_byte:68 [ print_word::w#10 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:23::print_byte:68 [ print_word::w#10 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:33::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:37::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:41::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:49::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:53::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:57::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:15::print_byte:70 [ print_char_cursor#11 print_char::ch#1 ] main:2::print_word:19::print_byte:70 [ print_char_cursor#11 print_char::ch#1 ] main:2::print_word:23::print_byte:70 [ print_char_cursor#11 print_char::ch#1 ] main:2::print_word:33::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:37::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:41::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:49::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:53::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:57::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 print_char::ch#1 ] ) -- vbuz1=pbuc1_derefidx_vbuz2 + //SEG194 [77] (byte) print_char::ch#1 ← *((const string) print_hextab#0 + (byte~) print_byte::$2) [ print_char_cursor#11 print_char::ch#1 ] ( main:2::print_byte:29 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:15::print_byte:68 [ print_word::w#10 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:19::print_byte:68 [ print_word::w#10 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:23::print_byte:68 [ print_word::w#10 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:33::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:37::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:41::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:49::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:53::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:57::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:15::print_byte:70 [ print_char_cursor#11 print_char::ch#1 ] main:2::print_word:19::print_byte:70 [ print_char_cursor#11 print_char::ch#1 ] main:2::print_word:23::print_byte:70 [ print_char_cursor#11 print_char::ch#1 ] main:2::print_word:33::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:37::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:41::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:49::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:53::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:57::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 print_char::ch#1 ] ) -- vbuz1=pbuc1_derefidx_vbuz2 ldy _2 lda print_hextab,y sta print_char.ch - //SEG198 [78] call print_char param-assignment [ print_char_cursor#11 ] ( main:2::print_byte:29 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:15::print_byte:68 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:19::print_byte:68 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:23::print_byte:68 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:33::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:37::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:41::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:49::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:53::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:57::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:15::print_byte:70 [ print_char_cursor#11 ] main:2::print_word:19::print_byte:70 [ print_char_cursor#11 ] main:2::print_word:23::print_byte:70 [ print_char_cursor#11 ] main:2::print_word:33::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:37::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:41::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:49::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:53::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:57::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 ] ) - //SEG199 [80] phi from print_byte::@1 to print_char [phi:print_byte::@1->print_char] + //SEG195 [78] call print_char param-assignment [ print_char_cursor#11 ] ( main:2::print_byte:29 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:15::print_byte:68 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:19::print_byte:68 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:23::print_byte:68 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:33::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:37::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:41::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:49::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:53::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:57::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:15::print_byte:70 [ print_char_cursor#11 ] main:2::print_word:19::print_byte:70 [ print_char_cursor#11 ] main:2::print_word:23::print_byte:70 [ print_char_cursor#11 ] main:2::print_word:33::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:37::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:41::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:49::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:53::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:57::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 ] ) + //SEG196 [80] phi from print_byte::@1 to print_char [phi:print_byte::@1->print_char] print_char_from_b1: - //SEG200 [80] phi (byte*) print_char_cursor#50 = (byte*) print_char_cursor#11 [phi:print_byte::@1->print_char#0] -- register_copy - //SEG201 [80] phi (byte) print_char::ch#2 = (byte) print_char::ch#1 [phi:print_byte::@1->print_char#1] -- register_copy + //SEG197 [80] phi (byte*) print_char_cursor#50 = (byte*) print_char_cursor#11 [phi:print_byte::@1->print_char#0] -- register_copy + //SEG198 [80] phi (byte) print_char::ch#2 = (byte) print_char::ch#1 [phi:print_byte::@1->print_char#1] -- register_copy jsr print_char jmp breturn - //SEG202 print_byte::@return + //SEG199 print_byte::@return breturn: - //SEG203 [79] return [ print_char_cursor#11 ] ( main:2::print_byte:29 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:15::print_byte:68 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:19::print_byte:68 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:23::print_byte:68 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:33::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:37::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:41::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:49::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:53::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:57::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:15::print_byte:70 [ print_char_cursor#11 ] main:2::print_word:19::print_byte:70 [ print_char_cursor#11 ] main:2::print_word:23::print_byte:70 [ print_char_cursor#11 ] main:2::print_word:33::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:37::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:41::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:49::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:53::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:57::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 ] ) + //SEG200 [79] return [ print_char_cursor#11 ] ( main:2::print_byte:29 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:15::print_byte:68 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:19::print_byte:68 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:23::print_byte:68 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:33::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:37::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:41::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:49::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:53::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:57::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:15::print_byte:70 [ print_char_cursor#11 ] main:2::print_word:19::print_byte:70 [ print_char_cursor#11 ] main:2::print_word:23::print_byte:70 [ print_char_cursor#11 ] main:2::print_word:33::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:37::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:41::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:49::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:53::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:57::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 ] ) rts } -//SEG204 print_char +//SEG201 print_char print_char: { .label ch = 8 - //SEG205 [81] *((byte*) print_char_cursor#50) ← (byte) print_char::ch#2 [ print_char_cursor#50 ] ( main:2::print_byte:29::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:15::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:19::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:23::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:33::print_byte:68::print_char:75 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:37::print_byte:68::print_char:75 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:41::print_byte:68::print_char:75 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:49::print_byte:68::print_char:75 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:53::print_byte:68::print_char:75 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:57::print_byte:68::print_char:75 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:15::print_byte:70::print_char:75 [ print_byte::b#3 print_char_cursor#50 ] main:2::print_word:19::print_byte:70::print_char:75 [ print_byte::b#3 print_char_cursor#50 ] main:2::print_word:23::print_byte:70::print_char:75 [ print_byte::b#3 print_char_cursor#50 ] main:2::print_word:33::print_byte:70::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:37::print_byte:70::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:41::print_byte:70::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:49::print_byte:70::print_char:75 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:53::print_byte:70::print_char:75 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:57::print_byte:70::print_char:75 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#50 ] main:2::print_byte:29::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#50 ] main:2::print_word:15::print_byte:68::print_char:78 [ print_word::w#10 print_char_cursor#50 ] main:2::print_word:19::print_byte:68::print_char:78 [ print_word::w#10 print_char_cursor#50 ] main:2::print_word:23::print_byte:68::print_char:78 [ print_word::w#10 print_char_cursor#50 ] main:2::print_word:33::print_byte:68::print_char:78 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#50 ] main:2::print_word:37::print_byte:68::print_char:78 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#50 ] main:2::print_word:41::print_byte:68::print_char:78 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#50 ] main:2::print_word:49::print_byte:68::print_char:78 [ print_line_cursor#1 print_word::w#10 print_char_cursor#50 ] main:2::print_word:53::print_byte:68::print_char:78 [ print_line_cursor#1 print_word::w#10 print_char_cursor#50 ] main:2::print_word:57::print_byte:68::print_char:78 [ print_line_cursor#1 print_word::w#10 print_char_cursor#50 ] main:2::print_word:15::print_byte:70::print_char:78 [ print_char_cursor#50 ] main:2::print_word:19::print_byte:70::print_char:78 [ print_char_cursor#50 ] main:2::print_word:23::print_byte:70::print_char:78 [ print_char_cursor#50 ] main:2::print_word:33::print_byte:70::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#50 ] main:2::print_word:37::print_byte:70::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#50 ] main:2::print_word:41::print_byte:70::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#50 ] main:2::print_word:49::print_byte:70::print_char:78 [ print_line_cursor#1 print_char_cursor#50 ] main:2::print_word:53::print_byte:70::print_char:78 [ print_line_cursor#1 print_char_cursor#50 ] main:2::print_word:57::print_byte:70::print_char:78 [ print_line_cursor#1 print_char_cursor#50 ] ) -- _deref_pbuz1=vbuz2 + //SEG202 [81] *((byte*) print_char_cursor#50) ← (byte) print_char::ch#2 [ print_char_cursor#50 ] ( main:2::print_byte:29::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:15::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:19::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:23::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:33::print_byte:68::print_char:75 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:37::print_byte:68::print_char:75 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:41::print_byte:68::print_char:75 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:49::print_byte:68::print_char:75 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:53::print_byte:68::print_char:75 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:57::print_byte:68::print_char:75 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:15::print_byte:70::print_char:75 [ print_byte::b#3 print_char_cursor#50 ] main:2::print_word:19::print_byte:70::print_char:75 [ print_byte::b#3 print_char_cursor#50 ] main:2::print_word:23::print_byte:70::print_char:75 [ print_byte::b#3 print_char_cursor#50 ] main:2::print_word:33::print_byte:70::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:37::print_byte:70::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:41::print_byte:70::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:49::print_byte:70::print_char:75 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:53::print_byte:70::print_char:75 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:57::print_byte:70::print_char:75 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#50 ] main:2::print_byte:29::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#50 ] main:2::print_word:15::print_byte:68::print_char:78 [ print_word::w#10 print_char_cursor#50 ] main:2::print_word:19::print_byte:68::print_char:78 [ print_word::w#10 print_char_cursor#50 ] main:2::print_word:23::print_byte:68::print_char:78 [ print_word::w#10 print_char_cursor#50 ] main:2::print_word:33::print_byte:68::print_char:78 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#50 ] main:2::print_word:37::print_byte:68::print_char:78 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#50 ] main:2::print_word:41::print_byte:68::print_char:78 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#50 ] main:2::print_word:49::print_byte:68::print_char:78 [ print_line_cursor#1 print_word::w#10 print_char_cursor#50 ] main:2::print_word:53::print_byte:68::print_char:78 [ print_line_cursor#1 print_word::w#10 print_char_cursor#50 ] main:2::print_word:57::print_byte:68::print_char:78 [ print_line_cursor#1 print_word::w#10 print_char_cursor#50 ] main:2::print_word:15::print_byte:70::print_char:78 [ print_char_cursor#50 ] main:2::print_word:19::print_byte:70::print_char:78 [ print_char_cursor#50 ] main:2::print_word:23::print_byte:70::print_char:78 [ print_char_cursor#50 ] main:2::print_word:33::print_byte:70::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#50 ] main:2::print_word:37::print_byte:70::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#50 ] main:2::print_word:41::print_byte:70::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#50 ] main:2::print_word:49::print_byte:70::print_char:78 [ print_line_cursor#1 print_char_cursor#50 ] main:2::print_word:53::print_byte:70::print_char:78 [ print_line_cursor#1 print_char_cursor#50 ] main:2::print_word:57::print_byte:70::print_char:78 [ print_line_cursor#1 print_char_cursor#50 ] ) -- _deref_pbuz1=vbuz2 lda ch ldy #0 sta (print_char_cursor),y - //SEG206 [82] (byte*) print_char_cursor#11 ← ++ (byte*) print_char_cursor#50 [ print_char_cursor#11 ] ( main:2::print_byte:29::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:15::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:19::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:23::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:33::print_byte:68::print_char:75 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:37::print_byte:68::print_char:75 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:41::print_byte:68::print_char:75 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:49::print_byte:68::print_char:75 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:53::print_byte:68::print_char:75 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:57::print_byte:68::print_char:75 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:15::print_byte:70::print_char:75 [ print_byte::b#3 print_char_cursor#11 ] main:2::print_word:19::print_byte:70::print_char:75 [ print_byte::b#3 print_char_cursor#11 ] main:2::print_word:23::print_byte:70::print_char:75 [ print_byte::b#3 print_char_cursor#11 ] main:2::print_word:33::print_byte:70::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:37::print_byte:70::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:41::print_byte:70::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:49::print_byte:70::print_char:75 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:53::print_byte:70::print_char:75 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:57::print_byte:70::print_char:75 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_byte:29::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:15::print_byte:68::print_char:78 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:19::print_byte:68::print_char:78 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:23::print_byte:68::print_char:78 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:33::print_byte:68::print_char:78 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:37::print_byte:68::print_char:78 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:41::print_byte:68::print_char:78 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:49::print_byte:68::print_char:78 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:53::print_byte:68::print_char:78 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:57::print_byte:68::print_char:78 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:15::print_byte:70::print_char:78 [ print_char_cursor#11 ] main:2::print_word:19::print_byte:70::print_char:78 [ print_char_cursor#11 ] main:2::print_word:23::print_byte:70::print_char:78 [ print_char_cursor#11 ] main:2::print_word:33::print_byte:70::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:37::print_byte:70::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:41::print_byte:70::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:49::print_byte:70::print_char:78 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:53::print_byte:70::print_char:78 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:57::print_byte:70::print_char:78 [ print_line_cursor#1 print_char_cursor#11 ] ) -- pbuz1=_inc_pbuz1 + //SEG203 [82] (byte*) print_char_cursor#11 ← ++ (byte*) print_char_cursor#50 [ print_char_cursor#11 ] ( main:2::print_byte:29::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:15::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:19::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:23::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:33::print_byte:68::print_char:75 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:37::print_byte:68::print_char:75 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:41::print_byte:68::print_char:75 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:49::print_byte:68::print_char:75 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:53::print_byte:68::print_char:75 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:57::print_byte:68::print_char:75 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:15::print_byte:70::print_char:75 [ print_byte::b#3 print_char_cursor#11 ] main:2::print_word:19::print_byte:70::print_char:75 [ print_byte::b#3 print_char_cursor#11 ] main:2::print_word:23::print_byte:70::print_char:75 [ print_byte::b#3 print_char_cursor#11 ] main:2::print_word:33::print_byte:70::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:37::print_byte:70::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:41::print_byte:70::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:49::print_byte:70::print_char:75 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:53::print_byte:70::print_char:75 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:57::print_byte:70::print_char:75 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_byte:29::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:15::print_byte:68::print_char:78 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:19::print_byte:68::print_char:78 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:23::print_byte:68::print_char:78 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:33::print_byte:68::print_char:78 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:37::print_byte:68::print_char:78 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:41::print_byte:68::print_char:78 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:49::print_byte:68::print_char:78 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:53::print_byte:68::print_char:78 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:57::print_byte:68::print_char:78 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:15::print_byte:70::print_char:78 [ print_char_cursor#11 ] main:2::print_word:19::print_byte:70::print_char:78 [ print_char_cursor#11 ] main:2::print_word:23::print_byte:70::print_char:78 [ print_char_cursor#11 ] main:2::print_word:33::print_byte:70::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:37::print_byte:70::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:41::print_byte:70::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:49::print_byte:70::print_char:78 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:53::print_byte:70::print_char:78 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:57::print_byte:70::print_char:78 [ print_line_cursor#1 print_char_cursor#11 ] ) -- pbuz1=_inc_pbuz1 inc print_char_cursor bne !+ inc print_char_cursor+1 !: jmp breturn - //SEG207 print_char::@return + //SEG204 print_char::@return breturn: - //SEG208 [83] return [ print_char_cursor#11 ] ( main:2::print_byte:29::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:15::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:19::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:23::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:33::print_byte:68::print_char:75 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:37::print_byte:68::print_char:75 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:41::print_byte:68::print_char:75 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:49::print_byte:68::print_char:75 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:53::print_byte:68::print_char:75 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:57::print_byte:68::print_char:75 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:15::print_byte:70::print_char:75 [ print_byte::b#3 print_char_cursor#11 ] main:2::print_word:19::print_byte:70::print_char:75 [ print_byte::b#3 print_char_cursor#11 ] main:2::print_word:23::print_byte:70::print_char:75 [ print_byte::b#3 print_char_cursor#11 ] main:2::print_word:33::print_byte:70::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:37::print_byte:70::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:41::print_byte:70::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:49::print_byte:70::print_char:75 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:53::print_byte:70::print_char:75 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:57::print_byte:70::print_char:75 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_byte:29::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:15::print_byte:68::print_char:78 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:19::print_byte:68::print_char:78 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:23::print_byte:68::print_char:78 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:33::print_byte:68::print_char:78 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:37::print_byte:68::print_char:78 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:41::print_byte:68::print_char:78 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:49::print_byte:68::print_char:78 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:53::print_byte:68::print_char:78 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:57::print_byte:68::print_char:78 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:15::print_byte:70::print_char:78 [ print_char_cursor#11 ] main:2::print_word:19::print_byte:70::print_char:78 [ print_char_cursor#11 ] main:2::print_word:23::print_byte:70::print_char:78 [ print_char_cursor#11 ] main:2::print_word:33::print_byte:70::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:37::print_byte:70::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:41::print_byte:70::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:49::print_byte:70::print_char:78 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:53::print_byte:70::print_char:78 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:57::print_byte:70::print_char:78 [ print_line_cursor#1 print_char_cursor#11 ] ) + //SEG205 [83] return [ print_char_cursor#11 ] ( main:2::print_byte:29::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:15::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:19::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:23::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:33::print_byte:68::print_char:75 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:37::print_byte:68::print_char:75 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:41::print_byte:68::print_char:75 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:49::print_byte:68::print_char:75 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:53::print_byte:68::print_char:75 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:57::print_byte:68::print_char:75 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:15::print_byte:70::print_char:75 [ print_byte::b#3 print_char_cursor#11 ] main:2::print_word:19::print_byte:70::print_char:75 [ print_byte::b#3 print_char_cursor#11 ] main:2::print_word:23::print_byte:70::print_char:75 [ print_byte::b#3 print_char_cursor#11 ] main:2::print_word:33::print_byte:70::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:37::print_byte:70::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:41::print_byte:70::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:49::print_byte:70::print_char:75 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:53::print_byte:70::print_char:75 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:57::print_byte:70::print_char:75 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_byte:29::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:15::print_byte:68::print_char:78 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:19::print_byte:68::print_char:78 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:23::print_byte:68::print_char:78 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:33::print_byte:68::print_char:78 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:37::print_byte:68::print_char:78 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:41::print_byte:68::print_char:78 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:49::print_byte:68::print_char:78 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:53::print_byte:68::print_char:78 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:57::print_byte:68::print_char:78 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:15::print_byte:70::print_char:78 [ print_char_cursor#11 ] main:2::print_word:19::print_byte:70::print_char:78 [ print_char_cursor#11 ] main:2::print_word:23::print_byte:70::print_char:78 [ print_char_cursor#11 ] main:2::print_word:33::print_byte:70::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:37::print_byte:70::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:41::print_byte:70::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:49::print_byte:70::print_char:78 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:53::print_byte:70::print_char:78 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:57::print_byte:70::print_char:78 [ print_line_cursor#1 print_char_cursor#11 ] ) rts } -//SEG209 print_str +//SEG206 print_str print_str: { .label str = $b - //SEG210 [85] phi from print_str print_str::@2 to print_str::@1 [phi:print_str/print_str::@2->print_str::@1] + //SEG207 [85] phi from print_str print_str::@2 to print_str::@1 [phi:print_str/print_str::@2->print_str::@1] b1_from_print_str: b1_from_b2: - //SEG211 [85] phi (byte*) print_char_cursor#2 = (byte*) print_char_cursor#86 [phi:print_str/print_str::@2->print_str::@1#0] -- register_copy - //SEG212 [85] phi (byte*) print_str::str#10 = (byte*) print_str::str#12 [phi:print_str/print_str::@2->print_str::@1#1] -- register_copy + //SEG208 [85] phi (byte*) print_char_cursor#2 = (byte*) print_char_cursor#86 [phi:print_str/print_str::@2->print_str::@1#0] -- register_copy + //SEG209 [85] phi (byte*) print_str::str#10 = (byte*) print_str::str#12 [phi:print_str/print_str::@2->print_str::@1#1] -- register_copy jmp b1 - //SEG213 print_str::@1 + //SEG210 print_str::@1 b1: - //SEG214 [86] if(*((byte*) print_str::str#10)!=(byte) '@') goto print_str::@2 [ print_char_cursor#2 print_str::str#10 ] ( main:2::print_str:13 [ print_char_cursor#2 print_str::str#10 ] main:2::print_str:17 [ print_char_cursor#2 print_str::str#10 ] main:2::print_str:21 [ print_char_cursor#2 print_str::str#10 ] main:2::print_str:31 [ main::i#10 print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:35 [ main::i#10 print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:39 [ main::i#10 print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:47 [ print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:51 [ print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:55 [ print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] ) -- _deref_pbuz1_neq_vbuc1_then_la1 + //SEG211 [86] if(*((byte*) print_str::str#10)!=(byte) '@') goto print_str::@2 [ print_char_cursor#2 print_str::str#10 ] ( main:2::print_str:13 [ print_char_cursor#2 print_str::str#10 ] main:2::print_str:17 [ print_char_cursor#2 print_str::str#10 ] main:2::print_str:21 [ print_char_cursor#2 print_str::str#10 ] main:2::print_str:31 [ main::i#10 print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:35 [ main::i#10 print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:39 [ main::i#10 print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:47 [ print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:51 [ print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:55 [ print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] ) -- _deref_pbuz1_neq_vbuc1_then_la1 ldy #0 lda (str),y cmp #'@' bne b2 jmp breturn - //SEG215 print_str::@return + //SEG212 print_str::@return breturn: - //SEG216 [87] return [ print_char_cursor#2 ] ( main:2::print_str:13 [ print_char_cursor#2 ] main:2::print_str:17 [ print_char_cursor#2 ] main:2::print_str:21 [ print_char_cursor#2 ] main:2::print_str:31 [ main::i#10 print_line_cursor#1 print_char_cursor#2 ] main:2::print_str:35 [ main::i#10 print_line_cursor#1 print_char_cursor#2 ] main:2::print_str:39 [ main::i#10 print_line_cursor#1 print_char_cursor#2 ] main:2::print_str:47 [ print_line_cursor#1 print_char_cursor#2 ] main:2::print_str:51 [ print_line_cursor#1 print_char_cursor#2 ] main:2::print_str:55 [ print_line_cursor#1 print_char_cursor#2 ] ) + //SEG213 [87] return [ print_char_cursor#2 ] ( main:2::print_str:13 [ print_char_cursor#2 ] main:2::print_str:17 [ print_char_cursor#2 ] main:2::print_str:21 [ print_char_cursor#2 ] main:2::print_str:31 [ main::i#10 print_line_cursor#1 print_char_cursor#2 ] main:2::print_str:35 [ main::i#10 print_line_cursor#1 print_char_cursor#2 ] main:2::print_str:39 [ main::i#10 print_line_cursor#1 print_char_cursor#2 ] main:2::print_str:47 [ print_line_cursor#1 print_char_cursor#2 ] main:2::print_str:51 [ print_line_cursor#1 print_char_cursor#2 ] main:2::print_str:55 [ print_line_cursor#1 print_char_cursor#2 ] ) rts - //SEG217 print_str::@2 + //SEG214 print_str::@2 b2: - //SEG218 [88] *((byte*) print_char_cursor#2) ← *((byte*) print_str::str#10) [ print_char_cursor#2 print_str::str#10 ] ( main:2::print_str:13 [ print_char_cursor#2 print_str::str#10 ] main:2::print_str:17 [ print_char_cursor#2 print_str::str#10 ] main:2::print_str:21 [ print_char_cursor#2 print_str::str#10 ] main:2::print_str:31 [ main::i#10 print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:35 [ main::i#10 print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:39 [ main::i#10 print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:47 [ print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:51 [ print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:55 [ print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] ) -- _deref_pbuz1=_deref_pbuz2 + //SEG215 [88] *((byte*) print_char_cursor#2) ← *((byte*) print_str::str#10) [ print_char_cursor#2 print_str::str#10 ] ( main:2::print_str:13 [ print_char_cursor#2 print_str::str#10 ] main:2::print_str:17 [ print_char_cursor#2 print_str::str#10 ] main:2::print_str:21 [ print_char_cursor#2 print_str::str#10 ] main:2::print_str:31 [ main::i#10 print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:35 [ main::i#10 print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:39 [ main::i#10 print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:47 [ print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:51 [ print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:55 [ print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] ) -- _deref_pbuz1=_deref_pbuz2 ldy #0 lda (str),y ldy #0 sta (print_char_cursor),y - //SEG219 [89] (byte*) print_char_cursor#1 ← ++ (byte*) print_char_cursor#2 [ print_str::str#10 print_char_cursor#1 ] ( main:2::print_str:13 [ print_str::str#10 print_char_cursor#1 ] main:2::print_str:17 [ print_str::str#10 print_char_cursor#1 ] main:2::print_str:21 [ print_str::str#10 print_char_cursor#1 ] main:2::print_str:31 [ main::i#10 print_line_cursor#1 print_str::str#10 print_char_cursor#1 ] main:2::print_str:35 [ main::i#10 print_line_cursor#1 print_str::str#10 print_char_cursor#1 ] main:2::print_str:39 [ main::i#10 print_line_cursor#1 print_str::str#10 print_char_cursor#1 ] main:2::print_str:47 [ print_line_cursor#1 print_str::str#10 print_char_cursor#1 ] main:2::print_str:51 [ print_line_cursor#1 print_str::str#10 print_char_cursor#1 ] main:2::print_str:55 [ print_line_cursor#1 print_str::str#10 print_char_cursor#1 ] ) -- pbuz1=_inc_pbuz1 + //SEG216 [89] (byte*) print_char_cursor#1 ← ++ (byte*) print_char_cursor#2 [ print_str::str#10 print_char_cursor#1 ] ( main:2::print_str:13 [ print_str::str#10 print_char_cursor#1 ] main:2::print_str:17 [ print_str::str#10 print_char_cursor#1 ] main:2::print_str:21 [ print_str::str#10 print_char_cursor#1 ] main:2::print_str:31 [ main::i#10 print_line_cursor#1 print_str::str#10 print_char_cursor#1 ] main:2::print_str:35 [ main::i#10 print_line_cursor#1 print_str::str#10 print_char_cursor#1 ] main:2::print_str:39 [ main::i#10 print_line_cursor#1 print_str::str#10 print_char_cursor#1 ] main:2::print_str:47 [ print_line_cursor#1 print_str::str#10 print_char_cursor#1 ] main:2::print_str:51 [ print_line_cursor#1 print_str::str#10 print_char_cursor#1 ] main:2::print_str:55 [ print_line_cursor#1 print_str::str#10 print_char_cursor#1 ] ) -- pbuz1=_inc_pbuz1 inc print_char_cursor bne !+ inc print_char_cursor+1 !: - //SEG220 [90] (byte*) print_str::str#0 ← ++ (byte*) print_str::str#10 [ print_str::str#0 print_char_cursor#1 ] ( main:2::print_str:13 [ print_str::str#0 print_char_cursor#1 ] main:2::print_str:17 [ print_str::str#0 print_char_cursor#1 ] main:2::print_str:21 [ print_str::str#0 print_char_cursor#1 ] main:2::print_str:31 [ main::i#10 print_line_cursor#1 print_str::str#0 print_char_cursor#1 ] main:2::print_str:35 [ main::i#10 print_line_cursor#1 print_str::str#0 print_char_cursor#1 ] main:2::print_str:39 [ main::i#10 print_line_cursor#1 print_str::str#0 print_char_cursor#1 ] main:2::print_str:47 [ print_line_cursor#1 print_str::str#0 print_char_cursor#1 ] main:2::print_str:51 [ print_line_cursor#1 print_str::str#0 print_char_cursor#1 ] main:2::print_str:55 [ print_line_cursor#1 print_str::str#0 print_char_cursor#1 ] ) -- pbuz1=_inc_pbuz1 + //SEG217 [90] (byte*) print_str::str#0 ← ++ (byte*) print_str::str#10 [ print_str::str#0 print_char_cursor#1 ] ( main:2::print_str:13 [ print_str::str#0 print_char_cursor#1 ] main:2::print_str:17 [ print_str::str#0 print_char_cursor#1 ] main:2::print_str:21 [ print_str::str#0 print_char_cursor#1 ] main:2::print_str:31 [ main::i#10 print_line_cursor#1 print_str::str#0 print_char_cursor#1 ] main:2::print_str:35 [ main::i#10 print_line_cursor#1 print_str::str#0 print_char_cursor#1 ] main:2::print_str:39 [ main::i#10 print_line_cursor#1 print_str::str#0 print_char_cursor#1 ] main:2::print_str:47 [ print_line_cursor#1 print_str::str#0 print_char_cursor#1 ] main:2::print_str:51 [ print_line_cursor#1 print_str::str#0 print_char_cursor#1 ] main:2::print_str:55 [ print_line_cursor#1 print_str::str#0 print_char_cursor#1 ] ) -- pbuz1=_inc_pbuz1 inc str bne !+ inc str+1 !: jmp b1_from_b2 } -//SEG221 print_cls +//SEG218 print_cls print_cls: { .label sc = $d - //SEG222 [92] phi from print_cls to print_cls::@1 [phi:print_cls->print_cls::@1] + //SEG219 [92] phi from print_cls to print_cls::@1 [phi:print_cls->print_cls::@1] b1_from_print_cls: - //SEG223 [92] phi (byte*) print_cls::sc#2 = ((byte*))(word/signed word/dword/signed dword) 1024 [phi:print_cls->print_cls::@1#0] -- pbuz1=pbuc1 + //SEG220 [92] phi (byte*) print_cls::sc#2 = ((byte*))(word/signed word/dword/signed dword) 1024 [phi:print_cls->print_cls::@1#0] -- pbuz1=pbuc1 lda #<$400 sta sc lda #>$400 sta sc+1 jmp b1 - //SEG224 [92] phi from print_cls::@1 to print_cls::@1 [phi:print_cls::@1->print_cls::@1] + //SEG221 [92] phi from print_cls::@1 to print_cls::@1 [phi:print_cls::@1->print_cls::@1] b1_from_b1: - //SEG225 [92] phi (byte*) print_cls::sc#2 = (byte*) print_cls::sc#1 [phi:print_cls::@1->print_cls::@1#0] -- register_copy + //SEG222 [92] phi (byte*) print_cls::sc#2 = (byte*) print_cls::sc#1 [phi:print_cls::@1->print_cls::@1#0] -- register_copy jmp b1 - //SEG226 print_cls::@1 + //SEG223 print_cls::@1 b1: - //SEG227 [93] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::print_cls:11 [ print_cls::sc#2 ] ) -- _deref_pbuz1=vbuc1 + //SEG224 [93] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::print_cls:11 [ print_cls::sc#2 ] ) -- _deref_pbuz1=vbuc1 lda #' ' ldy #0 sta (sc),y - //SEG228 [94] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 [ print_cls::sc#1 ] ( main:2::print_cls:11 [ print_cls::sc#1 ] ) -- pbuz1=_inc_pbuz1 + //SEG225 [94] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 [ print_cls::sc#1 ] ( main:2::print_cls:11 [ print_cls::sc#1 ] ) -- pbuz1=_inc_pbuz1 inc sc bne !+ inc sc+1 !: - //SEG229 [95] if((byte*) print_cls::sc#1!=((byte*))(word/signed word/dword/signed dword) 1024+(word/signed word/dword/signed dword) 1000) goto print_cls::@1 [ print_cls::sc#1 ] ( main:2::print_cls:11 [ print_cls::sc#1 ] ) -- pbuz1_neq_pbuc1_then_la1 + //SEG226 [95] if((byte*) print_cls::sc#1!=((byte*))(word/signed word/dword/signed dword) 1024+(word/signed word/dword/signed dword) 1000) goto print_cls::@1 [ print_cls::sc#1 ] ( main:2::print_cls:11 [ print_cls::sc#1 ] ) -- pbuz1_neq_pbuc1_then_la1 lda sc+1 cmp #>$400+$3e8 bne b1_from_b1 @@ -4627,25 +4599,24 @@ print_cls: { cmp #<$400+$3e8 bne b1_from_b1 jmp breturn - //SEG230 print_cls::@return + //SEG227 print_cls::@return breturn: - //SEG231 [96] return [ ] ( main:2::print_cls:11 [ ] ) + //SEG228 [96] return [ ] ( main:2::print_cls:11 [ ] ) rts } -//SEG232 lin16u_gen +//SEG229 lin16u_gen lin16u_gen: { - .label _5 = $36 - .label ampl = $28 - .label stepi = $2c - .label stepf = $30 - .label step = $32 - .label val = $15 - .label lintab = $19 - .label i = $1b + .label _5 = $34 + .label ampl = $26 + .label stepi = $2a + .label stepf = $2e + .label step = $30 + .label val = $13 + .label lintab = $17 + .label i = $19 .label max = $f .label min = $11 - .label length = $13 - //SEG233 [98] (word) lin16u_gen::ampl#0 ← (word) lin16u_gen::max#3 - (word) lin16u_gen::min#3 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 ] ) -- vwuz1=vwuz2_minus_vwuz3 + //SEG230 [98] (word) lin16u_gen::ampl#0 ← (word) lin16u_gen::max#3 - (word) lin16u_gen::min#3 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 ] ) -- vwuz1=vwuz2_minus_vwuz3 lda max sec sbc min @@ -4653,81 +4624,73 @@ lin16u_gen: { lda max+1 sbc min+1 sta ampl+1 - //SEG234 [99] (word) divr16u::divisor#0 ← (word) lin16u_gen::length#3 - (byte/signed byte/word/signed word/dword/signed dword) 1 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 divr16u::divisor#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 divr16u::divisor#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 divr16u::divisor#0 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 divr16u::divisor#0 ] ) -- vwuz1=vwuz2_minus_1 - lda length - sec - sbc #1 - sta divr16u.divisor - lda length+1 - sbc #0 - sta divr16u.divisor+1 - //SEG235 [100] (word) divr16u::dividend#1 ← (word) lin16u_gen::ampl#0 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#0 divr16u::dividend#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#0 divr16u::dividend#1 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#0 divr16u::dividend#1 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#0 divr16u::dividend#1 ] ) -- vwuz1=vwuz2 + //SEG231 [99] (word) divr16u::dividend#1 ← (word) lin16u_gen::ampl#0 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::dividend#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::dividend#1 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::dividend#1 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::dividend#1 ] ) -- vwuz1=vwuz2 lda ampl sta divr16u.dividend lda ampl+1 sta divr16u.dividend+1 - //SEG236 [101] call divr16u param-assignment [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] ) - //SEG237 [119] phi from lin16u_gen to divr16u [phi:lin16u_gen->divr16u] + //SEG232 [100] call divr16u param-assignment [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] ) + //SEG233 [117] phi from lin16u_gen to divr16u [phi:lin16u_gen->divr16u] divr16u_from_lin16u_gen: - //SEG238 [119] phi (word) divr16u::divisor#6 = (word) divr16u::divisor#0 [phi:lin16u_gen->divr16u#0] -- register_copy - //SEG239 [119] phi (word) divr16u::dividend#5 = (word) divr16u::dividend#1 [phi:lin16u_gen->divr16u#1] -- register_copy - //SEG240 [119] phi (word) divr16u::rem#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:lin16u_gen->divr16u#2] -- vwuz1=vbuc1 + //SEG234 [117] phi (word) divr16u::divisor#6 = (byte/signed byte/word/signed word/dword/signed dword) 20-(byte/signed byte/word/signed word/dword/signed dword) 1 [phi:lin16u_gen->divr16u#0] -- vwuz1=vbuc1 + lda #<$14-1 + sta divr16u.divisor + lda #>$14-1 + sta divr16u.divisor+1 + //SEG235 [117] phi (word) divr16u::dividend#5 = (word) divr16u::dividend#1 [phi:lin16u_gen->divr16u#1] -- register_copy + //SEG236 [117] phi (word) divr16u::rem#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:lin16u_gen->divr16u#2] -- vwuz1=vbuc1 lda #<0 sta divr16u.rem lda #>0 sta divr16u.rem+1 jsr divr16u - //SEG241 [102] (word) divr16u::return#2 ← (word) divr16u::return#0 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#2 rem16u#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#2 rem16u#1 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#2 rem16u#1 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#2 rem16u#1 ] ) -- vwuz1=vwuz2 + //SEG237 [101] (word) divr16u::return#2 ← (word) divr16u::return#0 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#2 rem16u#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#2 rem16u#1 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#2 rem16u#1 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#2 rem16u#1 ] ) -- vwuz1=vwuz2 lda divr16u.return sta divr16u.return_2 lda divr16u.return+1 sta divr16u.return_2+1 jmp b3 - //SEG242 lin16u_gen::@3 + //SEG238 lin16u_gen::@3 b3: - //SEG243 [103] (word) lin16u_gen::stepi#0 ← (word) divr16u::return#2 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 rem16u#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 rem16u#1 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 rem16u#1 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 rem16u#1 ] ) -- vwuz1=vwuz2 + //SEG239 [102] (word) lin16u_gen::stepi#0 ← (word) divr16u::return#2 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 rem16u#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 rem16u#1 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 rem16u#1 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 rem16u#1 ] ) -- vwuz1=vwuz2 lda divr16u.return_2 sta stepi lda divr16u.return_2+1 sta stepi+1 - //SEG244 [104] (word) divr16u::divisor#1 ← (word) lin16u_gen::length#3 - (byte/signed byte/word/signed word/dword/signed dword) 1 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#1 rem16u#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#1 rem16u#1 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#1 rem16u#1 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#1 rem16u#1 ] ) -- vwuz1=vwuz2_minus_1 - lda length - sec - sbc #1 - sta divr16u.divisor - lda length+1 - sbc #0 - sta divr16u.divisor+1 - //SEG245 [105] (word) divr16u::rem#4 ← (word) rem16u#1 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#1 divr16u::rem#4 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#1 divr16u::rem#4 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#1 divr16u::rem#4 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#1 divr16u::rem#4 ] ) -- vwuz1=vwuz2 + //SEG240 [103] (word) divr16u::rem#4 ← (word) rem16u#1 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#4 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#4 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#4 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#4 ] ) -- vwuz1=vwuz2 lda rem16u sta divr16u.rem lda rem16u+1 sta divr16u.rem+1 - //SEG246 [106] call divr16u param-assignment [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 lin16u_gen::stepi#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 lin16u_gen::stepi#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 lin16u_gen::stepi#0 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 lin16u_gen::stepi#0 ] ) - //SEG247 [119] phi from lin16u_gen::@3 to divr16u [phi:lin16u_gen::@3->divr16u] + //SEG241 [104] call divr16u param-assignment [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 lin16u_gen::stepi#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 lin16u_gen::stepi#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 lin16u_gen::stepi#0 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 lin16u_gen::stepi#0 ] ) + //SEG242 [117] phi from lin16u_gen::@3 to divr16u [phi:lin16u_gen::@3->divr16u] divr16u_from_b3: - //SEG248 [119] phi (word) divr16u::divisor#6 = (word) divr16u::divisor#1 [phi:lin16u_gen::@3->divr16u#0] -- register_copy - //SEG249 [119] phi (word) divr16u::dividend#5 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:lin16u_gen::@3->divr16u#1] -- vwuz1=vbuc1 + //SEG243 [117] phi (word) divr16u::divisor#6 = (byte/signed byte/word/signed word/dword/signed dword) 20-(byte/signed byte/word/signed word/dword/signed dword) 1 [phi:lin16u_gen::@3->divr16u#0] -- vwuz1=vbuc1 + lda #<$14-1 + sta divr16u.divisor + lda #>$14-1 + sta divr16u.divisor+1 + //SEG244 [117] phi (word) divr16u::dividend#5 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:lin16u_gen::@3->divr16u#1] -- vwuz1=vbuc1 lda #<0 sta divr16u.dividend lda #>0 sta divr16u.dividend+1 - //SEG250 [119] phi (word) divr16u::rem#10 = (word) divr16u::rem#4 [phi:lin16u_gen::@3->divr16u#2] -- register_copy + //SEG245 [117] phi (word) divr16u::rem#10 = (word) divr16u::rem#4 [phi:lin16u_gen::@3->divr16u#2] -- register_copy jsr divr16u - //SEG251 [107] (word) divr16u::return#3 ← (word) divr16u::return#0 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#3 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#3 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#3 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#3 ] ) -- vwuz1=vwuz2 + //SEG246 [105] (word) divr16u::return#3 ← (word) divr16u::return#0 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#3 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#3 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#3 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#3 ] ) -- vwuz1=vwuz2 lda divr16u.return sta divr16u.return_3 lda divr16u.return+1 sta divr16u.return_3+1 jmp b4 - //SEG252 lin16u_gen::@4 + //SEG247 lin16u_gen::@4 b4: - //SEG253 [108] (word) lin16u_gen::stepf#0 ← (word) divr16u::return#3 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 lin16u_gen::stepf#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 lin16u_gen::stepf#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 lin16u_gen::stepf#0 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 lin16u_gen::stepf#0 ] ) -- vwuz1=vwuz2 + //SEG248 [106] (word) lin16u_gen::stepf#0 ← (word) divr16u::return#3 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 lin16u_gen::stepf#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 lin16u_gen::stepf#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 lin16u_gen::stepf#0 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 lin16u_gen::stepf#0 ] ) -- vwuz1=vwuz2 lda divr16u.return_3 sta stepf lda divr16u.return_3+1 sta stepf+1 - //SEG254 [109] (dword) lin16u_gen::step#0 ← (word) lin16u_gen::stepi#0 dw= (word) lin16u_gen::stepf#0 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::step#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::step#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::step#0 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::step#0 ] ) -- vduz1=vwuz2_dword_vwuz3 + //SEG249 [107] (dword) lin16u_gen::step#0 ← (word) lin16u_gen::stepi#0 dw= (word) lin16u_gen::stepf#0 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::step#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::step#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::step#0 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::step#0 ] ) -- vduz1=vwuz2_dword_vwuz3 lda stepi sta step+2 lda stepi+1 @@ -4736,7 +4699,7 @@ lin16u_gen: { sta step lda stepf+1 sta step+1 - //SEG255 [110] (dword) lin16u_gen::val#0 ← (word) lin16u_gen::min#3 dw= (byte/signed byte/word/signed word/dword/signed dword) 0 [ lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::step#0 lin16u_gen::val#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::step#0 lin16u_gen::val#0 ] main:2::lin16u_gen:7 [ lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::step#0 lin16u_gen::val#0 ] main:2::lin16u_gen:9 [ lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::step#0 lin16u_gen::val#0 ] ) -- vduz1=vwuz2_dword_vbuc1 + //SEG250 [108] (dword) lin16u_gen::val#0 ← (word) lin16u_gen::min#3 dw= (byte/signed byte/word/signed word/dword/signed dword) 0 [ lin16u_gen::lintab#5 lin16u_gen::step#0 lin16u_gen::val#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::lintab#5 lin16u_gen::step#0 lin16u_gen::val#0 ] main:2::lin16u_gen:7 [ lin16u_gen::lintab#5 lin16u_gen::step#0 lin16u_gen::val#0 ] main:2::lin16u_gen:9 [ lin16u_gen::lintab#5 lin16u_gen::step#0 lin16u_gen::val#0 ] ) -- vduz1=vwuz2_dword_vbuc1 lda #<0 sta val lda #>0 @@ -4745,37 +4708,37 @@ lin16u_gen: { sta val+2 lda min+1 sta val+3 - //SEG256 [111] phi from lin16u_gen::@4 to lin16u_gen::@1 [phi:lin16u_gen::@4->lin16u_gen::@1] + //SEG251 [109] phi from lin16u_gen::@4 to lin16u_gen::@1 [phi:lin16u_gen::@4->lin16u_gen::@1] b1_from_b4: - //SEG257 [111] phi (word) lin16u_gen::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:lin16u_gen::@4->lin16u_gen::@1#0] -- vwuz1=vbuc1 + //SEG252 [109] phi (word) lin16u_gen::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:lin16u_gen::@4->lin16u_gen::@1#0] -- vwuz1=vbuc1 lda #<0 sta i lda #>0 sta i+1 - //SEG258 [111] phi (word*) lin16u_gen::lintab#4 = (word*) lin16u_gen::lintab#5 [phi:lin16u_gen::@4->lin16u_gen::@1#1] -- register_copy - //SEG259 [111] phi (dword) lin16u_gen::val#2 = (dword) lin16u_gen::val#0 [phi:lin16u_gen::@4->lin16u_gen::@1#2] -- register_copy + //SEG253 [109] phi (word*) lin16u_gen::lintab#4 = (word*) lin16u_gen::lintab#5 [phi:lin16u_gen::@4->lin16u_gen::@1#1] -- register_copy + //SEG254 [109] phi (dword) lin16u_gen::val#2 = (dword) lin16u_gen::val#0 [phi:lin16u_gen::@4->lin16u_gen::@1#2] -- register_copy jmp b1 - //SEG260 [111] phi from lin16u_gen::@1 to lin16u_gen::@1 [phi:lin16u_gen::@1->lin16u_gen::@1] + //SEG255 [109] phi from lin16u_gen::@1 to lin16u_gen::@1 [phi:lin16u_gen::@1->lin16u_gen::@1] b1_from_b1: - //SEG261 [111] phi (word) lin16u_gen::i#2 = (word) lin16u_gen::i#1 [phi:lin16u_gen::@1->lin16u_gen::@1#0] -- register_copy - //SEG262 [111] phi (word*) lin16u_gen::lintab#4 = (word*) lin16u_gen::lintab#3 [phi:lin16u_gen::@1->lin16u_gen::@1#1] -- register_copy - //SEG263 [111] phi (dword) lin16u_gen::val#2 = (dword) lin16u_gen::val#1 [phi:lin16u_gen::@1->lin16u_gen::@1#2] -- register_copy + //SEG256 [109] phi (word) lin16u_gen::i#2 = (word) lin16u_gen::i#1 [phi:lin16u_gen::@1->lin16u_gen::@1#0] -- register_copy + //SEG257 [109] phi (word*) lin16u_gen::lintab#4 = (word*) lin16u_gen::lintab#3 [phi:lin16u_gen::@1->lin16u_gen::@1#1] -- register_copy + //SEG258 [109] phi (dword) lin16u_gen::val#2 = (dword) lin16u_gen::val#1 [phi:lin16u_gen::@1->lin16u_gen::@1#2] -- register_copy jmp b1 - //SEG264 lin16u_gen::@1 + //SEG259 lin16u_gen::@1 b1: - //SEG265 [112] (word~) lin16u_gen::$5 ← > (dword) lin16u_gen::val#2 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::$5 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::$5 ] main:2::lin16u_gen:7 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::$5 ] main:2::lin16u_gen:9 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::$5 ] ) -- vwuz1=_hi_vduz2 + //SEG260 [110] (word~) lin16u_gen::$5 ← > (dword) lin16u_gen::val#2 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::$5 ] ( main:2::lin16u_gen:5 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::$5 ] main:2::lin16u_gen:7 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::$5 ] main:2::lin16u_gen:9 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::$5 ] ) -- vwuz1=_hi_vduz2 lda val+2 sta _5 lda val+3 sta _5+1 - //SEG266 [113] *((word*) lin16u_gen::lintab#4) ← (word~) lin16u_gen::$5 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] main:2::lin16u_gen:7 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] main:2::lin16u_gen:9 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] ) -- _deref_pwuz1=vwuz2 + //SEG261 [111] *((word*) lin16u_gen::lintab#4) ← (word~) lin16u_gen::$5 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] ( main:2::lin16u_gen:5 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] main:2::lin16u_gen:7 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] main:2::lin16u_gen:9 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] ) -- _deref_pwuz1=vwuz2 ldy #0 lda _5 sta (lintab),y iny lda _5+1 sta (lintab),y - //SEG267 [114] (dword) lin16u_gen::val#1 ← (dword) lin16u_gen::val#2 + (dword) lin16u_gen::step#0 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::val#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::val#1 ] main:2::lin16u_gen:7 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::val#1 ] main:2::lin16u_gen:9 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::val#1 ] ) -- vduz1=vduz1_plus_vduz2 + //SEG262 [112] (dword) lin16u_gen::val#1 ← (dword) lin16u_gen::val#2 + (dword) lin16u_gen::step#0 [ lin16u_gen::step#0 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::val#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::step#0 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::val#1 ] main:2::lin16u_gen:7 [ lin16u_gen::step#0 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::val#1 ] main:2::lin16u_gen:9 [ lin16u_gen::step#0 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::val#1 ] ) -- vduz1=vduz1_plus_vduz2 lda val clc adc step @@ -4789,7 +4752,7 @@ lin16u_gen: { lda val+3 adc step+3 sta val+3 - //SEG268 [115] (word*) lin16u_gen::lintab#3 ← (word*) lin16u_gen::lintab#4 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::i#2 lin16u_gen::val#1 lin16u_gen::lintab#3 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::i#2 lin16u_gen::val#1 lin16u_gen::lintab#3 ] main:2::lin16u_gen:7 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::i#2 lin16u_gen::val#1 lin16u_gen::lintab#3 ] main:2::lin16u_gen:9 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::i#2 lin16u_gen::val#1 lin16u_gen::lintab#3 ] ) -- pwuz1=pwuz1_plus_2 + //SEG263 [113] (word*) lin16u_gen::lintab#3 ← (word*) lin16u_gen::lintab#4 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ lin16u_gen::step#0 lin16u_gen::i#2 lin16u_gen::val#1 lin16u_gen::lintab#3 ] ( main:2::lin16u_gen:5 [ lin16u_gen::step#0 lin16u_gen::i#2 lin16u_gen::val#1 lin16u_gen::lintab#3 ] main:2::lin16u_gen:7 [ lin16u_gen::step#0 lin16u_gen::i#2 lin16u_gen::val#1 lin16u_gen::lintab#3 ] main:2::lin16u_gen:9 [ lin16u_gen::step#0 lin16u_gen::i#2 lin16u_gen::val#1 lin16u_gen::lintab#3 ] ) -- pwuz1=pwuz1_plus_2 lda lintab clc adc #2 @@ -4797,94 +4760,94 @@ lin16u_gen: { bcc !+ inc lintab+1 !: - //SEG269 [116] (word) lin16u_gen::i#1 ← ++ (word) lin16u_gen::i#2 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] main:2::lin16u_gen:7 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] main:2::lin16u_gen:9 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] ) -- vwuz1=_inc_vwuz1 + //SEG264 [114] (word) lin16u_gen::i#1 ← ++ (word) lin16u_gen::i#2 [ lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] main:2::lin16u_gen:7 [ lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] main:2::lin16u_gen:9 [ lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] ) -- vwuz1=_inc_vwuz1 inc i bne !+ inc i+1 !: - //SEG270 [117] if((word) lin16u_gen::i#1<(word) lin16u_gen::length#3) goto lin16u_gen::@1 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] main:2::lin16u_gen:7 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] main:2::lin16u_gen:9 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] ) -- vwuz1_lt_vwuz2_then_la1 + //SEG265 [115] if((word) lin16u_gen::i#1<(byte/signed byte/word/signed word/dword/signed dword) 20) goto lin16u_gen::@1 [ lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] main:2::lin16u_gen:7 [ lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] main:2::lin16u_gen:9 [ lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] ) -- vwuz1_lt_vbuc1_then_la1 lda i+1 - cmp length+1 + cmp #>$14 bcc b1_from_b1 bne !+ lda i - cmp length + cmp #<$14 bcc b1_from_b1 !: jmp breturn - //SEG271 lin16u_gen::@return + //SEG266 lin16u_gen::@return breturn: - //SEG272 [118] return [ ] ( main:2::lin16u_gen:5 [ ] main:2::lin16u_gen:7 [ ] main:2::lin16u_gen:9 [ ] ) + //SEG267 [116] return [ ] ( main:2::lin16u_gen:5 [ ] main:2::lin16u_gen:7 [ ] main:2::lin16u_gen:9 [ ] ) rts } -//SEG273 divr16u +//SEG268 divr16u divr16u: { - .label _1 = $38 - .label _2 = $39 - .label rem = $1f - .label dividend = $21 - .label quotient = $23 - .label i = $25 - .label return = $23 - .label divisor = $1d - .label return_2 = $2a - .label return_3 = $2e - //SEG274 [120] phi from divr16u to divr16u::@1 [phi:divr16u->divr16u::@1] + .label _1 = $36 + .label _2 = $37 + .label rem = $1d + .label dividend = $1f + .label quotient = $21 + .label i = $23 + .label return = $21 + .label return_2 = $28 + .label return_3 = $2c + .label divisor = $1b + //SEG269 [118] phi from divr16u to divr16u::@1 [phi:divr16u->divr16u::@1] b1_from_divr16u: - //SEG275 [120] phi (byte) divr16u::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#0] -- vbuz1=vbuc1 + //SEG270 [118] phi (byte) divr16u::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#0] -- vbuz1=vbuc1 lda #0 sta i - //SEG276 [120] phi (word) divr16u::quotient#3 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#1] -- vwuz1=vbuc1 + //SEG271 [118] phi (word) divr16u::quotient#3 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#1] -- vwuz1=vbuc1 lda #<0 sta quotient lda #>0 sta quotient+1 - //SEG277 [120] phi (word) divr16u::dividend#3 = (word) divr16u::dividend#5 [phi:divr16u->divr16u::@1#2] -- register_copy - //SEG278 [120] phi (word) divr16u::rem#5 = (word) divr16u::rem#10 [phi:divr16u->divr16u::@1#3] -- register_copy + //SEG272 [118] phi (word) divr16u::dividend#3 = (word) divr16u::dividend#5 [phi:divr16u->divr16u::@1#2] -- register_copy + //SEG273 [118] phi (word) divr16u::rem#5 = (word) divr16u::rem#10 [phi:divr16u->divr16u::@1#3] -- register_copy jmp b1 - //SEG279 [120] phi from divr16u::@3 to divr16u::@1 [phi:divr16u::@3->divr16u::@1] + //SEG274 [118] phi from divr16u::@3 to divr16u::@1 [phi:divr16u::@3->divr16u::@1] b1_from_b3: - //SEG280 [120] phi (byte) divr16u::i#2 = (byte) divr16u::i#1 [phi:divr16u::@3->divr16u::@1#0] -- register_copy - //SEG281 [120] phi (word) divr16u::quotient#3 = (word) divr16u::return#0 [phi:divr16u::@3->divr16u::@1#1] -- register_copy - //SEG282 [120] phi (word) divr16u::dividend#3 = (word) divr16u::dividend#0 [phi:divr16u::@3->divr16u::@1#2] -- register_copy - //SEG283 [120] phi (word) divr16u::rem#5 = (word) divr16u::rem#11 [phi:divr16u::@3->divr16u::@1#3] -- register_copy + //SEG275 [118] phi (byte) divr16u::i#2 = (byte) divr16u::i#1 [phi:divr16u::@3->divr16u::@1#0] -- register_copy + //SEG276 [118] phi (word) divr16u::quotient#3 = (word) divr16u::return#0 [phi:divr16u::@3->divr16u::@1#1] -- register_copy + //SEG277 [118] phi (word) divr16u::dividend#3 = (word) divr16u::dividend#0 [phi:divr16u::@3->divr16u::@1#2] -- register_copy + //SEG278 [118] phi (word) divr16u::rem#5 = (word) divr16u::rem#11 [phi:divr16u::@3->divr16u::@1#3] -- register_copy jmp b1 - //SEG284 divr16u::@1 + //SEG279 divr16u::@1 b1: - //SEG285 [121] (word) divr16u::rem#0 ← (word) divr16u::rem#5 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) -- vwuz1=vwuz1_rol_1 + //SEG280 [119] (word) divr16u::rem#0 ← (word) divr16u::rem#5 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) -- vwuz1=vwuz1_rol_1 asl rem rol rem+1 - //SEG286 [122] (byte~) divr16u::$1 ← > (word) divr16u::dividend#3 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) -- vbuz1=_hi_vwuz2 + //SEG281 [120] (byte~) divr16u::$1 ← > (word) divr16u::dividend#3 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) -- vbuz1=_hi_vwuz2 lda dividend+1 sta _1 - //SEG287 [123] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) -- vbuz1=vbuz2_band_vbuc1 + //SEG282 [121] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) -- vbuz1=vbuz2_band_vbuc1 lda #$80 and _1 sta _2 - //SEG288 [124] if((byte~) divr16u::$2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto divr16u::@2 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) -- vbuz1_eq_0_then_la1 + //SEG283 [122] if((byte~) divr16u::$2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto divr16u::@2 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) -- vbuz1_eq_0_then_la1 lda _2 beq b2_from_b1 jmp b4 - //SEG289 divr16u::@4 + //SEG284 divr16u::@4 b4: - //SEG290 [125] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) -- vwuz1=vwuz1_bor_vbuc1 + //SEG285 [123] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) -- vwuz1=vwuz1_bor_vbuc1 lda #1 ora rem sta rem - //SEG291 [126] phi from divr16u::@1 divr16u::@4 to divr16u::@2 [phi:divr16u::@1/divr16u::@4->divr16u::@2] + //SEG286 [124] phi from divr16u::@1 divr16u::@4 to divr16u::@2 [phi:divr16u::@1/divr16u::@4->divr16u::@2] b2_from_b1: b2_from_b4: - //SEG292 [126] phi (word) divr16u::rem#6 = (word) divr16u::rem#0 [phi:divr16u::@1/divr16u::@4->divr16u::@2#0] -- register_copy + //SEG287 [124] phi (word) divr16u::rem#6 = (word) divr16u::rem#0 [phi:divr16u::@1/divr16u::@4->divr16u::@2#0] -- register_copy jmp b2 - //SEG293 divr16u::@2 + //SEG288 divr16u::@2 b2: - //SEG294 [127] (word) divr16u::dividend#0 ← (word) divr16u::dividend#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ) -- vwuz1=vwuz1_rol_1 + //SEG289 [125] (word) divr16u::dividend#0 ← (word) divr16u::dividend#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ) -- vwuz1=vwuz1_rol_1 asl dividend rol dividend+1 - //SEG295 [128] (word) divr16u::quotient#1 ← (word) divr16u::quotient#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) -- vwuz1=vwuz1_rol_1 + //SEG290 [126] (word) divr16u::quotient#1 ← (word) divr16u::quotient#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) -- vwuz1=vwuz1_rol_1 asl quotient rol quotient+1 - //SEG296 [129] if((word) divr16u::rem#6<(word) divr16u::divisor#6) goto divr16u::@3 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) -- vwuz1_lt_vwuz2_then_la1 + //SEG291 [127] if((word) divr16u::rem#6<(word) divr16u::divisor#6) goto divr16u::@3 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) -- vwuz1_lt_vwuz2_then_la1 lda rem+1 cmp divisor+1 bcc b3_from_b2 @@ -4894,14 +4857,14 @@ divr16u: { bcc b3_from_b2 !: jmp b5 - //SEG297 divr16u::@5 + //SEG292 divr16u::@5 b5: - //SEG298 [130] (word) divr16u::quotient#2 ← ++ (word) divr16u::quotient#1 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] ) -- vwuz1=_inc_vwuz1 + //SEG293 [128] (word) divr16u::quotient#2 ← ++ (word) divr16u::quotient#1 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] ) -- vwuz1=_inc_vwuz1 inc quotient bne !+ inc quotient+1 !: - //SEG299 [131] (word) divr16u::rem#2 ← (word) divr16u::rem#6 - (word) divr16u::divisor#6 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ) -- vwuz1=vwuz1_minus_vwuz2 + //SEG294 [129] (word) divr16u::rem#2 ← (word) divr16u::rem#6 - (word) divr16u::divisor#6 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ) -- vwuz1=vwuz1_minus_vwuz2 lda rem sec sbc divisor @@ -4909,32 +4872,32 @@ divr16u: { lda rem+1 sbc divisor+1 sta rem+1 - //SEG300 [132] phi from divr16u::@2 divr16u::@5 to divr16u::@3 [phi:divr16u::@2/divr16u::@5->divr16u::@3] + //SEG295 [130] phi from divr16u::@2 divr16u::@5 to divr16u::@3 [phi:divr16u::@2/divr16u::@5->divr16u::@3] b3_from_b2: b3_from_b5: - //SEG301 [132] phi (word) divr16u::return#0 = (word) divr16u::quotient#1 [phi:divr16u::@2/divr16u::@5->divr16u::@3#0] -- register_copy - //SEG302 [132] phi (word) divr16u::rem#11 = (word) divr16u::rem#6 [phi:divr16u::@2/divr16u::@5->divr16u::@3#1] -- register_copy + //SEG296 [130] phi (word) divr16u::return#0 = (word) divr16u::quotient#1 [phi:divr16u::@2/divr16u::@5->divr16u::@3#0] -- register_copy + //SEG297 [130] phi (word) divr16u::rem#11 = (word) divr16u::rem#6 [phi:divr16u::@2/divr16u::@5->divr16u::@3#1] -- register_copy jmp b3 - //SEG303 divr16u::@3 + //SEG298 divr16u::@3 b3: - //SEG304 [133] (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2 [ divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ) -- vbuz1=_inc_vbuz1 + //SEG299 [131] (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2 [ divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ) -- vbuz1=_inc_vbuz1 inc i - //SEG305 [134] if((byte) divr16u::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto divr16u::@1 [ divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ) -- vbuz1_neq_vbuc1_then_la1 + //SEG300 [132] if((byte) divr16u::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto divr16u::@1 [ divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ) -- vbuz1_neq_vbuc1_then_la1 lda i cmp #$10 bne b1_from_b3 jmp b6 - //SEG306 divr16u::@6 + //SEG301 divr16u::@6 b6: - //SEG307 [135] (word) rem16u#1 ← (word) divr16u::rem#11 [ divr16u::return#0 rem16u#1 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] ) -- vwuz1=vwuz2 + //SEG302 [133] (word) rem16u#1 ← (word) divr16u::rem#11 [ divr16u::return#0 rem16u#1 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] ) -- vwuz1=vwuz2 lda rem sta rem16u lda rem+1 sta rem16u+1 jmp breturn - //SEG308 divr16u::@return + //SEG303 divr16u::@return breturn: - //SEG309 [136] return [ divr16u::return#0 rem16u#1 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] ) + //SEG304 [134] return [ divr16u::return#0 rem16u#1 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] ) rts } print_hextab: .text "0123456789abcdef" @@ -4960,29 +4923,27 @@ Statement [86] if(*((byte*) print_str::str#10)!=(byte) '@') goto print_str::@2 [ Statement [88] *((byte*) print_char_cursor#2) ← *((byte*) print_str::str#10) [ print_char_cursor#2 print_str::str#10 ] ( main:2::print_str:13 [ print_char_cursor#2 print_str::str#10 ] main:2::print_str:17 [ print_char_cursor#2 print_str::str#10 ] main:2::print_str:21 [ print_char_cursor#2 print_str::str#10 ] main:2::print_str:31 [ main::i#10 print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:35 [ main::i#10 print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:39 [ main::i#10 print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:47 [ print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:51 [ print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:55 [ print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] ) always clobbers reg byte a reg byte y Statement [93] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::print_cls:11 [ print_cls::sc#2 ] ) always clobbers reg byte a reg byte y Statement [95] if((byte*) print_cls::sc#1!=((byte*))(word/signed word/dword/signed dword) 1024+(word/signed word/dword/signed dword) 1000) goto print_cls::@1 [ print_cls::sc#1 ] ( main:2::print_cls:11 [ print_cls::sc#1 ] ) always clobbers reg byte a -Statement [98] (word) lin16u_gen::ampl#0 ← (word) lin16u_gen::max#3 - (word) lin16u_gen::min#3 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 ] ) always clobbers reg byte a -Statement [99] (word) divr16u::divisor#0 ← (word) lin16u_gen::length#3 - (byte/signed byte/word/signed word/dword/signed dword) 1 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 divr16u::divisor#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 divr16u::divisor#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 divr16u::divisor#0 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 divr16u::divisor#0 ] ) always clobbers reg byte a -Statement [100] (word) divr16u::dividend#1 ← (word) lin16u_gen::ampl#0 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#0 divr16u::dividend#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#0 divr16u::dividend#1 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#0 divr16u::dividend#1 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#0 divr16u::dividend#1 ] ) always clobbers reg byte a -Statement [102] (word) divr16u::return#2 ← (word) divr16u::return#0 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#2 rem16u#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#2 rem16u#1 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#2 rem16u#1 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#2 rem16u#1 ] ) always clobbers reg byte a -Statement [103] (word) lin16u_gen::stepi#0 ← (word) divr16u::return#2 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 rem16u#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 rem16u#1 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 rem16u#1 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 rem16u#1 ] ) always clobbers reg byte a -Statement [104] (word) divr16u::divisor#1 ← (word) lin16u_gen::length#3 - (byte/signed byte/word/signed word/dword/signed dword) 1 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#1 rem16u#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#1 rem16u#1 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#1 rem16u#1 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#1 rem16u#1 ] ) always clobbers reg byte a -Statement [105] (word) divr16u::rem#4 ← (word) rem16u#1 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#1 divr16u::rem#4 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#1 divr16u::rem#4 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#1 divr16u::rem#4 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#1 divr16u::rem#4 ] ) always clobbers reg byte a -Statement [107] (word) divr16u::return#3 ← (word) divr16u::return#0 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#3 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#3 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#3 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#3 ] ) always clobbers reg byte a -Statement [108] (word) lin16u_gen::stepf#0 ← (word) divr16u::return#3 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 lin16u_gen::stepf#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 lin16u_gen::stepf#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 lin16u_gen::stepf#0 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 lin16u_gen::stepf#0 ] ) always clobbers reg byte a -Statement [109] (dword) lin16u_gen::step#0 ← (word) lin16u_gen::stepi#0 dw= (word) lin16u_gen::stepf#0 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::step#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::step#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::step#0 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::step#0 ] ) always clobbers reg byte a -Statement [110] (dword) lin16u_gen::val#0 ← (word) lin16u_gen::min#3 dw= (byte/signed byte/word/signed word/dword/signed dword) 0 [ lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::step#0 lin16u_gen::val#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::step#0 lin16u_gen::val#0 ] main:2::lin16u_gen:7 [ lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::step#0 lin16u_gen::val#0 ] main:2::lin16u_gen:9 [ lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::step#0 lin16u_gen::val#0 ] ) always clobbers reg byte a -Statement [112] (word~) lin16u_gen::$5 ← > (dword) lin16u_gen::val#2 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::$5 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::$5 ] main:2::lin16u_gen:7 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::$5 ] main:2::lin16u_gen:9 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::$5 ] ) always clobbers reg byte a -Statement [113] *((word*) lin16u_gen::lintab#4) ← (word~) lin16u_gen::$5 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] main:2::lin16u_gen:7 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] main:2::lin16u_gen:9 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] ) always clobbers reg byte a reg byte y -Statement [114] (dword) lin16u_gen::val#1 ← (dword) lin16u_gen::val#2 + (dword) lin16u_gen::step#0 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::val#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::val#1 ] main:2::lin16u_gen:7 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::val#1 ] main:2::lin16u_gen:9 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::val#1 ] ) always clobbers reg byte a -Statement [115] (word*) lin16u_gen::lintab#3 ← (word*) lin16u_gen::lintab#4 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::i#2 lin16u_gen::val#1 lin16u_gen::lintab#3 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::i#2 lin16u_gen::val#1 lin16u_gen::lintab#3 ] main:2::lin16u_gen:7 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::i#2 lin16u_gen::val#1 lin16u_gen::lintab#3 ] main:2::lin16u_gen:9 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::i#2 lin16u_gen::val#1 lin16u_gen::lintab#3 ] ) always clobbers reg byte a -Statement [117] if((word) lin16u_gen::i#1<(word) lin16u_gen::length#3) goto lin16u_gen::@1 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] main:2::lin16u_gen:7 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] main:2::lin16u_gen:9 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] ) always clobbers reg byte a -Statement [122] (byte~) divr16u::$1 ← > (word) divr16u::dividend#3 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:37 [ divr16u::i#2 divr16u::i#1 ] -Statement [123] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) always clobbers reg byte a -Statement [125] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) always clobbers reg byte a -Statement [129] if((word) divr16u::rem#6<(word) divr16u::divisor#6) goto divr16u::@3 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) always clobbers reg byte a -Statement [131] (word) divr16u::rem#2 ← (word) divr16u::rem#6 - (word) divr16u::divisor#6 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ) always clobbers reg byte a -Statement [135] (word) rem16u#1 ← (word) divr16u::rem#11 [ divr16u::return#0 rem16u#1 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] ) always clobbers reg byte a +Statement [98] (word) lin16u_gen::ampl#0 ← (word) lin16u_gen::max#3 - (word) lin16u_gen::min#3 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 ] ) always clobbers reg byte a +Statement [99] (word) divr16u::dividend#1 ← (word) lin16u_gen::ampl#0 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::dividend#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::dividend#1 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::dividend#1 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::dividend#1 ] ) always clobbers reg byte a +Statement [101] (word) divr16u::return#2 ← (word) divr16u::return#0 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#2 rem16u#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#2 rem16u#1 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#2 rem16u#1 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#2 rem16u#1 ] ) always clobbers reg byte a +Statement [102] (word) lin16u_gen::stepi#0 ← (word) divr16u::return#2 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 rem16u#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 rem16u#1 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 rem16u#1 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 rem16u#1 ] ) always clobbers reg byte a +Statement [103] (word) divr16u::rem#4 ← (word) rem16u#1 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#4 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#4 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#4 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#4 ] ) always clobbers reg byte a +Statement [105] (word) divr16u::return#3 ← (word) divr16u::return#0 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#3 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#3 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#3 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#3 ] ) always clobbers reg byte a +Statement [106] (word) lin16u_gen::stepf#0 ← (word) divr16u::return#3 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 lin16u_gen::stepf#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 lin16u_gen::stepf#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 lin16u_gen::stepf#0 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 lin16u_gen::stepf#0 ] ) always clobbers reg byte a +Statement [107] (dword) lin16u_gen::step#0 ← (word) lin16u_gen::stepi#0 dw= (word) lin16u_gen::stepf#0 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::step#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::step#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::step#0 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::step#0 ] ) always clobbers reg byte a +Statement [108] (dword) lin16u_gen::val#0 ← (word) lin16u_gen::min#3 dw= (byte/signed byte/word/signed word/dword/signed dword) 0 [ lin16u_gen::lintab#5 lin16u_gen::step#0 lin16u_gen::val#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::lintab#5 lin16u_gen::step#0 lin16u_gen::val#0 ] main:2::lin16u_gen:7 [ lin16u_gen::lintab#5 lin16u_gen::step#0 lin16u_gen::val#0 ] main:2::lin16u_gen:9 [ lin16u_gen::lintab#5 lin16u_gen::step#0 lin16u_gen::val#0 ] ) always clobbers reg byte a +Statement [110] (word~) lin16u_gen::$5 ← > (dword) lin16u_gen::val#2 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::$5 ] ( main:2::lin16u_gen:5 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::$5 ] main:2::lin16u_gen:7 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::$5 ] main:2::lin16u_gen:9 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::$5 ] ) always clobbers reg byte a +Statement [111] *((word*) lin16u_gen::lintab#4) ← (word~) lin16u_gen::$5 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] ( main:2::lin16u_gen:5 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] main:2::lin16u_gen:7 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] main:2::lin16u_gen:9 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] ) always clobbers reg byte a reg byte y +Statement [112] (dword) lin16u_gen::val#1 ← (dword) lin16u_gen::val#2 + (dword) lin16u_gen::step#0 [ lin16u_gen::step#0 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::val#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::step#0 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::val#1 ] main:2::lin16u_gen:7 [ lin16u_gen::step#0 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::val#1 ] main:2::lin16u_gen:9 [ lin16u_gen::step#0 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::val#1 ] ) always clobbers reg byte a +Statement [113] (word*) lin16u_gen::lintab#3 ← (word*) lin16u_gen::lintab#4 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ lin16u_gen::step#0 lin16u_gen::i#2 lin16u_gen::val#1 lin16u_gen::lintab#3 ] ( main:2::lin16u_gen:5 [ lin16u_gen::step#0 lin16u_gen::i#2 lin16u_gen::val#1 lin16u_gen::lintab#3 ] main:2::lin16u_gen:7 [ lin16u_gen::step#0 lin16u_gen::i#2 lin16u_gen::val#1 lin16u_gen::lintab#3 ] main:2::lin16u_gen:9 [ lin16u_gen::step#0 lin16u_gen::i#2 lin16u_gen::val#1 lin16u_gen::lintab#3 ] ) always clobbers reg byte a +Statement [115] if((word) lin16u_gen::i#1<(byte/signed byte/word/signed word/dword/signed dword) 20) goto lin16u_gen::@1 [ lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] main:2::lin16u_gen:7 [ lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] main:2::lin16u_gen:9 [ lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] ) always clobbers reg byte a +Statement [120] (byte~) divr16u::$1 ← > (word) divr16u::dividend#3 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:35 [ divr16u::i#2 divr16u::i#1 ] +Statement [121] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) always clobbers reg byte a +Statement [123] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) always clobbers reg byte a +Statement [127] if((word) divr16u::rem#6<(word) divr16u::divisor#6) goto divr16u::@3 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) always clobbers reg byte a +Statement [129] (word) divr16u::rem#2 ← (word) divr16u::rem#6 - (word) divr16u::divisor#6 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ) always clobbers reg byte a +Statement [133] (word) rem16u#1 ← (word) divr16u::rem#11 [ divr16u::return#0 rem16u#1 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] ) always clobbers reg byte a Statement [28] (byte*~) print_char_cursor#91 ← (byte*) print_line_cursor#1 [ main::i#10 print_byte::b#2 print_char_cursor#91 print_line_cursor#1 ] ( main:2 [ main::i#10 print_byte::b#2 print_char_cursor#91 print_line_cursor#1 ] ) always clobbers reg byte a Statement [32] (word) print_word::w#3 ← *((const word[20]) main::lintab1#0 + (byte) main::i#10) [ main::i#10 print_line_cursor#1 print_word::w#3 print_char_cursor#2 ] ( main:2 [ main::i#10 print_line_cursor#1 print_word::w#3 print_char_cursor#2 ] ) always clobbers reg byte a Statement [36] (word) print_word::w#4 ← *((const word[20]) main::lintab2#0 + (byte) main::i#10) [ main::i#10 print_line_cursor#1 print_word::w#4 print_char_cursor#2 ] ( main:2 [ main::i#10 print_line_cursor#1 print_word::w#4 print_char_cursor#2 ] ) always clobbers reg byte a @@ -4999,28 +4960,26 @@ Statement [86] if(*((byte*) print_str::str#10)!=(byte) '@') goto print_str::@2 [ Statement [88] *((byte*) print_char_cursor#2) ← *((byte*) print_str::str#10) [ print_char_cursor#2 print_str::str#10 ] ( main:2::print_str:13 [ print_char_cursor#2 print_str::str#10 ] main:2::print_str:17 [ print_char_cursor#2 print_str::str#10 ] main:2::print_str:21 [ print_char_cursor#2 print_str::str#10 ] main:2::print_str:31 [ main::i#10 print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:35 [ main::i#10 print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:39 [ main::i#10 print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:47 [ print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:51 [ print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:55 [ print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] ) always clobbers reg byte a reg byte y Statement [93] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::print_cls:11 [ print_cls::sc#2 ] ) always clobbers reg byte a reg byte y Statement [95] if((byte*) print_cls::sc#1!=((byte*))(word/signed word/dword/signed dword) 1024+(word/signed word/dword/signed dword) 1000) goto print_cls::@1 [ print_cls::sc#1 ] ( main:2::print_cls:11 [ print_cls::sc#1 ] ) always clobbers reg byte a -Statement [98] (word) lin16u_gen::ampl#0 ← (word) lin16u_gen::max#3 - (word) lin16u_gen::min#3 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 ] ) always clobbers reg byte a -Statement [99] (word) divr16u::divisor#0 ← (word) lin16u_gen::length#3 - (byte/signed byte/word/signed word/dword/signed dword) 1 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 divr16u::divisor#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 divr16u::divisor#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 divr16u::divisor#0 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 divr16u::divisor#0 ] ) always clobbers reg byte a -Statement [100] (word) divr16u::dividend#1 ← (word) lin16u_gen::ampl#0 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#0 divr16u::dividend#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#0 divr16u::dividend#1 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#0 divr16u::dividend#1 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#0 divr16u::dividend#1 ] ) always clobbers reg byte a -Statement [102] (word) divr16u::return#2 ← (word) divr16u::return#0 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#2 rem16u#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#2 rem16u#1 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#2 rem16u#1 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#2 rem16u#1 ] ) always clobbers reg byte a -Statement [103] (word) lin16u_gen::stepi#0 ← (word) divr16u::return#2 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 rem16u#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 rem16u#1 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 rem16u#1 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 rem16u#1 ] ) always clobbers reg byte a -Statement [104] (word) divr16u::divisor#1 ← (word) lin16u_gen::length#3 - (byte/signed byte/word/signed word/dword/signed dword) 1 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#1 rem16u#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#1 rem16u#1 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#1 rem16u#1 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#1 rem16u#1 ] ) always clobbers reg byte a -Statement [105] (word) divr16u::rem#4 ← (word) rem16u#1 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#1 divr16u::rem#4 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#1 divr16u::rem#4 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#1 divr16u::rem#4 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#1 divr16u::rem#4 ] ) always clobbers reg byte a -Statement [107] (word) divr16u::return#3 ← (word) divr16u::return#0 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#3 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#3 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#3 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#3 ] ) always clobbers reg byte a -Statement [108] (word) lin16u_gen::stepf#0 ← (word) divr16u::return#3 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 lin16u_gen::stepf#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 lin16u_gen::stepf#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 lin16u_gen::stepf#0 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 lin16u_gen::stepf#0 ] ) always clobbers reg byte a -Statement [109] (dword) lin16u_gen::step#0 ← (word) lin16u_gen::stepi#0 dw= (word) lin16u_gen::stepf#0 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::step#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::step#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::step#0 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::step#0 ] ) always clobbers reg byte a -Statement [110] (dword) lin16u_gen::val#0 ← (word) lin16u_gen::min#3 dw= (byte/signed byte/word/signed word/dword/signed dword) 0 [ lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::step#0 lin16u_gen::val#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::step#0 lin16u_gen::val#0 ] main:2::lin16u_gen:7 [ lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::step#0 lin16u_gen::val#0 ] main:2::lin16u_gen:9 [ lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::step#0 lin16u_gen::val#0 ] ) always clobbers reg byte a -Statement [112] (word~) lin16u_gen::$5 ← > (dword) lin16u_gen::val#2 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::$5 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::$5 ] main:2::lin16u_gen:7 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::$5 ] main:2::lin16u_gen:9 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::$5 ] ) always clobbers reg byte a -Statement [113] *((word*) lin16u_gen::lintab#4) ← (word~) lin16u_gen::$5 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] main:2::lin16u_gen:7 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] main:2::lin16u_gen:9 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] ) always clobbers reg byte a reg byte y -Statement [114] (dword) lin16u_gen::val#1 ← (dword) lin16u_gen::val#2 + (dword) lin16u_gen::step#0 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::val#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::val#1 ] main:2::lin16u_gen:7 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::val#1 ] main:2::lin16u_gen:9 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::val#1 ] ) always clobbers reg byte a -Statement [115] (word*) lin16u_gen::lintab#3 ← (word*) lin16u_gen::lintab#4 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::i#2 lin16u_gen::val#1 lin16u_gen::lintab#3 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::i#2 lin16u_gen::val#1 lin16u_gen::lintab#3 ] main:2::lin16u_gen:7 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::i#2 lin16u_gen::val#1 lin16u_gen::lintab#3 ] main:2::lin16u_gen:9 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::i#2 lin16u_gen::val#1 lin16u_gen::lintab#3 ] ) always clobbers reg byte a -Statement [117] if((word) lin16u_gen::i#1<(word) lin16u_gen::length#3) goto lin16u_gen::@1 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] main:2::lin16u_gen:7 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] main:2::lin16u_gen:9 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] ) always clobbers reg byte a -Statement [122] (byte~) divr16u::$1 ← > (word) divr16u::dividend#3 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) always clobbers reg byte a -Statement [123] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) always clobbers reg byte a -Statement [125] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) always clobbers reg byte a -Statement [129] if((word) divr16u::rem#6<(word) divr16u::divisor#6) goto divr16u::@3 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) always clobbers reg byte a -Statement [131] (word) divr16u::rem#2 ← (word) divr16u::rem#6 - (word) divr16u::divisor#6 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ) always clobbers reg byte a -Statement [135] (word) rem16u#1 ← (word) divr16u::rem#11 [ divr16u::return#0 rem16u#1 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] ) always clobbers reg byte a +Statement [98] (word) lin16u_gen::ampl#0 ← (word) lin16u_gen::max#3 - (word) lin16u_gen::min#3 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 ] ) always clobbers reg byte a +Statement [99] (word) divr16u::dividend#1 ← (word) lin16u_gen::ampl#0 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::dividend#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::dividend#1 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::dividend#1 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::dividend#1 ] ) always clobbers reg byte a +Statement [101] (word) divr16u::return#2 ← (word) divr16u::return#0 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#2 rem16u#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#2 rem16u#1 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#2 rem16u#1 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#2 rem16u#1 ] ) always clobbers reg byte a +Statement [102] (word) lin16u_gen::stepi#0 ← (word) divr16u::return#2 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 rem16u#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 rem16u#1 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 rem16u#1 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 rem16u#1 ] ) always clobbers reg byte a +Statement [103] (word) divr16u::rem#4 ← (word) rem16u#1 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#4 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#4 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#4 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#4 ] ) always clobbers reg byte a +Statement [105] (word) divr16u::return#3 ← (word) divr16u::return#0 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#3 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#3 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#3 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#3 ] ) always clobbers reg byte a +Statement [106] (word) lin16u_gen::stepf#0 ← (word) divr16u::return#3 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 lin16u_gen::stepf#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 lin16u_gen::stepf#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 lin16u_gen::stepf#0 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 lin16u_gen::stepf#0 ] ) always clobbers reg byte a +Statement [107] (dword) lin16u_gen::step#0 ← (word) lin16u_gen::stepi#0 dw= (word) lin16u_gen::stepf#0 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::step#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::step#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::step#0 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::step#0 ] ) always clobbers reg byte a +Statement [108] (dword) lin16u_gen::val#0 ← (word) lin16u_gen::min#3 dw= (byte/signed byte/word/signed word/dword/signed dword) 0 [ lin16u_gen::lintab#5 lin16u_gen::step#0 lin16u_gen::val#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::lintab#5 lin16u_gen::step#0 lin16u_gen::val#0 ] main:2::lin16u_gen:7 [ lin16u_gen::lintab#5 lin16u_gen::step#0 lin16u_gen::val#0 ] main:2::lin16u_gen:9 [ lin16u_gen::lintab#5 lin16u_gen::step#0 lin16u_gen::val#0 ] ) always clobbers reg byte a +Statement [110] (word~) lin16u_gen::$5 ← > (dword) lin16u_gen::val#2 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::$5 ] ( main:2::lin16u_gen:5 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::$5 ] main:2::lin16u_gen:7 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::$5 ] main:2::lin16u_gen:9 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::$5 ] ) always clobbers reg byte a +Statement [111] *((word*) lin16u_gen::lintab#4) ← (word~) lin16u_gen::$5 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] ( main:2::lin16u_gen:5 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] main:2::lin16u_gen:7 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] main:2::lin16u_gen:9 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] ) always clobbers reg byte a reg byte y +Statement [112] (dword) lin16u_gen::val#1 ← (dword) lin16u_gen::val#2 + (dword) lin16u_gen::step#0 [ lin16u_gen::step#0 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::val#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::step#0 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::val#1 ] main:2::lin16u_gen:7 [ lin16u_gen::step#0 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::val#1 ] main:2::lin16u_gen:9 [ lin16u_gen::step#0 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::val#1 ] ) always clobbers reg byte a +Statement [113] (word*) lin16u_gen::lintab#3 ← (word*) lin16u_gen::lintab#4 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ lin16u_gen::step#0 lin16u_gen::i#2 lin16u_gen::val#1 lin16u_gen::lintab#3 ] ( main:2::lin16u_gen:5 [ lin16u_gen::step#0 lin16u_gen::i#2 lin16u_gen::val#1 lin16u_gen::lintab#3 ] main:2::lin16u_gen:7 [ lin16u_gen::step#0 lin16u_gen::i#2 lin16u_gen::val#1 lin16u_gen::lintab#3 ] main:2::lin16u_gen:9 [ lin16u_gen::step#0 lin16u_gen::i#2 lin16u_gen::val#1 lin16u_gen::lintab#3 ] ) always clobbers reg byte a +Statement [115] if((word) lin16u_gen::i#1<(byte/signed byte/word/signed word/dword/signed dword) 20) goto lin16u_gen::@1 [ lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] main:2::lin16u_gen:7 [ lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] main:2::lin16u_gen:9 [ lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] ) always clobbers reg byte a +Statement [120] (byte~) divr16u::$1 ← > (word) divr16u::dividend#3 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) always clobbers reg byte a +Statement [121] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) always clobbers reg byte a +Statement [123] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) always clobbers reg byte a +Statement [127] if((word) divr16u::rem#6<(word) divr16u::divisor#6) goto divr16u::@3 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) always clobbers reg byte a +Statement [129] (word) divr16u::rem#2 ← (word) divr16u::rem#6 - (word) divr16u::divisor#6 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ) always clobbers reg byte a +Statement [133] (word) rem16u#1 ← (word) divr16u::rem#11 [ divr16u::return#0 rem16u#1 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] ) always clobbers reg byte a Potential registers zp ZP_BYTE:2 [ main::i#10 main::i#1 ] : zp ZP_BYTE:2 , reg byte x , Potential registers zp ZP_WORD:3 [ print_line_cursor#11 print_line_cursor#21 print_line_cursor#1 ] : zp ZP_WORD:3 , Potential registers zp ZP_WORD:5 [ print_word::w#10 print_word::w#3 print_word::w#4 print_word::w#5 ] : zp ZP_WORD:5 , @@ -5031,73 +4990,71 @@ Potential registers zp ZP_WORD:11 [ print_str::str#10 print_str::str#12 print_st Potential registers zp ZP_WORD:13 [ print_cls::sc#2 print_cls::sc#1 ] : zp ZP_WORD:13 , Potential registers zp ZP_WORD:15 [ lin16u_gen::max#3 ] : zp ZP_WORD:15 , Potential registers zp ZP_WORD:17 [ lin16u_gen::min#3 ] : zp ZP_WORD:17 , -Potential registers zp ZP_WORD:19 [ lin16u_gen::length#3 ] : zp ZP_WORD:19 , -Potential registers zp ZP_DWORD:21 [ lin16u_gen::val#2 lin16u_gen::val#1 lin16u_gen::val#0 ] : zp ZP_DWORD:21 , -Potential registers zp ZP_WORD:25 [ lin16u_gen::lintab#4 lin16u_gen::lintab#3 lin16u_gen::lintab#5 ] : zp ZP_WORD:25 , -Potential registers zp ZP_WORD:27 [ lin16u_gen::i#2 lin16u_gen::i#1 ] : zp ZP_WORD:27 , -Potential registers zp ZP_WORD:29 [ divr16u::divisor#6 divr16u::divisor#0 divr16u::divisor#1 ] : zp ZP_WORD:29 , -Potential registers zp ZP_WORD:31 [ divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] : zp ZP_WORD:31 , -Potential registers zp ZP_WORD:33 [ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#1 divr16u::dividend#0 ] : zp ZP_WORD:33 , -Potential registers zp ZP_WORD:35 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] : zp ZP_WORD:35 , -Potential registers zp ZP_BYTE:37 [ divr16u::i#2 divr16u::i#1 ] : zp ZP_BYTE:37 , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:38 [ print_byte::$0 ] : zp ZP_BYTE:38 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:39 [ print_byte::$2 ] : zp ZP_BYTE:39 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_WORD:40 [ lin16u_gen::ampl#0 ] : zp ZP_WORD:40 , -Potential registers zp ZP_WORD:42 [ divr16u::return#2 ] : zp ZP_WORD:42 , -Potential registers zp ZP_WORD:44 [ lin16u_gen::stepi#0 ] : zp ZP_WORD:44 , -Potential registers zp ZP_WORD:46 [ divr16u::return#3 ] : zp ZP_WORD:46 , -Potential registers zp ZP_WORD:48 [ lin16u_gen::stepf#0 ] : zp ZP_WORD:48 , -Potential registers zp ZP_DWORD:50 [ lin16u_gen::step#0 ] : zp ZP_DWORD:50 , -Potential registers zp ZP_WORD:54 [ lin16u_gen::$5 ] : zp ZP_WORD:54 , -Potential registers zp ZP_BYTE:56 [ divr16u::$1 ] : zp ZP_BYTE:56 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:57 [ divr16u::$2 ] : zp ZP_BYTE:57 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_WORD:58 [ rem16u#1 ] : zp ZP_WORD:58 , +Potential registers zp ZP_DWORD:19 [ lin16u_gen::val#2 lin16u_gen::val#1 lin16u_gen::val#0 ] : zp ZP_DWORD:19 , +Potential registers zp ZP_WORD:23 [ lin16u_gen::lintab#4 lin16u_gen::lintab#3 lin16u_gen::lintab#5 ] : zp ZP_WORD:23 , +Potential registers zp ZP_WORD:25 [ lin16u_gen::i#2 lin16u_gen::i#1 ] : zp ZP_WORD:25 , +Potential registers zp ZP_WORD:27 [ divr16u::divisor#6 ] : zp ZP_WORD:27 , +Potential registers zp ZP_WORD:29 [ divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] : zp ZP_WORD:29 , +Potential registers zp ZP_WORD:31 [ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#1 divr16u::dividend#0 ] : zp ZP_WORD:31 , +Potential registers zp ZP_WORD:33 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] : zp ZP_WORD:33 , +Potential registers zp ZP_BYTE:35 [ divr16u::i#2 divr16u::i#1 ] : zp ZP_BYTE:35 , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:36 [ print_byte::$0 ] : zp ZP_BYTE:36 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:37 [ print_byte::$2 ] : zp ZP_BYTE:37 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_WORD:38 [ lin16u_gen::ampl#0 ] : zp ZP_WORD:38 , +Potential registers zp ZP_WORD:40 [ divr16u::return#2 ] : zp ZP_WORD:40 , +Potential registers zp ZP_WORD:42 [ lin16u_gen::stepi#0 ] : zp ZP_WORD:42 , +Potential registers zp ZP_WORD:44 [ divr16u::return#3 ] : zp ZP_WORD:44 , +Potential registers zp ZP_WORD:46 [ lin16u_gen::stepf#0 ] : zp ZP_WORD:46 , +Potential registers zp ZP_DWORD:48 [ lin16u_gen::step#0 ] : zp ZP_DWORD:48 , +Potential registers zp ZP_WORD:52 [ lin16u_gen::$5 ] : zp ZP_WORD:52 , +Potential registers zp ZP_BYTE:54 [ divr16u::$1 ] : zp ZP_BYTE:54 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:55 [ divr16u::$2 ] : zp ZP_BYTE:55 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_WORD:56 [ rem16u#1 ] : zp ZP_WORD:56 , REGISTER UPLIFT SCOPES -Uplift Scope [] 227.89: zp ZP_WORD:3 [ print_line_cursor#11 print_line_cursor#21 print_line_cursor#1 ] 198.69: zp ZP_WORD:9 [ print_char_cursor#86 print_char_cursor#50 print_char_cursor#81 print_char_cursor#91 print_char_cursor#2 print_char_cursor#11 print_char_cursor#100 print_char_cursor#1 ] 0.67: zp ZP_WORD:58 [ rem16u#1 ] +Uplift Scope [] 227.89: zp ZP_WORD:3 [ print_line_cursor#11 print_line_cursor#21 print_line_cursor#1 ] 198.69: zp ZP_WORD:9 [ print_char_cursor#86 print_char_cursor#50 print_char_cursor#81 print_char_cursor#91 print_char_cursor#2 print_char_cursor#11 print_char_cursor#100 print_char_cursor#1 ] 0.8: zp ZP_WORD:56 [ rem16u#1 ] Uplift Scope [print_str] 305.5: zp ZP_WORD:11 [ print_str::str#10 print_str::str#12 print_str::str#0 ] -Uplift Scope [divr16u] 106.92: zp ZP_WORD:31 [ divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] 35.54: zp ZP_WORD:35 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] 22: zp ZP_BYTE:56 [ divr16u::$1 ] 22: zp ZP_BYTE:57 [ divr16u::$2 ] 18.19: zp ZP_BYTE:37 [ divr16u::i#2 divr16u::i#1 ] 15.75: zp ZP_WORD:33 [ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#1 divr16u::dividend#0 ] 5.62: zp ZP_WORD:29 [ divr16u::divisor#6 divr16u::divisor#0 divr16u::divisor#1 ] 4: zp ZP_WORD:42 [ divr16u::return#2 ] 4: zp ZP_WORD:46 [ divr16u::return#3 ] -Uplift Scope [lin16u_gen] 22: zp ZP_WORD:54 [ lin16u_gen::$5 ] 21.17: zp ZP_DWORD:21 [ lin16u_gen::val#2 lin16u_gen::val#1 lin16u_gen::val#0 ] 20.9: zp ZP_WORD:27 [ lin16u_gen::i#2 lin16u_gen::i#1 ] 16.23: zp ZP_WORD:25 [ lin16u_gen::lintab#4 lin16u_gen::lintab#3 lin16u_gen::lintab#5 ] 4: zp ZP_WORD:48 [ lin16u_gen::stepf#0 ] 2: zp ZP_WORD:15 [ lin16u_gen::max#3 ] 2: zp ZP_WORD:40 [ lin16u_gen::ampl#0 ] 1.44: zp ZP_DWORD:50 [ lin16u_gen::step#0 ] 0.71: zp ZP_WORD:19 [ lin16u_gen::length#3 ] 0.67: zp ZP_WORD:44 [ lin16u_gen::stepi#0 ] 0.31: zp ZP_WORD:17 [ lin16u_gen::min#3 ] +Uplift Scope [divr16u] 106.92: zp ZP_WORD:29 [ divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] 35.54: zp ZP_WORD:33 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] 22: zp ZP_BYTE:54 [ divr16u::$1 ] 22: zp ZP_BYTE:55 [ divr16u::$2 ] 18.19: zp ZP_BYTE:35 [ divr16u::i#2 divr16u::i#1 ] 15.75: zp ZP_WORD:31 [ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#1 divr16u::dividend#0 ] 4: zp ZP_WORD:40 [ divr16u::return#2 ] 4: zp ZP_WORD:44 [ divr16u::return#3 ] 1.38: zp ZP_WORD:27 [ divr16u::divisor#6 ] +Uplift Scope [lin16u_gen] 22: zp ZP_WORD:52 [ lin16u_gen::$5 ] 21.17: zp ZP_DWORD:19 [ lin16u_gen::val#2 lin16u_gen::val#1 lin16u_gen::val#0 ] 20.9: zp ZP_WORD:25 [ lin16u_gen::i#2 lin16u_gen::i#1 ] 16.25: zp ZP_WORD:23 [ lin16u_gen::lintab#4 lin16u_gen::lintab#3 lin16u_gen::lintab#5 ] 4: zp ZP_WORD:38 [ lin16u_gen::ampl#0 ] 4: zp ZP_WORD:46 [ lin16u_gen::stepf#0 ] 2: zp ZP_WORD:15 [ lin16u_gen::max#3 ] 1.44: zp ZP_DWORD:48 [ lin16u_gen::step#0 ] 0.8: zp ZP_WORD:42 [ lin16u_gen::stepi#0 ] 0.36: zp ZP_WORD:17 [ lin16u_gen::min#3 ] Uplift Scope [print_word] 78.33: zp ZP_WORD:5 [ print_word::w#10 print_word::w#3 print_word::w#4 print_word::w#5 ] Uplift Scope [print_cls] 33: zp ZP_WORD:13 [ print_cls::sc#2 print_cls::sc#1 ] -Uplift Scope [print_byte] 23.75: zp ZP_BYTE:7 [ print_byte::b#3 print_byte::b#2 print_byte::b#0 print_byte::b#1 ] 4: zp ZP_BYTE:38 [ print_byte::$0 ] 4: zp ZP_BYTE:39 [ print_byte::$2 ] +Uplift Scope [print_byte] 23.75: zp ZP_BYTE:7 [ print_byte::b#3 print_byte::b#2 print_byte::b#0 print_byte::b#1 ] 4: zp ZP_BYTE:36 [ print_byte::$0 ] 4: zp ZP_BYTE:37 [ print_byte::$2 ] Uplift Scope [main] 20.17: zp ZP_BYTE:2 [ main::i#10 main::i#1 ] Uplift Scope [print_char] 14: zp ZP_BYTE:8 [ print_char::ch#2 print_char::ch#0 print_char::ch#1 ] Uplift Scope [print_ln] -Uplifting [] best 16085 combination zp ZP_WORD:3 [ print_line_cursor#11 print_line_cursor#21 print_line_cursor#1 ] zp ZP_WORD:9 [ print_char_cursor#86 print_char_cursor#50 print_char_cursor#81 print_char_cursor#91 print_char_cursor#2 print_char_cursor#11 print_char_cursor#100 print_char_cursor#1 ] zp ZP_WORD:58 [ rem16u#1 ] -Uplifting [print_str] best 16085 combination zp ZP_WORD:11 [ print_str::str#10 print_str::str#12 print_str::str#0 ] -Uplifting [divr16u] best 15895 combination zp ZP_WORD:31 [ divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] zp ZP_WORD:35 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] reg byte a [ divr16u::$1 ] reg byte a [ divr16u::$2 ] reg byte x [ divr16u::i#2 divr16u::i#1 ] zp ZP_WORD:33 [ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#1 divr16u::dividend#0 ] zp ZP_WORD:29 [ divr16u::divisor#6 divr16u::divisor#0 divr16u::divisor#1 ] zp ZP_WORD:42 [ divr16u::return#2 ] zp ZP_WORD:46 [ divr16u::return#3 ] -Uplifting [lin16u_gen] best 15895 combination zp ZP_WORD:54 [ lin16u_gen::$5 ] zp ZP_DWORD:21 [ lin16u_gen::val#2 lin16u_gen::val#1 lin16u_gen::val#0 ] zp ZP_WORD:27 [ lin16u_gen::i#2 lin16u_gen::i#1 ] zp ZP_WORD:25 [ lin16u_gen::lintab#4 lin16u_gen::lintab#3 lin16u_gen::lintab#5 ] zp ZP_WORD:48 [ lin16u_gen::stepf#0 ] zp ZP_WORD:15 [ lin16u_gen::max#3 ] zp ZP_WORD:40 [ lin16u_gen::ampl#0 ] zp ZP_DWORD:50 [ lin16u_gen::step#0 ] zp ZP_WORD:19 [ lin16u_gen::length#3 ] zp ZP_WORD:44 [ lin16u_gen::stepi#0 ] zp ZP_WORD:17 [ lin16u_gen::min#3 ] -Uplifting [print_word] best 15895 combination zp ZP_WORD:5 [ print_word::w#10 print_word::w#3 print_word::w#4 print_word::w#5 ] -Uplifting [print_cls] best 15895 combination zp ZP_WORD:13 [ print_cls::sc#2 print_cls::sc#1 ] -Uplifting [print_byte] best 15853 combination reg byte x [ print_byte::b#3 print_byte::b#2 print_byte::b#0 print_byte::b#1 ] reg byte a [ print_byte::$0 ] reg byte a [ print_byte::$2 ] -Uplifting [main] best 15853 combination zp ZP_BYTE:2 [ main::i#10 main::i#1 ] -Uplifting [print_char] best 15844 combination reg byte a [ print_char::ch#2 print_char::ch#0 print_char::ch#1 ] -Uplifting [print_ln] best 15844 combination +Uplifting [] best 16019 combination zp ZP_WORD:3 [ print_line_cursor#11 print_line_cursor#21 print_line_cursor#1 ] zp ZP_WORD:9 [ print_char_cursor#86 print_char_cursor#50 print_char_cursor#81 print_char_cursor#91 print_char_cursor#2 print_char_cursor#11 print_char_cursor#100 print_char_cursor#1 ] zp ZP_WORD:56 [ rem16u#1 ] +Uplifting [print_str] best 16019 combination zp ZP_WORD:11 [ print_str::str#10 print_str::str#12 print_str::str#0 ] +Uplifting [divr16u] best 15829 combination zp ZP_WORD:29 [ divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] zp ZP_WORD:33 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] reg byte a [ divr16u::$1 ] reg byte a [ divr16u::$2 ] reg byte x [ divr16u::i#2 divr16u::i#1 ] zp ZP_WORD:31 [ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#1 divr16u::dividend#0 ] zp ZP_WORD:40 [ divr16u::return#2 ] zp ZP_WORD:44 [ divr16u::return#3 ] zp ZP_WORD:27 [ divr16u::divisor#6 ] +Uplifting [lin16u_gen] best 15829 combination zp ZP_WORD:52 [ lin16u_gen::$5 ] zp ZP_DWORD:19 [ lin16u_gen::val#2 lin16u_gen::val#1 lin16u_gen::val#0 ] zp ZP_WORD:25 [ lin16u_gen::i#2 lin16u_gen::i#1 ] zp ZP_WORD:23 [ lin16u_gen::lintab#4 lin16u_gen::lintab#3 lin16u_gen::lintab#5 ] zp ZP_WORD:38 [ lin16u_gen::ampl#0 ] zp ZP_WORD:46 [ lin16u_gen::stepf#0 ] zp ZP_WORD:15 [ lin16u_gen::max#3 ] zp ZP_DWORD:48 [ lin16u_gen::step#0 ] zp ZP_WORD:42 [ lin16u_gen::stepi#0 ] zp ZP_WORD:17 [ lin16u_gen::min#3 ] +Uplifting [print_word] best 15829 combination zp ZP_WORD:5 [ print_word::w#10 print_word::w#3 print_word::w#4 print_word::w#5 ] +Uplifting [print_cls] best 15829 combination zp ZP_WORD:13 [ print_cls::sc#2 print_cls::sc#1 ] +Uplifting [print_byte] best 15787 combination reg byte x [ print_byte::b#3 print_byte::b#2 print_byte::b#0 print_byte::b#1 ] reg byte a [ print_byte::$0 ] reg byte a [ print_byte::$2 ] +Uplifting [main] best 15787 combination zp ZP_BYTE:2 [ main::i#10 main::i#1 ] +Uplifting [print_char] best 15778 combination reg byte a [ print_char::ch#2 print_char::ch#0 print_char::ch#1 ] +Uplifting [print_ln] best 15778 combination Attempting to uplift remaining variables inzp ZP_BYTE:2 [ main::i#10 main::i#1 ] -Uplifting [main] best 15844 combination zp ZP_BYTE:2 [ main::i#10 main::i#1 ] -Coalescing zero page register with common assignment [ zp ZP_WORD:31 [ divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] ] with [ zp ZP_WORD:58 [ rem16u#1 ] ] - score: 2 -Coalescing zero page register with common assignment [ zp ZP_WORD:15 [ lin16u_gen::max#3 ] ] with [ zp ZP_WORD:40 [ lin16u_gen::ampl#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:35 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] ] with [ zp ZP_WORD:42 [ divr16u::return#2 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:35 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 ] ] with [ zp ZP_WORD:46 [ divr16u::return#3 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:15 [ lin16u_gen::max#3 lin16u_gen::ampl#0 ] ] with [ zp ZP_WORD:33 [ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#1 divr16u::dividend#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:35 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 divr16u::return#3 ] ] with [ zp ZP_WORD:48 [ lin16u_gen::stepf#0 ] ] - score: 1 +Uplifting [main] best 15778 combination zp ZP_BYTE:2 [ main::i#10 main::i#1 ] +Coalescing zero page register with common assignment [ zp ZP_WORD:29 [ divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] ] with [ zp ZP_WORD:56 [ rem16u#1 ] ] - score: 2 +Coalescing zero page register with common assignment [ zp ZP_WORD:15 [ lin16u_gen::max#3 ] ] with [ zp ZP_WORD:38 [ lin16u_gen::ampl#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:33 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] ] with [ zp ZP_WORD:40 [ divr16u::return#2 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:33 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 ] ] with [ zp ZP_WORD:44 [ divr16u::return#3 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:15 [ lin16u_gen::max#3 lin16u_gen::ampl#0 ] ] with [ zp ZP_WORD:31 [ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#1 divr16u::dividend#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:33 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 divr16u::return#3 ] ] with [ zp ZP_WORD:46 [ lin16u_gen::stepf#0 ] ] - score: 1 Coalescing zero page register [ zp ZP_WORD:3 [ print_line_cursor#11 print_line_cursor#21 print_line_cursor#1 ] ] with [ zp ZP_WORD:13 [ print_cls::sc#2 print_cls::sc#1 ] ] Coalescing zero page register [ zp ZP_WORD:3 [ print_line_cursor#11 print_line_cursor#21 print_line_cursor#1 print_cls::sc#2 print_cls::sc#1 ] ] with [ zp ZP_WORD:15 [ lin16u_gen::max#3 lin16u_gen::ampl#0 divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#1 divr16u::dividend#0 ] ] -Coalescing zero page register [ zp ZP_WORD:3 [ print_line_cursor#11 print_line_cursor#21 print_line_cursor#1 print_cls::sc#2 print_cls::sc#1 lin16u_gen::max#3 lin16u_gen::ampl#0 divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#1 divr16u::dividend#0 ] ] with [ zp ZP_WORD:27 [ lin16u_gen::i#2 lin16u_gen::i#1 ] ] +Coalescing zero page register [ zp ZP_WORD:3 [ print_line_cursor#11 print_line_cursor#21 print_line_cursor#1 print_cls::sc#2 print_cls::sc#1 lin16u_gen::max#3 lin16u_gen::ampl#0 divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#1 divr16u::dividend#0 ] ] with [ zp ZP_WORD:25 [ lin16u_gen::i#2 lin16u_gen::i#1 ] ] Coalescing zero page register [ zp ZP_WORD:5 [ print_word::w#10 print_word::w#3 print_word::w#4 print_word::w#5 ] ] with [ zp ZP_WORD:11 [ print_str::str#10 print_str::str#12 print_str::str#0 ] ] Coalescing zero page register [ zp ZP_WORD:5 [ print_word::w#10 print_word::w#3 print_word::w#4 print_word::w#5 print_str::str#10 print_str::str#12 print_str::str#0 ] ] with [ zp ZP_WORD:17 [ lin16u_gen::min#3 ] ] -Coalescing zero page register [ zp ZP_WORD:5 [ print_word::w#10 print_word::w#3 print_word::w#4 print_word::w#5 print_str::str#10 print_str::str#12 print_str::str#0 lin16u_gen::min#3 ] ] with [ zp ZP_WORD:54 [ lin16u_gen::$5 ] ] -Coalescing zero page register [ zp ZP_WORD:9 [ print_char_cursor#86 print_char_cursor#50 print_char_cursor#81 print_char_cursor#91 print_char_cursor#2 print_char_cursor#11 print_char_cursor#100 print_char_cursor#1 ] ] with [ zp ZP_WORD:19 [ lin16u_gen::length#3 ] ] -Allocated (was zp ZP_WORD:9) zp ZP_WORD:7 [ print_char_cursor#86 print_char_cursor#50 print_char_cursor#81 print_char_cursor#91 print_char_cursor#2 print_char_cursor#11 print_char_cursor#100 print_char_cursor#1 lin16u_gen::length#3 ] -Allocated (was zp ZP_DWORD:21) zp ZP_DWORD:9 [ lin16u_gen::val#2 lin16u_gen::val#1 lin16u_gen::val#0 ] -Allocated (was zp ZP_WORD:25) zp ZP_WORD:13 [ lin16u_gen::lintab#4 lin16u_gen::lintab#3 lin16u_gen::lintab#5 ] -Allocated (was zp ZP_WORD:29) zp ZP_WORD:15 [ divr16u::divisor#6 divr16u::divisor#0 divr16u::divisor#1 ] -Allocated (was zp ZP_WORD:31) zp ZP_WORD:17 [ divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 rem16u#1 ] -Allocated (was zp ZP_WORD:35) zp ZP_WORD:19 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 divr16u::return#3 lin16u_gen::stepf#0 ] -Allocated (was zp ZP_WORD:44) zp ZP_WORD:21 [ lin16u_gen::stepi#0 ] -Allocated (was zp ZP_DWORD:50) zp ZP_DWORD:23 [ lin16u_gen::step#0 ] +Coalescing zero page register [ zp ZP_WORD:5 [ print_word::w#10 print_word::w#3 print_word::w#4 print_word::w#5 print_str::str#10 print_str::str#12 print_str::str#0 lin16u_gen::min#3 ] ] with [ zp ZP_WORD:52 [ lin16u_gen::$5 ] ] +Coalescing zero page register [ zp ZP_WORD:9 [ print_char_cursor#86 print_char_cursor#50 print_char_cursor#81 print_char_cursor#91 print_char_cursor#2 print_char_cursor#11 print_char_cursor#100 print_char_cursor#1 ] ] with [ zp ZP_WORD:23 [ lin16u_gen::lintab#4 lin16u_gen::lintab#3 lin16u_gen::lintab#5 ] ] +Allocated (was zp ZP_WORD:9) zp ZP_WORD:7 [ print_char_cursor#86 print_char_cursor#50 print_char_cursor#81 print_char_cursor#91 print_char_cursor#2 print_char_cursor#11 print_char_cursor#100 print_char_cursor#1 lin16u_gen::lintab#4 lin16u_gen::lintab#3 lin16u_gen::lintab#5 ] +Allocated (was zp ZP_DWORD:19) zp ZP_DWORD:9 [ lin16u_gen::val#2 lin16u_gen::val#1 lin16u_gen::val#0 ] +Allocated (was zp ZP_WORD:27) zp ZP_WORD:13 [ divr16u::divisor#6 ] +Allocated (was zp ZP_WORD:29) zp ZP_WORD:15 [ divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 rem16u#1 ] +Allocated (was zp ZP_WORD:33) zp ZP_WORD:17 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 divr16u::return#3 lin16u_gen::stepf#0 ] +Allocated (was zp ZP_WORD:42) zp ZP_WORD:19 [ lin16u_gen::stepi#0 ] +Allocated (was zp ZP_DWORD:48) zp ZP_DWORD:21 [ lin16u_gen::step#0 ] ASSEMBLER BEFORE OPTIMIZATION //SEG0 Basic Upstart @@ -5105,7 +5062,7 @@ ASSEMBLER BEFORE OPTIMIZATION :BasicUpstart(main) .pc = $80d "Program" //SEG1 Global Constants & labels - .label rem16u = $11 + .label rem16u = $f .label print_char_cursor = 7 .label print_line_cursor = 3 //SEG2 @begin @@ -5135,432 +5092,417 @@ main: { sta lin16u_gen.lintab lda #>lintab1 sta lin16u_gen.lintab+1 - //SEG13 [97] phi (word) lin16u_gen::length#3 = (byte/signed byte/word/signed word/dword/signed dword) 20 [phi:main->lin16u_gen#1] -- vwuz1=vbuc1 - lda #<$14 - sta lin16u_gen.length - lda #>$14 - sta lin16u_gen.length+1 - //SEG14 [97] phi (word) lin16u_gen::min#3 = (word/signed word/dword/signed dword) 557 [phi:main->lin16u_gen#2] -- vwuz1=vwuc1 + //SEG13 [97] phi (word) lin16u_gen::min#3 = (word/signed word/dword/signed dword) 557 [phi:main->lin16u_gen#1] -- vwuz1=vwuc1 lda #<$22d sta lin16u_gen.min lda #>$22d sta lin16u_gen.min+1 - //SEG15 [97] phi (word) lin16u_gen::max#3 = (word/signed word/dword/signed dword) 29793 [phi:main->lin16u_gen#3] -- vwuz1=vwuc1 + //SEG14 [97] phi (word) lin16u_gen::max#3 = (word/signed word/dword/signed dword) 29793 [phi:main->lin16u_gen#2] -- vwuz1=vwuc1 lda #<$7461 sta lin16u_gen.max lda #>$7461 sta lin16u_gen.max+1 jsr lin16u_gen - //SEG16 [6] phi from main to main::@3 [phi:main->main::@3] + //SEG15 [6] phi from main to main::@3 [phi:main->main::@3] b3_from_main: jmp b3 - //SEG17 main::@3 + //SEG16 main::@3 b3: - //SEG18 [7] call lin16u_gen param-assignment [ ] ( main:2 [ ] ) - //SEG19 [97] phi from main::@3 to lin16u_gen [phi:main::@3->lin16u_gen] + //SEG17 [7] call lin16u_gen param-assignment [ ] ( main:2 [ ] ) + //SEG18 [97] phi from main::@3 to lin16u_gen [phi:main::@3->lin16u_gen] lin16u_gen_from_b3: - //SEG20 [97] phi (word*) lin16u_gen::lintab#5 = (const word[20]) main::lintab2#0 [phi:main::@3->lin16u_gen#0] -- pwuz1=pwuc1 + //SEG19 [97] phi (word*) lin16u_gen::lintab#5 = (const word[20]) main::lintab2#0 [phi:main::@3->lin16u_gen#0] -- pwuz1=pwuc1 lda #lintab2 sta lin16u_gen.lintab+1 - //SEG21 [97] phi (word) lin16u_gen::length#3 = (byte/signed byte/word/signed word/dword/signed dword) 20 [phi:main::@3->lin16u_gen#1] -- vwuz1=vbuc1 - lda #<$14 - sta lin16u_gen.length - lda #>$14 - sta lin16u_gen.length+1 - //SEG22 [97] phi (word) lin16u_gen::min#3 = (word/signed word/dword/signed dword) 31179 [phi:main::@3->lin16u_gen#2] -- vwuz1=vwuc1 + //SEG20 [97] phi (word) lin16u_gen::min#3 = (word/signed word/dword/signed dword) 31179 [phi:main::@3->lin16u_gen#1] -- vwuz1=vwuc1 lda #<$79cb sta lin16u_gen.min lda #>$79cb sta lin16u_gen.min+1 - //SEG23 [97] phi (word) lin16u_gen::max#3 = (word/dword/signed dword) 63361 [phi:main::@3->lin16u_gen#3] -- vwuz1=vwuc1 + //SEG21 [97] phi (word) lin16u_gen::max#3 = (word/dword/signed dword) 63361 [phi:main::@3->lin16u_gen#2] -- vwuz1=vwuc1 lda #<$f781 sta lin16u_gen.max lda #>$f781 sta lin16u_gen.max+1 jsr lin16u_gen - //SEG24 [8] phi from main::@3 to main::@4 [phi:main::@3->main::@4] + //SEG22 [8] phi from main::@3 to main::@4 [phi:main::@3->main::@4] b4_from_b3: jmp b4 - //SEG25 main::@4 + //SEG23 main::@4 b4: - //SEG26 [9] call lin16u_gen param-assignment [ ] ( main:2 [ ] ) - //SEG27 [97] phi from main::@4 to lin16u_gen [phi:main::@4->lin16u_gen] + //SEG24 [9] call lin16u_gen param-assignment [ ] ( main:2 [ ] ) + //SEG25 [97] phi from main::@4 to lin16u_gen [phi:main::@4->lin16u_gen] lin16u_gen_from_b4: - //SEG28 [97] phi (word*) lin16u_gen::lintab#5 = (const word[20]) main::lintab3#0 [phi:main::@4->lin16u_gen#0] -- pwuz1=pwuc1 + //SEG26 [97] phi (word*) lin16u_gen::lintab#5 = (const word[20]) main::lintab3#0 [phi:main::@4->lin16u_gen#0] -- pwuz1=pwuc1 lda #lintab3 sta lin16u_gen.lintab+1 - //SEG29 [97] phi (word) lin16u_gen::length#3 = (byte/signed byte/word/signed word/dword/signed dword) 20 [phi:main::@4->lin16u_gen#1] -- vwuz1=vbuc1 - lda #<$14 - sta lin16u_gen.length - lda #>$14 - sta lin16u_gen.length+1 - //SEG30 [97] phi (word) lin16u_gen::min#3 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::@4->lin16u_gen#2] -- vwuz1=vbuc1 + //SEG27 [97] phi (word) lin16u_gen::min#3 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::@4->lin16u_gen#1] -- vwuz1=vbuc1 lda #<0 sta lin16u_gen.min lda #>0 sta lin16u_gen.min+1 - //SEG31 [97] phi (word) lin16u_gen::max#3 = (word/signed word/dword/signed dword) 25736 [phi:main::@4->lin16u_gen#3] -- vwuz1=vwuc1 + //SEG28 [97] phi (word) lin16u_gen::max#3 = (word/signed word/dword/signed dword) 25736 [phi:main::@4->lin16u_gen#2] -- vwuz1=vwuc1 lda #<$6488 sta lin16u_gen.max lda #>$6488 sta lin16u_gen.max+1 jsr lin16u_gen - //SEG32 [10] phi from main::@4 to main::@5 [phi:main::@4->main::@5] + //SEG29 [10] phi from main::@4 to main::@5 [phi:main::@4->main::@5] b5_from_b4: jmp b5 - //SEG33 main::@5 + //SEG30 main::@5 b5: - //SEG34 [11] call print_cls param-assignment [ ] ( main:2 [ ] ) - //SEG35 [91] phi from main::@5 to print_cls [phi:main::@5->print_cls] + //SEG31 [11] call print_cls param-assignment [ ] ( main:2 [ ] ) + //SEG32 [91] phi from main::@5 to print_cls [phi:main::@5->print_cls] print_cls_from_b5: jsr print_cls - //SEG36 [12] phi from main::@5 to main::@6 [phi:main::@5->main::@6] + //SEG33 [12] phi from main::@5 to main::@6 [phi:main::@5->main::@6] b6_from_b5: jmp b6 - //SEG37 main::@6 + //SEG34 main::@6 b6: - //SEG38 [13] call print_str param-assignment [ print_char_cursor#2 ] ( main:2 [ print_char_cursor#2 ] ) - //SEG39 [84] phi from main::@6 to print_str [phi:main::@6->print_str] + //SEG35 [13] call print_str param-assignment [ print_char_cursor#2 ] ( main:2 [ print_char_cursor#2 ] ) + //SEG36 [84] phi from main::@6 to print_str [phi:main::@6->print_str] print_str_from_b6: - //SEG40 [84] phi (byte*) print_char_cursor#86 = ((byte*))(word/signed word/dword/signed dword) 1024 [phi:main::@6->print_str#0] -- pbuz1=pbuc1 + //SEG37 [84] phi (byte*) print_char_cursor#86 = ((byte*))(word/signed word/dword/signed dword) 1024 [phi:main::@6->print_str#0] -- pbuz1=pbuc1 lda #<$400 sta print_char_cursor lda #>$400 sta print_char_cursor+1 - //SEG41 [84] phi (byte*) print_str::str#12 = (const string) main::str [phi:main::@6->print_str#1] -- pbuz1=pbuc1 + //SEG38 [84] phi (byte*) print_str::str#12 = (const string) main::str [phi:main::@6->print_str#1] -- pbuz1=pbuc1 lda #str sta print_str.str+1 jsr print_str - //SEG42 [14] phi from main::@6 to main::@7 [phi:main::@6->main::@7] + //SEG39 [14] phi from main::@6 to main::@7 [phi:main::@6->main::@7] b7_from_b6: jmp b7 - //SEG43 main::@7 + //SEG40 main::@7 b7: - //SEG44 [15] call print_word param-assignment [ print_char_cursor#11 ] ( main:2 [ print_char_cursor#11 ] ) - //SEG45 [66] phi from main::@7 to print_word [phi:main::@7->print_word] + //SEG41 [15] call print_word param-assignment [ print_char_cursor#11 ] ( main:2 [ print_char_cursor#11 ] ) + //SEG42 [66] phi from main::@7 to print_word [phi:main::@7->print_word] print_word_from_b7: - //SEG46 [66] phi (word) print_word::w#10 = (word/signed word/dword/signed dword) 557 [phi:main::@7->print_word#0] -- vwuz1=vwuc1 + //SEG43 [66] phi (word) print_word::w#10 = (word/signed word/dword/signed dword) 557 [phi:main::@7->print_word#0] -- vwuz1=vwuc1 lda #<$22d sta print_word.w lda #>$22d sta print_word.w+1 jsr print_word - //SEG47 [16] phi from main::@7 to main::@8 [phi:main::@7->main::@8] + //SEG44 [16] phi from main::@7 to main::@8 [phi:main::@7->main::@8] b8_from_b7: jmp b8 - //SEG48 main::@8 + //SEG45 main::@8 b8: - //SEG49 [17] call print_str param-assignment [ print_char_cursor#2 ] ( main:2 [ print_char_cursor#2 ] ) - //SEG50 [84] phi from main::@8 to print_str [phi:main::@8->print_str] + //SEG46 [17] call print_str param-assignment [ print_char_cursor#2 ] ( main:2 [ print_char_cursor#2 ] ) + //SEG47 [84] phi from main::@8 to print_str [phi:main::@8->print_str] print_str_from_b8: - //SEG51 [84] phi (byte*) print_char_cursor#86 = (byte*) print_char_cursor#11 [phi:main::@8->print_str#0] -- register_copy - //SEG52 [84] phi (byte*) print_str::str#12 = (const string) main::str1 [phi:main::@8->print_str#1] -- pbuz1=pbuc1 + //SEG48 [84] phi (byte*) print_char_cursor#86 = (byte*) print_char_cursor#11 [phi:main::@8->print_str#0] -- register_copy + //SEG49 [84] phi (byte*) print_str::str#12 = (const string) main::str1 [phi:main::@8->print_str#1] -- pbuz1=pbuc1 lda #str1 sta print_str.str+1 jsr print_str - //SEG53 [18] phi from main::@8 to main::@9 [phi:main::@8->main::@9] + //SEG50 [18] phi from main::@8 to main::@9 [phi:main::@8->main::@9] b9_from_b8: jmp b9 - //SEG54 main::@9 + //SEG51 main::@9 b9: - //SEG55 [19] call print_word param-assignment [ print_char_cursor#11 ] ( main:2 [ print_char_cursor#11 ] ) - //SEG56 [66] phi from main::@9 to print_word [phi:main::@9->print_word] + //SEG52 [19] call print_word param-assignment [ print_char_cursor#11 ] ( main:2 [ print_char_cursor#11 ] ) + //SEG53 [66] phi from main::@9 to print_word [phi:main::@9->print_word] print_word_from_b9: - //SEG57 [66] phi (word) print_word::w#10 = (word/signed word/dword/signed dword) 31179 [phi:main::@9->print_word#0] -- vwuz1=vwuc1 + //SEG54 [66] phi (word) print_word::w#10 = (word/signed word/dword/signed dword) 31179 [phi:main::@9->print_word#0] -- vwuz1=vwuc1 lda #<$79cb sta print_word.w lda #>$79cb sta print_word.w+1 jsr print_word - //SEG58 [20] phi from main::@9 to main::@10 [phi:main::@9->main::@10] + //SEG55 [20] phi from main::@9 to main::@10 [phi:main::@9->main::@10] b10_from_b9: jmp b10 - //SEG59 main::@10 + //SEG56 main::@10 b10: - //SEG60 [21] call print_str param-assignment [ print_char_cursor#2 ] ( main:2 [ print_char_cursor#2 ] ) - //SEG61 [84] phi from main::@10 to print_str [phi:main::@10->print_str] + //SEG57 [21] call print_str param-assignment [ print_char_cursor#2 ] ( main:2 [ print_char_cursor#2 ] ) + //SEG58 [84] phi from main::@10 to print_str [phi:main::@10->print_str] print_str_from_b10: - //SEG62 [84] phi (byte*) print_char_cursor#86 = (byte*) print_char_cursor#11 [phi:main::@10->print_str#0] -- register_copy - //SEG63 [84] phi (byte*) print_str::str#12 = (const string) main::str2 [phi:main::@10->print_str#1] -- pbuz1=pbuc1 + //SEG59 [84] phi (byte*) print_char_cursor#86 = (byte*) print_char_cursor#11 [phi:main::@10->print_str#0] -- register_copy + //SEG60 [84] phi (byte*) print_str::str#12 = (const string) main::str2 [phi:main::@10->print_str#1] -- pbuz1=pbuc1 lda #str2 sta print_str.str+1 jsr print_str - //SEG64 [22] phi from main::@10 to main::@11 [phi:main::@10->main::@11] + //SEG61 [22] phi from main::@10 to main::@11 [phi:main::@10->main::@11] b11_from_b10: jmp b11 - //SEG65 main::@11 + //SEG62 main::@11 b11: - //SEG66 [23] call print_word param-assignment [ print_char_cursor#11 ] ( main:2 [ print_char_cursor#11 ] ) - //SEG67 [66] phi from main::@11 to print_word [phi:main::@11->print_word] + //SEG63 [23] call print_word param-assignment [ print_char_cursor#11 ] ( main:2 [ print_char_cursor#11 ] ) + //SEG64 [66] phi from main::@11 to print_word [phi:main::@11->print_word] print_word_from_b11: - //SEG68 [66] phi (word) print_word::w#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::@11->print_word#0] -- vwuz1=vbuc1 + //SEG65 [66] phi (word) print_word::w#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::@11->print_word#0] -- vwuz1=vbuc1 lda #<0 sta print_word.w lda #>0 sta print_word.w+1 jsr print_word - //SEG69 [24] phi from main::@11 to main::@12 [phi:main::@11->main::@12] + //SEG66 [24] phi from main::@11 to main::@12 [phi:main::@11->main::@12] b12_from_b11: jmp b12 - //SEG70 main::@12 + //SEG67 main::@12 b12: - //SEG71 [25] call print_ln param-assignment [ print_line_cursor#1 ] ( main:2 [ print_line_cursor#1 ] ) - //SEG72 [61] phi from main::@12 to print_ln [phi:main::@12->print_ln] + //SEG68 [25] call print_ln param-assignment [ print_line_cursor#1 ] ( main:2 [ print_line_cursor#1 ] ) + //SEG69 [61] phi from main::@12 to print_ln [phi:main::@12->print_ln] print_ln_from_b12: - //SEG73 [61] phi (byte*) print_line_cursor#21 = ((byte*))(word/signed word/dword/signed dword) 1024 [phi:main::@12->print_ln#0] -- pbuz1=pbuc1 + //SEG70 [61] phi (byte*) print_line_cursor#21 = ((byte*))(word/signed word/dword/signed dword) 1024 [phi:main::@12->print_ln#0] -- pbuz1=pbuc1 lda #<$400 sta print_line_cursor lda #>$400 sta print_line_cursor+1 jsr print_ln - //SEG74 [26] phi from main::@12 to main::@1 [phi:main::@12->main::@1] + //SEG71 [26] phi from main::@12 to main::@1 [phi:main::@12->main::@1] b1_from_b12: - //SEG75 [26] phi (byte) main::i#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::@12->main::@1#0] -- vbuz1=vbuc1 + //SEG72 [26] phi (byte) main::i#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::@12->main::@1#0] -- vbuz1=vbuc1 lda #0 sta i jmp b1 - //SEG76 [26] phi from main::@21 to main::@1 [phi:main::@21->main::@1] + //SEG73 [26] phi from main::@21 to main::@1 [phi:main::@21->main::@1] b1_from_b21: - //SEG77 [26] phi (byte) main::i#10 = (byte) main::i#1 [phi:main::@21->main::@1#0] -- register_copy + //SEG74 [26] phi (byte) main::i#10 = (byte) main::i#1 [phi:main::@21->main::@1#0] -- register_copy jmp b1 - //SEG78 main::@1 + //SEG75 main::@1 b1: - //SEG79 [27] (byte) print_byte::b#2 ← (byte) main::i#10 [ main::i#10 print_byte::b#2 print_line_cursor#1 ] ( main:2 [ main::i#10 print_byte::b#2 print_line_cursor#1 ] ) -- vbuxx=vbuz1 + //SEG76 [27] (byte) print_byte::b#2 ← (byte) main::i#10 [ main::i#10 print_byte::b#2 print_line_cursor#1 ] ( main:2 [ main::i#10 print_byte::b#2 print_line_cursor#1 ] ) -- vbuxx=vbuz1 ldx i - //SEG80 [28] (byte*~) print_char_cursor#91 ← (byte*) print_line_cursor#1 [ main::i#10 print_byte::b#2 print_char_cursor#91 print_line_cursor#1 ] ( main:2 [ main::i#10 print_byte::b#2 print_char_cursor#91 print_line_cursor#1 ] ) -- pbuz1=pbuz2 + //SEG77 [28] (byte*~) print_char_cursor#91 ← (byte*) print_line_cursor#1 [ main::i#10 print_byte::b#2 print_char_cursor#91 print_line_cursor#1 ] ( main:2 [ main::i#10 print_byte::b#2 print_char_cursor#91 print_line_cursor#1 ] ) -- pbuz1=pbuz2 lda print_line_cursor sta print_char_cursor lda print_line_cursor+1 sta print_char_cursor+1 - //SEG81 [29] call print_byte param-assignment [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] ( main:2 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] ) - //SEG82 [72] phi from main::@1 to print_byte [phi:main::@1->print_byte] + //SEG78 [29] call print_byte param-assignment [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] ( main:2 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] ) + //SEG79 [72] phi from main::@1 to print_byte [phi:main::@1->print_byte] print_byte_from_b1: - //SEG83 [72] phi (byte*) print_char_cursor#81 = (byte*~) print_char_cursor#91 [phi:main::@1->print_byte#0] -- register_copy - //SEG84 [72] phi (byte) print_byte::b#3 = (byte) print_byte::b#2 [phi:main::@1->print_byte#1] -- register_copy + //SEG80 [72] phi (byte*) print_char_cursor#81 = (byte*~) print_char_cursor#91 [phi:main::@1->print_byte#0] -- register_copy + //SEG81 [72] phi (byte) print_byte::b#3 = (byte) print_byte::b#2 [phi:main::@1->print_byte#1] -- register_copy jsr print_byte - //SEG85 [30] phi from main::@1 to main::@14 [phi:main::@1->main::@14] + //SEG82 [30] phi from main::@1 to main::@14 [phi:main::@1->main::@14] b14_from_b1: jmp b14 - //SEG86 main::@14 + //SEG83 main::@14 b14: - //SEG87 [31] call print_str param-assignment [ main::i#10 print_line_cursor#1 print_char_cursor#2 ] ( main:2 [ main::i#10 print_line_cursor#1 print_char_cursor#2 ] ) - //SEG88 [84] phi from main::@14 to print_str [phi:main::@14->print_str] + //SEG84 [31] call print_str param-assignment [ main::i#10 print_line_cursor#1 print_char_cursor#2 ] ( main:2 [ main::i#10 print_line_cursor#1 print_char_cursor#2 ] ) + //SEG85 [84] phi from main::@14 to print_str [phi:main::@14->print_str] print_str_from_b14: - //SEG89 [84] phi (byte*) print_char_cursor#86 = (byte*) print_char_cursor#11 [phi:main::@14->print_str#0] -- register_copy - //SEG90 [84] phi (byte*) print_str::str#12 = (const string) main::str3 [phi:main::@14->print_str#1] -- pbuz1=pbuc1 + //SEG86 [84] phi (byte*) print_char_cursor#86 = (byte*) print_char_cursor#11 [phi:main::@14->print_str#0] -- register_copy + //SEG87 [84] phi (byte*) print_str::str#12 = (const string) main::str3 [phi:main::@14->print_str#1] -- pbuz1=pbuc1 lda #str3 sta print_str.str+1 jsr print_str jmp b15 - //SEG91 main::@15 + //SEG88 main::@15 b15: - //SEG92 [32] (word) print_word::w#3 ← *((const word[20]) main::lintab1#0 + (byte) main::i#10) [ main::i#10 print_line_cursor#1 print_word::w#3 print_char_cursor#2 ] ( main:2 [ main::i#10 print_line_cursor#1 print_word::w#3 print_char_cursor#2 ] ) -- vwuz1=pwuc1_derefidx_vbuz2 + //SEG89 [32] (word) print_word::w#3 ← *((const word[20]) main::lintab1#0 + (byte) main::i#10) [ main::i#10 print_line_cursor#1 print_word::w#3 print_char_cursor#2 ] ( main:2 [ main::i#10 print_line_cursor#1 print_word::w#3 print_char_cursor#2 ] ) -- vwuz1=pwuc1_derefidx_vbuz2 ldy i lda lintab1,y sta print_word.w lda lintab1+1,y sta print_word.w+1 - //SEG93 [33] call print_word param-assignment [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] ( main:2 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] ) - //SEG94 [66] phi from main::@15 to print_word [phi:main::@15->print_word] + //SEG90 [33] call print_word param-assignment [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] ( main:2 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] ) + //SEG91 [66] phi from main::@15 to print_word [phi:main::@15->print_word] print_word_from_b15: - //SEG95 [66] phi (word) print_word::w#10 = (word) print_word::w#3 [phi:main::@15->print_word#0] -- register_copy + //SEG92 [66] phi (word) print_word::w#10 = (word) print_word::w#3 [phi:main::@15->print_word#0] -- register_copy jsr print_word - //SEG96 [34] phi from main::@15 to main::@16 [phi:main::@15->main::@16] + //SEG93 [34] phi from main::@15 to main::@16 [phi:main::@15->main::@16] b16_from_b15: jmp b16 - //SEG97 main::@16 + //SEG94 main::@16 b16: - //SEG98 [35] call print_str param-assignment [ main::i#10 print_line_cursor#1 print_char_cursor#2 ] ( main:2 [ main::i#10 print_line_cursor#1 print_char_cursor#2 ] ) - //SEG99 [84] phi from main::@16 to print_str [phi:main::@16->print_str] + //SEG95 [35] call print_str param-assignment [ main::i#10 print_line_cursor#1 print_char_cursor#2 ] ( main:2 [ main::i#10 print_line_cursor#1 print_char_cursor#2 ] ) + //SEG96 [84] phi from main::@16 to print_str [phi:main::@16->print_str] print_str_from_b16: - //SEG100 [84] phi (byte*) print_char_cursor#86 = (byte*) print_char_cursor#11 [phi:main::@16->print_str#0] -- register_copy - //SEG101 [84] phi (byte*) print_str::str#12 = (const string) main::str4 [phi:main::@16->print_str#1] -- pbuz1=pbuc1 + //SEG97 [84] phi (byte*) print_char_cursor#86 = (byte*) print_char_cursor#11 [phi:main::@16->print_str#0] -- register_copy + //SEG98 [84] phi (byte*) print_str::str#12 = (const string) main::str4 [phi:main::@16->print_str#1] -- pbuz1=pbuc1 lda #str4 sta print_str.str+1 jsr print_str jmp b17 - //SEG102 main::@17 + //SEG99 main::@17 b17: - //SEG103 [36] (word) print_word::w#4 ← *((const word[20]) main::lintab2#0 + (byte) main::i#10) [ main::i#10 print_line_cursor#1 print_word::w#4 print_char_cursor#2 ] ( main:2 [ main::i#10 print_line_cursor#1 print_word::w#4 print_char_cursor#2 ] ) -- vwuz1=pwuc1_derefidx_vbuz2 + //SEG100 [36] (word) print_word::w#4 ← *((const word[20]) main::lintab2#0 + (byte) main::i#10) [ main::i#10 print_line_cursor#1 print_word::w#4 print_char_cursor#2 ] ( main:2 [ main::i#10 print_line_cursor#1 print_word::w#4 print_char_cursor#2 ] ) -- vwuz1=pwuc1_derefidx_vbuz2 ldy i lda lintab2,y sta print_word.w lda lintab2+1,y sta print_word.w+1 - //SEG104 [37] call print_word param-assignment [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] ( main:2 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] ) - //SEG105 [66] phi from main::@17 to print_word [phi:main::@17->print_word] + //SEG101 [37] call print_word param-assignment [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] ( main:2 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] ) + //SEG102 [66] phi from main::@17 to print_word [phi:main::@17->print_word] print_word_from_b17: - //SEG106 [66] phi (word) print_word::w#10 = (word) print_word::w#4 [phi:main::@17->print_word#0] -- register_copy + //SEG103 [66] phi (word) print_word::w#10 = (word) print_word::w#4 [phi:main::@17->print_word#0] -- register_copy jsr print_word - //SEG107 [38] phi from main::@17 to main::@18 [phi:main::@17->main::@18] + //SEG104 [38] phi from main::@17 to main::@18 [phi:main::@17->main::@18] b18_from_b17: jmp b18 - //SEG108 main::@18 + //SEG105 main::@18 b18: - //SEG109 [39] call print_str param-assignment [ main::i#10 print_line_cursor#1 print_char_cursor#2 ] ( main:2 [ main::i#10 print_line_cursor#1 print_char_cursor#2 ] ) - //SEG110 [84] phi from main::@18 to print_str [phi:main::@18->print_str] + //SEG106 [39] call print_str param-assignment [ main::i#10 print_line_cursor#1 print_char_cursor#2 ] ( main:2 [ main::i#10 print_line_cursor#1 print_char_cursor#2 ] ) + //SEG107 [84] phi from main::@18 to print_str [phi:main::@18->print_str] print_str_from_b18: - //SEG111 [84] phi (byte*) print_char_cursor#86 = (byte*) print_char_cursor#11 [phi:main::@18->print_str#0] -- register_copy - //SEG112 [84] phi (byte*) print_str::str#12 = (const string) main::str5 [phi:main::@18->print_str#1] -- pbuz1=pbuc1 + //SEG108 [84] phi (byte*) print_char_cursor#86 = (byte*) print_char_cursor#11 [phi:main::@18->print_str#0] -- register_copy + //SEG109 [84] phi (byte*) print_str::str#12 = (const string) main::str5 [phi:main::@18->print_str#1] -- pbuz1=pbuc1 lda #str5 sta print_str.str+1 jsr print_str jmp b19 - //SEG113 main::@19 + //SEG110 main::@19 b19: - //SEG114 [40] (word) print_word::w#5 ← *((const word[20]) main::lintab3#0 + (byte) main::i#10) [ main::i#10 print_line_cursor#1 print_word::w#5 print_char_cursor#2 ] ( main:2 [ main::i#10 print_line_cursor#1 print_word::w#5 print_char_cursor#2 ] ) -- vwuz1=pwuc1_derefidx_vbuz2 + //SEG111 [40] (word) print_word::w#5 ← *((const word[20]) main::lintab3#0 + (byte) main::i#10) [ main::i#10 print_line_cursor#1 print_word::w#5 print_char_cursor#2 ] ( main:2 [ main::i#10 print_line_cursor#1 print_word::w#5 print_char_cursor#2 ] ) -- vwuz1=pwuc1_derefidx_vbuz2 ldy i lda lintab3,y sta print_word.w lda lintab3+1,y sta print_word.w+1 - //SEG115 [41] call print_word param-assignment [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] ( main:2 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] ) - //SEG116 [66] phi from main::@19 to print_word [phi:main::@19->print_word] + //SEG112 [41] call print_word param-assignment [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] ( main:2 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] ) + //SEG113 [66] phi from main::@19 to print_word [phi:main::@19->print_word] print_word_from_b19: - //SEG117 [66] phi (word) print_word::w#10 = (word) print_word::w#5 [phi:main::@19->print_word#0] -- register_copy + //SEG114 [66] phi (word) print_word::w#10 = (word) print_word::w#5 [phi:main::@19->print_word#0] -- register_copy jsr print_word - //SEG118 [42] phi from main::@19 to main::@20 [phi:main::@19->main::@20] + //SEG115 [42] phi from main::@19 to main::@20 [phi:main::@19->main::@20] b20_from_b19: jmp b20 - //SEG119 main::@20 + //SEG116 main::@20 b20: - //SEG120 [43] call print_ln param-assignment [ main::i#10 print_line_cursor#1 ] ( main:2 [ main::i#10 print_line_cursor#1 ] ) - //SEG121 [61] phi from main::@20 to print_ln [phi:main::@20->print_ln] + //SEG117 [43] call print_ln param-assignment [ main::i#10 print_line_cursor#1 ] ( main:2 [ main::i#10 print_line_cursor#1 ] ) + //SEG118 [61] phi from main::@20 to print_ln [phi:main::@20->print_ln] print_ln_from_b20: - //SEG122 [61] phi (byte*) print_line_cursor#21 = (byte*) print_line_cursor#1 [phi:main::@20->print_ln#0] -- register_copy + //SEG119 [61] phi (byte*) print_line_cursor#21 = (byte*) print_line_cursor#1 [phi:main::@20->print_ln#0] -- register_copy jsr print_ln jmp b21 - //SEG123 main::@21 + //SEG120 main::@21 b21: - //SEG124 [44] (byte) main::i#1 ← (byte) main::i#10 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ main::i#1 print_line_cursor#1 ] ( main:2 [ main::i#1 print_line_cursor#1 ] ) -- vbuz1=vbuz1_plus_2 + //SEG121 [44] (byte) main::i#1 ← (byte) main::i#10 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ main::i#1 print_line_cursor#1 ] ( main:2 [ main::i#1 print_line_cursor#1 ] ) -- vbuz1=vbuz1_plus_2 lda i clc adc #2 sta i - //SEG125 [45] if((byte) main::i#1<(byte/signed byte/word/signed word/dword/signed dword) 20*(byte/signed byte/word/signed word/dword/signed dword) 2) goto main::@1 [ main::i#1 print_line_cursor#1 ] ( main:2 [ main::i#1 print_line_cursor#1 ] ) -- vbuz1_lt_vbuc1_then_la1 + //SEG122 [45] if((byte) main::i#1<(byte/signed byte/word/signed word/dword/signed dword) 20*(byte/signed byte/word/signed word/dword/signed dword) 2) goto main::@1 [ main::i#1 print_line_cursor#1 ] ( main:2 [ main::i#1 print_line_cursor#1 ] ) -- vbuz1_lt_vbuc1_then_la1 lda i cmp #$14*2 bcc b1_from_b21 jmp b2 - //SEG126 main::@2 + //SEG123 main::@2 b2: - //SEG127 [46] (byte*~) print_char_cursor#100 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#100 ] ( main:2 [ print_line_cursor#1 print_char_cursor#100 ] ) -- pbuz1=pbuz2 + //SEG124 [46] (byte*~) print_char_cursor#100 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#100 ] ( main:2 [ print_line_cursor#1 print_char_cursor#100 ] ) -- pbuz1=pbuz2 lda print_line_cursor sta print_char_cursor lda print_line_cursor+1 sta print_char_cursor+1 - //SEG128 [47] call print_str param-assignment [ print_line_cursor#1 print_char_cursor#2 ] ( main:2 [ print_line_cursor#1 print_char_cursor#2 ] ) - //SEG129 [84] phi from main::@2 to print_str [phi:main::@2->print_str] + //SEG125 [47] call print_str param-assignment [ print_line_cursor#1 print_char_cursor#2 ] ( main:2 [ print_line_cursor#1 print_char_cursor#2 ] ) + //SEG126 [84] phi from main::@2 to print_str [phi:main::@2->print_str] print_str_from_b2: - //SEG130 [84] phi (byte*) print_char_cursor#86 = (byte*~) print_char_cursor#100 [phi:main::@2->print_str#0] -- register_copy - //SEG131 [84] phi (byte*) print_str::str#12 = (const string) main::str6 [phi:main::@2->print_str#1] -- pbuz1=pbuc1 + //SEG127 [84] phi (byte*) print_char_cursor#86 = (byte*~) print_char_cursor#100 [phi:main::@2->print_str#0] -- register_copy + //SEG128 [84] phi (byte*) print_str::str#12 = (const string) main::str6 [phi:main::@2->print_str#1] -- pbuz1=pbuc1 lda #str6 sta print_str.str+1 jsr print_str - //SEG132 [48] phi from main::@2 to main::@22 [phi:main::@2->main::@22] + //SEG129 [48] phi from main::@2 to main::@22 [phi:main::@2->main::@22] b22_from_b2: jmp b22 - //SEG133 main::@22 + //SEG130 main::@22 b22: - //SEG134 [49] call print_word param-assignment [ print_line_cursor#1 print_char_cursor#11 ] ( main:2 [ print_line_cursor#1 print_char_cursor#11 ] ) - //SEG135 [66] phi from main::@22 to print_word [phi:main::@22->print_word] + //SEG131 [49] call print_word param-assignment [ print_line_cursor#1 print_char_cursor#11 ] ( main:2 [ print_line_cursor#1 print_char_cursor#11 ] ) + //SEG132 [66] phi from main::@22 to print_word [phi:main::@22->print_word] print_word_from_b22: - //SEG136 [66] phi (word) print_word::w#10 = (word/signed word/dword/signed dword) 29793 [phi:main::@22->print_word#0] -- vwuz1=vwuc1 + //SEG133 [66] phi (word) print_word::w#10 = (word/signed word/dword/signed dword) 29793 [phi:main::@22->print_word#0] -- vwuz1=vwuc1 lda #<$7461 sta print_word.w lda #>$7461 sta print_word.w+1 jsr print_word - //SEG137 [50] phi from main::@22 to main::@23 [phi:main::@22->main::@23] + //SEG134 [50] phi from main::@22 to main::@23 [phi:main::@22->main::@23] b23_from_b22: jmp b23 - //SEG138 main::@23 + //SEG135 main::@23 b23: - //SEG139 [51] call print_str param-assignment [ print_line_cursor#1 print_char_cursor#2 ] ( main:2 [ print_line_cursor#1 print_char_cursor#2 ] ) - //SEG140 [84] phi from main::@23 to print_str [phi:main::@23->print_str] + //SEG136 [51] call print_str param-assignment [ print_line_cursor#1 print_char_cursor#2 ] ( main:2 [ print_line_cursor#1 print_char_cursor#2 ] ) + //SEG137 [84] phi from main::@23 to print_str [phi:main::@23->print_str] print_str_from_b23: - //SEG141 [84] phi (byte*) print_char_cursor#86 = (byte*) print_char_cursor#11 [phi:main::@23->print_str#0] -- register_copy - //SEG142 [84] phi (byte*) print_str::str#12 = (const string) main::str7 [phi:main::@23->print_str#1] -- pbuz1=pbuc1 + //SEG138 [84] phi (byte*) print_char_cursor#86 = (byte*) print_char_cursor#11 [phi:main::@23->print_str#0] -- register_copy + //SEG139 [84] phi (byte*) print_str::str#12 = (const string) main::str7 [phi:main::@23->print_str#1] -- pbuz1=pbuc1 lda #str7 sta print_str.str+1 jsr print_str - //SEG143 [52] phi from main::@23 to main::@24 [phi:main::@23->main::@24] + //SEG140 [52] phi from main::@23 to main::@24 [phi:main::@23->main::@24] b24_from_b23: jmp b24 - //SEG144 main::@24 + //SEG141 main::@24 b24: - //SEG145 [53] call print_word param-assignment [ print_line_cursor#1 print_char_cursor#11 ] ( main:2 [ print_line_cursor#1 print_char_cursor#11 ] ) - //SEG146 [66] phi from main::@24 to print_word [phi:main::@24->print_word] + //SEG142 [53] call print_word param-assignment [ print_line_cursor#1 print_char_cursor#11 ] ( main:2 [ print_line_cursor#1 print_char_cursor#11 ] ) + //SEG143 [66] phi from main::@24 to print_word [phi:main::@24->print_word] print_word_from_b24: - //SEG147 [66] phi (word) print_word::w#10 = (word/dword/signed dword) 63361 [phi:main::@24->print_word#0] -- vwuz1=vwuc1 + //SEG144 [66] phi (word) print_word::w#10 = (word/dword/signed dword) 63361 [phi:main::@24->print_word#0] -- vwuz1=vwuc1 lda #<$f781 sta print_word.w lda #>$f781 sta print_word.w+1 jsr print_word - //SEG148 [54] phi from main::@24 to main::@25 [phi:main::@24->main::@25] + //SEG145 [54] phi from main::@24 to main::@25 [phi:main::@24->main::@25] b25_from_b24: jmp b25 - //SEG149 main::@25 + //SEG146 main::@25 b25: - //SEG150 [55] call print_str param-assignment [ print_line_cursor#1 print_char_cursor#2 ] ( main:2 [ print_line_cursor#1 print_char_cursor#2 ] ) - //SEG151 [84] phi from main::@25 to print_str [phi:main::@25->print_str] + //SEG147 [55] call print_str param-assignment [ print_line_cursor#1 print_char_cursor#2 ] ( main:2 [ print_line_cursor#1 print_char_cursor#2 ] ) + //SEG148 [84] phi from main::@25 to print_str [phi:main::@25->print_str] print_str_from_b25: - //SEG152 [84] phi (byte*) print_char_cursor#86 = (byte*) print_char_cursor#11 [phi:main::@25->print_str#0] -- register_copy - //SEG153 [84] phi (byte*) print_str::str#12 = (const string) main::str8 [phi:main::@25->print_str#1] -- pbuz1=pbuc1 + //SEG149 [84] phi (byte*) print_char_cursor#86 = (byte*) print_char_cursor#11 [phi:main::@25->print_str#0] -- register_copy + //SEG150 [84] phi (byte*) print_str::str#12 = (const string) main::str8 [phi:main::@25->print_str#1] -- pbuz1=pbuc1 lda #str8 sta print_str.str+1 jsr print_str - //SEG154 [56] phi from main::@25 to main::@26 [phi:main::@25->main::@26] + //SEG151 [56] phi from main::@25 to main::@26 [phi:main::@25->main::@26] b26_from_b25: jmp b26 - //SEG155 main::@26 + //SEG152 main::@26 b26: - //SEG156 [57] call print_word param-assignment [ print_line_cursor#1 print_char_cursor#11 ] ( main:2 [ print_line_cursor#1 print_char_cursor#11 ] ) - //SEG157 [66] phi from main::@26 to print_word [phi:main::@26->print_word] + //SEG153 [57] call print_word param-assignment [ print_line_cursor#1 print_char_cursor#11 ] ( main:2 [ print_line_cursor#1 print_char_cursor#11 ] ) + //SEG154 [66] phi from main::@26 to print_word [phi:main::@26->print_word] print_word_from_b26: - //SEG158 [66] phi (word) print_word::w#10 = (word/signed word/dword/signed dword) 25736 [phi:main::@26->print_word#0] -- vwuz1=vwuc1 + //SEG155 [66] phi (word) print_word::w#10 = (word/signed word/dword/signed dword) 25736 [phi:main::@26->print_word#0] -- vwuz1=vwuc1 lda #<$6488 sta print_word.w lda #>$6488 sta print_word.w+1 jsr print_word - //SEG159 [58] phi from main::@26 to main::@27 [phi:main::@26->main::@27] + //SEG156 [58] phi from main::@26 to main::@27 [phi:main::@26->main::@27] b27_from_b26: jmp b27 - //SEG160 main::@27 + //SEG157 main::@27 b27: - //SEG161 [59] call print_ln param-assignment [ ] ( main:2 [ ] ) - //SEG162 [61] phi from main::@27 to print_ln [phi:main::@27->print_ln] + //SEG158 [59] call print_ln param-assignment [ ] ( main:2 [ ] ) + //SEG159 [61] phi from main::@27 to print_ln [phi:main::@27->print_ln] print_ln_from_b27: - //SEG163 [61] phi (byte*) print_line_cursor#21 = (byte*) print_line_cursor#1 [phi:main::@27->print_ln#0] -- register_copy + //SEG160 [61] phi (byte*) print_line_cursor#21 = (byte*) print_line_cursor#1 [phi:main::@27->print_ln#0] -- register_copy jsr print_ln jmp breturn - //SEG164 main::@return + //SEG161 main::@return breturn: - //SEG165 [60] return [ ] ( main:2 [ ] ) + //SEG162 [60] return [ ] ( main:2 [ ] ) rts str: .text " @" str1: .text " @" @@ -5575,16 +5517,16 @@ main: { lintab2: .fill $28, 0 lintab3: .fill $28, 0 } -//SEG166 print_ln +//SEG163 print_ln print_ln: { - //SEG167 [62] phi from print_ln print_ln::@1 to print_ln::@1 [phi:print_ln/print_ln::@1->print_ln::@1] + //SEG164 [62] phi from print_ln print_ln::@1 to print_ln::@1 [phi:print_ln/print_ln::@1->print_ln::@1] b1_from_print_ln: b1_from_b1: - //SEG168 [62] phi (byte*) print_line_cursor#11 = (byte*) print_line_cursor#21 [phi:print_ln/print_ln::@1->print_ln::@1#0] -- register_copy + //SEG165 [62] phi (byte*) print_line_cursor#11 = (byte*) print_line_cursor#21 [phi:print_ln/print_ln::@1->print_ln::@1#0] -- register_copy jmp b1 - //SEG169 print_ln::@1 + //SEG166 print_ln::@1 b1: - //SEG170 [63] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#11 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ print_line_cursor#1 print_char_cursor#11 ] ( main:2::print_ln:25 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_ln:43 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_ln:59 [ print_line_cursor#1 print_char_cursor#11 ] ) -- pbuz1=pbuz1_plus_vbuc1 + //SEG167 [63] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#11 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ print_line_cursor#1 print_char_cursor#11 ] ( main:2::print_ln:25 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_ln:43 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_ln:59 [ print_line_cursor#1 print_char_cursor#11 ] ) -- pbuz1=pbuz1_plus_vbuc1 lda print_line_cursor clc adc #$28 @@ -5592,7 +5534,7 @@ print_ln: { bcc !+ inc print_line_cursor+1 !: - //SEG171 [64] if((byte*) print_line_cursor#1<(byte*) print_char_cursor#11) goto print_ln::@1 [ print_line_cursor#1 print_char_cursor#11 ] ( main:2::print_ln:25 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_ln:43 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_ln:59 [ print_line_cursor#1 print_char_cursor#11 ] ) -- pbuz1_lt_pbuz2_then_la1 + //SEG168 [64] if((byte*) print_line_cursor#1<(byte*) print_char_cursor#11) goto print_ln::@1 [ print_line_cursor#1 print_char_cursor#11 ] ( main:2::print_ln:25 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_ln:43 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_ln:59 [ print_line_cursor#1 print_char_cursor#11 ] ) -- pbuz1_lt_pbuz2_then_la1 lda print_line_cursor+1 cmp print_char_cursor+1 bcc b1_from_b1 @@ -5602,162 +5544,162 @@ print_ln: { bcc b1_from_b1 !: jmp breturn - //SEG172 print_ln::@return + //SEG169 print_ln::@return breturn: - //SEG173 [65] return [ print_line_cursor#1 ] ( main:2::print_ln:25 [ print_line_cursor#1 ] main:2::print_ln:43 [ main::i#10 print_line_cursor#1 ] main:2::print_ln:59 [ print_line_cursor#1 ] ) + //SEG170 [65] return [ print_line_cursor#1 ] ( main:2::print_ln:25 [ print_line_cursor#1 ] main:2::print_ln:43 [ main::i#10 print_line_cursor#1 ] main:2::print_ln:59 [ print_line_cursor#1 ] ) rts } -//SEG174 print_word +//SEG171 print_word print_word: { .label w = 5 - //SEG175 [67] (byte) print_byte::b#0 ← > (word) print_word::w#10 [ print_word::w#10 print_byte::b#0 print_char_cursor#2 ] ( main:2::print_word:15 [ print_word::w#10 print_byte::b#0 print_char_cursor#2 ] main:2::print_word:19 [ print_word::w#10 print_byte::b#0 print_char_cursor#2 ] main:2::print_word:23 [ print_word::w#10 print_byte::b#0 print_char_cursor#2 ] main:2::print_word:33 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#0 print_char_cursor#2 ] main:2::print_word:37 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#0 print_char_cursor#2 ] main:2::print_word:41 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#0 print_char_cursor#2 ] main:2::print_word:49 [ print_line_cursor#1 print_word::w#10 print_byte::b#0 print_char_cursor#2 ] main:2::print_word:53 [ print_line_cursor#1 print_word::w#10 print_byte::b#0 print_char_cursor#2 ] main:2::print_word:57 [ print_line_cursor#1 print_word::w#10 print_byte::b#0 print_char_cursor#2 ] ) -- vbuxx=_hi_vwuz1 + //SEG172 [67] (byte) print_byte::b#0 ← > (word) print_word::w#10 [ print_word::w#10 print_byte::b#0 print_char_cursor#2 ] ( main:2::print_word:15 [ print_word::w#10 print_byte::b#0 print_char_cursor#2 ] main:2::print_word:19 [ print_word::w#10 print_byte::b#0 print_char_cursor#2 ] main:2::print_word:23 [ print_word::w#10 print_byte::b#0 print_char_cursor#2 ] main:2::print_word:33 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#0 print_char_cursor#2 ] main:2::print_word:37 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#0 print_char_cursor#2 ] main:2::print_word:41 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#0 print_char_cursor#2 ] main:2::print_word:49 [ print_line_cursor#1 print_word::w#10 print_byte::b#0 print_char_cursor#2 ] main:2::print_word:53 [ print_line_cursor#1 print_word::w#10 print_byte::b#0 print_char_cursor#2 ] main:2::print_word:57 [ print_line_cursor#1 print_word::w#10 print_byte::b#0 print_char_cursor#2 ] ) -- vbuxx=_hi_vwuz1 lda w+1 tax - //SEG176 [68] call print_byte param-assignment [ print_char_cursor#11 print_word::w#10 ] ( main:2::print_word:15 [ print_char_cursor#11 print_word::w#10 ] main:2::print_word:19 [ print_char_cursor#11 print_word::w#10 ] main:2::print_word:23 [ print_char_cursor#11 print_word::w#10 ] main:2::print_word:33 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_word::w#10 ] main:2::print_word:37 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_word::w#10 ] main:2::print_word:41 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_word::w#10 ] main:2::print_word:49 [ print_line_cursor#1 print_char_cursor#11 print_word::w#10 ] main:2::print_word:53 [ print_line_cursor#1 print_char_cursor#11 print_word::w#10 ] main:2::print_word:57 [ print_line_cursor#1 print_char_cursor#11 print_word::w#10 ] ) - //SEG177 [72] phi from print_word to print_byte [phi:print_word->print_byte] + //SEG173 [68] call print_byte param-assignment [ print_char_cursor#11 print_word::w#10 ] ( main:2::print_word:15 [ print_char_cursor#11 print_word::w#10 ] main:2::print_word:19 [ print_char_cursor#11 print_word::w#10 ] main:2::print_word:23 [ print_char_cursor#11 print_word::w#10 ] main:2::print_word:33 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_word::w#10 ] main:2::print_word:37 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_word::w#10 ] main:2::print_word:41 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_word::w#10 ] main:2::print_word:49 [ print_line_cursor#1 print_char_cursor#11 print_word::w#10 ] main:2::print_word:53 [ print_line_cursor#1 print_char_cursor#11 print_word::w#10 ] main:2::print_word:57 [ print_line_cursor#1 print_char_cursor#11 print_word::w#10 ] ) + //SEG174 [72] phi from print_word to print_byte [phi:print_word->print_byte] print_byte_from_print_word: - //SEG178 [72] phi (byte*) print_char_cursor#81 = (byte*) print_char_cursor#2 [phi:print_word->print_byte#0] -- register_copy - //SEG179 [72] phi (byte) print_byte::b#3 = (byte) print_byte::b#0 [phi:print_word->print_byte#1] -- register_copy + //SEG175 [72] phi (byte*) print_char_cursor#81 = (byte*) print_char_cursor#2 [phi:print_word->print_byte#0] -- register_copy + //SEG176 [72] phi (byte) print_byte::b#3 = (byte) print_byte::b#0 [phi:print_word->print_byte#1] -- register_copy jsr print_byte jmp b1 - //SEG180 print_word::@1 + //SEG177 print_word::@1 b1: - //SEG181 [69] (byte) print_byte::b#1 ← < (word) print_word::w#10 [ print_char_cursor#11 print_byte::b#1 ] ( main:2::print_word:15 [ print_char_cursor#11 print_byte::b#1 ] main:2::print_word:19 [ print_char_cursor#11 print_byte::b#1 ] main:2::print_word:23 [ print_char_cursor#11 print_byte::b#1 ] main:2::print_word:33 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_byte::b#1 ] main:2::print_word:37 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_byte::b#1 ] main:2::print_word:41 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_byte::b#1 ] main:2::print_word:49 [ print_line_cursor#1 print_char_cursor#11 print_byte::b#1 ] main:2::print_word:53 [ print_line_cursor#1 print_char_cursor#11 print_byte::b#1 ] main:2::print_word:57 [ print_line_cursor#1 print_char_cursor#11 print_byte::b#1 ] ) -- vbuxx=_lo_vwuz1 + //SEG178 [69] (byte) print_byte::b#1 ← < (word) print_word::w#10 [ print_char_cursor#11 print_byte::b#1 ] ( main:2::print_word:15 [ print_char_cursor#11 print_byte::b#1 ] main:2::print_word:19 [ print_char_cursor#11 print_byte::b#1 ] main:2::print_word:23 [ print_char_cursor#11 print_byte::b#1 ] main:2::print_word:33 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_byte::b#1 ] main:2::print_word:37 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_byte::b#1 ] main:2::print_word:41 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_byte::b#1 ] main:2::print_word:49 [ print_line_cursor#1 print_char_cursor#11 print_byte::b#1 ] main:2::print_word:53 [ print_line_cursor#1 print_char_cursor#11 print_byte::b#1 ] main:2::print_word:57 [ print_line_cursor#1 print_char_cursor#11 print_byte::b#1 ] ) -- vbuxx=_lo_vwuz1 lda w tax - //SEG182 [70] call print_byte param-assignment [ print_char_cursor#11 ] ( main:2::print_word:15 [ print_char_cursor#11 ] main:2::print_word:19 [ print_char_cursor#11 ] main:2::print_word:23 [ print_char_cursor#11 ] main:2::print_word:33 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:37 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:41 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:49 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:53 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:57 [ print_line_cursor#1 print_char_cursor#11 ] ) - //SEG183 [72] phi from print_word::@1 to print_byte [phi:print_word::@1->print_byte] + //SEG179 [70] call print_byte param-assignment [ print_char_cursor#11 ] ( main:2::print_word:15 [ print_char_cursor#11 ] main:2::print_word:19 [ print_char_cursor#11 ] main:2::print_word:23 [ print_char_cursor#11 ] main:2::print_word:33 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:37 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:41 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:49 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:53 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:57 [ print_line_cursor#1 print_char_cursor#11 ] ) + //SEG180 [72] phi from print_word::@1 to print_byte [phi:print_word::@1->print_byte] print_byte_from_b1: - //SEG184 [72] phi (byte*) print_char_cursor#81 = (byte*) print_char_cursor#11 [phi:print_word::@1->print_byte#0] -- register_copy - //SEG185 [72] phi (byte) print_byte::b#3 = (byte) print_byte::b#1 [phi:print_word::@1->print_byte#1] -- register_copy + //SEG181 [72] phi (byte*) print_char_cursor#81 = (byte*) print_char_cursor#11 [phi:print_word::@1->print_byte#0] -- register_copy + //SEG182 [72] phi (byte) print_byte::b#3 = (byte) print_byte::b#1 [phi:print_word::@1->print_byte#1] -- register_copy jsr print_byte jmp breturn - //SEG186 print_word::@return + //SEG183 print_word::@return breturn: - //SEG187 [71] return [ print_char_cursor#11 ] ( main:2::print_word:15 [ print_char_cursor#11 ] main:2::print_word:19 [ print_char_cursor#11 ] main:2::print_word:23 [ print_char_cursor#11 ] main:2::print_word:33 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:37 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:41 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:49 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:53 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:57 [ print_line_cursor#1 print_char_cursor#11 ] ) + //SEG184 [71] return [ print_char_cursor#11 ] ( main:2::print_word:15 [ print_char_cursor#11 ] main:2::print_word:19 [ print_char_cursor#11 ] main:2::print_word:23 [ print_char_cursor#11 ] main:2::print_word:33 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:37 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:41 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:49 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:53 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:57 [ print_line_cursor#1 print_char_cursor#11 ] ) rts } -//SEG188 print_byte +//SEG185 print_byte print_byte: { - //SEG189 [73] (byte~) print_byte::$0 ← (byte) print_byte::b#3 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ print_byte::b#3 print_char_cursor#81 print_byte::$0 ] ( main:2::print_byte:29 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:15::print_byte:68 [ print_word::w#10 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:19::print_byte:68 [ print_word::w#10 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:23::print_byte:68 [ print_word::w#10 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:33::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:37::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:41::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:49::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:53::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:57::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:15::print_byte:70 [ print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:19::print_byte:70 [ print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:23::print_byte:70 [ print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:33::print_byte:70 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:37::print_byte:70 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:41::print_byte:70 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:49::print_byte:70 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:53::print_byte:70 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:57::print_byte:70 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] ) -- vbuaa=vbuxx_ror_4 + //SEG186 [73] (byte~) print_byte::$0 ← (byte) print_byte::b#3 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ print_byte::b#3 print_char_cursor#81 print_byte::$0 ] ( main:2::print_byte:29 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:15::print_byte:68 [ print_word::w#10 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:19::print_byte:68 [ print_word::w#10 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:23::print_byte:68 [ print_word::w#10 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:33::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:37::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:41::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:49::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:53::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:57::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:15::print_byte:70 [ print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:19::print_byte:70 [ print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:23::print_byte:70 [ print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:33::print_byte:70 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:37::print_byte:70 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:41::print_byte:70 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:49::print_byte:70 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:53::print_byte:70 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:57::print_byte:70 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] ) -- vbuaa=vbuxx_ror_4 txa lsr lsr lsr lsr - //SEG190 [74] (byte) print_char::ch#0 ← *((const string) print_hextab#0 + (byte~) print_byte::$0) [ print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] ( main:2::print_byte:29 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:15::print_byte:68 [ print_word::w#10 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:19::print_byte:68 [ print_word::w#10 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:23::print_byte:68 [ print_word::w#10 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:33::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:37::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:41::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:49::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:53::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:57::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:15::print_byte:70 [ print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:19::print_byte:70 [ print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:23::print_byte:70 [ print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:33::print_byte:70 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:37::print_byte:70 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:41::print_byte:70 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:49::print_byte:70 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:53::print_byte:70 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:57::print_byte:70 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] ) -- vbuaa=pbuc1_derefidx_vbuaa + //SEG187 [74] (byte) print_char::ch#0 ← *((const string) print_hextab#0 + (byte~) print_byte::$0) [ print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] ( main:2::print_byte:29 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:15::print_byte:68 [ print_word::w#10 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:19::print_byte:68 [ print_word::w#10 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:23::print_byte:68 [ print_word::w#10 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:33::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:37::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:41::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:49::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:53::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:57::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:15::print_byte:70 [ print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:19::print_byte:70 [ print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:23::print_byte:70 [ print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:33::print_byte:70 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:37::print_byte:70 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:41::print_byte:70 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:49::print_byte:70 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:53::print_byte:70 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:57::print_byte:70 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] ) -- vbuaa=pbuc1_derefidx_vbuaa tay lda print_hextab,y - //SEG191 [75] call print_char param-assignment [ print_char_cursor#11 print_byte::b#3 ] ( main:2::print_byte:29 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:15::print_byte:68 [ print_word::w#10 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:19::print_byte:68 [ print_word::w#10 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:23::print_byte:68 [ print_word::w#10 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:33::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:37::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:41::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:49::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:53::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:57::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:15::print_byte:70 [ print_char_cursor#11 print_byte::b#3 ] main:2::print_word:19::print_byte:70 [ print_char_cursor#11 print_byte::b#3 ] main:2::print_word:23::print_byte:70 [ print_char_cursor#11 print_byte::b#3 ] main:2::print_word:33::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:37::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:41::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:49::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:53::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:57::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 print_byte::b#3 ] ) - //SEG192 [80] phi from print_byte to print_char [phi:print_byte->print_char] + //SEG188 [75] call print_char param-assignment [ print_char_cursor#11 print_byte::b#3 ] ( main:2::print_byte:29 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:15::print_byte:68 [ print_word::w#10 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:19::print_byte:68 [ print_word::w#10 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:23::print_byte:68 [ print_word::w#10 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:33::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:37::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:41::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:49::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:53::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:57::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:15::print_byte:70 [ print_char_cursor#11 print_byte::b#3 ] main:2::print_word:19::print_byte:70 [ print_char_cursor#11 print_byte::b#3 ] main:2::print_word:23::print_byte:70 [ print_char_cursor#11 print_byte::b#3 ] main:2::print_word:33::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:37::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:41::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:49::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:53::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:57::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 print_byte::b#3 ] ) + //SEG189 [80] phi from print_byte to print_char [phi:print_byte->print_char] print_char_from_print_byte: - //SEG193 [80] phi (byte*) print_char_cursor#50 = (byte*) print_char_cursor#81 [phi:print_byte->print_char#0] -- register_copy - //SEG194 [80] phi (byte) print_char::ch#2 = (byte) print_char::ch#0 [phi:print_byte->print_char#1] -- register_copy + //SEG190 [80] phi (byte*) print_char_cursor#50 = (byte*) print_char_cursor#81 [phi:print_byte->print_char#0] -- register_copy + //SEG191 [80] phi (byte) print_char::ch#2 = (byte) print_char::ch#0 [phi:print_byte->print_char#1] -- register_copy jsr print_char jmp b1 - //SEG195 print_byte::@1 + //SEG192 print_byte::@1 b1: - //SEG196 [76] (byte~) print_byte::$2 ← (byte) print_byte::b#3 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ print_char_cursor#11 print_byte::$2 ] ( main:2::print_byte:29 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_byte::$2 ] main:2::print_word:15::print_byte:68 [ print_word::w#10 print_char_cursor#11 print_byte::$2 ] main:2::print_word:19::print_byte:68 [ print_word::w#10 print_char_cursor#11 print_byte::$2 ] main:2::print_word:23::print_byte:68 [ print_word::w#10 print_char_cursor#11 print_byte::$2 ] main:2::print_word:33::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::$2 ] main:2::print_word:37::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::$2 ] main:2::print_word:41::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::$2 ] main:2::print_word:49::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::$2 ] main:2::print_word:53::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::$2 ] main:2::print_word:57::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::$2 ] main:2::print_word:15::print_byte:70 [ print_char_cursor#11 print_byte::$2 ] main:2::print_word:19::print_byte:70 [ print_char_cursor#11 print_byte::$2 ] main:2::print_word:23::print_byte:70 [ print_char_cursor#11 print_byte::$2 ] main:2::print_word:33::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_byte::$2 ] main:2::print_word:37::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_byte::$2 ] main:2::print_word:41::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_byte::$2 ] main:2::print_word:49::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 print_byte::$2 ] main:2::print_word:53::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 print_byte::$2 ] main:2::print_word:57::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 print_byte::$2 ] ) -- vbuaa=vbuxx_band_vbuc1 + //SEG193 [76] (byte~) print_byte::$2 ← (byte) print_byte::b#3 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ print_char_cursor#11 print_byte::$2 ] ( main:2::print_byte:29 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_byte::$2 ] main:2::print_word:15::print_byte:68 [ print_word::w#10 print_char_cursor#11 print_byte::$2 ] main:2::print_word:19::print_byte:68 [ print_word::w#10 print_char_cursor#11 print_byte::$2 ] main:2::print_word:23::print_byte:68 [ print_word::w#10 print_char_cursor#11 print_byte::$2 ] main:2::print_word:33::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::$2 ] main:2::print_word:37::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::$2 ] main:2::print_word:41::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::$2 ] main:2::print_word:49::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::$2 ] main:2::print_word:53::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::$2 ] main:2::print_word:57::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::$2 ] main:2::print_word:15::print_byte:70 [ print_char_cursor#11 print_byte::$2 ] main:2::print_word:19::print_byte:70 [ print_char_cursor#11 print_byte::$2 ] main:2::print_word:23::print_byte:70 [ print_char_cursor#11 print_byte::$2 ] main:2::print_word:33::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_byte::$2 ] main:2::print_word:37::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_byte::$2 ] main:2::print_word:41::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_byte::$2 ] main:2::print_word:49::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 print_byte::$2 ] main:2::print_word:53::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 print_byte::$2 ] main:2::print_word:57::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 print_byte::$2 ] ) -- vbuaa=vbuxx_band_vbuc1 txa and #$f - //SEG197 [77] (byte) print_char::ch#1 ← *((const string) print_hextab#0 + (byte~) print_byte::$2) [ print_char_cursor#11 print_char::ch#1 ] ( main:2::print_byte:29 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:15::print_byte:68 [ print_word::w#10 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:19::print_byte:68 [ print_word::w#10 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:23::print_byte:68 [ print_word::w#10 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:33::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:37::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:41::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:49::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:53::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:57::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:15::print_byte:70 [ print_char_cursor#11 print_char::ch#1 ] main:2::print_word:19::print_byte:70 [ print_char_cursor#11 print_char::ch#1 ] main:2::print_word:23::print_byte:70 [ print_char_cursor#11 print_char::ch#1 ] main:2::print_word:33::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:37::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:41::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:49::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:53::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:57::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 print_char::ch#1 ] ) -- vbuaa=pbuc1_derefidx_vbuaa + //SEG194 [77] (byte) print_char::ch#1 ← *((const string) print_hextab#0 + (byte~) print_byte::$2) [ print_char_cursor#11 print_char::ch#1 ] ( main:2::print_byte:29 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:15::print_byte:68 [ print_word::w#10 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:19::print_byte:68 [ print_word::w#10 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:23::print_byte:68 [ print_word::w#10 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:33::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:37::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:41::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:49::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:53::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:57::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:15::print_byte:70 [ print_char_cursor#11 print_char::ch#1 ] main:2::print_word:19::print_byte:70 [ print_char_cursor#11 print_char::ch#1 ] main:2::print_word:23::print_byte:70 [ print_char_cursor#11 print_char::ch#1 ] main:2::print_word:33::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:37::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:41::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:49::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:53::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:57::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 print_char::ch#1 ] ) -- vbuaa=pbuc1_derefidx_vbuaa tay lda print_hextab,y - //SEG198 [78] call print_char param-assignment [ print_char_cursor#11 ] ( main:2::print_byte:29 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:15::print_byte:68 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:19::print_byte:68 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:23::print_byte:68 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:33::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:37::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:41::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:49::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:53::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:57::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:15::print_byte:70 [ print_char_cursor#11 ] main:2::print_word:19::print_byte:70 [ print_char_cursor#11 ] main:2::print_word:23::print_byte:70 [ print_char_cursor#11 ] main:2::print_word:33::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:37::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:41::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:49::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:53::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:57::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 ] ) - //SEG199 [80] phi from print_byte::@1 to print_char [phi:print_byte::@1->print_char] + //SEG195 [78] call print_char param-assignment [ print_char_cursor#11 ] ( main:2::print_byte:29 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:15::print_byte:68 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:19::print_byte:68 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:23::print_byte:68 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:33::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:37::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:41::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:49::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:53::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:57::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:15::print_byte:70 [ print_char_cursor#11 ] main:2::print_word:19::print_byte:70 [ print_char_cursor#11 ] main:2::print_word:23::print_byte:70 [ print_char_cursor#11 ] main:2::print_word:33::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:37::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:41::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:49::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:53::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:57::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 ] ) + //SEG196 [80] phi from print_byte::@1 to print_char [phi:print_byte::@1->print_char] print_char_from_b1: - //SEG200 [80] phi (byte*) print_char_cursor#50 = (byte*) print_char_cursor#11 [phi:print_byte::@1->print_char#0] -- register_copy - //SEG201 [80] phi (byte) print_char::ch#2 = (byte) print_char::ch#1 [phi:print_byte::@1->print_char#1] -- register_copy + //SEG197 [80] phi (byte*) print_char_cursor#50 = (byte*) print_char_cursor#11 [phi:print_byte::@1->print_char#0] -- register_copy + //SEG198 [80] phi (byte) print_char::ch#2 = (byte) print_char::ch#1 [phi:print_byte::@1->print_char#1] -- register_copy jsr print_char jmp breturn - //SEG202 print_byte::@return + //SEG199 print_byte::@return breturn: - //SEG203 [79] return [ print_char_cursor#11 ] ( main:2::print_byte:29 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:15::print_byte:68 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:19::print_byte:68 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:23::print_byte:68 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:33::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:37::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:41::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:49::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:53::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:57::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:15::print_byte:70 [ print_char_cursor#11 ] main:2::print_word:19::print_byte:70 [ print_char_cursor#11 ] main:2::print_word:23::print_byte:70 [ print_char_cursor#11 ] main:2::print_word:33::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:37::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:41::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:49::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:53::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:57::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 ] ) + //SEG200 [79] return [ print_char_cursor#11 ] ( main:2::print_byte:29 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:15::print_byte:68 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:19::print_byte:68 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:23::print_byte:68 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:33::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:37::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:41::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:49::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:53::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:57::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:15::print_byte:70 [ print_char_cursor#11 ] main:2::print_word:19::print_byte:70 [ print_char_cursor#11 ] main:2::print_word:23::print_byte:70 [ print_char_cursor#11 ] main:2::print_word:33::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:37::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:41::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:49::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:53::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:57::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 ] ) rts } -//SEG204 print_char +//SEG201 print_char print_char: { - //SEG205 [81] *((byte*) print_char_cursor#50) ← (byte) print_char::ch#2 [ print_char_cursor#50 ] ( main:2::print_byte:29::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:15::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:19::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:23::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:33::print_byte:68::print_char:75 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:37::print_byte:68::print_char:75 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:41::print_byte:68::print_char:75 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:49::print_byte:68::print_char:75 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:53::print_byte:68::print_char:75 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:57::print_byte:68::print_char:75 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:15::print_byte:70::print_char:75 [ print_byte::b#3 print_char_cursor#50 ] main:2::print_word:19::print_byte:70::print_char:75 [ print_byte::b#3 print_char_cursor#50 ] main:2::print_word:23::print_byte:70::print_char:75 [ print_byte::b#3 print_char_cursor#50 ] main:2::print_word:33::print_byte:70::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:37::print_byte:70::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:41::print_byte:70::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:49::print_byte:70::print_char:75 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:53::print_byte:70::print_char:75 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:57::print_byte:70::print_char:75 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#50 ] main:2::print_byte:29::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#50 ] main:2::print_word:15::print_byte:68::print_char:78 [ print_word::w#10 print_char_cursor#50 ] main:2::print_word:19::print_byte:68::print_char:78 [ print_word::w#10 print_char_cursor#50 ] main:2::print_word:23::print_byte:68::print_char:78 [ print_word::w#10 print_char_cursor#50 ] main:2::print_word:33::print_byte:68::print_char:78 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#50 ] main:2::print_word:37::print_byte:68::print_char:78 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#50 ] main:2::print_word:41::print_byte:68::print_char:78 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#50 ] main:2::print_word:49::print_byte:68::print_char:78 [ print_line_cursor#1 print_word::w#10 print_char_cursor#50 ] main:2::print_word:53::print_byte:68::print_char:78 [ print_line_cursor#1 print_word::w#10 print_char_cursor#50 ] main:2::print_word:57::print_byte:68::print_char:78 [ print_line_cursor#1 print_word::w#10 print_char_cursor#50 ] main:2::print_word:15::print_byte:70::print_char:78 [ print_char_cursor#50 ] main:2::print_word:19::print_byte:70::print_char:78 [ print_char_cursor#50 ] main:2::print_word:23::print_byte:70::print_char:78 [ print_char_cursor#50 ] main:2::print_word:33::print_byte:70::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#50 ] main:2::print_word:37::print_byte:70::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#50 ] main:2::print_word:41::print_byte:70::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#50 ] main:2::print_word:49::print_byte:70::print_char:78 [ print_line_cursor#1 print_char_cursor#50 ] main:2::print_word:53::print_byte:70::print_char:78 [ print_line_cursor#1 print_char_cursor#50 ] main:2::print_word:57::print_byte:70::print_char:78 [ print_line_cursor#1 print_char_cursor#50 ] ) -- _deref_pbuz1=vbuaa + //SEG202 [81] *((byte*) print_char_cursor#50) ← (byte) print_char::ch#2 [ print_char_cursor#50 ] ( main:2::print_byte:29::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:15::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:19::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:23::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:33::print_byte:68::print_char:75 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:37::print_byte:68::print_char:75 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:41::print_byte:68::print_char:75 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:49::print_byte:68::print_char:75 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:53::print_byte:68::print_char:75 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:57::print_byte:68::print_char:75 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:15::print_byte:70::print_char:75 [ print_byte::b#3 print_char_cursor#50 ] main:2::print_word:19::print_byte:70::print_char:75 [ print_byte::b#3 print_char_cursor#50 ] main:2::print_word:23::print_byte:70::print_char:75 [ print_byte::b#3 print_char_cursor#50 ] main:2::print_word:33::print_byte:70::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:37::print_byte:70::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:41::print_byte:70::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:49::print_byte:70::print_char:75 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:53::print_byte:70::print_char:75 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:57::print_byte:70::print_char:75 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#50 ] main:2::print_byte:29::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#50 ] main:2::print_word:15::print_byte:68::print_char:78 [ print_word::w#10 print_char_cursor#50 ] main:2::print_word:19::print_byte:68::print_char:78 [ print_word::w#10 print_char_cursor#50 ] main:2::print_word:23::print_byte:68::print_char:78 [ print_word::w#10 print_char_cursor#50 ] main:2::print_word:33::print_byte:68::print_char:78 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#50 ] main:2::print_word:37::print_byte:68::print_char:78 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#50 ] main:2::print_word:41::print_byte:68::print_char:78 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#50 ] main:2::print_word:49::print_byte:68::print_char:78 [ print_line_cursor#1 print_word::w#10 print_char_cursor#50 ] main:2::print_word:53::print_byte:68::print_char:78 [ print_line_cursor#1 print_word::w#10 print_char_cursor#50 ] main:2::print_word:57::print_byte:68::print_char:78 [ print_line_cursor#1 print_word::w#10 print_char_cursor#50 ] main:2::print_word:15::print_byte:70::print_char:78 [ print_char_cursor#50 ] main:2::print_word:19::print_byte:70::print_char:78 [ print_char_cursor#50 ] main:2::print_word:23::print_byte:70::print_char:78 [ print_char_cursor#50 ] main:2::print_word:33::print_byte:70::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#50 ] main:2::print_word:37::print_byte:70::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#50 ] main:2::print_word:41::print_byte:70::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#50 ] main:2::print_word:49::print_byte:70::print_char:78 [ print_line_cursor#1 print_char_cursor#50 ] main:2::print_word:53::print_byte:70::print_char:78 [ print_line_cursor#1 print_char_cursor#50 ] main:2::print_word:57::print_byte:70::print_char:78 [ print_line_cursor#1 print_char_cursor#50 ] ) -- _deref_pbuz1=vbuaa ldy #0 sta (print_char_cursor),y - //SEG206 [82] (byte*) print_char_cursor#11 ← ++ (byte*) print_char_cursor#50 [ print_char_cursor#11 ] ( main:2::print_byte:29::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:15::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:19::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:23::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:33::print_byte:68::print_char:75 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:37::print_byte:68::print_char:75 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:41::print_byte:68::print_char:75 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:49::print_byte:68::print_char:75 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:53::print_byte:68::print_char:75 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:57::print_byte:68::print_char:75 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:15::print_byte:70::print_char:75 [ print_byte::b#3 print_char_cursor#11 ] main:2::print_word:19::print_byte:70::print_char:75 [ print_byte::b#3 print_char_cursor#11 ] main:2::print_word:23::print_byte:70::print_char:75 [ print_byte::b#3 print_char_cursor#11 ] main:2::print_word:33::print_byte:70::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:37::print_byte:70::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:41::print_byte:70::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:49::print_byte:70::print_char:75 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:53::print_byte:70::print_char:75 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:57::print_byte:70::print_char:75 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_byte:29::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:15::print_byte:68::print_char:78 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:19::print_byte:68::print_char:78 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:23::print_byte:68::print_char:78 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:33::print_byte:68::print_char:78 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:37::print_byte:68::print_char:78 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:41::print_byte:68::print_char:78 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:49::print_byte:68::print_char:78 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:53::print_byte:68::print_char:78 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:57::print_byte:68::print_char:78 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:15::print_byte:70::print_char:78 [ print_char_cursor#11 ] main:2::print_word:19::print_byte:70::print_char:78 [ print_char_cursor#11 ] main:2::print_word:23::print_byte:70::print_char:78 [ print_char_cursor#11 ] main:2::print_word:33::print_byte:70::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:37::print_byte:70::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:41::print_byte:70::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:49::print_byte:70::print_char:78 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:53::print_byte:70::print_char:78 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:57::print_byte:70::print_char:78 [ print_line_cursor#1 print_char_cursor#11 ] ) -- pbuz1=_inc_pbuz1 + //SEG203 [82] (byte*) print_char_cursor#11 ← ++ (byte*) print_char_cursor#50 [ print_char_cursor#11 ] ( main:2::print_byte:29::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:15::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:19::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:23::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:33::print_byte:68::print_char:75 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:37::print_byte:68::print_char:75 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:41::print_byte:68::print_char:75 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:49::print_byte:68::print_char:75 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:53::print_byte:68::print_char:75 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:57::print_byte:68::print_char:75 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:15::print_byte:70::print_char:75 [ print_byte::b#3 print_char_cursor#11 ] main:2::print_word:19::print_byte:70::print_char:75 [ print_byte::b#3 print_char_cursor#11 ] main:2::print_word:23::print_byte:70::print_char:75 [ print_byte::b#3 print_char_cursor#11 ] main:2::print_word:33::print_byte:70::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:37::print_byte:70::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:41::print_byte:70::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:49::print_byte:70::print_char:75 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:53::print_byte:70::print_char:75 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:57::print_byte:70::print_char:75 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_byte:29::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:15::print_byte:68::print_char:78 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:19::print_byte:68::print_char:78 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:23::print_byte:68::print_char:78 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:33::print_byte:68::print_char:78 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:37::print_byte:68::print_char:78 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:41::print_byte:68::print_char:78 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:49::print_byte:68::print_char:78 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:53::print_byte:68::print_char:78 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:57::print_byte:68::print_char:78 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:15::print_byte:70::print_char:78 [ print_char_cursor#11 ] main:2::print_word:19::print_byte:70::print_char:78 [ print_char_cursor#11 ] main:2::print_word:23::print_byte:70::print_char:78 [ print_char_cursor#11 ] main:2::print_word:33::print_byte:70::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:37::print_byte:70::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:41::print_byte:70::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:49::print_byte:70::print_char:78 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:53::print_byte:70::print_char:78 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:57::print_byte:70::print_char:78 [ print_line_cursor#1 print_char_cursor#11 ] ) -- pbuz1=_inc_pbuz1 inc print_char_cursor bne !+ inc print_char_cursor+1 !: jmp breturn - //SEG207 print_char::@return + //SEG204 print_char::@return breturn: - //SEG208 [83] return [ print_char_cursor#11 ] ( main:2::print_byte:29::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:15::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:19::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:23::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:33::print_byte:68::print_char:75 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:37::print_byte:68::print_char:75 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:41::print_byte:68::print_char:75 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:49::print_byte:68::print_char:75 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:53::print_byte:68::print_char:75 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:57::print_byte:68::print_char:75 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:15::print_byte:70::print_char:75 [ print_byte::b#3 print_char_cursor#11 ] main:2::print_word:19::print_byte:70::print_char:75 [ print_byte::b#3 print_char_cursor#11 ] main:2::print_word:23::print_byte:70::print_char:75 [ print_byte::b#3 print_char_cursor#11 ] main:2::print_word:33::print_byte:70::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:37::print_byte:70::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:41::print_byte:70::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:49::print_byte:70::print_char:75 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:53::print_byte:70::print_char:75 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:57::print_byte:70::print_char:75 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_byte:29::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:15::print_byte:68::print_char:78 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:19::print_byte:68::print_char:78 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:23::print_byte:68::print_char:78 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:33::print_byte:68::print_char:78 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:37::print_byte:68::print_char:78 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:41::print_byte:68::print_char:78 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:49::print_byte:68::print_char:78 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:53::print_byte:68::print_char:78 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:57::print_byte:68::print_char:78 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:15::print_byte:70::print_char:78 [ print_char_cursor#11 ] main:2::print_word:19::print_byte:70::print_char:78 [ print_char_cursor#11 ] main:2::print_word:23::print_byte:70::print_char:78 [ print_char_cursor#11 ] main:2::print_word:33::print_byte:70::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:37::print_byte:70::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:41::print_byte:70::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:49::print_byte:70::print_char:78 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:53::print_byte:70::print_char:78 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:57::print_byte:70::print_char:78 [ print_line_cursor#1 print_char_cursor#11 ] ) + //SEG205 [83] return [ print_char_cursor#11 ] ( main:2::print_byte:29::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:15::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:19::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:23::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:33::print_byte:68::print_char:75 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:37::print_byte:68::print_char:75 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:41::print_byte:68::print_char:75 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:49::print_byte:68::print_char:75 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:53::print_byte:68::print_char:75 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:57::print_byte:68::print_char:75 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:15::print_byte:70::print_char:75 [ print_byte::b#3 print_char_cursor#11 ] main:2::print_word:19::print_byte:70::print_char:75 [ print_byte::b#3 print_char_cursor#11 ] main:2::print_word:23::print_byte:70::print_char:75 [ print_byte::b#3 print_char_cursor#11 ] main:2::print_word:33::print_byte:70::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:37::print_byte:70::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:41::print_byte:70::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:49::print_byte:70::print_char:75 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:53::print_byte:70::print_char:75 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:57::print_byte:70::print_char:75 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_byte:29::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:15::print_byte:68::print_char:78 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:19::print_byte:68::print_char:78 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:23::print_byte:68::print_char:78 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:33::print_byte:68::print_char:78 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:37::print_byte:68::print_char:78 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:41::print_byte:68::print_char:78 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:49::print_byte:68::print_char:78 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:53::print_byte:68::print_char:78 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:57::print_byte:68::print_char:78 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:15::print_byte:70::print_char:78 [ print_char_cursor#11 ] main:2::print_word:19::print_byte:70::print_char:78 [ print_char_cursor#11 ] main:2::print_word:23::print_byte:70::print_char:78 [ print_char_cursor#11 ] main:2::print_word:33::print_byte:70::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:37::print_byte:70::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:41::print_byte:70::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:49::print_byte:70::print_char:78 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:53::print_byte:70::print_char:78 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:57::print_byte:70::print_char:78 [ print_line_cursor#1 print_char_cursor#11 ] ) rts } -//SEG209 print_str +//SEG206 print_str print_str: { .label str = 5 - //SEG210 [85] phi from print_str print_str::@2 to print_str::@1 [phi:print_str/print_str::@2->print_str::@1] + //SEG207 [85] phi from print_str print_str::@2 to print_str::@1 [phi:print_str/print_str::@2->print_str::@1] b1_from_print_str: b1_from_b2: - //SEG211 [85] phi (byte*) print_char_cursor#2 = (byte*) print_char_cursor#86 [phi:print_str/print_str::@2->print_str::@1#0] -- register_copy - //SEG212 [85] phi (byte*) print_str::str#10 = (byte*) print_str::str#12 [phi:print_str/print_str::@2->print_str::@1#1] -- register_copy + //SEG208 [85] phi (byte*) print_char_cursor#2 = (byte*) print_char_cursor#86 [phi:print_str/print_str::@2->print_str::@1#0] -- register_copy + //SEG209 [85] phi (byte*) print_str::str#10 = (byte*) print_str::str#12 [phi:print_str/print_str::@2->print_str::@1#1] -- register_copy jmp b1 - //SEG213 print_str::@1 + //SEG210 print_str::@1 b1: - //SEG214 [86] if(*((byte*) print_str::str#10)!=(byte) '@') goto print_str::@2 [ print_char_cursor#2 print_str::str#10 ] ( main:2::print_str:13 [ print_char_cursor#2 print_str::str#10 ] main:2::print_str:17 [ print_char_cursor#2 print_str::str#10 ] main:2::print_str:21 [ print_char_cursor#2 print_str::str#10 ] main:2::print_str:31 [ main::i#10 print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:35 [ main::i#10 print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:39 [ main::i#10 print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:47 [ print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:51 [ print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:55 [ print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] ) -- _deref_pbuz1_neq_vbuc1_then_la1 + //SEG211 [86] if(*((byte*) print_str::str#10)!=(byte) '@') goto print_str::@2 [ print_char_cursor#2 print_str::str#10 ] ( main:2::print_str:13 [ print_char_cursor#2 print_str::str#10 ] main:2::print_str:17 [ print_char_cursor#2 print_str::str#10 ] main:2::print_str:21 [ print_char_cursor#2 print_str::str#10 ] main:2::print_str:31 [ main::i#10 print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:35 [ main::i#10 print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:39 [ main::i#10 print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:47 [ print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:51 [ print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:55 [ print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] ) -- _deref_pbuz1_neq_vbuc1_then_la1 ldy #0 lda (str),y cmp #'@' bne b2 jmp breturn - //SEG215 print_str::@return + //SEG212 print_str::@return breturn: - //SEG216 [87] return [ print_char_cursor#2 ] ( main:2::print_str:13 [ print_char_cursor#2 ] main:2::print_str:17 [ print_char_cursor#2 ] main:2::print_str:21 [ print_char_cursor#2 ] main:2::print_str:31 [ main::i#10 print_line_cursor#1 print_char_cursor#2 ] main:2::print_str:35 [ main::i#10 print_line_cursor#1 print_char_cursor#2 ] main:2::print_str:39 [ main::i#10 print_line_cursor#1 print_char_cursor#2 ] main:2::print_str:47 [ print_line_cursor#1 print_char_cursor#2 ] main:2::print_str:51 [ print_line_cursor#1 print_char_cursor#2 ] main:2::print_str:55 [ print_line_cursor#1 print_char_cursor#2 ] ) + //SEG213 [87] return [ print_char_cursor#2 ] ( main:2::print_str:13 [ print_char_cursor#2 ] main:2::print_str:17 [ print_char_cursor#2 ] main:2::print_str:21 [ print_char_cursor#2 ] main:2::print_str:31 [ main::i#10 print_line_cursor#1 print_char_cursor#2 ] main:2::print_str:35 [ main::i#10 print_line_cursor#1 print_char_cursor#2 ] main:2::print_str:39 [ main::i#10 print_line_cursor#1 print_char_cursor#2 ] main:2::print_str:47 [ print_line_cursor#1 print_char_cursor#2 ] main:2::print_str:51 [ print_line_cursor#1 print_char_cursor#2 ] main:2::print_str:55 [ print_line_cursor#1 print_char_cursor#2 ] ) rts - //SEG217 print_str::@2 + //SEG214 print_str::@2 b2: - //SEG218 [88] *((byte*) print_char_cursor#2) ← *((byte*) print_str::str#10) [ print_char_cursor#2 print_str::str#10 ] ( main:2::print_str:13 [ print_char_cursor#2 print_str::str#10 ] main:2::print_str:17 [ print_char_cursor#2 print_str::str#10 ] main:2::print_str:21 [ print_char_cursor#2 print_str::str#10 ] main:2::print_str:31 [ main::i#10 print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:35 [ main::i#10 print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:39 [ main::i#10 print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:47 [ print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:51 [ print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:55 [ print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] ) -- _deref_pbuz1=_deref_pbuz2 + //SEG215 [88] *((byte*) print_char_cursor#2) ← *((byte*) print_str::str#10) [ print_char_cursor#2 print_str::str#10 ] ( main:2::print_str:13 [ print_char_cursor#2 print_str::str#10 ] main:2::print_str:17 [ print_char_cursor#2 print_str::str#10 ] main:2::print_str:21 [ print_char_cursor#2 print_str::str#10 ] main:2::print_str:31 [ main::i#10 print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:35 [ main::i#10 print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:39 [ main::i#10 print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:47 [ print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:51 [ print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:55 [ print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] ) -- _deref_pbuz1=_deref_pbuz2 ldy #0 lda (str),y ldy #0 sta (print_char_cursor),y - //SEG219 [89] (byte*) print_char_cursor#1 ← ++ (byte*) print_char_cursor#2 [ print_str::str#10 print_char_cursor#1 ] ( main:2::print_str:13 [ print_str::str#10 print_char_cursor#1 ] main:2::print_str:17 [ print_str::str#10 print_char_cursor#1 ] main:2::print_str:21 [ print_str::str#10 print_char_cursor#1 ] main:2::print_str:31 [ main::i#10 print_line_cursor#1 print_str::str#10 print_char_cursor#1 ] main:2::print_str:35 [ main::i#10 print_line_cursor#1 print_str::str#10 print_char_cursor#1 ] main:2::print_str:39 [ main::i#10 print_line_cursor#1 print_str::str#10 print_char_cursor#1 ] main:2::print_str:47 [ print_line_cursor#1 print_str::str#10 print_char_cursor#1 ] main:2::print_str:51 [ print_line_cursor#1 print_str::str#10 print_char_cursor#1 ] main:2::print_str:55 [ print_line_cursor#1 print_str::str#10 print_char_cursor#1 ] ) -- pbuz1=_inc_pbuz1 + //SEG216 [89] (byte*) print_char_cursor#1 ← ++ (byte*) print_char_cursor#2 [ print_str::str#10 print_char_cursor#1 ] ( main:2::print_str:13 [ print_str::str#10 print_char_cursor#1 ] main:2::print_str:17 [ print_str::str#10 print_char_cursor#1 ] main:2::print_str:21 [ print_str::str#10 print_char_cursor#1 ] main:2::print_str:31 [ main::i#10 print_line_cursor#1 print_str::str#10 print_char_cursor#1 ] main:2::print_str:35 [ main::i#10 print_line_cursor#1 print_str::str#10 print_char_cursor#1 ] main:2::print_str:39 [ main::i#10 print_line_cursor#1 print_str::str#10 print_char_cursor#1 ] main:2::print_str:47 [ print_line_cursor#1 print_str::str#10 print_char_cursor#1 ] main:2::print_str:51 [ print_line_cursor#1 print_str::str#10 print_char_cursor#1 ] main:2::print_str:55 [ print_line_cursor#1 print_str::str#10 print_char_cursor#1 ] ) -- pbuz1=_inc_pbuz1 inc print_char_cursor bne !+ inc print_char_cursor+1 !: - //SEG220 [90] (byte*) print_str::str#0 ← ++ (byte*) print_str::str#10 [ print_str::str#0 print_char_cursor#1 ] ( main:2::print_str:13 [ print_str::str#0 print_char_cursor#1 ] main:2::print_str:17 [ print_str::str#0 print_char_cursor#1 ] main:2::print_str:21 [ print_str::str#0 print_char_cursor#1 ] main:2::print_str:31 [ main::i#10 print_line_cursor#1 print_str::str#0 print_char_cursor#1 ] main:2::print_str:35 [ main::i#10 print_line_cursor#1 print_str::str#0 print_char_cursor#1 ] main:2::print_str:39 [ main::i#10 print_line_cursor#1 print_str::str#0 print_char_cursor#1 ] main:2::print_str:47 [ print_line_cursor#1 print_str::str#0 print_char_cursor#1 ] main:2::print_str:51 [ print_line_cursor#1 print_str::str#0 print_char_cursor#1 ] main:2::print_str:55 [ print_line_cursor#1 print_str::str#0 print_char_cursor#1 ] ) -- pbuz1=_inc_pbuz1 + //SEG217 [90] (byte*) print_str::str#0 ← ++ (byte*) print_str::str#10 [ print_str::str#0 print_char_cursor#1 ] ( main:2::print_str:13 [ print_str::str#0 print_char_cursor#1 ] main:2::print_str:17 [ print_str::str#0 print_char_cursor#1 ] main:2::print_str:21 [ print_str::str#0 print_char_cursor#1 ] main:2::print_str:31 [ main::i#10 print_line_cursor#1 print_str::str#0 print_char_cursor#1 ] main:2::print_str:35 [ main::i#10 print_line_cursor#1 print_str::str#0 print_char_cursor#1 ] main:2::print_str:39 [ main::i#10 print_line_cursor#1 print_str::str#0 print_char_cursor#1 ] main:2::print_str:47 [ print_line_cursor#1 print_str::str#0 print_char_cursor#1 ] main:2::print_str:51 [ print_line_cursor#1 print_str::str#0 print_char_cursor#1 ] main:2::print_str:55 [ print_line_cursor#1 print_str::str#0 print_char_cursor#1 ] ) -- pbuz1=_inc_pbuz1 inc str bne !+ inc str+1 !: jmp b1_from_b2 } -//SEG221 print_cls +//SEG218 print_cls print_cls: { .label sc = 3 - //SEG222 [92] phi from print_cls to print_cls::@1 [phi:print_cls->print_cls::@1] + //SEG219 [92] phi from print_cls to print_cls::@1 [phi:print_cls->print_cls::@1] b1_from_print_cls: - //SEG223 [92] phi (byte*) print_cls::sc#2 = ((byte*))(word/signed word/dword/signed dword) 1024 [phi:print_cls->print_cls::@1#0] -- pbuz1=pbuc1 + //SEG220 [92] phi (byte*) print_cls::sc#2 = ((byte*))(word/signed word/dword/signed dword) 1024 [phi:print_cls->print_cls::@1#0] -- pbuz1=pbuc1 lda #<$400 sta sc lda #>$400 sta sc+1 jmp b1 - //SEG224 [92] phi from print_cls::@1 to print_cls::@1 [phi:print_cls::@1->print_cls::@1] + //SEG221 [92] phi from print_cls::@1 to print_cls::@1 [phi:print_cls::@1->print_cls::@1] b1_from_b1: - //SEG225 [92] phi (byte*) print_cls::sc#2 = (byte*) print_cls::sc#1 [phi:print_cls::@1->print_cls::@1#0] -- register_copy + //SEG222 [92] phi (byte*) print_cls::sc#2 = (byte*) print_cls::sc#1 [phi:print_cls::@1->print_cls::@1#0] -- register_copy jmp b1 - //SEG226 print_cls::@1 + //SEG223 print_cls::@1 b1: - //SEG227 [93] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::print_cls:11 [ print_cls::sc#2 ] ) -- _deref_pbuz1=vbuc1 + //SEG224 [93] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::print_cls:11 [ print_cls::sc#2 ] ) -- _deref_pbuz1=vbuc1 lda #' ' ldy #0 sta (sc),y - //SEG228 [94] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 [ print_cls::sc#1 ] ( main:2::print_cls:11 [ print_cls::sc#1 ] ) -- pbuz1=_inc_pbuz1 + //SEG225 [94] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 [ print_cls::sc#1 ] ( main:2::print_cls:11 [ print_cls::sc#1 ] ) -- pbuz1=_inc_pbuz1 inc sc bne !+ inc sc+1 !: - //SEG229 [95] if((byte*) print_cls::sc#1!=((byte*))(word/signed word/dword/signed dword) 1024+(word/signed word/dword/signed dword) 1000) goto print_cls::@1 [ print_cls::sc#1 ] ( main:2::print_cls:11 [ print_cls::sc#1 ] ) -- pbuz1_neq_pbuc1_then_la1 + //SEG226 [95] if((byte*) print_cls::sc#1!=((byte*))(word/signed word/dword/signed dword) 1024+(word/signed word/dword/signed dword) 1000) goto print_cls::@1 [ print_cls::sc#1 ] ( main:2::print_cls:11 [ print_cls::sc#1 ] ) -- pbuz1_neq_pbuc1_then_la1 lda sc+1 cmp #>$400+$3e8 bne b1_from_b1 @@ -5765,25 +5707,24 @@ print_cls: { cmp #<$400+$3e8 bne b1_from_b1 jmp breturn - //SEG230 print_cls::@return + //SEG227 print_cls::@return breturn: - //SEG231 [96] return [ ] ( main:2::print_cls:11 [ ] ) + //SEG228 [96] return [ ] ( main:2::print_cls:11 [ ] ) rts } -//SEG232 lin16u_gen +//SEG229 lin16u_gen lin16u_gen: { .label _5 = 5 .label ampl = 3 - .label stepi = $15 - .label stepf = $13 - .label step = $17 + .label stepi = $13 + .label stepf = $11 + .label step = $15 .label val = 9 - .label lintab = $d + .label lintab = 7 .label i = 3 .label max = 3 .label min = 5 - .label length = 7 - //SEG233 [98] (word) lin16u_gen::ampl#0 ← (word) lin16u_gen::max#3 - (word) lin16u_gen::min#3 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 ] ) -- vwuz1=vwuz1_minus_vwuz2 + //SEG230 [98] (word) lin16u_gen::ampl#0 ← (word) lin16u_gen::max#3 - (word) lin16u_gen::min#3 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 ] ) -- vwuz1=vwuz1_minus_vwuz2 lda ampl sec sbc min @@ -5791,66 +5732,58 @@ lin16u_gen: { lda ampl+1 sbc min+1 sta ampl+1 - //SEG234 [99] (word) divr16u::divisor#0 ← (word) lin16u_gen::length#3 - (byte/signed byte/word/signed word/dword/signed dword) 1 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 divr16u::divisor#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 divr16u::divisor#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 divr16u::divisor#0 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 divr16u::divisor#0 ] ) -- vwuz1=vwuz2_minus_1 - lda length - sec - sbc #1 - sta divr16u.divisor - lda length+1 - sbc #0 - sta divr16u.divisor+1 - //SEG235 [100] (word) divr16u::dividend#1 ← (word) lin16u_gen::ampl#0 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#0 divr16u::dividend#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#0 divr16u::dividend#1 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#0 divr16u::dividend#1 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#0 divr16u::dividend#1 ] ) + //SEG231 [99] (word) divr16u::dividend#1 ← (word) lin16u_gen::ampl#0 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::dividend#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::dividend#1 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::dividend#1 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::dividend#1 ] ) // (word) divr16u::dividend#1 = (word) lin16u_gen::ampl#0 // register copy zp ZP_WORD:3 - //SEG236 [101] call divr16u param-assignment [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] ) - //SEG237 [119] phi from lin16u_gen to divr16u [phi:lin16u_gen->divr16u] + //SEG232 [100] call divr16u param-assignment [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] ) + //SEG233 [117] phi from lin16u_gen to divr16u [phi:lin16u_gen->divr16u] divr16u_from_lin16u_gen: - //SEG238 [119] phi (word) divr16u::divisor#6 = (word) divr16u::divisor#0 [phi:lin16u_gen->divr16u#0] -- register_copy - //SEG239 [119] phi (word) divr16u::dividend#5 = (word) divr16u::dividend#1 [phi:lin16u_gen->divr16u#1] -- register_copy - //SEG240 [119] phi (word) divr16u::rem#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:lin16u_gen->divr16u#2] -- vwuz1=vbuc1 + //SEG234 [117] phi (word) divr16u::divisor#6 = (byte/signed byte/word/signed word/dword/signed dword) 20-(byte/signed byte/word/signed word/dword/signed dword) 1 [phi:lin16u_gen->divr16u#0] -- vwuz1=vbuc1 + lda #<$14-1 + sta divr16u.divisor + lda #>$14-1 + sta divr16u.divisor+1 + //SEG235 [117] phi (word) divr16u::dividend#5 = (word) divr16u::dividend#1 [phi:lin16u_gen->divr16u#1] -- register_copy + //SEG236 [117] phi (word) divr16u::rem#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:lin16u_gen->divr16u#2] -- vwuz1=vbuc1 lda #<0 sta divr16u.rem lda #>0 sta divr16u.rem+1 jsr divr16u - //SEG241 [102] (word) divr16u::return#2 ← (word) divr16u::return#0 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#2 rem16u#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#2 rem16u#1 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#2 rem16u#1 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#2 rem16u#1 ] ) - // (word) divr16u::return#2 = (word) divr16u::return#0 // register copy zp ZP_WORD:19 + //SEG237 [101] (word) divr16u::return#2 ← (word) divr16u::return#0 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#2 rem16u#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#2 rem16u#1 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#2 rem16u#1 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#2 rem16u#1 ] ) + // (word) divr16u::return#2 = (word) divr16u::return#0 // register copy zp ZP_WORD:17 jmp b3 - //SEG242 lin16u_gen::@3 + //SEG238 lin16u_gen::@3 b3: - //SEG243 [103] (word) lin16u_gen::stepi#0 ← (word) divr16u::return#2 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 rem16u#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 rem16u#1 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 rem16u#1 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 rem16u#1 ] ) -- vwuz1=vwuz2 + //SEG239 [102] (word) lin16u_gen::stepi#0 ← (word) divr16u::return#2 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 rem16u#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 rem16u#1 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 rem16u#1 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 rem16u#1 ] ) -- vwuz1=vwuz2 lda divr16u.return sta stepi lda divr16u.return+1 sta stepi+1 - //SEG244 [104] (word) divr16u::divisor#1 ← (word) lin16u_gen::length#3 - (byte/signed byte/word/signed word/dword/signed dword) 1 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#1 rem16u#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#1 rem16u#1 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#1 rem16u#1 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#1 rem16u#1 ] ) -- vwuz1=vwuz2_minus_1 - lda length - sec - sbc #1 - sta divr16u.divisor - lda length+1 - sbc #0 - sta divr16u.divisor+1 - //SEG245 [105] (word) divr16u::rem#4 ← (word) rem16u#1 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#1 divr16u::rem#4 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#1 divr16u::rem#4 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#1 divr16u::rem#4 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#1 divr16u::rem#4 ] ) - // (word) divr16u::rem#4 = (word) rem16u#1 // register copy zp ZP_WORD:17 - //SEG246 [106] call divr16u param-assignment [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 lin16u_gen::stepi#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 lin16u_gen::stepi#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 lin16u_gen::stepi#0 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 lin16u_gen::stepi#0 ] ) - //SEG247 [119] phi from lin16u_gen::@3 to divr16u [phi:lin16u_gen::@3->divr16u] + //SEG240 [103] (word) divr16u::rem#4 ← (word) rem16u#1 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#4 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#4 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#4 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#4 ] ) + // (word) divr16u::rem#4 = (word) rem16u#1 // register copy zp ZP_WORD:15 + //SEG241 [104] call divr16u param-assignment [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 lin16u_gen::stepi#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 lin16u_gen::stepi#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 lin16u_gen::stepi#0 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 lin16u_gen::stepi#0 ] ) + //SEG242 [117] phi from lin16u_gen::@3 to divr16u [phi:lin16u_gen::@3->divr16u] divr16u_from_b3: - //SEG248 [119] phi (word) divr16u::divisor#6 = (word) divr16u::divisor#1 [phi:lin16u_gen::@3->divr16u#0] -- register_copy - //SEG249 [119] phi (word) divr16u::dividend#5 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:lin16u_gen::@3->divr16u#1] -- vwuz1=vbuc1 + //SEG243 [117] phi (word) divr16u::divisor#6 = (byte/signed byte/word/signed word/dword/signed dword) 20-(byte/signed byte/word/signed word/dword/signed dword) 1 [phi:lin16u_gen::@3->divr16u#0] -- vwuz1=vbuc1 + lda #<$14-1 + sta divr16u.divisor + lda #>$14-1 + sta divr16u.divisor+1 + //SEG244 [117] phi (word) divr16u::dividend#5 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:lin16u_gen::@3->divr16u#1] -- vwuz1=vbuc1 lda #<0 sta divr16u.dividend lda #>0 sta divr16u.dividend+1 - //SEG250 [119] phi (word) divr16u::rem#10 = (word) divr16u::rem#4 [phi:lin16u_gen::@3->divr16u#2] -- register_copy + //SEG245 [117] phi (word) divr16u::rem#10 = (word) divr16u::rem#4 [phi:lin16u_gen::@3->divr16u#2] -- register_copy jsr divr16u - //SEG251 [107] (word) divr16u::return#3 ← (word) divr16u::return#0 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#3 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#3 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#3 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#3 ] ) - // (word) divr16u::return#3 = (word) divr16u::return#0 // register copy zp ZP_WORD:19 + //SEG246 [105] (word) divr16u::return#3 ← (word) divr16u::return#0 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#3 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#3 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#3 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#3 ] ) + // (word) divr16u::return#3 = (word) divr16u::return#0 // register copy zp ZP_WORD:17 jmp b4 - //SEG252 lin16u_gen::@4 + //SEG247 lin16u_gen::@4 b4: - //SEG253 [108] (word) lin16u_gen::stepf#0 ← (word) divr16u::return#3 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 lin16u_gen::stepf#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 lin16u_gen::stepf#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 lin16u_gen::stepf#0 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 lin16u_gen::stepf#0 ] ) - // (word) lin16u_gen::stepf#0 = (word) divr16u::return#3 // register copy zp ZP_WORD:19 - //SEG254 [109] (dword) lin16u_gen::step#0 ← (word) lin16u_gen::stepi#0 dw= (word) lin16u_gen::stepf#0 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::step#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::step#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::step#0 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::step#0 ] ) -- vduz1=vwuz2_dword_vwuz3 + //SEG248 [106] (word) lin16u_gen::stepf#0 ← (word) divr16u::return#3 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 lin16u_gen::stepf#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 lin16u_gen::stepf#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 lin16u_gen::stepf#0 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 lin16u_gen::stepf#0 ] ) + // (word) lin16u_gen::stepf#0 = (word) divr16u::return#3 // register copy zp ZP_WORD:17 + //SEG249 [107] (dword) lin16u_gen::step#0 ← (word) lin16u_gen::stepi#0 dw= (word) lin16u_gen::stepf#0 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::step#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::step#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::step#0 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::step#0 ] ) -- vduz1=vwuz2_dword_vwuz3 lda stepi sta step+2 lda stepi+1 @@ -5859,7 +5792,7 @@ lin16u_gen: { sta step lda stepf+1 sta step+1 - //SEG255 [110] (dword) lin16u_gen::val#0 ← (word) lin16u_gen::min#3 dw= (byte/signed byte/word/signed word/dword/signed dword) 0 [ lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::step#0 lin16u_gen::val#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::step#0 lin16u_gen::val#0 ] main:2::lin16u_gen:7 [ lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::step#0 lin16u_gen::val#0 ] main:2::lin16u_gen:9 [ lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::step#0 lin16u_gen::val#0 ] ) -- vduz1=vwuz2_dword_vbuc1 + //SEG250 [108] (dword) lin16u_gen::val#0 ← (word) lin16u_gen::min#3 dw= (byte/signed byte/word/signed word/dword/signed dword) 0 [ lin16u_gen::lintab#5 lin16u_gen::step#0 lin16u_gen::val#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::lintab#5 lin16u_gen::step#0 lin16u_gen::val#0 ] main:2::lin16u_gen:7 [ lin16u_gen::lintab#5 lin16u_gen::step#0 lin16u_gen::val#0 ] main:2::lin16u_gen:9 [ lin16u_gen::lintab#5 lin16u_gen::step#0 lin16u_gen::val#0 ] ) -- vduz1=vwuz2_dword_vbuc1 lda #<0 sta val lda #>0 @@ -5868,37 +5801,37 @@ lin16u_gen: { sta val+2 lda min+1 sta val+3 - //SEG256 [111] phi from lin16u_gen::@4 to lin16u_gen::@1 [phi:lin16u_gen::@4->lin16u_gen::@1] + //SEG251 [109] phi from lin16u_gen::@4 to lin16u_gen::@1 [phi:lin16u_gen::@4->lin16u_gen::@1] b1_from_b4: - //SEG257 [111] phi (word) lin16u_gen::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:lin16u_gen::@4->lin16u_gen::@1#0] -- vwuz1=vbuc1 + //SEG252 [109] phi (word) lin16u_gen::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:lin16u_gen::@4->lin16u_gen::@1#0] -- vwuz1=vbuc1 lda #<0 sta i lda #>0 sta i+1 - //SEG258 [111] phi (word*) lin16u_gen::lintab#4 = (word*) lin16u_gen::lintab#5 [phi:lin16u_gen::@4->lin16u_gen::@1#1] -- register_copy - //SEG259 [111] phi (dword) lin16u_gen::val#2 = (dword) lin16u_gen::val#0 [phi:lin16u_gen::@4->lin16u_gen::@1#2] -- register_copy + //SEG253 [109] phi (word*) lin16u_gen::lintab#4 = (word*) lin16u_gen::lintab#5 [phi:lin16u_gen::@4->lin16u_gen::@1#1] -- register_copy + //SEG254 [109] phi (dword) lin16u_gen::val#2 = (dword) lin16u_gen::val#0 [phi:lin16u_gen::@4->lin16u_gen::@1#2] -- register_copy jmp b1 - //SEG260 [111] phi from lin16u_gen::@1 to lin16u_gen::@1 [phi:lin16u_gen::@1->lin16u_gen::@1] + //SEG255 [109] phi from lin16u_gen::@1 to lin16u_gen::@1 [phi:lin16u_gen::@1->lin16u_gen::@1] b1_from_b1: - //SEG261 [111] phi (word) lin16u_gen::i#2 = (word) lin16u_gen::i#1 [phi:lin16u_gen::@1->lin16u_gen::@1#0] -- register_copy - //SEG262 [111] phi (word*) lin16u_gen::lintab#4 = (word*) lin16u_gen::lintab#3 [phi:lin16u_gen::@1->lin16u_gen::@1#1] -- register_copy - //SEG263 [111] phi (dword) lin16u_gen::val#2 = (dword) lin16u_gen::val#1 [phi:lin16u_gen::@1->lin16u_gen::@1#2] -- register_copy + //SEG256 [109] phi (word) lin16u_gen::i#2 = (word) lin16u_gen::i#1 [phi:lin16u_gen::@1->lin16u_gen::@1#0] -- register_copy + //SEG257 [109] phi (word*) lin16u_gen::lintab#4 = (word*) lin16u_gen::lintab#3 [phi:lin16u_gen::@1->lin16u_gen::@1#1] -- register_copy + //SEG258 [109] phi (dword) lin16u_gen::val#2 = (dword) lin16u_gen::val#1 [phi:lin16u_gen::@1->lin16u_gen::@1#2] -- register_copy jmp b1 - //SEG264 lin16u_gen::@1 + //SEG259 lin16u_gen::@1 b1: - //SEG265 [112] (word~) lin16u_gen::$5 ← > (dword) lin16u_gen::val#2 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::$5 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::$5 ] main:2::lin16u_gen:7 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::$5 ] main:2::lin16u_gen:9 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::$5 ] ) -- vwuz1=_hi_vduz2 + //SEG260 [110] (word~) lin16u_gen::$5 ← > (dword) lin16u_gen::val#2 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::$5 ] ( main:2::lin16u_gen:5 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::$5 ] main:2::lin16u_gen:7 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::$5 ] main:2::lin16u_gen:9 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::$5 ] ) -- vwuz1=_hi_vduz2 lda val+2 sta _5 lda val+3 sta _5+1 - //SEG266 [113] *((word*) lin16u_gen::lintab#4) ← (word~) lin16u_gen::$5 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] main:2::lin16u_gen:7 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] main:2::lin16u_gen:9 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] ) -- _deref_pwuz1=vwuz2 + //SEG261 [111] *((word*) lin16u_gen::lintab#4) ← (word~) lin16u_gen::$5 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] ( main:2::lin16u_gen:5 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] main:2::lin16u_gen:7 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] main:2::lin16u_gen:9 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] ) -- _deref_pwuz1=vwuz2 ldy #0 lda _5 sta (lintab),y iny lda _5+1 sta (lintab),y - //SEG267 [114] (dword) lin16u_gen::val#1 ← (dword) lin16u_gen::val#2 + (dword) lin16u_gen::step#0 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::val#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::val#1 ] main:2::lin16u_gen:7 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::val#1 ] main:2::lin16u_gen:9 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::val#1 ] ) -- vduz1=vduz1_plus_vduz2 + //SEG262 [112] (dword) lin16u_gen::val#1 ← (dword) lin16u_gen::val#2 + (dword) lin16u_gen::step#0 [ lin16u_gen::step#0 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::val#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::step#0 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::val#1 ] main:2::lin16u_gen:7 [ lin16u_gen::step#0 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::val#1 ] main:2::lin16u_gen:9 [ lin16u_gen::step#0 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::val#1 ] ) -- vduz1=vduz1_plus_vduz2 lda val clc adc step @@ -5912,7 +5845,7 @@ lin16u_gen: { lda val+3 adc step+3 sta val+3 - //SEG268 [115] (word*) lin16u_gen::lintab#3 ← (word*) lin16u_gen::lintab#4 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::i#2 lin16u_gen::val#1 lin16u_gen::lintab#3 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::i#2 lin16u_gen::val#1 lin16u_gen::lintab#3 ] main:2::lin16u_gen:7 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::i#2 lin16u_gen::val#1 lin16u_gen::lintab#3 ] main:2::lin16u_gen:9 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::i#2 lin16u_gen::val#1 lin16u_gen::lintab#3 ] ) -- pwuz1=pwuz1_plus_2 + //SEG263 [113] (word*) lin16u_gen::lintab#3 ← (word*) lin16u_gen::lintab#4 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ lin16u_gen::step#0 lin16u_gen::i#2 lin16u_gen::val#1 lin16u_gen::lintab#3 ] ( main:2::lin16u_gen:5 [ lin16u_gen::step#0 lin16u_gen::i#2 lin16u_gen::val#1 lin16u_gen::lintab#3 ] main:2::lin16u_gen:7 [ lin16u_gen::step#0 lin16u_gen::i#2 lin16u_gen::val#1 lin16u_gen::lintab#3 ] main:2::lin16u_gen:9 [ lin16u_gen::step#0 lin16u_gen::i#2 lin16u_gen::val#1 lin16u_gen::lintab#3 ] ) -- pwuz1=pwuz1_plus_2 lda lintab clc adc #2 @@ -5920,85 +5853,85 @@ lin16u_gen: { bcc !+ inc lintab+1 !: - //SEG269 [116] (word) lin16u_gen::i#1 ← ++ (word) lin16u_gen::i#2 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] main:2::lin16u_gen:7 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] main:2::lin16u_gen:9 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] ) -- vwuz1=_inc_vwuz1 + //SEG264 [114] (word) lin16u_gen::i#1 ← ++ (word) lin16u_gen::i#2 [ lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] main:2::lin16u_gen:7 [ lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] main:2::lin16u_gen:9 [ lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] ) -- vwuz1=_inc_vwuz1 inc i bne !+ inc i+1 !: - //SEG270 [117] if((word) lin16u_gen::i#1<(word) lin16u_gen::length#3) goto lin16u_gen::@1 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] main:2::lin16u_gen:7 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] main:2::lin16u_gen:9 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] ) -- vwuz1_lt_vwuz2_then_la1 + //SEG265 [115] if((word) lin16u_gen::i#1<(byte/signed byte/word/signed word/dword/signed dword) 20) goto lin16u_gen::@1 [ lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] main:2::lin16u_gen:7 [ lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] main:2::lin16u_gen:9 [ lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] ) -- vwuz1_lt_vbuc1_then_la1 lda i+1 - cmp length+1 + cmp #>$14 bcc b1_from_b1 bne !+ lda i - cmp length + cmp #<$14 bcc b1_from_b1 !: jmp breturn - //SEG271 lin16u_gen::@return + //SEG266 lin16u_gen::@return breturn: - //SEG272 [118] return [ ] ( main:2::lin16u_gen:5 [ ] main:2::lin16u_gen:7 [ ] main:2::lin16u_gen:9 [ ] ) + //SEG267 [116] return [ ] ( main:2::lin16u_gen:5 [ ] main:2::lin16u_gen:7 [ ] main:2::lin16u_gen:9 [ ] ) rts } -//SEG273 divr16u +//SEG268 divr16u divr16u: { - .label rem = $11 + .label rem = $f .label dividend = 3 - .label quotient = $13 - .label return = $13 - .label divisor = $f - //SEG274 [120] phi from divr16u to divr16u::@1 [phi:divr16u->divr16u::@1] + .label quotient = $11 + .label return = $11 + .label divisor = $d + //SEG269 [118] phi from divr16u to divr16u::@1 [phi:divr16u->divr16u::@1] b1_from_divr16u: - //SEG275 [120] phi (byte) divr16u::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#0] -- vbuxx=vbuc1 + //SEG270 [118] phi (byte) divr16u::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#0] -- vbuxx=vbuc1 ldx #0 - //SEG276 [120] phi (word) divr16u::quotient#3 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#1] -- vwuz1=vbuc1 + //SEG271 [118] phi (word) divr16u::quotient#3 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#1] -- vwuz1=vbuc1 lda #<0 sta quotient lda #>0 sta quotient+1 - //SEG277 [120] phi (word) divr16u::dividend#3 = (word) divr16u::dividend#5 [phi:divr16u->divr16u::@1#2] -- register_copy - //SEG278 [120] phi (word) divr16u::rem#5 = (word) divr16u::rem#10 [phi:divr16u->divr16u::@1#3] -- register_copy + //SEG272 [118] phi (word) divr16u::dividend#3 = (word) divr16u::dividend#5 [phi:divr16u->divr16u::@1#2] -- register_copy + //SEG273 [118] phi (word) divr16u::rem#5 = (word) divr16u::rem#10 [phi:divr16u->divr16u::@1#3] -- register_copy jmp b1 - //SEG279 [120] phi from divr16u::@3 to divr16u::@1 [phi:divr16u::@3->divr16u::@1] + //SEG274 [118] phi from divr16u::@3 to divr16u::@1 [phi:divr16u::@3->divr16u::@1] b1_from_b3: - //SEG280 [120] phi (byte) divr16u::i#2 = (byte) divr16u::i#1 [phi:divr16u::@3->divr16u::@1#0] -- register_copy - //SEG281 [120] phi (word) divr16u::quotient#3 = (word) divr16u::return#0 [phi:divr16u::@3->divr16u::@1#1] -- register_copy - //SEG282 [120] phi (word) divr16u::dividend#3 = (word) divr16u::dividend#0 [phi:divr16u::@3->divr16u::@1#2] -- register_copy - //SEG283 [120] phi (word) divr16u::rem#5 = (word) divr16u::rem#11 [phi:divr16u::@3->divr16u::@1#3] -- register_copy + //SEG275 [118] phi (byte) divr16u::i#2 = (byte) divr16u::i#1 [phi:divr16u::@3->divr16u::@1#0] -- register_copy + //SEG276 [118] phi (word) divr16u::quotient#3 = (word) divr16u::return#0 [phi:divr16u::@3->divr16u::@1#1] -- register_copy + //SEG277 [118] phi (word) divr16u::dividend#3 = (word) divr16u::dividend#0 [phi:divr16u::@3->divr16u::@1#2] -- register_copy + //SEG278 [118] phi (word) divr16u::rem#5 = (word) divr16u::rem#11 [phi:divr16u::@3->divr16u::@1#3] -- register_copy jmp b1 - //SEG284 divr16u::@1 + //SEG279 divr16u::@1 b1: - //SEG285 [121] (word) divr16u::rem#0 ← (word) divr16u::rem#5 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) -- vwuz1=vwuz1_rol_1 + //SEG280 [119] (word) divr16u::rem#0 ← (word) divr16u::rem#5 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) -- vwuz1=vwuz1_rol_1 asl rem rol rem+1 - //SEG286 [122] (byte~) divr16u::$1 ← > (word) divr16u::dividend#3 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) -- vbuaa=_hi_vwuz1 + //SEG281 [120] (byte~) divr16u::$1 ← > (word) divr16u::dividend#3 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) -- vbuaa=_hi_vwuz1 lda dividend+1 - //SEG287 [123] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) -- vbuaa=vbuaa_band_vbuc1 + //SEG282 [121] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) -- vbuaa=vbuaa_band_vbuc1 and #$80 - //SEG288 [124] if((byte~) divr16u::$2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto divr16u::@2 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) -- vbuaa_eq_0_then_la1 + //SEG283 [122] if((byte~) divr16u::$2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto divr16u::@2 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) -- vbuaa_eq_0_then_la1 cmp #0 beq b2_from_b1 jmp b4 - //SEG289 divr16u::@4 + //SEG284 divr16u::@4 b4: - //SEG290 [125] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) -- vwuz1=vwuz1_bor_vbuc1 + //SEG285 [123] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) -- vwuz1=vwuz1_bor_vbuc1 lda #1 ora rem sta rem - //SEG291 [126] phi from divr16u::@1 divr16u::@4 to divr16u::@2 [phi:divr16u::@1/divr16u::@4->divr16u::@2] + //SEG286 [124] phi from divr16u::@1 divr16u::@4 to divr16u::@2 [phi:divr16u::@1/divr16u::@4->divr16u::@2] b2_from_b1: b2_from_b4: - //SEG292 [126] phi (word) divr16u::rem#6 = (word) divr16u::rem#0 [phi:divr16u::@1/divr16u::@4->divr16u::@2#0] -- register_copy + //SEG287 [124] phi (word) divr16u::rem#6 = (word) divr16u::rem#0 [phi:divr16u::@1/divr16u::@4->divr16u::@2#0] -- register_copy jmp b2 - //SEG293 divr16u::@2 + //SEG288 divr16u::@2 b2: - //SEG294 [127] (word) divr16u::dividend#0 ← (word) divr16u::dividend#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ) -- vwuz1=vwuz1_rol_1 + //SEG289 [125] (word) divr16u::dividend#0 ← (word) divr16u::dividend#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ) -- vwuz1=vwuz1_rol_1 asl dividend rol dividend+1 - //SEG295 [128] (word) divr16u::quotient#1 ← (word) divr16u::quotient#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) -- vwuz1=vwuz1_rol_1 + //SEG290 [126] (word) divr16u::quotient#1 ← (word) divr16u::quotient#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) -- vwuz1=vwuz1_rol_1 asl quotient rol quotient+1 - //SEG296 [129] if((word) divr16u::rem#6<(word) divr16u::divisor#6) goto divr16u::@3 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) -- vwuz1_lt_vwuz2_then_la1 + //SEG291 [127] if((word) divr16u::rem#6<(word) divr16u::divisor#6) goto divr16u::@3 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) -- vwuz1_lt_vwuz2_then_la1 lda rem+1 cmp divisor+1 bcc b3_from_b2 @@ -6008,14 +5941,14 @@ divr16u: { bcc b3_from_b2 !: jmp b5 - //SEG297 divr16u::@5 + //SEG292 divr16u::@5 b5: - //SEG298 [130] (word) divr16u::quotient#2 ← ++ (word) divr16u::quotient#1 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] ) -- vwuz1=_inc_vwuz1 + //SEG293 [128] (word) divr16u::quotient#2 ← ++ (word) divr16u::quotient#1 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] ) -- vwuz1=_inc_vwuz1 inc quotient bne !+ inc quotient+1 !: - //SEG299 [131] (word) divr16u::rem#2 ← (word) divr16u::rem#6 - (word) divr16u::divisor#6 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ) -- vwuz1=vwuz1_minus_vwuz2 + //SEG294 [129] (word) divr16u::rem#2 ← (word) divr16u::rem#6 - (word) divr16u::divisor#6 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ) -- vwuz1=vwuz1_minus_vwuz2 lda rem sec sbc divisor @@ -6023,28 +5956,28 @@ divr16u: { lda rem+1 sbc divisor+1 sta rem+1 - //SEG300 [132] phi from divr16u::@2 divr16u::@5 to divr16u::@3 [phi:divr16u::@2/divr16u::@5->divr16u::@3] + //SEG295 [130] phi from divr16u::@2 divr16u::@5 to divr16u::@3 [phi:divr16u::@2/divr16u::@5->divr16u::@3] b3_from_b2: b3_from_b5: - //SEG301 [132] phi (word) divr16u::return#0 = (word) divr16u::quotient#1 [phi:divr16u::@2/divr16u::@5->divr16u::@3#0] -- register_copy - //SEG302 [132] phi (word) divr16u::rem#11 = (word) divr16u::rem#6 [phi:divr16u::@2/divr16u::@5->divr16u::@3#1] -- register_copy + //SEG296 [130] phi (word) divr16u::return#0 = (word) divr16u::quotient#1 [phi:divr16u::@2/divr16u::@5->divr16u::@3#0] -- register_copy + //SEG297 [130] phi (word) divr16u::rem#11 = (word) divr16u::rem#6 [phi:divr16u::@2/divr16u::@5->divr16u::@3#1] -- register_copy jmp b3 - //SEG303 divr16u::@3 + //SEG298 divr16u::@3 b3: - //SEG304 [133] (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2 [ divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ) -- vbuxx=_inc_vbuxx + //SEG299 [131] (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2 [ divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ) -- vbuxx=_inc_vbuxx inx - //SEG305 [134] if((byte) divr16u::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto divr16u::@1 [ divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ) -- vbuxx_neq_vbuc1_then_la1 + //SEG300 [132] if((byte) divr16u::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto divr16u::@1 [ divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ) -- vbuxx_neq_vbuc1_then_la1 cpx #$10 bne b1_from_b3 jmp b6 - //SEG306 divr16u::@6 + //SEG301 divr16u::@6 b6: - //SEG307 [135] (word) rem16u#1 ← (word) divr16u::rem#11 [ divr16u::return#0 rem16u#1 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] ) - // (word) rem16u#1 = (word) divr16u::rem#11 // register copy zp ZP_WORD:17 + //SEG302 [133] (word) rem16u#1 ← (word) divr16u::rem#11 [ divr16u::return#0 rem16u#1 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] ) + // (word) rem16u#1 = (word) divr16u::rem#11 // register copy zp ZP_WORD:15 jmp breturn - //SEG308 divr16u::@return + //SEG303 divr16u::@return breturn: - //SEG309 [136] return [ divr16u::return#0 rem16u#1 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] ) + //SEG304 [134] return [ divr16u::return#0 rem16u#1 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] ) rts } print_hextab: .text "0123456789abcdef" @@ -6268,29 +6201,27 @@ FINAL SYMBOL TABLE (word) divr16u::dividend#3 dividend zp ZP_WORD:3 5.0 (word) divr16u::dividend#5 dividend zp ZP_WORD:3 4.0 (word) divr16u::divisor -(word) divr16u::divisor#0 divisor zp ZP_WORD:15 2.0 -(word) divr16u::divisor#1 divisor zp ZP_WORD:15 2.0 -(word) divr16u::divisor#6 divisor zp ZP_WORD:15 1.625 +(word) divr16u::divisor#6 divisor zp ZP_WORD:13 1.375 (byte) divr16u::i (byte) divr16u::i#1 reg byte x 16.5 (byte) divr16u::i#2 reg byte x 1.6923076923076923 (word) divr16u::quotient -(word) divr16u::quotient#1 quotient zp ZP_WORD:19 16.5 -(word) divr16u::quotient#2 quotient zp ZP_WORD:19 11.0 -(word) divr16u::quotient#3 quotient zp ZP_WORD:19 2.75 +(word) divr16u::quotient#1 quotient zp ZP_WORD:17 16.5 +(word) divr16u::quotient#2 quotient zp ZP_WORD:17 11.0 +(word) divr16u::quotient#3 quotient zp ZP_WORD:17 2.75 (word) divr16u::rem -(word) divr16u::rem#0 rem zp ZP_WORD:17 8.25 -(word) divr16u::rem#1 rem zp ZP_WORD:17 22.0 -(word) divr16u::rem#10 rem zp ZP_WORD:17 4.0 -(word) divr16u::rem#11 rem zp ZP_WORD:17 11.666666666666666 -(word) divr16u::rem#2 rem zp ZP_WORD:17 22.0 -(word) divr16u::rem#4 rem zp ZP_WORD:17 4.0 -(word) divr16u::rem#5 rem zp ZP_WORD:17 24.0 -(word) divr16u::rem#6 rem zp ZP_WORD:17 11.0 +(word) divr16u::rem#0 rem zp ZP_WORD:15 8.25 +(word) divr16u::rem#1 rem zp ZP_WORD:15 22.0 +(word) divr16u::rem#10 rem zp ZP_WORD:15 4.0 +(word) divr16u::rem#11 rem zp ZP_WORD:15 11.666666666666666 +(word) divr16u::rem#2 rem zp ZP_WORD:15 22.0 +(word) divr16u::rem#4 rem zp ZP_WORD:15 4.0 +(word) divr16u::rem#5 rem zp ZP_WORD:15 24.0 +(word) divr16u::rem#6 rem zp ZP_WORD:15 11.0 (word) divr16u::return -(word) divr16u::return#0 return zp ZP_WORD:19 5.285714285714286 -(word) divr16u::return#2 return zp ZP_WORD:19 4.0 -(word) divr16u::return#3 return zp ZP_WORD:19 4.0 +(word) divr16u::return#0 return zp ZP_WORD:17 5.285714285714286 +(word) divr16u::return#2 return zp ZP_WORD:17 4.0 +(word) divr16u::return#3 return zp ZP_WORD:17 4.0 (void()) lin16u_gen((word) lin16u_gen::min , (word) lin16u_gen::max , (word*) lin16u_gen::lintab , (word) lin16u_gen::length) (word~) lin16u_gen::$5 $5 zp ZP_WORD:5 22.0 (label) lin16u_gen::@1 @@ -6298,26 +6229,25 @@ FINAL SYMBOL TABLE (label) lin16u_gen::@4 (label) lin16u_gen::@return (word) lin16u_gen::ampl -(word) lin16u_gen::ampl#0 ampl zp ZP_WORD:3 2.0 +(word) lin16u_gen::ampl#0 ampl zp ZP_WORD:3 4.0 (word) lin16u_gen::i (word) lin16u_gen::i#1 i zp ZP_WORD:3 16.5 (word) lin16u_gen::i#2 i zp ZP_WORD:3 4.4 (word) lin16u_gen::length -(word) lin16u_gen::length#3 length zp ZP_WORD:7 0.7142857142857143 (word*) lin16u_gen::lintab -(word*) lin16u_gen::lintab#3 lintab zp ZP_WORD:13 7.333333333333333 -(word*) lin16u_gen::lintab#4 lintab zp ZP_WORD:13 8.75 -(word*) lin16u_gen::lintab#5 lintab zp ZP_WORD:13 0.14285714285714285 +(word*) lin16u_gen::lintab#3 lintab zp ZP_WORD:7 7.333333333333333 +(word*) lin16u_gen::lintab#4 lintab zp ZP_WORD:7 8.75 +(word*) lin16u_gen::lintab#5 lintab zp ZP_WORD:7 0.16666666666666666 (word) lin16u_gen::max (word) lin16u_gen::max#3 max zp ZP_WORD:3 2.0 (word) lin16u_gen::min -(word) lin16u_gen::min#3 min zp ZP_WORD:5 0.3076923076923077 +(word) lin16u_gen::min#3 min zp ZP_WORD:5 0.36363636363636365 (dword) lin16u_gen::step -(dword) lin16u_gen::step#0 step zp ZP_DWORD:23 1.4444444444444446 +(dword) lin16u_gen::step#0 step zp ZP_DWORD:21 1.4444444444444446 (word) lin16u_gen::stepf -(word) lin16u_gen::stepf#0 stepf zp ZP_WORD:19 4.0 +(word) lin16u_gen::stepf#0 stepf zp ZP_WORD:17 4.0 (word) lin16u_gen::stepi -(word) lin16u_gen::stepi#0 stepi zp ZP_WORD:21 0.6666666666666666 +(word) lin16u_gen::stepi#0 stepi zp ZP_WORD:19 0.8 (dword) lin16u_gen::val (dword) lin16u_gen::val#0 val zp ZP_DWORD:9 4.0 (dword) lin16u_gen::val#1 val zp ZP_DWORD:9 5.5 @@ -6426,37 +6356,36 @@ FINAL SYMBOL TABLE (word) print_word::w#4 w zp ZP_WORD:5 22.0 (word) print_word::w#5 w zp ZP_WORD:5 22.0 (word) rem16u -(word) rem16u#1 rem16u zp ZP_WORD:17 0.6666666666666666 +(word) rem16u#1 rem16u zp ZP_WORD:15 0.8 zp ZP_BYTE:2 [ main::i#10 main::i#1 ] zp ZP_WORD:3 [ print_line_cursor#11 print_line_cursor#21 print_line_cursor#1 print_cls::sc#2 print_cls::sc#1 lin16u_gen::max#3 lin16u_gen::ampl#0 divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#1 divr16u::dividend#0 lin16u_gen::i#2 lin16u_gen::i#1 ] zp ZP_WORD:5 [ print_word::w#10 print_word::w#3 print_word::w#4 print_word::w#5 print_str::str#10 print_str::str#12 print_str::str#0 lin16u_gen::min#3 lin16u_gen::$5 ] reg byte x [ print_byte::b#3 print_byte::b#2 print_byte::b#0 print_byte::b#1 ] reg byte a [ print_char::ch#2 print_char::ch#0 print_char::ch#1 ] -zp ZP_WORD:7 [ print_char_cursor#86 print_char_cursor#50 print_char_cursor#81 print_char_cursor#91 print_char_cursor#2 print_char_cursor#11 print_char_cursor#100 print_char_cursor#1 lin16u_gen::length#3 ] +zp ZP_WORD:7 [ print_char_cursor#86 print_char_cursor#50 print_char_cursor#81 print_char_cursor#91 print_char_cursor#2 print_char_cursor#11 print_char_cursor#100 print_char_cursor#1 lin16u_gen::lintab#4 lin16u_gen::lintab#3 lin16u_gen::lintab#5 ] zp ZP_DWORD:9 [ lin16u_gen::val#2 lin16u_gen::val#1 lin16u_gen::val#0 ] -zp ZP_WORD:13 [ lin16u_gen::lintab#4 lin16u_gen::lintab#3 lin16u_gen::lintab#5 ] -zp ZP_WORD:15 [ divr16u::divisor#6 divr16u::divisor#0 divr16u::divisor#1 ] -zp ZP_WORD:17 [ divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 rem16u#1 ] -zp ZP_WORD:19 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 divr16u::return#3 lin16u_gen::stepf#0 ] +zp ZP_WORD:13 [ divr16u::divisor#6 ] +zp ZP_WORD:15 [ divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 rem16u#1 ] +zp ZP_WORD:17 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 divr16u::return#3 lin16u_gen::stepf#0 ] reg byte x [ divr16u::i#2 divr16u::i#1 ] reg byte a [ print_byte::$0 ] reg byte a [ print_byte::$2 ] -zp ZP_WORD:21 [ lin16u_gen::stepi#0 ] -zp ZP_DWORD:23 [ lin16u_gen::step#0 ] +zp ZP_WORD:19 [ lin16u_gen::stepi#0 ] +zp ZP_DWORD:21 [ lin16u_gen::step#0 ] reg byte a [ divr16u::$1 ] reg byte a [ divr16u::$2 ] FINAL ASSEMBLER -Score: 13599 +Score: 13533 //SEG0 Basic Upstart .pc = $801 "Basic" :BasicUpstart(main) .pc = $80d "Program" //SEG1 Global Constants & labels - .label rem16u = $11 + .label rem16u = $f .label print_char_cursor = 7 .label print_line_cursor = 3 //SEG2 @begin @@ -6477,328 +6406,313 @@ main: { sta lin16u_gen.lintab lda #>lintab1 sta lin16u_gen.lintab+1 - //SEG13 [97] phi (word) lin16u_gen::length#3 = (byte/signed byte/word/signed word/dword/signed dword) 20 [phi:main->lin16u_gen#1] -- vwuz1=vbuc1 - lda #<$14 - sta lin16u_gen.length - lda #>$14 - sta lin16u_gen.length+1 - //SEG14 [97] phi (word) lin16u_gen::min#3 = (word/signed word/dword/signed dword) 557 [phi:main->lin16u_gen#2] -- vwuz1=vwuc1 + //SEG13 [97] phi (word) lin16u_gen::min#3 = (word/signed word/dword/signed dword) 557 [phi:main->lin16u_gen#1] -- vwuz1=vwuc1 lda #<$22d sta lin16u_gen.min lda #>$22d sta lin16u_gen.min+1 - //SEG15 [97] phi (word) lin16u_gen::max#3 = (word/signed word/dword/signed dword) 29793 [phi:main->lin16u_gen#3] -- vwuz1=vwuc1 + //SEG14 [97] phi (word) lin16u_gen::max#3 = (word/signed word/dword/signed dword) 29793 [phi:main->lin16u_gen#2] -- vwuz1=vwuc1 lda #<$7461 sta lin16u_gen.max lda #>$7461 sta lin16u_gen.max+1 jsr lin16u_gen - //SEG16 [6] phi from main to main::@3 [phi:main->main::@3] - //SEG17 main::@3 - //SEG18 [7] call lin16u_gen param-assignment [ ] ( main:2 [ ] ) - //SEG19 [97] phi from main::@3 to lin16u_gen [phi:main::@3->lin16u_gen] - //SEG20 [97] phi (word*) lin16u_gen::lintab#5 = (const word[20]) main::lintab2#0 [phi:main::@3->lin16u_gen#0] -- pwuz1=pwuc1 + //SEG15 [6] phi from main to main::@3 [phi:main->main::@3] + //SEG16 main::@3 + //SEG17 [7] call lin16u_gen param-assignment [ ] ( main:2 [ ] ) + //SEG18 [97] phi from main::@3 to lin16u_gen [phi:main::@3->lin16u_gen] + //SEG19 [97] phi (word*) lin16u_gen::lintab#5 = (const word[20]) main::lintab2#0 [phi:main::@3->lin16u_gen#0] -- pwuz1=pwuc1 lda #lintab2 sta lin16u_gen.lintab+1 - //SEG21 [97] phi (word) lin16u_gen::length#3 = (byte/signed byte/word/signed word/dword/signed dword) 20 [phi:main::@3->lin16u_gen#1] -- vwuz1=vbuc1 - lda #<$14 - sta lin16u_gen.length - lda #>$14 - sta lin16u_gen.length+1 - //SEG22 [97] phi (word) lin16u_gen::min#3 = (word/signed word/dword/signed dword) 31179 [phi:main::@3->lin16u_gen#2] -- vwuz1=vwuc1 + //SEG20 [97] phi (word) lin16u_gen::min#3 = (word/signed word/dword/signed dword) 31179 [phi:main::@3->lin16u_gen#1] -- vwuz1=vwuc1 lda #<$79cb sta lin16u_gen.min lda #>$79cb sta lin16u_gen.min+1 - //SEG23 [97] phi (word) lin16u_gen::max#3 = (word/dword/signed dword) 63361 [phi:main::@3->lin16u_gen#3] -- vwuz1=vwuc1 + //SEG21 [97] phi (word) lin16u_gen::max#3 = (word/dword/signed dword) 63361 [phi:main::@3->lin16u_gen#2] -- vwuz1=vwuc1 lda #<$f781 sta lin16u_gen.max lda #>$f781 sta lin16u_gen.max+1 jsr lin16u_gen - //SEG24 [8] phi from main::@3 to main::@4 [phi:main::@3->main::@4] - //SEG25 main::@4 - //SEG26 [9] call lin16u_gen param-assignment [ ] ( main:2 [ ] ) - //SEG27 [97] phi from main::@4 to lin16u_gen [phi:main::@4->lin16u_gen] - //SEG28 [97] phi (word*) lin16u_gen::lintab#5 = (const word[20]) main::lintab3#0 [phi:main::@4->lin16u_gen#0] -- pwuz1=pwuc1 + //SEG22 [8] phi from main::@3 to main::@4 [phi:main::@3->main::@4] + //SEG23 main::@4 + //SEG24 [9] call lin16u_gen param-assignment [ ] ( main:2 [ ] ) + //SEG25 [97] phi from main::@4 to lin16u_gen [phi:main::@4->lin16u_gen] + //SEG26 [97] phi (word*) lin16u_gen::lintab#5 = (const word[20]) main::lintab3#0 [phi:main::@4->lin16u_gen#0] -- pwuz1=pwuc1 lda #lintab3 sta lin16u_gen.lintab+1 - //SEG29 [97] phi (word) lin16u_gen::length#3 = (byte/signed byte/word/signed word/dword/signed dword) 20 [phi:main::@4->lin16u_gen#1] -- vwuz1=vbuc1 - lda #<$14 - sta lin16u_gen.length - lda #>$14 - sta lin16u_gen.length+1 - //SEG30 [97] phi (word) lin16u_gen::min#3 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::@4->lin16u_gen#2] -- vwuz1=vbuc1 + //SEG27 [97] phi (word) lin16u_gen::min#3 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::@4->lin16u_gen#1] -- vwuz1=vbuc1 lda #<0 sta lin16u_gen.min sta lin16u_gen.min+1 - //SEG31 [97] phi (word) lin16u_gen::max#3 = (word/signed word/dword/signed dword) 25736 [phi:main::@4->lin16u_gen#3] -- vwuz1=vwuc1 + //SEG28 [97] phi (word) lin16u_gen::max#3 = (word/signed word/dword/signed dword) 25736 [phi:main::@4->lin16u_gen#2] -- vwuz1=vwuc1 lda #<$6488 sta lin16u_gen.max lda #>$6488 sta lin16u_gen.max+1 jsr lin16u_gen - //SEG32 [10] phi from main::@4 to main::@5 [phi:main::@4->main::@5] - //SEG33 main::@5 - //SEG34 [11] call print_cls param-assignment [ ] ( main:2 [ ] ) - //SEG35 [91] phi from main::@5 to print_cls [phi:main::@5->print_cls] + //SEG29 [10] phi from main::@4 to main::@5 [phi:main::@4->main::@5] + //SEG30 main::@5 + //SEG31 [11] call print_cls param-assignment [ ] ( main:2 [ ] ) + //SEG32 [91] phi from main::@5 to print_cls [phi:main::@5->print_cls] jsr print_cls - //SEG36 [12] phi from main::@5 to main::@6 [phi:main::@5->main::@6] - //SEG37 main::@6 - //SEG38 [13] call print_str param-assignment [ print_char_cursor#2 ] ( main:2 [ print_char_cursor#2 ] ) - //SEG39 [84] phi from main::@6 to print_str [phi:main::@6->print_str] - //SEG40 [84] phi (byte*) print_char_cursor#86 = ((byte*))(word/signed word/dword/signed dword) 1024 [phi:main::@6->print_str#0] -- pbuz1=pbuc1 + //SEG33 [12] phi from main::@5 to main::@6 [phi:main::@5->main::@6] + //SEG34 main::@6 + //SEG35 [13] call print_str param-assignment [ print_char_cursor#2 ] ( main:2 [ print_char_cursor#2 ] ) + //SEG36 [84] phi from main::@6 to print_str [phi:main::@6->print_str] + //SEG37 [84] phi (byte*) print_char_cursor#86 = ((byte*))(word/signed word/dword/signed dword) 1024 [phi:main::@6->print_str#0] -- pbuz1=pbuc1 lda #<$400 sta print_char_cursor lda #>$400 sta print_char_cursor+1 - //SEG41 [84] phi (byte*) print_str::str#12 = (const string) main::str [phi:main::@6->print_str#1] -- pbuz1=pbuc1 + //SEG38 [84] phi (byte*) print_str::str#12 = (const string) main::str [phi:main::@6->print_str#1] -- pbuz1=pbuc1 lda #str sta print_str.str+1 jsr print_str - //SEG42 [14] phi from main::@6 to main::@7 [phi:main::@6->main::@7] - //SEG43 main::@7 - //SEG44 [15] call print_word param-assignment [ print_char_cursor#11 ] ( main:2 [ print_char_cursor#11 ] ) - //SEG45 [66] phi from main::@7 to print_word [phi:main::@7->print_word] - //SEG46 [66] phi (word) print_word::w#10 = (word/signed word/dword/signed dword) 557 [phi:main::@7->print_word#0] -- vwuz1=vwuc1 + //SEG39 [14] phi from main::@6 to main::@7 [phi:main::@6->main::@7] + //SEG40 main::@7 + //SEG41 [15] call print_word param-assignment [ print_char_cursor#11 ] ( main:2 [ print_char_cursor#11 ] ) + //SEG42 [66] phi from main::@7 to print_word [phi:main::@7->print_word] + //SEG43 [66] phi (word) print_word::w#10 = (word/signed word/dword/signed dword) 557 [phi:main::@7->print_word#0] -- vwuz1=vwuc1 lda #<$22d sta print_word.w lda #>$22d sta print_word.w+1 jsr print_word - //SEG47 [16] phi from main::@7 to main::@8 [phi:main::@7->main::@8] - //SEG48 main::@8 - //SEG49 [17] call print_str param-assignment [ print_char_cursor#2 ] ( main:2 [ print_char_cursor#2 ] ) - //SEG50 [84] phi from main::@8 to print_str [phi:main::@8->print_str] - //SEG51 [84] phi (byte*) print_char_cursor#86 = (byte*) print_char_cursor#11 [phi:main::@8->print_str#0] -- register_copy - //SEG52 [84] phi (byte*) print_str::str#12 = (const string) main::str1 [phi:main::@8->print_str#1] -- pbuz1=pbuc1 + //SEG44 [16] phi from main::@7 to main::@8 [phi:main::@7->main::@8] + //SEG45 main::@8 + //SEG46 [17] call print_str param-assignment [ print_char_cursor#2 ] ( main:2 [ print_char_cursor#2 ] ) + //SEG47 [84] phi from main::@8 to print_str [phi:main::@8->print_str] + //SEG48 [84] phi (byte*) print_char_cursor#86 = (byte*) print_char_cursor#11 [phi:main::@8->print_str#0] -- register_copy + //SEG49 [84] phi (byte*) print_str::str#12 = (const string) main::str1 [phi:main::@8->print_str#1] -- pbuz1=pbuc1 lda #str1 sta print_str.str+1 jsr print_str - //SEG53 [18] phi from main::@8 to main::@9 [phi:main::@8->main::@9] - //SEG54 main::@9 - //SEG55 [19] call print_word param-assignment [ print_char_cursor#11 ] ( main:2 [ print_char_cursor#11 ] ) - //SEG56 [66] phi from main::@9 to print_word [phi:main::@9->print_word] - //SEG57 [66] phi (word) print_word::w#10 = (word/signed word/dword/signed dword) 31179 [phi:main::@9->print_word#0] -- vwuz1=vwuc1 + //SEG50 [18] phi from main::@8 to main::@9 [phi:main::@8->main::@9] + //SEG51 main::@9 + //SEG52 [19] call print_word param-assignment [ print_char_cursor#11 ] ( main:2 [ print_char_cursor#11 ] ) + //SEG53 [66] phi from main::@9 to print_word [phi:main::@9->print_word] + //SEG54 [66] phi (word) print_word::w#10 = (word/signed word/dword/signed dword) 31179 [phi:main::@9->print_word#0] -- vwuz1=vwuc1 lda #<$79cb sta print_word.w lda #>$79cb sta print_word.w+1 jsr print_word - //SEG58 [20] phi from main::@9 to main::@10 [phi:main::@9->main::@10] - //SEG59 main::@10 - //SEG60 [21] call print_str param-assignment [ print_char_cursor#2 ] ( main:2 [ print_char_cursor#2 ] ) - //SEG61 [84] phi from main::@10 to print_str [phi:main::@10->print_str] - //SEG62 [84] phi (byte*) print_char_cursor#86 = (byte*) print_char_cursor#11 [phi:main::@10->print_str#0] -- register_copy - //SEG63 [84] phi (byte*) print_str::str#12 = (const string) main::str2 [phi:main::@10->print_str#1] -- pbuz1=pbuc1 + //SEG55 [20] phi from main::@9 to main::@10 [phi:main::@9->main::@10] + //SEG56 main::@10 + //SEG57 [21] call print_str param-assignment [ print_char_cursor#2 ] ( main:2 [ print_char_cursor#2 ] ) + //SEG58 [84] phi from main::@10 to print_str [phi:main::@10->print_str] + //SEG59 [84] phi (byte*) print_char_cursor#86 = (byte*) print_char_cursor#11 [phi:main::@10->print_str#0] -- register_copy + //SEG60 [84] phi (byte*) print_str::str#12 = (const string) main::str2 [phi:main::@10->print_str#1] -- pbuz1=pbuc1 lda #str2 sta print_str.str+1 jsr print_str - //SEG64 [22] phi from main::@10 to main::@11 [phi:main::@10->main::@11] - //SEG65 main::@11 - //SEG66 [23] call print_word param-assignment [ print_char_cursor#11 ] ( main:2 [ print_char_cursor#11 ] ) - //SEG67 [66] phi from main::@11 to print_word [phi:main::@11->print_word] - //SEG68 [66] phi (word) print_word::w#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::@11->print_word#0] -- vwuz1=vbuc1 + //SEG61 [22] phi from main::@10 to main::@11 [phi:main::@10->main::@11] + //SEG62 main::@11 + //SEG63 [23] call print_word param-assignment [ print_char_cursor#11 ] ( main:2 [ print_char_cursor#11 ] ) + //SEG64 [66] phi from main::@11 to print_word [phi:main::@11->print_word] + //SEG65 [66] phi (word) print_word::w#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::@11->print_word#0] -- vwuz1=vbuc1 lda #<0 sta print_word.w sta print_word.w+1 jsr print_word - //SEG69 [24] phi from main::@11 to main::@12 [phi:main::@11->main::@12] - //SEG70 main::@12 - //SEG71 [25] call print_ln param-assignment [ print_line_cursor#1 ] ( main:2 [ print_line_cursor#1 ] ) - //SEG72 [61] phi from main::@12 to print_ln [phi:main::@12->print_ln] - //SEG73 [61] phi (byte*) print_line_cursor#21 = ((byte*))(word/signed word/dword/signed dword) 1024 [phi:main::@12->print_ln#0] -- pbuz1=pbuc1 + //SEG66 [24] phi from main::@11 to main::@12 [phi:main::@11->main::@12] + //SEG67 main::@12 + //SEG68 [25] call print_ln param-assignment [ print_line_cursor#1 ] ( main:2 [ print_line_cursor#1 ] ) + //SEG69 [61] phi from main::@12 to print_ln [phi:main::@12->print_ln] + //SEG70 [61] phi (byte*) print_line_cursor#21 = ((byte*))(word/signed word/dword/signed dword) 1024 [phi:main::@12->print_ln#0] -- pbuz1=pbuc1 lda #<$400 sta print_line_cursor lda #>$400 sta print_line_cursor+1 jsr print_ln - //SEG74 [26] phi from main::@12 to main::@1 [phi:main::@12->main::@1] - //SEG75 [26] phi (byte) main::i#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::@12->main::@1#0] -- vbuz1=vbuc1 + //SEG71 [26] phi from main::@12 to main::@1 [phi:main::@12->main::@1] + //SEG72 [26] phi (byte) main::i#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::@12->main::@1#0] -- vbuz1=vbuc1 lda #0 sta i - //SEG76 [26] phi from main::@21 to main::@1 [phi:main::@21->main::@1] - //SEG77 [26] phi (byte) main::i#10 = (byte) main::i#1 [phi:main::@21->main::@1#0] -- register_copy - //SEG78 main::@1 + //SEG73 [26] phi from main::@21 to main::@1 [phi:main::@21->main::@1] + //SEG74 [26] phi (byte) main::i#10 = (byte) main::i#1 [phi:main::@21->main::@1#0] -- register_copy + //SEG75 main::@1 b1: - //SEG79 [27] (byte) print_byte::b#2 ← (byte) main::i#10 [ main::i#10 print_byte::b#2 print_line_cursor#1 ] ( main:2 [ main::i#10 print_byte::b#2 print_line_cursor#1 ] ) -- vbuxx=vbuz1 + //SEG76 [27] (byte) print_byte::b#2 ← (byte) main::i#10 [ main::i#10 print_byte::b#2 print_line_cursor#1 ] ( main:2 [ main::i#10 print_byte::b#2 print_line_cursor#1 ] ) -- vbuxx=vbuz1 ldx i - //SEG80 [28] (byte*~) print_char_cursor#91 ← (byte*) print_line_cursor#1 [ main::i#10 print_byte::b#2 print_char_cursor#91 print_line_cursor#1 ] ( main:2 [ main::i#10 print_byte::b#2 print_char_cursor#91 print_line_cursor#1 ] ) -- pbuz1=pbuz2 + //SEG77 [28] (byte*~) print_char_cursor#91 ← (byte*) print_line_cursor#1 [ main::i#10 print_byte::b#2 print_char_cursor#91 print_line_cursor#1 ] ( main:2 [ main::i#10 print_byte::b#2 print_char_cursor#91 print_line_cursor#1 ] ) -- pbuz1=pbuz2 lda print_line_cursor sta print_char_cursor lda print_line_cursor+1 sta print_char_cursor+1 - //SEG81 [29] call print_byte param-assignment [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] ( main:2 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] ) - //SEG82 [72] phi from main::@1 to print_byte [phi:main::@1->print_byte] - //SEG83 [72] phi (byte*) print_char_cursor#81 = (byte*~) print_char_cursor#91 [phi:main::@1->print_byte#0] -- register_copy - //SEG84 [72] phi (byte) print_byte::b#3 = (byte) print_byte::b#2 [phi:main::@1->print_byte#1] -- register_copy + //SEG78 [29] call print_byte param-assignment [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] ( main:2 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] ) + //SEG79 [72] phi from main::@1 to print_byte [phi:main::@1->print_byte] + //SEG80 [72] phi (byte*) print_char_cursor#81 = (byte*~) print_char_cursor#91 [phi:main::@1->print_byte#0] -- register_copy + //SEG81 [72] phi (byte) print_byte::b#3 = (byte) print_byte::b#2 [phi:main::@1->print_byte#1] -- register_copy jsr print_byte - //SEG85 [30] phi from main::@1 to main::@14 [phi:main::@1->main::@14] - //SEG86 main::@14 - //SEG87 [31] call print_str param-assignment [ main::i#10 print_line_cursor#1 print_char_cursor#2 ] ( main:2 [ main::i#10 print_line_cursor#1 print_char_cursor#2 ] ) - //SEG88 [84] phi from main::@14 to print_str [phi:main::@14->print_str] - //SEG89 [84] phi (byte*) print_char_cursor#86 = (byte*) print_char_cursor#11 [phi:main::@14->print_str#0] -- register_copy - //SEG90 [84] phi (byte*) print_str::str#12 = (const string) main::str3 [phi:main::@14->print_str#1] -- pbuz1=pbuc1 + //SEG82 [30] phi from main::@1 to main::@14 [phi:main::@1->main::@14] + //SEG83 main::@14 + //SEG84 [31] call print_str param-assignment [ main::i#10 print_line_cursor#1 print_char_cursor#2 ] ( main:2 [ main::i#10 print_line_cursor#1 print_char_cursor#2 ] ) + //SEG85 [84] phi from main::@14 to print_str [phi:main::@14->print_str] + //SEG86 [84] phi (byte*) print_char_cursor#86 = (byte*) print_char_cursor#11 [phi:main::@14->print_str#0] -- register_copy + //SEG87 [84] phi (byte*) print_str::str#12 = (const string) main::str3 [phi:main::@14->print_str#1] -- pbuz1=pbuc1 lda #str3 sta print_str.str+1 jsr print_str - //SEG91 main::@15 - //SEG92 [32] (word) print_word::w#3 ← *((const word[20]) main::lintab1#0 + (byte) main::i#10) [ main::i#10 print_line_cursor#1 print_word::w#3 print_char_cursor#2 ] ( main:2 [ main::i#10 print_line_cursor#1 print_word::w#3 print_char_cursor#2 ] ) -- vwuz1=pwuc1_derefidx_vbuz2 + //SEG88 main::@15 + //SEG89 [32] (word) print_word::w#3 ← *((const word[20]) main::lintab1#0 + (byte) main::i#10) [ main::i#10 print_line_cursor#1 print_word::w#3 print_char_cursor#2 ] ( main:2 [ main::i#10 print_line_cursor#1 print_word::w#3 print_char_cursor#2 ] ) -- vwuz1=pwuc1_derefidx_vbuz2 ldy i lda lintab1,y sta print_word.w lda lintab1+1,y sta print_word.w+1 - //SEG93 [33] call print_word param-assignment [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] ( main:2 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] ) - //SEG94 [66] phi from main::@15 to print_word [phi:main::@15->print_word] - //SEG95 [66] phi (word) print_word::w#10 = (word) print_word::w#3 [phi:main::@15->print_word#0] -- register_copy + //SEG90 [33] call print_word param-assignment [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] ( main:2 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] ) + //SEG91 [66] phi from main::@15 to print_word [phi:main::@15->print_word] + //SEG92 [66] phi (word) print_word::w#10 = (word) print_word::w#3 [phi:main::@15->print_word#0] -- register_copy jsr print_word - //SEG96 [34] phi from main::@15 to main::@16 [phi:main::@15->main::@16] - //SEG97 main::@16 - //SEG98 [35] call print_str param-assignment [ main::i#10 print_line_cursor#1 print_char_cursor#2 ] ( main:2 [ main::i#10 print_line_cursor#1 print_char_cursor#2 ] ) - //SEG99 [84] phi from main::@16 to print_str [phi:main::@16->print_str] - //SEG100 [84] phi (byte*) print_char_cursor#86 = (byte*) print_char_cursor#11 [phi:main::@16->print_str#0] -- register_copy - //SEG101 [84] phi (byte*) print_str::str#12 = (const string) main::str4 [phi:main::@16->print_str#1] -- pbuz1=pbuc1 + //SEG93 [34] phi from main::@15 to main::@16 [phi:main::@15->main::@16] + //SEG94 main::@16 + //SEG95 [35] call print_str param-assignment [ main::i#10 print_line_cursor#1 print_char_cursor#2 ] ( main:2 [ main::i#10 print_line_cursor#1 print_char_cursor#2 ] ) + //SEG96 [84] phi from main::@16 to print_str [phi:main::@16->print_str] + //SEG97 [84] phi (byte*) print_char_cursor#86 = (byte*) print_char_cursor#11 [phi:main::@16->print_str#0] -- register_copy + //SEG98 [84] phi (byte*) print_str::str#12 = (const string) main::str4 [phi:main::@16->print_str#1] -- pbuz1=pbuc1 lda #str4 sta print_str.str+1 jsr print_str - //SEG102 main::@17 - //SEG103 [36] (word) print_word::w#4 ← *((const word[20]) main::lintab2#0 + (byte) main::i#10) [ main::i#10 print_line_cursor#1 print_word::w#4 print_char_cursor#2 ] ( main:2 [ main::i#10 print_line_cursor#1 print_word::w#4 print_char_cursor#2 ] ) -- vwuz1=pwuc1_derefidx_vbuz2 + //SEG99 main::@17 + //SEG100 [36] (word) print_word::w#4 ← *((const word[20]) main::lintab2#0 + (byte) main::i#10) [ main::i#10 print_line_cursor#1 print_word::w#4 print_char_cursor#2 ] ( main:2 [ main::i#10 print_line_cursor#1 print_word::w#4 print_char_cursor#2 ] ) -- vwuz1=pwuc1_derefidx_vbuz2 ldy i lda lintab2,y sta print_word.w lda lintab2+1,y sta print_word.w+1 - //SEG104 [37] call print_word param-assignment [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] ( main:2 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] ) - //SEG105 [66] phi from main::@17 to print_word [phi:main::@17->print_word] - //SEG106 [66] phi (word) print_word::w#10 = (word) print_word::w#4 [phi:main::@17->print_word#0] -- register_copy + //SEG101 [37] call print_word param-assignment [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] ( main:2 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] ) + //SEG102 [66] phi from main::@17 to print_word [phi:main::@17->print_word] + //SEG103 [66] phi (word) print_word::w#10 = (word) print_word::w#4 [phi:main::@17->print_word#0] -- register_copy jsr print_word - //SEG107 [38] phi from main::@17 to main::@18 [phi:main::@17->main::@18] - //SEG108 main::@18 - //SEG109 [39] call print_str param-assignment [ main::i#10 print_line_cursor#1 print_char_cursor#2 ] ( main:2 [ main::i#10 print_line_cursor#1 print_char_cursor#2 ] ) - //SEG110 [84] phi from main::@18 to print_str [phi:main::@18->print_str] - //SEG111 [84] phi (byte*) print_char_cursor#86 = (byte*) print_char_cursor#11 [phi:main::@18->print_str#0] -- register_copy - //SEG112 [84] phi (byte*) print_str::str#12 = (const string) main::str5 [phi:main::@18->print_str#1] -- pbuz1=pbuc1 + //SEG104 [38] phi from main::@17 to main::@18 [phi:main::@17->main::@18] + //SEG105 main::@18 + //SEG106 [39] call print_str param-assignment [ main::i#10 print_line_cursor#1 print_char_cursor#2 ] ( main:2 [ main::i#10 print_line_cursor#1 print_char_cursor#2 ] ) + //SEG107 [84] phi from main::@18 to print_str [phi:main::@18->print_str] + //SEG108 [84] phi (byte*) print_char_cursor#86 = (byte*) print_char_cursor#11 [phi:main::@18->print_str#0] -- register_copy + //SEG109 [84] phi (byte*) print_str::str#12 = (const string) main::str5 [phi:main::@18->print_str#1] -- pbuz1=pbuc1 lda #str5 sta print_str.str+1 jsr print_str - //SEG113 main::@19 - //SEG114 [40] (word) print_word::w#5 ← *((const word[20]) main::lintab3#0 + (byte) main::i#10) [ main::i#10 print_line_cursor#1 print_word::w#5 print_char_cursor#2 ] ( main:2 [ main::i#10 print_line_cursor#1 print_word::w#5 print_char_cursor#2 ] ) -- vwuz1=pwuc1_derefidx_vbuz2 + //SEG110 main::@19 + //SEG111 [40] (word) print_word::w#5 ← *((const word[20]) main::lintab3#0 + (byte) main::i#10) [ main::i#10 print_line_cursor#1 print_word::w#5 print_char_cursor#2 ] ( main:2 [ main::i#10 print_line_cursor#1 print_word::w#5 print_char_cursor#2 ] ) -- vwuz1=pwuc1_derefidx_vbuz2 ldy i lda lintab3,y sta print_word.w lda lintab3+1,y sta print_word.w+1 - //SEG115 [41] call print_word param-assignment [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] ( main:2 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] ) - //SEG116 [66] phi from main::@19 to print_word [phi:main::@19->print_word] - //SEG117 [66] phi (word) print_word::w#10 = (word) print_word::w#5 [phi:main::@19->print_word#0] -- register_copy + //SEG112 [41] call print_word param-assignment [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] ( main:2 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] ) + //SEG113 [66] phi from main::@19 to print_word [phi:main::@19->print_word] + //SEG114 [66] phi (word) print_word::w#10 = (word) print_word::w#5 [phi:main::@19->print_word#0] -- register_copy jsr print_word - //SEG118 [42] phi from main::@19 to main::@20 [phi:main::@19->main::@20] - //SEG119 main::@20 - //SEG120 [43] call print_ln param-assignment [ main::i#10 print_line_cursor#1 ] ( main:2 [ main::i#10 print_line_cursor#1 ] ) - //SEG121 [61] phi from main::@20 to print_ln [phi:main::@20->print_ln] - //SEG122 [61] phi (byte*) print_line_cursor#21 = (byte*) print_line_cursor#1 [phi:main::@20->print_ln#0] -- register_copy + //SEG115 [42] phi from main::@19 to main::@20 [phi:main::@19->main::@20] + //SEG116 main::@20 + //SEG117 [43] call print_ln param-assignment [ main::i#10 print_line_cursor#1 ] ( main:2 [ main::i#10 print_line_cursor#1 ] ) + //SEG118 [61] phi from main::@20 to print_ln [phi:main::@20->print_ln] + //SEG119 [61] phi (byte*) print_line_cursor#21 = (byte*) print_line_cursor#1 [phi:main::@20->print_ln#0] -- register_copy jsr print_ln - //SEG123 main::@21 - //SEG124 [44] (byte) main::i#1 ← (byte) main::i#10 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ main::i#1 print_line_cursor#1 ] ( main:2 [ main::i#1 print_line_cursor#1 ] ) -- vbuz1=vbuz1_plus_2 + //SEG120 main::@21 + //SEG121 [44] (byte) main::i#1 ← (byte) main::i#10 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ main::i#1 print_line_cursor#1 ] ( main:2 [ main::i#1 print_line_cursor#1 ] ) -- vbuz1=vbuz1_plus_2 lda i clc adc #2 sta i - //SEG125 [45] if((byte) main::i#1<(byte/signed byte/word/signed word/dword/signed dword) 20*(byte/signed byte/word/signed word/dword/signed dword) 2) goto main::@1 [ main::i#1 print_line_cursor#1 ] ( main:2 [ main::i#1 print_line_cursor#1 ] ) -- vbuz1_lt_vbuc1_then_la1 + //SEG122 [45] if((byte) main::i#1<(byte/signed byte/word/signed word/dword/signed dword) 20*(byte/signed byte/word/signed word/dword/signed dword) 2) goto main::@1 [ main::i#1 print_line_cursor#1 ] ( main:2 [ main::i#1 print_line_cursor#1 ] ) -- vbuz1_lt_vbuc1_then_la1 cmp #$14*2 bcc b1 - //SEG126 main::@2 - //SEG127 [46] (byte*~) print_char_cursor#100 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#100 ] ( main:2 [ print_line_cursor#1 print_char_cursor#100 ] ) -- pbuz1=pbuz2 + //SEG123 main::@2 + //SEG124 [46] (byte*~) print_char_cursor#100 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#100 ] ( main:2 [ print_line_cursor#1 print_char_cursor#100 ] ) -- pbuz1=pbuz2 lda print_line_cursor sta print_char_cursor lda print_line_cursor+1 sta print_char_cursor+1 - //SEG128 [47] call print_str param-assignment [ print_line_cursor#1 print_char_cursor#2 ] ( main:2 [ print_line_cursor#1 print_char_cursor#2 ] ) - //SEG129 [84] phi from main::@2 to print_str [phi:main::@2->print_str] - //SEG130 [84] phi (byte*) print_char_cursor#86 = (byte*~) print_char_cursor#100 [phi:main::@2->print_str#0] -- register_copy - //SEG131 [84] phi (byte*) print_str::str#12 = (const string) main::str6 [phi:main::@2->print_str#1] -- pbuz1=pbuc1 + //SEG125 [47] call print_str param-assignment [ print_line_cursor#1 print_char_cursor#2 ] ( main:2 [ print_line_cursor#1 print_char_cursor#2 ] ) + //SEG126 [84] phi from main::@2 to print_str [phi:main::@2->print_str] + //SEG127 [84] phi (byte*) print_char_cursor#86 = (byte*~) print_char_cursor#100 [phi:main::@2->print_str#0] -- register_copy + //SEG128 [84] phi (byte*) print_str::str#12 = (const string) main::str6 [phi:main::@2->print_str#1] -- pbuz1=pbuc1 lda #str6 sta print_str.str+1 jsr print_str - //SEG132 [48] phi from main::@2 to main::@22 [phi:main::@2->main::@22] - //SEG133 main::@22 - //SEG134 [49] call print_word param-assignment [ print_line_cursor#1 print_char_cursor#11 ] ( main:2 [ print_line_cursor#1 print_char_cursor#11 ] ) - //SEG135 [66] phi from main::@22 to print_word [phi:main::@22->print_word] - //SEG136 [66] phi (word) print_word::w#10 = (word/signed word/dword/signed dword) 29793 [phi:main::@22->print_word#0] -- vwuz1=vwuc1 + //SEG129 [48] phi from main::@2 to main::@22 [phi:main::@2->main::@22] + //SEG130 main::@22 + //SEG131 [49] call print_word param-assignment [ print_line_cursor#1 print_char_cursor#11 ] ( main:2 [ print_line_cursor#1 print_char_cursor#11 ] ) + //SEG132 [66] phi from main::@22 to print_word [phi:main::@22->print_word] + //SEG133 [66] phi (word) print_word::w#10 = (word/signed word/dword/signed dword) 29793 [phi:main::@22->print_word#0] -- vwuz1=vwuc1 lda #<$7461 sta print_word.w lda #>$7461 sta print_word.w+1 jsr print_word - //SEG137 [50] phi from main::@22 to main::@23 [phi:main::@22->main::@23] - //SEG138 main::@23 - //SEG139 [51] call print_str param-assignment [ print_line_cursor#1 print_char_cursor#2 ] ( main:2 [ print_line_cursor#1 print_char_cursor#2 ] ) - //SEG140 [84] phi from main::@23 to print_str [phi:main::@23->print_str] - //SEG141 [84] phi (byte*) print_char_cursor#86 = (byte*) print_char_cursor#11 [phi:main::@23->print_str#0] -- register_copy - //SEG142 [84] phi (byte*) print_str::str#12 = (const string) main::str7 [phi:main::@23->print_str#1] -- pbuz1=pbuc1 + //SEG134 [50] phi from main::@22 to main::@23 [phi:main::@22->main::@23] + //SEG135 main::@23 + //SEG136 [51] call print_str param-assignment [ print_line_cursor#1 print_char_cursor#2 ] ( main:2 [ print_line_cursor#1 print_char_cursor#2 ] ) + //SEG137 [84] phi from main::@23 to print_str [phi:main::@23->print_str] + //SEG138 [84] phi (byte*) print_char_cursor#86 = (byte*) print_char_cursor#11 [phi:main::@23->print_str#0] -- register_copy + //SEG139 [84] phi (byte*) print_str::str#12 = (const string) main::str7 [phi:main::@23->print_str#1] -- pbuz1=pbuc1 lda #str7 sta print_str.str+1 jsr print_str - //SEG143 [52] phi from main::@23 to main::@24 [phi:main::@23->main::@24] - //SEG144 main::@24 - //SEG145 [53] call print_word param-assignment [ print_line_cursor#1 print_char_cursor#11 ] ( main:2 [ print_line_cursor#1 print_char_cursor#11 ] ) - //SEG146 [66] phi from main::@24 to print_word [phi:main::@24->print_word] - //SEG147 [66] phi (word) print_word::w#10 = (word/dword/signed dword) 63361 [phi:main::@24->print_word#0] -- vwuz1=vwuc1 + //SEG140 [52] phi from main::@23 to main::@24 [phi:main::@23->main::@24] + //SEG141 main::@24 + //SEG142 [53] call print_word param-assignment [ print_line_cursor#1 print_char_cursor#11 ] ( main:2 [ print_line_cursor#1 print_char_cursor#11 ] ) + //SEG143 [66] phi from main::@24 to print_word [phi:main::@24->print_word] + //SEG144 [66] phi (word) print_word::w#10 = (word/dword/signed dword) 63361 [phi:main::@24->print_word#0] -- vwuz1=vwuc1 lda #<$f781 sta print_word.w lda #>$f781 sta print_word.w+1 jsr print_word - //SEG148 [54] phi from main::@24 to main::@25 [phi:main::@24->main::@25] - //SEG149 main::@25 - //SEG150 [55] call print_str param-assignment [ print_line_cursor#1 print_char_cursor#2 ] ( main:2 [ print_line_cursor#1 print_char_cursor#2 ] ) - //SEG151 [84] phi from main::@25 to print_str [phi:main::@25->print_str] - //SEG152 [84] phi (byte*) print_char_cursor#86 = (byte*) print_char_cursor#11 [phi:main::@25->print_str#0] -- register_copy - //SEG153 [84] phi (byte*) print_str::str#12 = (const string) main::str8 [phi:main::@25->print_str#1] -- pbuz1=pbuc1 + //SEG145 [54] phi from main::@24 to main::@25 [phi:main::@24->main::@25] + //SEG146 main::@25 + //SEG147 [55] call print_str param-assignment [ print_line_cursor#1 print_char_cursor#2 ] ( main:2 [ print_line_cursor#1 print_char_cursor#2 ] ) + //SEG148 [84] phi from main::@25 to print_str [phi:main::@25->print_str] + //SEG149 [84] phi (byte*) print_char_cursor#86 = (byte*) print_char_cursor#11 [phi:main::@25->print_str#0] -- register_copy + //SEG150 [84] phi (byte*) print_str::str#12 = (const string) main::str8 [phi:main::@25->print_str#1] -- pbuz1=pbuc1 lda #str8 sta print_str.str+1 jsr print_str - //SEG154 [56] phi from main::@25 to main::@26 [phi:main::@25->main::@26] - //SEG155 main::@26 - //SEG156 [57] call print_word param-assignment [ print_line_cursor#1 print_char_cursor#11 ] ( main:2 [ print_line_cursor#1 print_char_cursor#11 ] ) - //SEG157 [66] phi from main::@26 to print_word [phi:main::@26->print_word] - //SEG158 [66] phi (word) print_word::w#10 = (word/signed word/dword/signed dword) 25736 [phi:main::@26->print_word#0] -- vwuz1=vwuc1 + //SEG151 [56] phi from main::@25 to main::@26 [phi:main::@25->main::@26] + //SEG152 main::@26 + //SEG153 [57] call print_word param-assignment [ print_line_cursor#1 print_char_cursor#11 ] ( main:2 [ print_line_cursor#1 print_char_cursor#11 ] ) + //SEG154 [66] phi from main::@26 to print_word [phi:main::@26->print_word] + //SEG155 [66] phi (word) print_word::w#10 = (word/signed word/dword/signed dword) 25736 [phi:main::@26->print_word#0] -- vwuz1=vwuc1 lda #<$6488 sta print_word.w lda #>$6488 sta print_word.w+1 jsr print_word - //SEG159 [58] phi from main::@26 to main::@27 [phi:main::@26->main::@27] - //SEG160 main::@27 - //SEG161 [59] call print_ln param-assignment [ ] ( main:2 [ ] ) - //SEG162 [61] phi from main::@27 to print_ln [phi:main::@27->print_ln] - //SEG163 [61] phi (byte*) print_line_cursor#21 = (byte*) print_line_cursor#1 [phi:main::@27->print_ln#0] -- register_copy + //SEG156 [58] phi from main::@26 to main::@27 [phi:main::@26->main::@27] + //SEG157 main::@27 + //SEG158 [59] call print_ln param-assignment [ ] ( main:2 [ ] ) + //SEG159 [61] phi from main::@27 to print_ln [phi:main::@27->print_ln] + //SEG160 [61] phi (byte*) print_line_cursor#21 = (byte*) print_line_cursor#1 [phi:main::@27->print_ln#0] -- register_copy jsr print_ln - //SEG164 main::@return - //SEG165 [60] return [ ] ( main:2 [ ] ) + //SEG161 main::@return + //SEG162 [60] return [ ] ( main:2 [ ] ) rts str: .text " @" str1: .text " @" @@ -6813,13 +6727,13 @@ main: { lintab2: .fill $28, 0 lintab3: .fill $28, 0 } -//SEG166 print_ln +//SEG163 print_ln print_ln: { - //SEG167 [62] phi from print_ln print_ln::@1 to print_ln::@1 [phi:print_ln/print_ln::@1->print_ln::@1] - //SEG168 [62] phi (byte*) print_line_cursor#11 = (byte*) print_line_cursor#21 [phi:print_ln/print_ln::@1->print_ln::@1#0] -- register_copy - //SEG169 print_ln::@1 + //SEG164 [62] phi from print_ln print_ln::@1 to print_ln::@1 [phi:print_ln/print_ln::@1->print_ln::@1] + //SEG165 [62] phi (byte*) print_line_cursor#11 = (byte*) print_line_cursor#21 [phi:print_ln/print_ln::@1->print_ln::@1#0] -- register_copy + //SEG166 print_ln::@1 b1: - //SEG170 [63] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#11 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ print_line_cursor#1 print_char_cursor#11 ] ( main:2::print_ln:25 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_ln:43 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_ln:59 [ print_line_cursor#1 print_char_cursor#11 ] ) -- pbuz1=pbuz1_plus_vbuc1 + //SEG167 [63] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#11 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ print_line_cursor#1 print_char_cursor#11 ] ( main:2::print_ln:25 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_ln:43 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_ln:59 [ print_line_cursor#1 print_char_cursor#11 ] ) -- pbuz1=pbuz1_plus_vbuc1 lda print_line_cursor clc adc #$28 @@ -6827,7 +6741,7 @@ print_ln: { bcc !+ inc print_line_cursor+1 !: - //SEG171 [64] if((byte*) print_line_cursor#1<(byte*) print_char_cursor#11) goto print_ln::@1 [ print_line_cursor#1 print_char_cursor#11 ] ( main:2::print_ln:25 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_ln:43 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_ln:59 [ print_line_cursor#1 print_char_cursor#11 ] ) -- pbuz1_lt_pbuz2_then_la1 + //SEG168 [64] if((byte*) print_line_cursor#1<(byte*) print_char_cursor#11) goto print_ln::@1 [ print_line_cursor#1 print_char_cursor#11 ] ( main:2::print_ln:25 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_ln:43 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_ln:59 [ print_line_cursor#1 print_char_cursor#11 ] ) -- pbuz1_lt_pbuz2_then_la1 lda print_line_cursor+1 cmp print_char_cursor+1 bcc b1 @@ -6836,161 +6750,160 @@ print_ln: { cmp print_char_cursor bcc b1 !: - //SEG172 print_ln::@return - //SEG173 [65] return [ print_line_cursor#1 ] ( main:2::print_ln:25 [ print_line_cursor#1 ] main:2::print_ln:43 [ main::i#10 print_line_cursor#1 ] main:2::print_ln:59 [ print_line_cursor#1 ] ) + //SEG169 print_ln::@return + //SEG170 [65] return [ print_line_cursor#1 ] ( main:2::print_ln:25 [ print_line_cursor#1 ] main:2::print_ln:43 [ main::i#10 print_line_cursor#1 ] main:2::print_ln:59 [ print_line_cursor#1 ] ) rts } -//SEG174 print_word +//SEG171 print_word print_word: { .label w = 5 - //SEG175 [67] (byte) print_byte::b#0 ← > (word) print_word::w#10 [ print_word::w#10 print_byte::b#0 print_char_cursor#2 ] ( main:2::print_word:15 [ print_word::w#10 print_byte::b#0 print_char_cursor#2 ] main:2::print_word:19 [ print_word::w#10 print_byte::b#0 print_char_cursor#2 ] main:2::print_word:23 [ print_word::w#10 print_byte::b#0 print_char_cursor#2 ] main:2::print_word:33 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#0 print_char_cursor#2 ] main:2::print_word:37 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#0 print_char_cursor#2 ] main:2::print_word:41 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#0 print_char_cursor#2 ] main:2::print_word:49 [ print_line_cursor#1 print_word::w#10 print_byte::b#0 print_char_cursor#2 ] main:2::print_word:53 [ print_line_cursor#1 print_word::w#10 print_byte::b#0 print_char_cursor#2 ] main:2::print_word:57 [ print_line_cursor#1 print_word::w#10 print_byte::b#0 print_char_cursor#2 ] ) -- vbuxx=_hi_vwuz1 + //SEG172 [67] (byte) print_byte::b#0 ← > (word) print_word::w#10 [ print_word::w#10 print_byte::b#0 print_char_cursor#2 ] ( main:2::print_word:15 [ print_word::w#10 print_byte::b#0 print_char_cursor#2 ] main:2::print_word:19 [ print_word::w#10 print_byte::b#0 print_char_cursor#2 ] main:2::print_word:23 [ print_word::w#10 print_byte::b#0 print_char_cursor#2 ] main:2::print_word:33 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#0 print_char_cursor#2 ] main:2::print_word:37 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#0 print_char_cursor#2 ] main:2::print_word:41 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#0 print_char_cursor#2 ] main:2::print_word:49 [ print_line_cursor#1 print_word::w#10 print_byte::b#0 print_char_cursor#2 ] main:2::print_word:53 [ print_line_cursor#1 print_word::w#10 print_byte::b#0 print_char_cursor#2 ] main:2::print_word:57 [ print_line_cursor#1 print_word::w#10 print_byte::b#0 print_char_cursor#2 ] ) -- vbuxx=_hi_vwuz1 lda w+1 tax - //SEG176 [68] call print_byte param-assignment [ print_char_cursor#11 print_word::w#10 ] ( main:2::print_word:15 [ print_char_cursor#11 print_word::w#10 ] main:2::print_word:19 [ print_char_cursor#11 print_word::w#10 ] main:2::print_word:23 [ print_char_cursor#11 print_word::w#10 ] main:2::print_word:33 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_word::w#10 ] main:2::print_word:37 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_word::w#10 ] main:2::print_word:41 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_word::w#10 ] main:2::print_word:49 [ print_line_cursor#1 print_char_cursor#11 print_word::w#10 ] main:2::print_word:53 [ print_line_cursor#1 print_char_cursor#11 print_word::w#10 ] main:2::print_word:57 [ print_line_cursor#1 print_char_cursor#11 print_word::w#10 ] ) - //SEG177 [72] phi from print_word to print_byte [phi:print_word->print_byte] - //SEG178 [72] phi (byte*) print_char_cursor#81 = (byte*) print_char_cursor#2 [phi:print_word->print_byte#0] -- register_copy - //SEG179 [72] phi (byte) print_byte::b#3 = (byte) print_byte::b#0 [phi:print_word->print_byte#1] -- register_copy + //SEG173 [68] call print_byte param-assignment [ print_char_cursor#11 print_word::w#10 ] ( main:2::print_word:15 [ print_char_cursor#11 print_word::w#10 ] main:2::print_word:19 [ print_char_cursor#11 print_word::w#10 ] main:2::print_word:23 [ print_char_cursor#11 print_word::w#10 ] main:2::print_word:33 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_word::w#10 ] main:2::print_word:37 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_word::w#10 ] main:2::print_word:41 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_word::w#10 ] main:2::print_word:49 [ print_line_cursor#1 print_char_cursor#11 print_word::w#10 ] main:2::print_word:53 [ print_line_cursor#1 print_char_cursor#11 print_word::w#10 ] main:2::print_word:57 [ print_line_cursor#1 print_char_cursor#11 print_word::w#10 ] ) + //SEG174 [72] phi from print_word to print_byte [phi:print_word->print_byte] + //SEG175 [72] phi (byte*) print_char_cursor#81 = (byte*) print_char_cursor#2 [phi:print_word->print_byte#0] -- register_copy + //SEG176 [72] phi (byte) print_byte::b#3 = (byte) print_byte::b#0 [phi:print_word->print_byte#1] -- register_copy jsr print_byte - //SEG180 print_word::@1 - //SEG181 [69] (byte) print_byte::b#1 ← < (word) print_word::w#10 [ print_char_cursor#11 print_byte::b#1 ] ( main:2::print_word:15 [ print_char_cursor#11 print_byte::b#1 ] main:2::print_word:19 [ print_char_cursor#11 print_byte::b#1 ] main:2::print_word:23 [ print_char_cursor#11 print_byte::b#1 ] main:2::print_word:33 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_byte::b#1 ] main:2::print_word:37 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_byte::b#1 ] main:2::print_word:41 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_byte::b#1 ] main:2::print_word:49 [ print_line_cursor#1 print_char_cursor#11 print_byte::b#1 ] main:2::print_word:53 [ print_line_cursor#1 print_char_cursor#11 print_byte::b#1 ] main:2::print_word:57 [ print_line_cursor#1 print_char_cursor#11 print_byte::b#1 ] ) -- vbuxx=_lo_vwuz1 + //SEG177 print_word::@1 + //SEG178 [69] (byte) print_byte::b#1 ← < (word) print_word::w#10 [ print_char_cursor#11 print_byte::b#1 ] ( main:2::print_word:15 [ print_char_cursor#11 print_byte::b#1 ] main:2::print_word:19 [ print_char_cursor#11 print_byte::b#1 ] main:2::print_word:23 [ print_char_cursor#11 print_byte::b#1 ] main:2::print_word:33 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_byte::b#1 ] main:2::print_word:37 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_byte::b#1 ] main:2::print_word:41 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_byte::b#1 ] main:2::print_word:49 [ print_line_cursor#1 print_char_cursor#11 print_byte::b#1 ] main:2::print_word:53 [ print_line_cursor#1 print_char_cursor#11 print_byte::b#1 ] main:2::print_word:57 [ print_line_cursor#1 print_char_cursor#11 print_byte::b#1 ] ) -- vbuxx=_lo_vwuz1 lda w tax - //SEG182 [70] call print_byte param-assignment [ print_char_cursor#11 ] ( main:2::print_word:15 [ print_char_cursor#11 ] main:2::print_word:19 [ print_char_cursor#11 ] main:2::print_word:23 [ print_char_cursor#11 ] main:2::print_word:33 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:37 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:41 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:49 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:53 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:57 [ print_line_cursor#1 print_char_cursor#11 ] ) - //SEG183 [72] phi from print_word::@1 to print_byte [phi:print_word::@1->print_byte] - //SEG184 [72] phi (byte*) print_char_cursor#81 = (byte*) print_char_cursor#11 [phi:print_word::@1->print_byte#0] -- register_copy - //SEG185 [72] phi (byte) print_byte::b#3 = (byte) print_byte::b#1 [phi:print_word::@1->print_byte#1] -- register_copy + //SEG179 [70] call print_byte param-assignment [ print_char_cursor#11 ] ( main:2::print_word:15 [ print_char_cursor#11 ] main:2::print_word:19 [ print_char_cursor#11 ] main:2::print_word:23 [ print_char_cursor#11 ] main:2::print_word:33 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:37 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:41 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:49 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:53 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:57 [ print_line_cursor#1 print_char_cursor#11 ] ) + //SEG180 [72] phi from print_word::@1 to print_byte [phi:print_word::@1->print_byte] + //SEG181 [72] phi (byte*) print_char_cursor#81 = (byte*) print_char_cursor#11 [phi:print_word::@1->print_byte#0] -- register_copy + //SEG182 [72] phi (byte) print_byte::b#3 = (byte) print_byte::b#1 [phi:print_word::@1->print_byte#1] -- register_copy jsr print_byte - //SEG186 print_word::@return - //SEG187 [71] return [ print_char_cursor#11 ] ( main:2::print_word:15 [ print_char_cursor#11 ] main:2::print_word:19 [ print_char_cursor#11 ] main:2::print_word:23 [ print_char_cursor#11 ] main:2::print_word:33 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:37 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:41 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:49 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:53 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:57 [ print_line_cursor#1 print_char_cursor#11 ] ) + //SEG183 print_word::@return + //SEG184 [71] return [ print_char_cursor#11 ] ( main:2::print_word:15 [ print_char_cursor#11 ] main:2::print_word:19 [ print_char_cursor#11 ] main:2::print_word:23 [ print_char_cursor#11 ] main:2::print_word:33 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:37 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:41 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:49 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:53 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:57 [ print_line_cursor#1 print_char_cursor#11 ] ) rts } -//SEG188 print_byte +//SEG185 print_byte print_byte: { - //SEG189 [73] (byte~) print_byte::$0 ← (byte) print_byte::b#3 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ print_byte::b#3 print_char_cursor#81 print_byte::$0 ] ( main:2::print_byte:29 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:15::print_byte:68 [ print_word::w#10 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:19::print_byte:68 [ print_word::w#10 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:23::print_byte:68 [ print_word::w#10 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:33::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:37::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:41::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:49::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:53::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:57::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:15::print_byte:70 [ print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:19::print_byte:70 [ print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:23::print_byte:70 [ print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:33::print_byte:70 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:37::print_byte:70 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:41::print_byte:70 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:49::print_byte:70 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:53::print_byte:70 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:57::print_byte:70 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] ) -- vbuaa=vbuxx_ror_4 + //SEG186 [73] (byte~) print_byte::$0 ← (byte) print_byte::b#3 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ print_byte::b#3 print_char_cursor#81 print_byte::$0 ] ( main:2::print_byte:29 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:15::print_byte:68 [ print_word::w#10 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:19::print_byte:68 [ print_word::w#10 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:23::print_byte:68 [ print_word::w#10 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:33::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:37::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:41::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:49::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:53::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:57::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:15::print_byte:70 [ print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:19::print_byte:70 [ print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:23::print_byte:70 [ print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:33::print_byte:70 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:37::print_byte:70 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:41::print_byte:70 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:49::print_byte:70 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:53::print_byte:70 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] main:2::print_word:57::print_byte:70 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_byte::$0 ] ) -- vbuaa=vbuxx_ror_4 txa lsr lsr lsr lsr - //SEG190 [74] (byte) print_char::ch#0 ← *((const string) print_hextab#0 + (byte~) print_byte::$0) [ print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] ( main:2::print_byte:29 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:15::print_byte:68 [ print_word::w#10 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:19::print_byte:68 [ print_word::w#10 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:23::print_byte:68 [ print_word::w#10 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:33::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:37::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:41::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:49::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:53::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:57::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:15::print_byte:70 [ print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:19::print_byte:70 [ print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:23::print_byte:70 [ print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:33::print_byte:70 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:37::print_byte:70 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:41::print_byte:70 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:49::print_byte:70 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:53::print_byte:70 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:57::print_byte:70 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] ) -- vbuaa=pbuc1_derefidx_vbuaa + //SEG187 [74] (byte) print_char::ch#0 ← *((const string) print_hextab#0 + (byte~) print_byte::$0) [ print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] ( main:2::print_byte:29 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:15::print_byte:68 [ print_word::w#10 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:19::print_byte:68 [ print_word::w#10 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:23::print_byte:68 [ print_word::w#10 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:33::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:37::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:41::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:49::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:53::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:57::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:15::print_byte:70 [ print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:19::print_byte:70 [ print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:23::print_byte:70 [ print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:33::print_byte:70 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:37::print_byte:70 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:41::print_byte:70 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:49::print_byte:70 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:53::print_byte:70 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] main:2::print_word:57::print_byte:70 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#81 print_char::ch#0 ] ) -- vbuaa=pbuc1_derefidx_vbuaa tay lda print_hextab,y - //SEG191 [75] call print_char param-assignment [ print_char_cursor#11 print_byte::b#3 ] ( main:2::print_byte:29 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:15::print_byte:68 [ print_word::w#10 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:19::print_byte:68 [ print_word::w#10 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:23::print_byte:68 [ print_word::w#10 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:33::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:37::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:41::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:49::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:53::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:57::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:15::print_byte:70 [ print_char_cursor#11 print_byte::b#3 ] main:2::print_word:19::print_byte:70 [ print_char_cursor#11 print_byte::b#3 ] main:2::print_word:23::print_byte:70 [ print_char_cursor#11 print_byte::b#3 ] main:2::print_word:33::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:37::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:41::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:49::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:53::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:57::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 print_byte::b#3 ] ) - //SEG192 [80] phi from print_byte to print_char [phi:print_byte->print_char] - //SEG193 [80] phi (byte*) print_char_cursor#50 = (byte*) print_char_cursor#81 [phi:print_byte->print_char#0] -- register_copy - //SEG194 [80] phi (byte) print_char::ch#2 = (byte) print_char::ch#0 [phi:print_byte->print_char#1] -- register_copy + //SEG188 [75] call print_char param-assignment [ print_char_cursor#11 print_byte::b#3 ] ( main:2::print_byte:29 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:15::print_byte:68 [ print_word::w#10 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:19::print_byte:68 [ print_word::w#10 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:23::print_byte:68 [ print_word::w#10 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:33::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:37::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:41::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:49::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:53::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:57::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:15::print_byte:70 [ print_char_cursor#11 print_byte::b#3 ] main:2::print_word:19::print_byte:70 [ print_char_cursor#11 print_byte::b#3 ] main:2::print_word:23::print_byte:70 [ print_char_cursor#11 print_byte::b#3 ] main:2::print_word:33::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:37::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:41::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:49::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:53::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 print_byte::b#3 ] main:2::print_word:57::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 print_byte::b#3 ] ) + //SEG189 [80] phi from print_byte to print_char [phi:print_byte->print_char] + //SEG190 [80] phi (byte*) print_char_cursor#50 = (byte*) print_char_cursor#81 [phi:print_byte->print_char#0] -- register_copy + //SEG191 [80] phi (byte) print_char::ch#2 = (byte) print_char::ch#0 [phi:print_byte->print_char#1] -- register_copy jsr print_char - //SEG195 print_byte::@1 - //SEG196 [76] (byte~) print_byte::$2 ← (byte) print_byte::b#3 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ print_char_cursor#11 print_byte::$2 ] ( main:2::print_byte:29 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_byte::$2 ] main:2::print_word:15::print_byte:68 [ print_word::w#10 print_char_cursor#11 print_byte::$2 ] main:2::print_word:19::print_byte:68 [ print_word::w#10 print_char_cursor#11 print_byte::$2 ] main:2::print_word:23::print_byte:68 [ print_word::w#10 print_char_cursor#11 print_byte::$2 ] main:2::print_word:33::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::$2 ] main:2::print_word:37::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::$2 ] main:2::print_word:41::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::$2 ] main:2::print_word:49::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::$2 ] main:2::print_word:53::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::$2 ] main:2::print_word:57::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::$2 ] main:2::print_word:15::print_byte:70 [ print_char_cursor#11 print_byte::$2 ] main:2::print_word:19::print_byte:70 [ print_char_cursor#11 print_byte::$2 ] main:2::print_word:23::print_byte:70 [ print_char_cursor#11 print_byte::$2 ] main:2::print_word:33::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_byte::$2 ] main:2::print_word:37::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_byte::$2 ] main:2::print_word:41::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_byte::$2 ] main:2::print_word:49::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 print_byte::$2 ] main:2::print_word:53::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 print_byte::$2 ] main:2::print_word:57::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 print_byte::$2 ] ) -- vbuaa=vbuxx_band_vbuc1 + //SEG192 print_byte::@1 + //SEG193 [76] (byte~) print_byte::$2 ← (byte) print_byte::b#3 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ print_char_cursor#11 print_byte::$2 ] ( main:2::print_byte:29 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_byte::$2 ] main:2::print_word:15::print_byte:68 [ print_word::w#10 print_char_cursor#11 print_byte::$2 ] main:2::print_word:19::print_byte:68 [ print_word::w#10 print_char_cursor#11 print_byte::$2 ] main:2::print_word:23::print_byte:68 [ print_word::w#10 print_char_cursor#11 print_byte::$2 ] main:2::print_word:33::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::$2 ] main:2::print_word:37::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::$2 ] main:2::print_word:41::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::$2 ] main:2::print_word:49::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::$2 ] main:2::print_word:53::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::$2 ] main:2::print_word:57::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_byte::$2 ] main:2::print_word:15::print_byte:70 [ print_char_cursor#11 print_byte::$2 ] main:2::print_word:19::print_byte:70 [ print_char_cursor#11 print_byte::$2 ] main:2::print_word:23::print_byte:70 [ print_char_cursor#11 print_byte::$2 ] main:2::print_word:33::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_byte::$2 ] main:2::print_word:37::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_byte::$2 ] main:2::print_word:41::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_byte::$2 ] main:2::print_word:49::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 print_byte::$2 ] main:2::print_word:53::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 print_byte::$2 ] main:2::print_word:57::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 print_byte::$2 ] ) -- vbuaa=vbuxx_band_vbuc1 txa and #$f - //SEG197 [77] (byte) print_char::ch#1 ← *((const string) print_hextab#0 + (byte~) print_byte::$2) [ print_char_cursor#11 print_char::ch#1 ] ( main:2::print_byte:29 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:15::print_byte:68 [ print_word::w#10 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:19::print_byte:68 [ print_word::w#10 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:23::print_byte:68 [ print_word::w#10 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:33::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:37::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:41::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:49::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:53::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:57::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:15::print_byte:70 [ print_char_cursor#11 print_char::ch#1 ] main:2::print_word:19::print_byte:70 [ print_char_cursor#11 print_char::ch#1 ] main:2::print_word:23::print_byte:70 [ print_char_cursor#11 print_char::ch#1 ] main:2::print_word:33::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:37::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:41::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:49::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:53::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:57::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 print_char::ch#1 ] ) -- vbuaa=pbuc1_derefidx_vbuaa + //SEG194 [77] (byte) print_char::ch#1 ← *((const string) print_hextab#0 + (byte~) print_byte::$2) [ print_char_cursor#11 print_char::ch#1 ] ( main:2::print_byte:29 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:15::print_byte:68 [ print_word::w#10 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:19::print_byte:68 [ print_word::w#10 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:23::print_byte:68 [ print_word::w#10 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:33::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:37::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:41::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:49::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:53::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:57::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:15::print_byte:70 [ print_char_cursor#11 print_char::ch#1 ] main:2::print_word:19::print_byte:70 [ print_char_cursor#11 print_char::ch#1 ] main:2::print_word:23::print_byte:70 [ print_char_cursor#11 print_char::ch#1 ] main:2::print_word:33::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:37::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:41::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:49::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:53::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 print_char::ch#1 ] main:2::print_word:57::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 print_char::ch#1 ] ) -- vbuaa=pbuc1_derefidx_vbuaa tay lda print_hextab,y - //SEG198 [78] call print_char param-assignment [ print_char_cursor#11 ] ( main:2::print_byte:29 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:15::print_byte:68 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:19::print_byte:68 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:23::print_byte:68 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:33::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:37::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:41::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:49::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:53::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:57::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:15::print_byte:70 [ print_char_cursor#11 ] main:2::print_word:19::print_byte:70 [ print_char_cursor#11 ] main:2::print_word:23::print_byte:70 [ print_char_cursor#11 ] main:2::print_word:33::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:37::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:41::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:49::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:53::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:57::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 ] ) - //SEG199 [80] phi from print_byte::@1 to print_char [phi:print_byte::@1->print_char] - //SEG200 [80] phi (byte*) print_char_cursor#50 = (byte*) print_char_cursor#11 [phi:print_byte::@1->print_char#0] -- register_copy - //SEG201 [80] phi (byte) print_char::ch#2 = (byte) print_char::ch#1 [phi:print_byte::@1->print_char#1] -- register_copy + //SEG195 [78] call print_char param-assignment [ print_char_cursor#11 ] ( main:2::print_byte:29 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:15::print_byte:68 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:19::print_byte:68 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:23::print_byte:68 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:33::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:37::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:41::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:49::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:53::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:57::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:15::print_byte:70 [ print_char_cursor#11 ] main:2::print_word:19::print_byte:70 [ print_char_cursor#11 ] main:2::print_word:23::print_byte:70 [ print_char_cursor#11 ] main:2::print_word:33::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:37::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:41::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:49::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:53::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:57::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 ] ) + //SEG196 [80] phi from print_byte::@1 to print_char [phi:print_byte::@1->print_char] + //SEG197 [80] phi (byte*) print_char_cursor#50 = (byte*) print_char_cursor#11 [phi:print_byte::@1->print_char#0] -- register_copy + //SEG198 [80] phi (byte) print_char::ch#2 = (byte) print_char::ch#1 [phi:print_byte::@1->print_char#1] -- register_copy jsr print_char - //SEG202 print_byte::@return - //SEG203 [79] return [ print_char_cursor#11 ] ( main:2::print_byte:29 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:15::print_byte:68 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:19::print_byte:68 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:23::print_byte:68 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:33::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:37::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:41::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:49::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:53::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:57::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:15::print_byte:70 [ print_char_cursor#11 ] main:2::print_word:19::print_byte:70 [ print_char_cursor#11 ] main:2::print_word:23::print_byte:70 [ print_char_cursor#11 ] main:2::print_word:33::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:37::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:41::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:49::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:53::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:57::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 ] ) + //SEG199 print_byte::@return + //SEG200 [79] return [ print_char_cursor#11 ] ( main:2::print_byte:29 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:15::print_byte:68 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:19::print_byte:68 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:23::print_byte:68 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:33::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:37::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:41::print_byte:68 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:49::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:53::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:57::print_byte:68 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:15::print_byte:70 [ print_char_cursor#11 ] main:2::print_word:19::print_byte:70 [ print_char_cursor#11 ] main:2::print_word:23::print_byte:70 [ print_char_cursor#11 ] main:2::print_word:33::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:37::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:41::print_byte:70 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:49::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:53::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:57::print_byte:70 [ print_line_cursor#1 print_char_cursor#11 ] ) rts } -//SEG204 print_char +//SEG201 print_char print_char: { - //SEG205 [81] *((byte*) print_char_cursor#50) ← (byte) print_char::ch#2 [ print_char_cursor#50 ] ( main:2::print_byte:29::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:15::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:19::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:23::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:33::print_byte:68::print_char:75 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:37::print_byte:68::print_char:75 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:41::print_byte:68::print_char:75 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:49::print_byte:68::print_char:75 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:53::print_byte:68::print_char:75 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:57::print_byte:68::print_char:75 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:15::print_byte:70::print_char:75 [ print_byte::b#3 print_char_cursor#50 ] main:2::print_word:19::print_byte:70::print_char:75 [ print_byte::b#3 print_char_cursor#50 ] main:2::print_word:23::print_byte:70::print_char:75 [ print_byte::b#3 print_char_cursor#50 ] main:2::print_word:33::print_byte:70::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:37::print_byte:70::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:41::print_byte:70::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:49::print_byte:70::print_char:75 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:53::print_byte:70::print_char:75 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:57::print_byte:70::print_char:75 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#50 ] main:2::print_byte:29::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#50 ] main:2::print_word:15::print_byte:68::print_char:78 [ print_word::w#10 print_char_cursor#50 ] main:2::print_word:19::print_byte:68::print_char:78 [ print_word::w#10 print_char_cursor#50 ] main:2::print_word:23::print_byte:68::print_char:78 [ print_word::w#10 print_char_cursor#50 ] main:2::print_word:33::print_byte:68::print_char:78 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#50 ] main:2::print_word:37::print_byte:68::print_char:78 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#50 ] main:2::print_word:41::print_byte:68::print_char:78 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#50 ] main:2::print_word:49::print_byte:68::print_char:78 [ print_line_cursor#1 print_word::w#10 print_char_cursor#50 ] main:2::print_word:53::print_byte:68::print_char:78 [ print_line_cursor#1 print_word::w#10 print_char_cursor#50 ] main:2::print_word:57::print_byte:68::print_char:78 [ print_line_cursor#1 print_word::w#10 print_char_cursor#50 ] main:2::print_word:15::print_byte:70::print_char:78 [ print_char_cursor#50 ] main:2::print_word:19::print_byte:70::print_char:78 [ print_char_cursor#50 ] main:2::print_word:23::print_byte:70::print_char:78 [ print_char_cursor#50 ] main:2::print_word:33::print_byte:70::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#50 ] main:2::print_word:37::print_byte:70::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#50 ] main:2::print_word:41::print_byte:70::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#50 ] main:2::print_word:49::print_byte:70::print_char:78 [ print_line_cursor#1 print_char_cursor#50 ] main:2::print_word:53::print_byte:70::print_char:78 [ print_line_cursor#1 print_char_cursor#50 ] main:2::print_word:57::print_byte:70::print_char:78 [ print_line_cursor#1 print_char_cursor#50 ] ) -- _deref_pbuz1=vbuaa + //SEG202 [81] *((byte*) print_char_cursor#50) ← (byte) print_char::ch#2 [ print_char_cursor#50 ] ( main:2::print_byte:29::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:15::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:19::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:23::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:33::print_byte:68::print_char:75 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:37::print_byte:68::print_char:75 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:41::print_byte:68::print_char:75 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:49::print_byte:68::print_char:75 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:53::print_byte:68::print_char:75 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:57::print_byte:68::print_char:75 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:15::print_byte:70::print_char:75 [ print_byte::b#3 print_char_cursor#50 ] main:2::print_word:19::print_byte:70::print_char:75 [ print_byte::b#3 print_char_cursor#50 ] main:2::print_word:23::print_byte:70::print_char:75 [ print_byte::b#3 print_char_cursor#50 ] main:2::print_word:33::print_byte:70::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:37::print_byte:70::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:41::print_byte:70::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:49::print_byte:70::print_char:75 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:53::print_byte:70::print_char:75 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#50 ] main:2::print_word:57::print_byte:70::print_char:75 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#50 ] main:2::print_byte:29::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#50 ] main:2::print_word:15::print_byte:68::print_char:78 [ print_word::w#10 print_char_cursor#50 ] main:2::print_word:19::print_byte:68::print_char:78 [ print_word::w#10 print_char_cursor#50 ] main:2::print_word:23::print_byte:68::print_char:78 [ print_word::w#10 print_char_cursor#50 ] main:2::print_word:33::print_byte:68::print_char:78 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#50 ] main:2::print_word:37::print_byte:68::print_char:78 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#50 ] main:2::print_word:41::print_byte:68::print_char:78 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#50 ] main:2::print_word:49::print_byte:68::print_char:78 [ print_line_cursor#1 print_word::w#10 print_char_cursor#50 ] main:2::print_word:53::print_byte:68::print_char:78 [ print_line_cursor#1 print_word::w#10 print_char_cursor#50 ] main:2::print_word:57::print_byte:68::print_char:78 [ print_line_cursor#1 print_word::w#10 print_char_cursor#50 ] main:2::print_word:15::print_byte:70::print_char:78 [ print_char_cursor#50 ] main:2::print_word:19::print_byte:70::print_char:78 [ print_char_cursor#50 ] main:2::print_word:23::print_byte:70::print_char:78 [ print_char_cursor#50 ] main:2::print_word:33::print_byte:70::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#50 ] main:2::print_word:37::print_byte:70::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#50 ] main:2::print_word:41::print_byte:70::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#50 ] main:2::print_word:49::print_byte:70::print_char:78 [ print_line_cursor#1 print_char_cursor#50 ] main:2::print_word:53::print_byte:70::print_char:78 [ print_line_cursor#1 print_char_cursor#50 ] main:2::print_word:57::print_byte:70::print_char:78 [ print_line_cursor#1 print_char_cursor#50 ] ) -- _deref_pbuz1=vbuaa ldy #0 sta (print_char_cursor),y - //SEG206 [82] (byte*) print_char_cursor#11 ← ++ (byte*) print_char_cursor#50 [ print_char_cursor#11 ] ( main:2::print_byte:29::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:15::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:19::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:23::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:33::print_byte:68::print_char:75 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:37::print_byte:68::print_char:75 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:41::print_byte:68::print_char:75 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:49::print_byte:68::print_char:75 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:53::print_byte:68::print_char:75 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:57::print_byte:68::print_char:75 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:15::print_byte:70::print_char:75 [ print_byte::b#3 print_char_cursor#11 ] main:2::print_word:19::print_byte:70::print_char:75 [ print_byte::b#3 print_char_cursor#11 ] main:2::print_word:23::print_byte:70::print_char:75 [ print_byte::b#3 print_char_cursor#11 ] main:2::print_word:33::print_byte:70::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:37::print_byte:70::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:41::print_byte:70::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:49::print_byte:70::print_char:75 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:53::print_byte:70::print_char:75 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:57::print_byte:70::print_char:75 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_byte:29::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:15::print_byte:68::print_char:78 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:19::print_byte:68::print_char:78 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:23::print_byte:68::print_char:78 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:33::print_byte:68::print_char:78 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:37::print_byte:68::print_char:78 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:41::print_byte:68::print_char:78 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:49::print_byte:68::print_char:78 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:53::print_byte:68::print_char:78 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:57::print_byte:68::print_char:78 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:15::print_byte:70::print_char:78 [ print_char_cursor#11 ] main:2::print_word:19::print_byte:70::print_char:78 [ print_char_cursor#11 ] main:2::print_word:23::print_byte:70::print_char:78 [ print_char_cursor#11 ] main:2::print_word:33::print_byte:70::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:37::print_byte:70::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:41::print_byte:70::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:49::print_byte:70::print_char:78 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:53::print_byte:70::print_char:78 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:57::print_byte:70::print_char:78 [ print_line_cursor#1 print_char_cursor#11 ] ) -- pbuz1=_inc_pbuz1 + //SEG203 [82] (byte*) print_char_cursor#11 ← ++ (byte*) print_char_cursor#50 [ print_char_cursor#11 ] ( main:2::print_byte:29::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:15::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:19::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:23::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:33::print_byte:68::print_char:75 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:37::print_byte:68::print_char:75 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:41::print_byte:68::print_char:75 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:49::print_byte:68::print_char:75 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:53::print_byte:68::print_char:75 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:57::print_byte:68::print_char:75 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:15::print_byte:70::print_char:75 [ print_byte::b#3 print_char_cursor#11 ] main:2::print_word:19::print_byte:70::print_char:75 [ print_byte::b#3 print_char_cursor#11 ] main:2::print_word:23::print_byte:70::print_char:75 [ print_byte::b#3 print_char_cursor#11 ] main:2::print_word:33::print_byte:70::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:37::print_byte:70::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:41::print_byte:70::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:49::print_byte:70::print_char:75 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:53::print_byte:70::print_char:75 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:57::print_byte:70::print_char:75 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_byte:29::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:15::print_byte:68::print_char:78 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:19::print_byte:68::print_char:78 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:23::print_byte:68::print_char:78 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:33::print_byte:68::print_char:78 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:37::print_byte:68::print_char:78 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:41::print_byte:68::print_char:78 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:49::print_byte:68::print_char:78 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:53::print_byte:68::print_char:78 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:57::print_byte:68::print_char:78 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:15::print_byte:70::print_char:78 [ print_char_cursor#11 ] main:2::print_word:19::print_byte:70::print_char:78 [ print_char_cursor#11 ] main:2::print_word:23::print_byte:70::print_char:78 [ print_char_cursor#11 ] main:2::print_word:33::print_byte:70::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:37::print_byte:70::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:41::print_byte:70::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:49::print_byte:70::print_char:78 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:53::print_byte:70::print_char:78 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:57::print_byte:70::print_char:78 [ print_line_cursor#1 print_char_cursor#11 ] ) -- pbuz1=_inc_pbuz1 inc print_char_cursor bne !+ inc print_char_cursor+1 !: - //SEG207 print_char::@return - //SEG208 [83] return [ print_char_cursor#11 ] ( main:2::print_byte:29::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:15::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:19::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:23::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:33::print_byte:68::print_char:75 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:37::print_byte:68::print_char:75 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:41::print_byte:68::print_char:75 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:49::print_byte:68::print_char:75 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:53::print_byte:68::print_char:75 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:57::print_byte:68::print_char:75 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:15::print_byte:70::print_char:75 [ print_byte::b#3 print_char_cursor#11 ] main:2::print_word:19::print_byte:70::print_char:75 [ print_byte::b#3 print_char_cursor#11 ] main:2::print_word:23::print_byte:70::print_char:75 [ print_byte::b#3 print_char_cursor#11 ] main:2::print_word:33::print_byte:70::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:37::print_byte:70::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:41::print_byte:70::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:49::print_byte:70::print_char:75 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:53::print_byte:70::print_char:75 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:57::print_byte:70::print_char:75 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_byte:29::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:15::print_byte:68::print_char:78 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:19::print_byte:68::print_char:78 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:23::print_byte:68::print_char:78 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:33::print_byte:68::print_char:78 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:37::print_byte:68::print_char:78 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:41::print_byte:68::print_char:78 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:49::print_byte:68::print_char:78 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:53::print_byte:68::print_char:78 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:57::print_byte:68::print_char:78 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:15::print_byte:70::print_char:78 [ print_char_cursor#11 ] main:2::print_word:19::print_byte:70::print_char:78 [ print_char_cursor#11 ] main:2::print_word:23::print_byte:70::print_char:78 [ print_char_cursor#11 ] main:2::print_word:33::print_byte:70::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:37::print_byte:70::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:41::print_byte:70::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:49::print_byte:70::print_char:78 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:53::print_byte:70::print_char:78 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:57::print_byte:70::print_char:78 [ print_line_cursor#1 print_char_cursor#11 ] ) + //SEG204 print_char::@return + //SEG205 [83] return [ print_char_cursor#11 ] ( main:2::print_byte:29::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:15::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:19::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:23::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:33::print_byte:68::print_char:75 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:37::print_byte:68::print_char:75 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:41::print_byte:68::print_char:75 [ main::i#10 print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:49::print_byte:68::print_char:75 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:53::print_byte:68::print_char:75 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:57::print_byte:68::print_char:75 [ print_line_cursor#1 print_word::w#10 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:15::print_byte:70::print_char:75 [ print_byte::b#3 print_char_cursor#11 ] main:2::print_word:19::print_byte:70::print_char:75 [ print_byte::b#3 print_char_cursor#11 ] main:2::print_word:23::print_byte:70::print_char:75 [ print_byte::b#3 print_char_cursor#11 ] main:2::print_word:33::print_byte:70::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:37::print_byte:70::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:41::print_byte:70::print_char:75 [ main::i#10 print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:49::print_byte:70::print_char:75 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:53::print_byte:70::print_char:75 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_word:57::print_byte:70::print_char:75 [ print_line_cursor#1 print_byte::b#3 print_char_cursor#11 ] main:2::print_byte:29::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:15::print_byte:68::print_char:78 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:19::print_byte:68::print_char:78 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:23::print_byte:68::print_char:78 [ print_word::w#10 print_char_cursor#11 ] main:2::print_word:33::print_byte:68::print_char:78 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:37::print_byte:68::print_char:78 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:41::print_byte:68::print_char:78 [ main::i#10 print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:49::print_byte:68::print_char:78 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:53::print_byte:68::print_char:78 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:57::print_byte:68::print_char:78 [ print_line_cursor#1 print_word::w#10 print_char_cursor#11 ] main:2::print_word:15::print_byte:70::print_char:78 [ print_char_cursor#11 ] main:2::print_word:19::print_byte:70::print_char:78 [ print_char_cursor#11 ] main:2::print_word:23::print_byte:70::print_char:78 [ print_char_cursor#11 ] main:2::print_word:33::print_byte:70::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:37::print_byte:70::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:41::print_byte:70::print_char:78 [ main::i#10 print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:49::print_byte:70::print_char:78 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:53::print_byte:70::print_char:78 [ print_line_cursor#1 print_char_cursor#11 ] main:2::print_word:57::print_byte:70::print_char:78 [ print_line_cursor#1 print_char_cursor#11 ] ) rts } -//SEG209 print_str +//SEG206 print_str print_str: { .label str = 5 - //SEG210 [85] phi from print_str print_str::@2 to print_str::@1 [phi:print_str/print_str::@2->print_str::@1] - //SEG211 [85] phi (byte*) print_char_cursor#2 = (byte*) print_char_cursor#86 [phi:print_str/print_str::@2->print_str::@1#0] -- register_copy - //SEG212 [85] phi (byte*) print_str::str#10 = (byte*) print_str::str#12 [phi:print_str/print_str::@2->print_str::@1#1] -- register_copy - //SEG213 print_str::@1 + //SEG207 [85] phi from print_str print_str::@2 to print_str::@1 [phi:print_str/print_str::@2->print_str::@1] + //SEG208 [85] phi (byte*) print_char_cursor#2 = (byte*) print_char_cursor#86 [phi:print_str/print_str::@2->print_str::@1#0] -- register_copy + //SEG209 [85] phi (byte*) print_str::str#10 = (byte*) print_str::str#12 [phi:print_str/print_str::@2->print_str::@1#1] -- register_copy + //SEG210 print_str::@1 b1: - //SEG214 [86] if(*((byte*) print_str::str#10)!=(byte) '@') goto print_str::@2 [ print_char_cursor#2 print_str::str#10 ] ( main:2::print_str:13 [ print_char_cursor#2 print_str::str#10 ] main:2::print_str:17 [ print_char_cursor#2 print_str::str#10 ] main:2::print_str:21 [ print_char_cursor#2 print_str::str#10 ] main:2::print_str:31 [ main::i#10 print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:35 [ main::i#10 print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:39 [ main::i#10 print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:47 [ print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:51 [ print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:55 [ print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] ) -- _deref_pbuz1_neq_vbuc1_then_la1 + //SEG211 [86] if(*((byte*) print_str::str#10)!=(byte) '@') goto print_str::@2 [ print_char_cursor#2 print_str::str#10 ] ( main:2::print_str:13 [ print_char_cursor#2 print_str::str#10 ] main:2::print_str:17 [ print_char_cursor#2 print_str::str#10 ] main:2::print_str:21 [ print_char_cursor#2 print_str::str#10 ] main:2::print_str:31 [ main::i#10 print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:35 [ main::i#10 print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:39 [ main::i#10 print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:47 [ print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:51 [ print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:55 [ print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] ) -- _deref_pbuz1_neq_vbuc1_then_la1 ldy #0 lda (str),y cmp #'@' bne b2 - //SEG215 print_str::@return - //SEG216 [87] return [ print_char_cursor#2 ] ( main:2::print_str:13 [ print_char_cursor#2 ] main:2::print_str:17 [ print_char_cursor#2 ] main:2::print_str:21 [ print_char_cursor#2 ] main:2::print_str:31 [ main::i#10 print_line_cursor#1 print_char_cursor#2 ] main:2::print_str:35 [ main::i#10 print_line_cursor#1 print_char_cursor#2 ] main:2::print_str:39 [ main::i#10 print_line_cursor#1 print_char_cursor#2 ] main:2::print_str:47 [ print_line_cursor#1 print_char_cursor#2 ] main:2::print_str:51 [ print_line_cursor#1 print_char_cursor#2 ] main:2::print_str:55 [ print_line_cursor#1 print_char_cursor#2 ] ) + //SEG212 print_str::@return + //SEG213 [87] return [ print_char_cursor#2 ] ( main:2::print_str:13 [ print_char_cursor#2 ] main:2::print_str:17 [ print_char_cursor#2 ] main:2::print_str:21 [ print_char_cursor#2 ] main:2::print_str:31 [ main::i#10 print_line_cursor#1 print_char_cursor#2 ] main:2::print_str:35 [ main::i#10 print_line_cursor#1 print_char_cursor#2 ] main:2::print_str:39 [ main::i#10 print_line_cursor#1 print_char_cursor#2 ] main:2::print_str:47 [ print_line_cursor#1 print_char_cursor#2 ] main:2::print_str:51 [ print_line_cursor#1 print_char_cursor#2 ] main:2::print_str:55 [ print_line_cursor#1 print_char_cursor#2 ] ) rts - //SEG217 print_str::@2 + //SEG214 print_str::@2 b2: - //SEG218 [88] *((byte*) print_char_cursor#2) ← *((byte*) print_str::str#10) [ print_char_cursor#2 print_str::str#10 ] ( main:2::print_str:13 [ print_char_cursor#2 print_str::str#10 ] main:2::print_str:17 [ print_char_cursor#2 print_str::str#10 ] main:2::print_str:21 [ print_char_cursor#2 print_str::str#10 ] main:2::print_str:31 [ main::i#10 print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:35 [ main::i#10 print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:39 [ main::i#10 print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:47 [ print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:51 [ print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:55 [ print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] ) -- _deref_pbuz1=_deref_pbuz2 + //SEG215 [88] *((byte*) print_char_cursor#2) ← *((byte*) print_str::str#10) [ print_char_cursor#2 print_str::str#10 ] ( main:2::print_str:13 [ print_char_cursor#2 print_str::str#10 ] main:2::print_str:17 [ print_char_cursor#2 print_str::str#10 ] main:2::print_str:21 [ print_char_cursor#2 print_str::str#10 ] main:2::print_str:31 [ main::i#10 print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:35 [ main::i#10 print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:39 [ main::i#10 print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:47 [ print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:51 [ print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] main:2::print_str:55 [ print_line_cursor#1 print_char_cursor#2 print_str::str#10 ] ) -- _deref_pbuz1=_deref_pbuz2 ldy #0 lda (str),y sta (print_char_cursor),y - //SEG219 [89] (byte*) print_char_cursor#1 ← ++ (byte*) print_char_cursor#2 [ print_str::str#10 print_char_cursor#1 ] ( main:2::print_str:13 [ print_str::str#10 print_char_cursor#1 ] main:2::print_str:17 [ print_str::str#10 print_char_cursor#1 ] main:2::print_str:21 [ print_str::str#10 print_char_cursor#1 ] main:2::print_str:31 [ main::i#10 print_line_cursor#1 print_str::str#10 print_char_cursor#1 ] main:2::print_str:35 [ main::i#10 print_line_cursor#1 print_str::str#10 print_char_cursor#1 ] main:2::print_str:39 [ main::i#10 print_line_cursor#1 print_str::str#10 print_char_cursor#1 ] main:2::print_str:47 [ print_line_cursor#1 print_str::str#10 print_char_cursor#1 ] main:2::print_str:51 [ print_line_cursor#1 print_str::str#10 print_char_cursor#1 ] main:2::print_str:55 [ print_line_cursor#1 print_str::str#10 print_char_cursor#1 ] ) -- pbuz1=_inc_pbuz1 + //SEG216 [89] (byte*) print_char_cursor#1 ← ++ (byte*) print_char_cursor#2 [ print_str::str#10 print_char_cursor#1 ] ( main:2::print_str:13 [ print_str::str#10 print_char_cursor#1 ] main:2::print_str:17 [ print_str::str#10 print_char_cursor#1 ] main:2::print_str:21 [ print_str::str#10 print_char_cursor#1 ] main:2::print_str:31 [ main::i#10 print_line_cursor#1 print_str::str#10 print_char_cursor#1 ] main:2::print_str:35 [ main::i#10 print_line_cursor#1 print_str::str#10 print_char_cursor#1 ] main:2::print_str:39 [ main::i#10 print_line_cursor#1 print_str::str#10 print_char_cursor#1 ] main:2::print_str:47 [ print_line_cursor#1 print_str::str#10 print_char_cursor#1 ] main:2::print_str:51 [ print_line_cursor#1 print_str::str#10 print_char_cursor#1 ] main:2::print_str:55 [ print_line_cursor#1 print_str::str#10 print_char_cursor#1 ] ) -- pbuz1=_inc_pbuz1 inc print_char_cursor bne !+ inc print_char_cursor+1 !: - //SEG220 [90] (byte*) print_str::str#0 ← ++ (byte*) print_str::str#10 [ print_str::str#0 print_char_cursor#1 ] ( main:2::print_str:13 [ print_str::str#0 print_char_cursor#1 ] main:2::print_str:17 [ print_str::str#0 print_char_cursor#1 ] main:2::print_str:21 [ print_str::str#0 print_char_cursor#1 ] main:2::print_str:31 [ main::i#10 print_line_cursor#1 print_str::str#0 print_char_cursor#1 ] main:2::print_str:35 [ main::i#10 print_line_cursor#1 print_str::str#0 print_char_cursor#1 ] main:2::print_str:39 [ main::i#10 print_line_cursor#1 print_str::str#0 print_char_cursor#1 ] main:2::print_str:47 [ print_line_cursor#1 print_str::str#0 print_char_cursor#1 ] main:2::print_str:51 [ print_line_cursor#1 print_str::str#0 print_char_cursor#1 ] main:2::print_str:55 [ print_line_cursor#1 print_str::str#0 print_char_cursor#1 ] ) -- pbuz1=_inc_pbuz1 + //SEG217 [90] (byte*) print_str::str#0 ← ++ (byte*) print_str::str#10 [ print_str::str#0 print_char_cursor#1 ] ( main:2::print_str:13 [ print_str::str#0 print_char_cursor#1 ] main:2::print_str:17 [ print_str::str#0 print_char_cursor#1 ] main:2::print_str:21 [ print_str::str#0 print_char_cursor#1 ] main:2::print_str:31 [ main::i#10 print_line_cursor#1 print_str::str#0 print_char_cursor#1 ] main:2::print_str:35 [ main::i#10 print_line_cursor#1 print_str::str#0 print_char_cursor#1 ] main:2::print_str:39 [ main::i#10 print_line_cursor#1 print_str::str#0 print_char_cursor#1 ] main:2::print_str:47 [ print_line_cursor#1 print_str::str#0 print_char_cursor#1 ] main:2::print_str:51 [ print_line_cursor#1 print_str::str#0 print_char_cursor#1 ] main:2::print_str:55 [ print_line_cursor#1 print_str::str#0 print_char_cursor#1 ] ) -- pbuz1=_inc_pbuz1 inc str bne !+ inc str+1 !: jmp b1 } -//SEG221 print_cls +//SEG218 print_cls print_cls: { .label sc = 3 - //SEG222 [92] phi from print_cls to print_cls::@1 [phi:print_cls->print_cls::@1] - //SEG223 [92] phi (byte*) print_cls::sc#2 = ((byte*))(word/signed word/dword/signed dword) 1024 [phi:print_cls->print_cls::@1#0] -- pbuz1=pbuc1 + //SEG219 [92] phi from print_cls to print_cls::@1 [phi:print_cls->print_cls::@1] + //SEG220 [92] phi (byte*) print_cls::sc#2 = ((byte*))(word/signed word/dword/signed dword) 1024 [phi:print_cls->print_cls::@1#0] -- pbuz1=pbuc1 lda #<$400 sta sc lda #>$400 sta sc+1 - //SEG224 [92] phi from print_cls::@1 to print_cls::@1 [phi:print_cls::@1->print_cls::@1] - //SEG225 [92] phi (byte*) print_cls::sc#2 = (byte*) print_cls::sc#1 [phi:print_cls::@1->print_cls::@1#0] -- register_copy - //SEG226 print_cls::@1 + //SEG221 [92] phi from print_cls::@1 to print_cls::@1 [phi:print_cls::@1->print_cls::@1] + //SEG222 [92] phi (byte*) print_cls::sc#2 = (byte*) print_cls::sc#1 [phi:print_cls::@1->print_cls::@1#0] -- register_copy + //SEG223 print_cls::@1 b1: - //SEG227 [93] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::print_cls:11 [ print_cls::sc#2 ] ) -- _deref_pbuz1=vbuc1 + //SEG224 [93] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::print_cls:11 [ print_cls::sc#2 ] ) -- _deref_pbuz1=vbuc1 lda #' ' ldy #0 sta (sc),y - //SEG228 [94] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 [ print_cls::sc#1 ] ( main:2::print_cls:11 [ print_cls::sc#1 ] ) -- pbuz1=_inc_pbuz1 + //SEG225 [94] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 [ print_cls::sc#1 ] ( main:2::print_cls:11 [ print_cls::sc#1 ] ) -- pbuz1=_inc_pbuz1 inc sc bne !+ inc sc+1 !: - //SEG229 [95] if((byte*) print_cls::sc#1!=((byte*))(word/signed word/dword/signed dword) 1024+(word/signed word/dword/signed dword) 1000) goto print_cls::@1 [ print_cls::sc#1 ] ( main:2::print_cls:11 [ print_cls::sc#1 ] ) -- pbuz1_neq_pbuc1_then_la1 + //SEG226 [95] if((byte*) print_cls::sc#1!=((byte*))(word/signed word/dword/signed dword) 1024+(word/signed word/dword/signed dword) 1000) goto print_cls::@1 [ print_cls::sc#1 ] ( main:2::print_cls:11 [ print_cls::sc#1 ] ) -- pbuz1_neq_pbuc1_then_la1 lda sc+1 cmp #>$400+$3e8 bne b1 lda sc cmp #<$400+$3e8 bne b1 - //SEG230 print_cls::@return - //SEG231 [96] return [ ] ( main:2::print_cls:11 [ ] ) + //SEG227 print_cls::@return + //SEG228 [96] return [ ] ( main:2::print_cls:11 [ ] ) rts } -//SEG232 lin16u_gen +//SEG229 lin16u_gen lin16u_gen: { .label _5 = 5 .label ampl = 3 - .label stepi = $15 - .label stepf = $13 - .label step = $17 + .label stepi = $13 + .label stepf = $11 + .label step = $15 .label val = 9 - .label lintab = $d + .label lintab = 7 .label i = 3 .label max = 3 .label min = 5 - .label length = 7 - //SEG233 [98] (word) lin16u_gen::ampl#0 ← (word) lin16u_gen::max#3 - (word) lin16u_gen::min#3 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 ] ) -- vwuz1=vwuz1_minus_vwuz2 + //SEG230 [98] (word) lin16u_gen::ampl#0 ← (word) lin16u_gen::max#3 - (word) lin16u_gen::min#3 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 ] ) -- vwuz1=vwuz1_minus_vwuz2 lda ampl sec sbc min @@ -6998,58 +6911,50 @@ lin16u_gen: { lda ampl+1 sbc min+1 sta ampl+1 - //SEG234 [99] (word) divr16u::divisor#0 ← (word) lin16u_gen::length#3 - (byte/signed byte/word/signed word/dword/signed dword) 1 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 divr16u::divisor#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 divr16u::divisor#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 divr16u::divisor#0 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 divr16u::divisor#0 ] ) -- vwuz1=vwuz2_minus_1 - lda length - sec - sbc #1 - sta divr16u.divisor - lda length+1 - sbc #0 - sta divr16u.divisor+1 - //SEG235 [100] (word) divr16u::dividend#1 ← (word) lin16u_gen::ampl#0 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#0 divr16u::dividend#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#0 divr16u::dividend#1 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#0 divr16u::dividend#1 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#0 divr16u::dividend#1 ] ) + //SEG231 [99] (word) divr16u::dividend#1 ← (word) lin16u_gen::ampl#0 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::dividend#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::dividend#1 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::dividend#1 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::dividend#1 ] ) // (word) divr16u::dividend#1 = (word) lin16u_gen::ampl#0 // register copy zp ZP_WORD:3 - //SEG236 [101] call divr16u param-assignment [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] ) - //SEG237 [119] phi from lin16u_gen to divr16u [phi:lin16u_gen->divr16u] - //SEG238 [119] phi (word) divr16u::divisor#6 = (word) divr16u::divisor#0 [phi:lin16u_gen->divr16u#0] -- register_copy - //SEG239 [119] phi (word) divr16u::dividend#5 = (word) divr16u::dividend#1 [phi:lin16u_gen->divr16u#1] -- register_copy - //SEG240 [119] phi (word) divr16u::rem#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:lin16u_gen->divr16u#2] -- vwuz1=vbuc1 + //SEG232 [100] call divr16u param-assignment [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] ) + //SEG233 [117] phi from lin16u_gen to divr16u [phi:lin16u_gen->divr16u] + //SEG234 [117] phi (word) divr16u::divisor#6 = (byte/signed byte/word/signed word/dword/signed dword) 20-(byte/signed byte/word/signed word/dword/signed dword) 1 [phi:lin16u_gen->divr16u#0] -- vwuz1=vbuc1 + lda #<$14-1 + sta divr16u.divisor + lda #>$14-1 + sta divr16u.divisor+1 + //SEG235 [117] phi (word) divr16u::dividend#5 = (word) divr16u::dividend#1 [phi:lin16u_gen->divr16u#1] -- register_copy + //SEG236 [117] phi (word) divr16u::rem#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:lin16u_gen->divr16u#2] -- vwuz1=vbuc1 lda #<0 sta divr16u.rem sta divr16u.rem+1 jsr divr16u - //SEG241 [102] (word) divr16u::return#2 ← (word) divr16u::return#0 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#2 rem16u#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#2 rem16u#1 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#2 rem16u#1 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#2 rem16u#1 ] ) - // (word) divr16u::return#2 = (word) divr16u::return#0 // register copy zp ZP_WORD:19 - //SEG242 lin16u_gen::@3 - //SEG243 [103] (word) lin16u_gen::stepi#0 ← (word) divr16u::return#2 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 rem16u#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 rem16u#1 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 rem16u#1 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 rem16u#1 ] ) -- vwuz1=vwuz2 + //SEG237 [101] (word) divr16u::return#2 ← (word) divr16u::return#0 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#2 rem16u#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#2 rem16u#1 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#2 rem16u#1 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#2 rem16u#1 ] ) + // (word) divr16u::return#2 = (word) divr16u::return#0 // register copy zp ZP_WORD:17 + //SEG238 lin16u_gen::@3 + //SEG239 [102] (word) lin16u_gen::stepi#0 ← (word) divr16u::return#2 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 rem16u#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 rem16u#1 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 rem16u#1 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 rem16u#1 ] ) -- vwuz1=vwuz2 lda divr16u.return sta stepi lda divr16u.return+1 sta stepi+1 - //SEG244 [104] (word) divr16u::divisor#1 ← (word) lin16u_gen::length#3 - (byte/signed byte/word/signed word/dword/signed dword) 1 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#1 rem16u#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#1 rem16u#1 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#1 rem16u#1 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#1 rem16u#1 ] ) -- vwuz1=vwuz2_minus_1 - lda length - sec - sbc #1 + //SEG240 [103] (word) divr16u::rem#4 ← (word) rem16u#1 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#4 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#4 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#4 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#4 ] ) + // (word) divr16u::rem#4 = (word) rem16u#1 // register copy zp ZP_WORD:15 + //SEG241 [104] call divr16u param-assignment [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 lin16u_gen::stepi#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 lin16u_gen::stepi#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 lin16u_gen::stepi#0 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 lin16u_gen::stepi#0 ] ) + //SEG242 [117] phi from lin16u_gen::@3 to divr16u [phi:lin16u_gen::@3->divr16u] + //SEG243 [117] phi (word) divr16u::divisor#6 = (byte/signed byte/word/signed word/dword/signed dword) 20-(byte/signed byte/word/signed word/dword/signed dword) 1 [phi:lin16u_gen::@3->divr16u#0] -- vwuz1=vbuc1 + lda #<$14-1 sta divr16u.divisor - lda length+1 - sbc #0 + lda #>$14-1 sta divr16u.divisor+1 - //SEG245 [105] (word) divr16u::rem#4 ← (word) rem16u#1 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#1 divr16u::rem#4 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#1 divr16u::rem#4 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#1 divr16u::rem#4 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#1 divr16u::rem#4 ] ) - // (word) divr16u::rem#4 = (word) rem16u#1 // register copy zp ZP_WORD:17 - //SEG246 [106] call divr16u param-assignment [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 lin16u_gen::stepi#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 lin16u_gen::stepi#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 lin16u_gen::stepi#0 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 lin16u_gen::stepi#0 ] ) - //SEG247 [119] phi from lin16u_gen::@3 to divr16u [phi:lin16u_gen::@3->divr16u] - //SEG248 [119] phi (word) divr16u::divisor#6 = (word) divr16u::divisor#1 [phi:lin16u_gen::@3->divr16u#0] -- register_copy - //SEG249 [119] phi (word) divr16u::dividend#5 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:lin16u_gen::@3->divr16u#1] -- vwuz1=vbuc1 + //SEG244 [117] phi (word) divr16u::dividend#5 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:lin16u_gen::@3->divr16u#1] -- vwuz1=vbuc1 lda #<0 sta divr16u.dividend sta divr16u.dividend+1 - //SEG250 [119] phi (word) divr16u::rem#10 = (word) divr16u::rem#4 [phi:lin16u_gen::@3->divr16u#2] -- register_copy + //SEG245 [117] phi (word) divr16u::rem#10 = (word) divr16u::rem#4 [phi:lin16u_gen::@3->divr16u#2] -- register_copy jsr divr16u - //SEG251 [107] (word) divr16u::return#3 ← (word) divr16u::return#0 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#3 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#3 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#3 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#3 ] ) - // (word) divr16u::return#3 = (word) divr16u::return#0 // register copy zp ZP_WORD:19 - //SEG252 lin16u_gen::@4 - //SEG253 [108] (word) lin16u_gen::stepf#0 ← (word) divr16u::return#3 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 lin16u_gen::stepf#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 lin16u_gen::stepf#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 lin16u_gen::stepf#0 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 lin16u_gen::stepf#0 ] ) - // (word) lin16u_gen::stepf#0 = (word) divr16u::return#3 // register copy zp ZP_WORD:19 - //SEG254 [109] (dword) lin16u_gen::step#0 ← (word) lin16u_gen::stepi#0 dw= (word) lin16u_gen::stepf#0 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::step#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::step#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::step#0 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::step#0 ] ) -- vduz1=vwuz2_dword_vwuz3 + //SEG246 [105] (word) divr16u::return#3 ← (word) divr16u::return#0 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#3 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#3 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#3 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#3 ] ) + // (word) divr16u::return#3 = (word) divr16u::return#0 // register copy zp ZP_WORD:17 + //SEG247 lin16u_gen::@4 + //SEG248 [106] (word) lin16u_gen::stepf#0 ← (word) divr16u::return#3 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 lin16u_gen::stepf#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 lin16u_gen::stepf#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 lin16u_gen::stepf#0 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 lin16u_gen::stepf#0 ] ) + // (word) lin16u_gen::stepf#0 = (word) divr16u::return#3 // register copy zp ZP_WORD:17 + //SEG249 [107] (dword) lin16u_gen::step#0 ← (word) lin16u_gen::stepi#0 dw= (word) lin16u_gen::stepf#0 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::step#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::step#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::step#0 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::step#0 ] ) -- vduz1=vwuz2_dword_vwuz3 lda stepi sta step+2 lda stepi+1 @@ -7058,7 +6963,7 @@ lin16u_gen: { sta step lda stepf+1 sta step+1 - //SEG255 [110] (dword) lin16u_gen::val#0 ← (word) lin16u_gen::min#3 dw= (byte/signed byte/word/signed word/dword/signed dword) 0 [ lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::step#0 lin16u_gen::val#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::step#0 lin16u_gen::val#0 ] main:2::lin16u_gen:7 [ lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::step#0 lin16u_gen::val#0 ] main:2::lin16u_gen:9 [ lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::step#0 lin16u_gen::val#0 ] ) -- vduz1=vwuz2_dword_vbuc1 + //SEG250 [108] (dword) lin16u_gen::val#0 ← (word) lin16u_gen::min#3 dw= (byte/signed byte/word/signed word/dword/signed dword) 0 [ lin16u_gen::lintab#5 lin16u_gen::step#0 lin16u_gen::val#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::lintab#5 lin16u_gen::step#0 lin16u_gen::val#0 ] main:2::lin16u_gen:7 [ lin16u_gen::lintab#5 lin16u_gen::step#0 lin16u_gen::val#0 ] main:2::lin16u_gen:9 [ lin16u_gen::lintab#5 lin16u_gen::step#0 lin16u_gen::val#0 ] ) -- vduz1=vwuz2_dword_vbuc1 lda #<0 sta val sta val+1 @@ -7066,32 +6971,32 @@ lin16u_gen: { sta val+2 lda min+1 sta val+3 - //SEG256 [111] phi from lin16u_gen::@4 to lin16u_gen::@1 [phi:lin16u_gen::@4->lin16u_gen::@1] - //SEG257 [111] phi (word) lin16u_gen::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:lin16u_gen::@4->lin16u_gen::@1#0] -- vwuz1=vbuc1 + //SEG251 [109] phi from lin16u_gen::@4 to lin16u_gen::@1 [phi:lin16u_gen::@4->lin16u_gen::@1] + //SEG252 [109] phi (word) lin16u_gen::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:lin16u_gen::@4->lin16u_gen::@1#0] -- vwuz1=vbuc1 lda #<0 sta i sta i+1 - //SEG258 [111] phi (word*) lin16u_gen::lintab#4 = (word*) lin16u_gen::lintab#5 [phi:lin16u_gen::@4->lin16u_gen::@1#1] -- register_copy - //SEG259 [111] phi (dword) lin16u_gen::val#2 = (dword) lin16u_gen::val#0 [phi:lin16u_gen::@4->lin16u_gen::@1#2] -- register_copy - //SEG260 [111] phi from lin16u_gen::@1 to lin16u_gen::@1 [phi:lin16u_gen::@1->lin16u_gen::@1] - //SEG261 [111] phi (word) lin16u_gen::i#2 = (word) lin16u_gen::i#1 [phi:lin16u_gen::@1->lin16u_gen::@1#0] -- register_copy - //SEG262 [111] phi (word*) lin16u_gen::lintab#4 = (word*) lin16u_gen::lintab#3 [phi:lin16u_gen::@1->lin16u_gen::@1#1] -- register_copy - //SEG263 [111] phi (dword) lin16u_gen::val#2 = (dword) lin16u_gen::val#1 [phi:lin16u_gen::@1->lin16u_gen::@1#2] -- register_copy - //SEG264 lin16u_gen::@1 + //SEG253 [109] phi (word*) lin16u_gen::lintab#4 = (word*) lin16u_gen::lintab#5 [phi:lin16u_gen::@4->lin16u_gen::@1#1] -- register_copy + //SEG254 [109] phi (dword) lin16u_gen::val#2 = (dword) lin16u_gen::val#0 [phi:lin16u_gen::@4->lin16u_gen::@1#2] -- register_copy + //SEG255 [109] phi from lin16u_gen::@1 to lin16u_gen::@1 [phi:lin16u_gen::@1->lin16u_gen::@1] + //SEG256 [109] phi (word) lin16u_gen::i#2 = (word) lin16u_gen::i#1 [phi:lin16u_gen::@1->lin16u_gen::@1#0] -- register_copy + //SEG257 [109] phi (word*) lin16u_gen::lintab#4 = (word*) lin16u_gen::lintab#3 [phi:lin16u_gen::@1->lin16u_gen::@1#1] -- register_copy + //SEG258 [109] phi (dword) lin16u_gen::val#2 = (dword) lin16u_gen::val#1 [phi:lin16u_gen::@1->lin16u_gen::@1#2] -- register_copy + //SEG259 lin16u_gen::@1 b1: - //SEG265 [112] (word~) lin16u_gen::$5 ← > (dword) lin16u_gen::val#2 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::$5 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::$5 ] main:2::lin16u_gen:7 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::$5 ] main:2::lin16u_gen:9 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::$5 ] ) -- vwuz1=_hi_vduz2 + //SEG260 [110] (word~) lin16u_gen::$5 ← > (dword) lin16u_gen::val#2 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::$5 ] ( main:2::lin16u_gen:5 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::$5 ] main:2::lin16u_gen:7 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::$5 ] main:2::lin16u_gen:9 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::$5 ] ) -- vwuz1=_hi_vduz2 lda val+2 sta _5 lda val+3 sta _5+1 - //SEG266 [113] *((word*) lin16u_gen::lintab#4) ← (word~) lin16u_gen::$5 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] main:2::lin16u_gen:7 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] main:2::lin16u_gen:9 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] ) -- _deref_pwuz1=vwuz2 + //SEG261 [111] *((word*) lin16u_gen::lintab#4) ← (word~) lin16u_gen::$5 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] ( main:2::lin16u_gen:5 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] main:2::lin16u_gen:7 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] main:2::lin16u_gen:9 [ lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] ) -- _deref_pwuz1=vwuz2 ldy #0 lda _5 sta (lintab),y iny lda _5+1 sta (lintab),y - //SEG267 [114] (dword) lin16u_gen::val#1 ← (dword) lin16u_gen::val#2 + (dword) lin16u_gen::step#0 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::val#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::val#1 ] main:2::lin16u_gen:7 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::val#1 ] main:2::lin16u_gen:9 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::val#1 ] ) -- vduz1=vduz1_plus_vduz2 + //SEG262 [112] (dword) lin16u_gen::val#1 ← (dword) lin16u_gen::val#2 + (dword) lin16u_gen::step#0 [ lin16u_gen::step#0 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::val#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::step#0 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::val#1 ] main:2::lin16u_gen:7 [ lin16u_gen::step#0 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::val#1 ] main:2::lin16u_gen:9 [ lin16u_gen::step#0 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::val#1 ] ) -- vduz1=vduz1_plus_vduz2 lda val clc adc step @@ -7105,7 +7010,7 @@ lin16u_gen: { lda val+3 adc step+3 sta val+3 - //SEG268 [115] (word*) lin16u_gen::lintab#3 ← (word*) lin16u_gen::lintab#4 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::i#2 lin16u_gen::val#1 lin16u_gen::lintab#3 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::i#2 lin16u_gen::val#1 lin16u_gen::lintab#3 ] main:2::lin16u_gen:7 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::i#2 lin16u_gen::val#1 lin16u_gen::lintab#3 ] main:2::lin16u_gen:9 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::i#2 lin16u_gen::val#1 lin16u_gen::lintab#3 ] ) -- pwuz1=pwuz1_plus_2 + //SEG263 [113] (word*) lin16u_gen::lintab#3 ← (word*) lin16u_gen::lintab#4 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ lin16u_gen::step#0 lin16u_gen::i#2 lin16u_gen::val#1 lin16u_gen::lintab#3 ] ( main:2::lin16u_gen:5 [ lin16u_gen::step#0 lin16u_gen::i#2 lin16u_gen::val#1 lin16u_gen::lintab#3 ] main:2::lin16u_gen:7 [ lin16u_gen::step#0 lin16u_gen::i#2 lin16u_gen::val#1 lin16u_gen::lintab#3 ] main:2::lin16u_gen:9 [ lin16u_gen::step#0 lin16u_gen::i#2 lin16u_gen::val#1 lin16u_gen::lintab#3 ] ) -- pwuz1=pwuz1_plus_2 lda lintab clc adc #2 @@ -7113,73 +7018,73 @@ lin16u_gen: { bcc !+ inc lintab+1 !: - //SEG269 [116] (word) lin16u_gen::i#1 ← ++ (word) lin16u_gen::i#2 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] main:2::lin16u_gen:7 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] main:2::lin16u_gen:9 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] ) -- vwuz1=_inc_vwuz1 + //SEG264 [114] (word) lin16u_gen::i#1 ← ++ (word) lin16u_gen::i#2 [ lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] main:2::lin16u_gen:7 [ lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] main:2::lin16u_gen:9 [ lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] ) -- vwuz1=_inc_vwuz1 inc i bne !+ inc i+1 !: - //SEG270 [117] if((word) lin16u_gen::i#1<(word) lin16u_gen::length#3) goto lin16u_gen::@1 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] main:2::lin16u_gen:7 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] main:2::lin16u_gen:9 [ lin16u_gen::length#3 lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] ) -- vwuz1_lt_vwuz2_then_la1 + //SEG265 [115] if((word) lin16u_gen::i#1<(byte/signed byte/word/signed word/dword/signed dword) 20) goto lin16u_gen::@1 [ lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] main:2::lin16u_gen:7 [ lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] main:2::lin16u_gen:9 [ lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] ) -- vwuz1_lt_vbuc1_then_la1 lda i+1 - cmp length+1 + cmp #>$14 bcc b1 bne !+ lda i - cmp length + cmp #<$14 bcc b1 !: - //SEG271 lin16u_gen::@return - //SEG272 [118] return [ ] ( main:2::lin16u_gen:5 [ ] main:2::lin16u_gen:7 [ ] main:2::lin16u_gen:9 [ ] ) + //SEG266 lin16u_gen::@return + //SEG267 [116] return [ ] ( main:2::lin16u_gen:5 [ ] main:2::lin16u_gen:7 [ ] main:2::lin16u_gen:9 [ ] ) rts } -//SEG273 divr16u +//SEG268 divr16u divr16u: { - .label rem = $11 + .label rem = $f .label dividend = 3 - .label quotient = $13 - .label return = $13 - .label divisor = $f - //SEG274 [120] phi from divr16u to divr16u::@1 [phi:divr16u->divr16u::@1] - //SEG275 [120] phi (byte) divr16u::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#0] -- vbuxx=vbuc1 + .label quotient = $11 + .label return = $11 + .label divisor = $d + //SEG269 [118] phi from divr16u to divr16u::@1 [phi:divr16u->divr16u::@1] + //SEG270 [118] phi (byte) divr16u::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#0] -- vbuxx=vbuc1 ldx #0 - //SEG276 [120] phi (word) divr16u::quotient#3 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#1] -- vwuz1=vbuc1 + //SEG271 [118] phi (word) divr16u::quotient#3 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#1] -- vwuz1=vbuc1 txa sta quotient sta quotient+1 - //SEG277 [120] phi (word) divr16u::dividend#3 = (word) divr16u::dividend#5 [phi:divr16u->divr16u::@1#2] -- register_copy - //SEG278 [120] phi (word) divr16u::rem#5 = (word) divr16u::rem#10 [phi:divr16u->divr16u::@1#3] -- register_copy - //SEG279 [120] phi from divr16u::@3 to divr16u::@1 [phi:divr16u::@3->divr16u::@1] - //SEG280 [120] phi (byte) divr16u::i#2 = (byte) divr16u::i#1 [phi:divr16u::@3->divr16u::@1#0] -- register_copy - //SEG281 [120] phi (word) divr16u::quotient#3 = (word) divr16u::return#0 [phi:divr16u::@3->divr16u::@1#1] -- register_copy - //SEG282 [120] phi (word) divr16u::dividend#3 = (word) divr16u::dividend#0 [phi:divr16u::@3->divr16u::@1#2] -- register_copy - //SEG283 [120] phi (word) divr16u::rem#5 = (word) divr16u::rem#11 [phi:divr16u::@3->divr16u::@1#3] -- register_copy - //SEG284 divr16u::@1 + //SEG272 [118] phi (word) divr16u::dividend#3 = (word) divr16u::dividend#5 [phi:divr16u->divr16u::@1#2] -- register_copy + //SEG273 [118] phi (word) divr16u::rem#5 = (word) divr16u::rem#10 [phi:divr16u->divr16u::@1#3] -- register_copy + //SEG274 [118] phi from divr16u::@3 to divr16u::@1 [phi:divr16u::@3->divr16u::@1] + //SEG275 [118] phi (byte) divr16u::i#2 = (byte) divr16u::i#1 [phi:divr16u::@3->divr16u::@1#0] -- register_copy + //SEG276 [118] phi (word) divr16u::quotient#3 = (word) divr16u::return#0 [phi:divr16u::@3->divr16u::@1#1] -- register_copy + //SEG277 [118] phi (word) divr16u::dividend#3 = (word) divr16u::dividend#0 [phi:divr16u::@3->divr16u::@1#2] -- register_copy + //SEG278 [118] phi (word) divr16u::rem#5 = (word) divr16u::rem#11 [phi:divr16u::@3->divr16u::@1#3] -- register_copy + //SEG279 divr16u::@1 b1: - //SEG285 [121] (word) divr16u::rem#0 ← (word) divr16u::rem#5 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) -- vwuz1=vwuz1_rol_1 + //SEG280 [119] (word) divr16u::rem#0 ← (word) divr16u::rem#5 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) -- vwuz1=vwuz1_rol_1 asl rem rol rem+1 - //SEG286 [122] (byte~) divr16u::$1 ← > (word) divr16u::dividend#3 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) -- vbuaa=_hi_vwuz1 + //SEG281 [120] (byte~) divr16u::$1 ← > (word) divr16u::dividend#3 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) -- vbuaa=_hi_vwuz1 lda dividend+1 - //SEG287 [123] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) -- vbuaa=vbuaa_band_vbuc1 + //SEG282 [121] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) -- vbuaa=vbuaa_band_vbuc1 and #$80 - //SEG288 [124] if((byte~) divr16u::$2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto divr16u::@2 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) -- vbuaa_eq_0_then_la1 + //SEG283 [122] if((byte~) divr16u::$2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto divr16u::@2 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) -- vbuaa_eq_0_then_la1 cmp #0 beq b2 - //SEG289 divr16u::@4 - //SEG290 [125] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) -- vwuz1=vwuz1_bor_vbuc1 + //SEG284 divr16u::@4 + //SEG285 [123] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) -- vwuz1=vwuz1_bor_vbuc1 lda #1 ora rem sta rem - //SEG291 [126] phi from divr16u::@1 divr16u::@4 to divr16u::@2 [phi:divr16u::@1/divr16u::@4->divr16u::@2] - //SEG292 [126] phi (word) divr16u::rem#6 = (word) divr16u::rem#0 [phi:divr16u::@1/divr16u::@4->divr16u::@2#0] -- register_copy - //SEG293 divr16u::@2 + //SEG286 [124] phi from divr16u::@1 divr16u::@4 to divr16u::@2 [phi:divr16u::@1/divr16u::@4->divr16u::@2] + //SEG287 [124] phi (word) divr16u::rem#6 = (word) divr16u::rem#0 [phi:divr16u::@1/divr16u::@4->divr16u::@2#0] -- register_copy + //SEG288 divr16u::@2 b2: - //SEG294 [127] (word) divr16u::dividend#0 ← (word) divr16u::dividend#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ) -- vwuz1=vwuz1_rol_1 + //SEG289 [125] (word) divr16u::dividend#0 ← (word) divr16u::dividend#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ) -- vwuz1=vwuz1_rol_1 asl dividend rol dividend+1 - //SEG295 [128] (word) divr16u::quotient#1 ← (word) divr16u::quotient#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) -- vwuz1=vwuz1_rol_1 + //SEG290 [126] (word) divr16u::quotient#1 ← (word) divr16u::quotient#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) -- vwuz1=vwuz1_rol_1 asl quotient rol quotient+1 - //SEG296 [129] if((word) divr16u::rem#6<(word) divr16u::divisor#6) goto divr16u::@3 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) -- vwuz1_lt_vwuz2_then_la1 + //SEG291 [127] if((word) divr16u::rem#6<(word) divr16u::divisor#6) goto divr16u::@3 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) -- vwuz1_lt_vwuz2_then_la1 lda rem+1 cmp divisor+1 bcc b3 @@ -7188,13 +7093,13 @@ divr16u: { cmp divisor bcc b3 !: - //SEG297 divr16u::@5 - //SEG298 [130] (word) divr16u::quotient#2 ← ++ (word) divr16u::quotient#1 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] ) -- vwuz1=_inc_vwuz1 + //SEG292 divr16u::@5 + //SEG293 [128] (word) divr16u::quotient#2 ← ++ (word) divr16u::quotient#1 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] ) -- vwuz1=_inc_vwuz1 inc quotient bne !+ inc quotient+1 !: - //SEG299 [131] (word) divr16u::rem#2 ← (word) divr16u::rem#6 - (word) divr16u::divisor#6 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ) -- vwuz1=vwuz1_minus_vwuz2 + //SEG294 [129] (word) divr16u::rem#2 ← (word) divr16u::rem#6 - (word) divr16u::divisor#6 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ) -- vwuz1=vwuz1_minus_vwuz2 lda rem sec sbc divisor @@ -7202,21 +7107,21 @@ divr16u: { lda rem+1 sbc divisor+1 sta rem+1 - //SEG300 [132] phi from divr16u::@2 divr16u::@5 to divr16u::@3 [phi:divr16u::@2/divr16u::@5->divr16u::@3] - //SEG301 [132] phi (word) divr16u::return#0 = (word) divr16u::quotient#1 [phi:divr16u::@2/divr16u::@5->divr16u::@3#0] -- register_copy - //SEG302 [132] phi (word) divr16u::rem#11 = (word) divr16u::rem#6 [phi:divr16u::@2/divr16u::@5->divr16u::@3#1] -- register_copy - //SEG303 divr16u::@3 + //SEG295 [130] phi from divr16u::@2 divr16u::@5 to divr16u::@3 [phi:divr16u::@2/divr16u::@5->divr16u::@3] + //SEG296 [130] phi (word) divr16u::return#0 = (word) divr16u::quotient#1 [phi:divr16u::@2/divr16u::@5->divr16u::@3#0] -- register_copy + //SEG297 [130] phi (word) divr16u::rem#11 = (word) divr16u::rem#6 [phi:divr16u::@2/divr16u::@5->divr16u::@3#1] -- register_copy + //SEG298 divr16u::@3 b3: - //SEG304 [133] (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2 [ divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ) -- vbuxx=_inc_vbuxx + //SEG299 [131] (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2 [ divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ) -- vbuxx=_inc_vbuxx inx - //SEG305 [134] if((byte) divr16u::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto divr16u::@1 [ divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ) -- vbuxx_neq_vbuc1_then_la1 + //SEG300 [132] if((byte) divr16u::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto divr16u::@1 [ divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ) -- vbuxx_neq_vbuc1_then_la1 cpx #$10 bne b1 - //SEG306 divr16u::@6 - //SEG307 [135] (word) rem16u#1 ← (word) divr16u::rem#11 [ divr16u::return#0 rem16u#1 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] ) - // (word) rem16u#1 = (word) divr16u::rem#11 // register copy zp ZP_WORD:17 - //SEG308 divr16u::@return - //SEG309 [136] return [ divr16u::return#0 rem16u#1 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] ) + //SEG301 divr16u::@6 + //SEG302 [133] (word) rem16u#1 ← (word) divr16u::rem#11 [ divr16u::return#0 rem16u#1 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] ) + // (word) rem16u#1 = (word) divr16u::rem#11 // register copy zp ZP_WORD:15 + //SEG303 divr16u::@return + //SEG304 [134] return [ divr16u::return#0 rem16u#1 ] ( main:2::lin16u_gen:5::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:7::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:9::divr16u:100 [ lin16u_gen::min#3 lin16u_gen::lintab#5 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:5::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:7::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] main:2::lin16u_gen:9::divr16u:104 [ lin16u_gen::min#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::return#0 rem16u#1 ] ) rts } print_hextab: .text "0123456789abcdef" diff --git a/src/test/java/dk/camelot64/kickc/test/ref/linegen.sym b/src/test/java/dk/camelot64/kickc/test/ref/linegen.sym index a3a5419b6..9e0b24ab2 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/linegen.sym +++ b/src/test/java/dk/camelot64/kickc/test/ref/linegen.sym @@ -17,29 +17,27 @@ (word) divr16u::dividend#3 dividend zp ZP_WORD:3 5.0 (word) divr16u::dividend#5 dividend zp ZP_WORD:3 4.0 (word) divr16u::divisor -(word) divr16u::divisor#0 divisor zp ZP_WORD:15 2.0 -(word) divr16u::divisor#1 divisor zp ZP_WORD:15 2.0 -(word) divr16u::divisor#6 divisor zp ZP_WORD:15 1.625 +(word) divr16u::divisor#6 divisor zp ZP_WORD:13 1.375 (byte) divr16u::i (byte) divr16u::i#1 reg byte x 16.5 (byte) divr16u::i#2 reg byte x 1.6923076923076923 (word) divr16u::quotient -(word) divr16u::quotient#1 quotient zp ZP_WORD:19 16.5 -(word) divr16u::quotient#2 quotient zp ZP_WORD:19 11.0 -(word) divr16u::quotient#3 quotient zp ZP_WORD:19 2.75 +(word) divr16u::quotient#1 quotient zp ZP_WORD:17 16.5 +(word) divr16u::quotient#2 quotient zp ZP_WORD:17 11.0 +(word) divr16u::quotient#3 quotient zp ZP_WORD:17 2.75 (word) divr16u::rem -(word) divr16u::rem#0 rem zp ZP_WORD:17 8.25 -(word) divr16u::rem#1 rem zp ZP_WORD:17 22.0 -(word) divr16u::rem#10 rem zp ZP_WORD:17 4.0 -(word) divr16u::rem#11 rem zp ZP_WORD:17 11.666666666666666 -(word) divr16u::rem#2 rem zp ZP_WORD:17 22.0 -(word) divr16u::rem#4 rem zp ZP_WORD:17 4.0 -(word) divr16u::rem#5 rem zp ZP_WORD:17 24.0 -(word) divr16u::rem#6 rem zp ZP_WORD:17 11.0 +(word) divr16u::rem#0 rem zp ZP_WORD:15 8.25 +(word) divr16u::rem#1 rem zp ZP_WORD:15 22.0 +(word) divr16u::rem#10 rem zp ZP_WORD:15 4.0 +(word) divr16u::rem#11 rem zp ZP_WORD:15 11.666666666666666 +(word) divr16u::rem#2 rem zp ZP_WORD:15 22.0 +(word) divr16u::rem#4 rem zp ZP_WORD:15 4.0 +(word) divr16u::rem#5 rem zp ZP_WORD:15 24.0 +(word) divr16u::rem#6 rem zp ZP_WORD:15 11.0 (word) divr16u::return -(word) divr16u::return#0 return zp ZP_WORD:19 5.285714285714286 -(word) divr16u::return#2 return zp ZP_WORD:19 4.0 -(word) divr16u::return#3 return zp ZP_WORD:19 4.0 +(word) divr16u::return#0 return zp ZP_WORD:17 5.285714285714286 +(word) divr16u::return#2 return zp ZP_WORD:17 4.0 +(word) divr16u::return#3 return zp ZP_WORD:17 4.0 (void()) lin16u_gen((word) lin16u_gen::min , (word) lin16u_gen::max , (word*) lin16u_gen::lintab , (word) lin16u_gen::length) (word~) lin16u_gen::$5 $5 zp ZP_WORD:5 22.0 (label) lin16u_gen::@1 @@ -47,26 +45,25 @@ (label) lin16u_gen::@4 (label) lin16u_gen::@return (word) lin16u_gen::ampl -(word) lin16u_gen::ampl#0 ampl zp ZP_WORD:3 2.0 +(word) lin16u_gen::ampl#0 ampl zp ZP_WORD:3 4.0 (word) lin16u_gen::i (word) lin16u_gen::i#1 i zp ZP_WORD:3 16.5 (word) lin16u_gen::i#2 i zp ZP_WORD:3 4.4 (word) lin16u_gen::length -(word) lin16u_gen::length#3 length zp ZP_WORD:7 0.7142857142857143 (word*) lin16u_gen::lintab -(word*) lin16u_gen::lintab#3 lintab zp ZP_WORD:13 7.333333333333333 -(word*) lin16u_gen::lintab#4 lintab zp ZP_WORD:13 8.75 -(word*) lin16u_gen::lintab#5 lintab zp ZP_WORD:13 0.14285714285714285 +(word*) lin16u_gen::lintab#3 lintab zp ZP_WORD:7 7.333333333333333 +(word*) lin16u_gen::lintab#4 lintab zp ZP_WORD:7 8.75 +(word*) lin16u_gen::lintab#5 lintab zp ZP_WORD:7 0.16666666666666666 (word) lin16u_gen::max (word) lin16u_gen::max#3 max zp ZP_WORD:3 2.0 (word) lin16u_gen::min -(word) lin16u_gen::min#3 min zp ZP_WORD:5 0.3076923076923077 +(word) lin16u_gen::min#3 min zp ZP_WORD:5 0.36363636363636365 (dword) lin16u_gen::step -(dword) lin16u_gen::step#0 step zp ZP_DWORD:23 1.4444444444444446 +(dword) lin16u_gen::step#0 step zp ZP_DWORD:21 1.4444444444444446 (word) lin16u_gen::stepf -(word) lin16u_gen::stepf#0 stepf zp ZP_WORD:19 4.0 +(word) lin16u_gen::stepf#0 stepf zp ZP_WORD:17 4.0 (word) lin16u_gen::stepi -(word) lin16u_gen::stepi#0 stepi zp ZP_WORD:21 0.6666666666666666 +(word) lin16u_gen::stepi#0 stepi zp ZP_WORD:19 0.8 (dword) lin16u_gen::val (dword) lin16u_gen::val#0 val zp ZP_DWORD:9 4.0 (dword) lin16u_gen::val#1 val zp ZP_DWORD:9 5.5 @@ -175,23 +172,22 @@ (word) print_word::w#4 w zp ZP_WORD:5 22.0 (word) print_word::w#5 w zp ZP_WORD:5 22.0 (word) rem16u -(word) rem16u#1 rem16u zp ZP_WORD:17 0.6666666666666666 +(word) rem16u#1 rem16u zp ZP_WORD:15 0.8 zp ZP_BYTE:2 [ main::i#10 main::i#1 ] zp ZP_WORD:3 [ print_line_cursor#11 print_line_cursor#21 print_line_cursor#1 print_cls::sc#2 print_cls::sc#1 lin16u_gen::max#3 lin16u_gen::ampl#0 divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#1 divr16u::dividend#0 lin16u_gen::i#2 lin16u_gen::i#1 ] zp ZP_WORD:5 [ print_word::w#10 print_word::w#3 print_word::w#4 print_word::w#5 print_str::str#10 print_str::str#12 print_str::str#0 lin16u_gen::min#3 lin16u_gen::$5 ] reg byte x [ print_byte::b#3 print_byte::b#2 print_byte::b#0 print_byte::b#1 ] reg byte a [ print_char::ch#2 print_char::ch#0 print_char::ch#1 ] -zp ZP_WORD:7 [ print_char_cursor#86 print_char_cursor#50 print_char_cursor#81 print_char_cursor#91 print_char_cursor#2 print_char_cursor#11 print_char_cursor#100 print_char_cursor#1 lin16u_gen::length#3 ] +zp ZP_WORD:7 [ print_char_cursor#86 print_char_cursor#50 print_char_cursor#81 print_char_cursor#91 print_char_cursor#2 print_char_cursor#11 print_char_cursor#100 print_char_cursor#1 lin16u_gen::lintab#4 lin16u_gen::lintab#3 lin16u_gen::lintab#5 ] zp ZP_DWORD:9 [ lin16u_gen::val#2 lin16u_gen::val#1 lin16u_gen::val#0 ] -zp ZP_WORD:13 [ lin16u_gen::lintab#4 lin16u_gen::lintab#3 lin16u_gen::lintab#5 ] -zp ZP_WORD:15 [ divr16u::divisor#6 divr16u::divisor#0 divr16u::divisor#1 ] -zp ZP_WORD:17 [ divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 rem16u#1 ] -zp ZP_WORD:19 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 divr16u::return#3 lin16u_gen::stepf#0 ] +zp ZP_WORD:13 [ divr16u::divisor#6 ] +zp ZP_WORD:15 [ divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 rem16u#1 ] +zp ZP_WORD:17 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 divr16u::return#3 lin16u_gen::stepf#0 ] reg byte x [ divr16u::i#2 divr16u::i#1 ] reg byte a [ print_byte::$0 ] reg byte a [ print_byte::$2 ] -zp ZP_WORD:21 [ lin16u_gen::stepi#0 ] -zp ZP_DWORD:23 [ lin16u_gen::step#0 ] +zp ZP_WORD:19 [ lin16u_gen::stepi#0 ] +zp ZP_DWORD:21 [ lin16u_gen::step#0 ] reg byte a [ divr16u::$1 ] reg byte a [ divr16u::$2 ] diff --git a/src/test/java/dk/camelot64/kickc/test/ref/literals.log b/src/test/java/dk/camelot64/kickc/test/ref/literals.log index 4b2e3a01f..a28bb8e8d 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/literals.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/literals.log @@ -190,15 +190,9 @@ Constant (const string) str#0 = "bc"+"d"+'e' Succesful SSA optimization Pass2ConstantIdentification Consolidated array index constant in *(SCREEN#0+0) Consolidated array index constant in *(SCREEN#0+2) -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#2 Consolidated array index constant in assignment *(SCREEN#0+4 + main::$0) -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#2 Consolidated array index constant in assignment *(SCREEN#0+9 + main::$1) -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#2 Succesful SSA optimization Pass2ConstantAdditionElimination -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#2 Inferred type updated to byte in (byte/signed word/word/dword/signed dword~) main::$0 ← (byte) main::i#2 Inferred type updated to byte in (byte/signed word/word/dword/signed dword~) main::$1 ← (byte) main::i#2 Eliminating unused constant (const string) $2 diff --git a/src/test/java/dk/camelot64/kickc/test/ref/longjump.log b/src/test/java/dk/camelot64/kickc/test/ref/longjump.log index 3c430e8ef..1e6db85d4 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/longjump.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/longjump.log @@ -363,8 +363,6 @@ Succesful SSA optimization Pass2ConditionalJumpSimplification Constant (const byte*) main::SCREEN#0 = ((byte*))1024 Constant (const byte) main::i#0 = 0 Succesful SSA optimization Pass2ConstantIdentification -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#2 OPTIMIZING CONTROL FLOW GRAPH Inlining constant with var siblings (const byte) main::i#0 Inlining constant with var siblings (const byte) main::i#0 diff --git a/src/test/java/dk/camelot64/kickc/test/ref/longjump2.log b/src/test/java/dk/camelot64/kickc/test/ref/longjump2.log index def288edc..57c6f577d 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/longjump2.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/longjump2.log @@ -728,10 +728,6 @@ Constant (const byte) long1::i#0 = 0 Constant (const byte*) long2::SCREEN#0 = ((byte*))1024 Constant (const byte) long2::i#0 = 0 Succesful SSA optimization Pass2ConstantIdentification -Multiple usages for variable. Not optimizing sub-constant (byte) long1::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) long2::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) long1::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) long2::i#2 OPTIMIZING CONTROL FLOW GRAPH Inlining constant with var siblings (const byte) long1::i#0 Inlining constant with var siblings (const byte) long1::i#0 diff --git a/src/test/java/dk/camelot64/kickc/test/ref/mem-alignment.log b/src/test/java/dk/camelot64/kickc/test/ref/mem-alignment.log index 6a52e9861..0630a020f 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/mem-alignment.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/mem-alignment.log @@ -151,11 +151,8 @@ Constant (const byte) main::i#0 = 0 Constant (const byte) main::j#0 = 255 Constant (const byte) main::i#2 = 0 Succesful SSA optimization Pass2ConstantIdentification -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#4 Culled Empty Block (label) main::@3 Succesful SSA optimization Pass2CullEmptyBlocks -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#4 -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#4 OPTIMIZING CONTROL FLOW GRAPH Inlining constant with var siblings (const byte) main::i#0 Inlining constant with var siblings (const byte) main::i#0 diff --git a/src/test/java/dk/camelot64/kickc/test/ref/norom-charset.log b/src/test/java/dk/camelot64/kickc/test/ref/norom-charset.log index 589ffe600..726987b21 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/norom-charset.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/norom-charset.log @@ -497,7 +497,6 @@ Constant (const word/dword) main::$9 = main::$6|main::$8 Succesful SSA optimization Pass2ConstantIdentification Constant (const byte) main::$10 = ((byte))main::$9 Succesful SSA optimization Pass2ConstantIdentification -Multiple usages for variable. Not optimizing sub-constant (byte*) main::charset#2 Not aliassing across scopes: gen_char3::dst#0 main::charset#2 Not aliassing across scopes: gen_char3::spec#4 gen_char3::spec#0 Not aliassing across scopes: gen_char3::dst#5 gen_char3::dst#0 @@ -505,10 +504,8 @@ Self Phi Eliminated (byte*) gen_char3::dst#5 Succesful SSA optimization Pass2SelfPhiElimination Redundant Phi (byte*) gen_char3::dst#5 (byte*) gen_char3::dst#0 Succesful SSA optimization Pass2RedundantPhiElimination -Multiple usages for variable. Not optimizing sub-constant (byte*) main::charset#2 Not aliassing across scopes: gen_char3::dst#0 main::charset#2 Not aliassing across scopes: gen_char3::spec#4 gen_char3::spec#0 -Multiple usages for variable. Not optimizing sub-constant (byte*) main::charset#2 OPTIMIZING CONTROL FLOW GRAPH Inlining constant with var siblings (const byte) main::c#0 Inlining constant with var siblings (const byte) main::c#0 diff --git a/src/test/java/dk/camelot64/kickc/test/ref/overlap-allocation-2.log b/src/test/java/dk/camelot64/kickc/test/ref/overlap-allocation-2.log index 3e111541c..77bcdb96e 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/overlap-allocation-2.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/overlap-allocation-2.log @@ -289,7 +289,6 @@ Constant (const byte*) SCREEN#0 = ((byte*))1024 Constant (const byte) main::i#0 = 0 Constant (const byte) main::j#0 = 10 Succesful SSA optimization Pass2ConstantIdentification -Multiple usages for variable. Not optimizing sub-constant (byte) line::l#2 Culled Empty Block (label) main::@3 Succesful SSA optimization Pass2CullEmptyBlocks Not aliassing across scopes: line::l#0 main::i#2 @@ -297,13 +296,11 @@ Not aliassing across scopes: line::l#1 main::j#2 Not aliassing across scopes: line::l#2 line::l#0 Not aliassing across scopes: plot::x#0 line::l#2 Not aliassing across scopes: plot::x#2 plot::x#0 -Multiple usages for variable. Not optimizing sub-constant (byte) line::l#2 Not aliassing across scopes: line::l#0 main::i#2 Not aliassing across scopes: line::l#1 main::j#2 Not aliassing across scopes: line::l#2 line::l#0 Not aliassing across scopes: plot::x#0 line::l#2 Not aliassing across scopes: plot::x#2 plot::x#0 -Multiple usages for variable. Not optimizing sub-constant (byte) line::l#2 OPTIMIZING CONTROL FLOW GRAPH Inlining constant with var siblings (const byte) main::i#0 Inlining constant with var siblings (const byte) main::i#0 diff --git a/src/test/java/dk/camelot64/kickc/test/ref/ptr-complex.log b/src/test/java/dk/camelot64/kickc/test/ref/ptr-complex.log index cdb266dad..c44b82eb9 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/ptr-complex.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/ptr-complex.log @@ -286,14 +286,6 @@ Constant (const byte*) main::$8 = main::screen#0+160 Constant (const byte*) main::$10 = main::screen#0+200 Constant (const byte*) main::$17 = ((byte*))main::$16 Succesful SSA optimization Pass2ConstantIdentification -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) main::j#2 -Multiple usages for variable. Not optimizing sub-constant (byte) main::j#2 -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) main::j#2 -Multiple usages for variable. Not optimizing sub-constant (byte) main::j#2 OPTIMIZING CONTROL FLOW GRAPH Inlining constant with var siblings (const byte) main::i#0 Inlining constant with var siblings (const byte) main::i#0 diff --git a/src/test/java/dk/camelot64/kickc/test/ref/scroll.log b/src/test/java/dk/camelot64/kickc/test/ref/scroll.log index 3e305be0d..94083be9b 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/scroll.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/scroll.log @@ -688,12 +688,9 @@ Constant (const byte*) main::line#0 = SCREEN#0+40 Succesful SSA optimization Pass2ConstantIdentification Constant (const byte*) fillscreen::$0 = fillscreen::screen#0+1000 Succesful SSA optimization Pass2ConstantIdentification -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#2 Consolidated array index constant in assignment *(main::line#0+1 + main::$6) Consolidated array index constant in *(main::line#0+39) Succesful SSA optimization Pass2ConstantAdditionElimination -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#2 if() condition always true - replacing block destination if(true) goto main::@1 Succesful SSA optimization Pass2ConstantIfs Inferred type updated to byte in (byte/signed word/word/dword/signed dword~) main::$6 ← (byte) main::i#2 diff --git a/src/test/java/dk/camelot64/kickc/test/ref/scrollbig.log b/src/test/java/dk/camelot64/kickc/test/ref/scrollbig.log index 9b85c0baf..80c7099bf 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/scrollbig.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/scrollbig.log @@ -1756,57 +1756,8 @@ Constant (const byte*) fillscreen::screen#0 = SCREEN#0 Succesful SSA optimization Pass2ConstantIdentification Constant (const byte*) fillscreen::$0 = fillscreen::screen#0+1000 Succesful SSA optimization Pass2ConstantIdentification -Multiple usages for variable. Not optimizing sub-constant (byte*) SCREEN#17 Consolidated constant in assignment scroll_bit::sc#0 -Multiple usages for variable. Not optimizing sub-constant (byte*) SCREEN#17 -Multiple usages for variable. Not optimizing sub-constant (byte*) SCREEN#17 -Multiple usages for variable. Not optimizing sub-constant (byte) scroll_hard::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte*) SCREEN#17 -Multiple usages for variable. Not optimizing sub-constant (byte*) SCREEN#17 -Multiple usages for variable. Not optimizing sub-constant (byte) scroll_hard::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte*) SCREEN#17 -Multiple usages for variable. Not optimizing sub-constant (byte*) SCREEN#17 -Multiple usages for variable. Not optimizing sub-constant (byte) scroll_hard::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte*) SCREEN#17 -Multiple usages for variable. Not optimizing sub-constant (byte*) SCREEN#17 -Multiple usages for variable. Not optimizing sub-constant (byte) scroll_hard::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte*) SCREEN#17 -Multiple usages for variable. Not optimizing sub-constant (byte*) SCREEN#17 -Multiple usages for variable. Not optimizing sub-constant (byte) scroll_hard::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte*) SCREEN#17 -Multiple usages for variable. Not optimizing sub-constant (byte*) SCREEN#17 -Multiple usages for variable. Not optimizing sub-constant (byte) scroll_hard::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte*) SCREEN#17 -Multiple usages for variable. Not optimizing sub-constant (byte*) SCREEN#17 -Multiple usages for variable. Not optimizing sub-constant (byte) scroll_hard::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte*) SCREEN#17 -Multiple usages for variable. Not optimizing sub-constant (byte*) SCREEN#17 -Multiple usages for variable. Not optimizing sub-constant (byte) scroll_hard::i#2 Succesful SSA optimization Pass2ConstantAdditionElimination -Multiple usages for variable. Not optimizing sub-constant (byte*) SCREEN#17 -Multiple usages for variable. Not optimizing sub-constant (byte*) SCREEN#17 -Multiple usages for variable. Not optimizing sub-constant (byte) scroll_hard::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte*) SCREEN#17 -Multiple usages for variable. Not optimizing sub-constant (byte*) SCREEN#17 -Multiple usages for variable. Not optimizing sub-constant (byte) scroll_hard::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte*) SCREEN#17 -Multiple usages for variable. Not optimizing sub-constant (byte*) SCREEN#17 -Multiple usages for variable. Not optimizing sub-constant (byte) scroll_hard::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte*) SCREEN#17 -Multiple usages for variable. Not optimizing sub-constant (byte*) SCREEN#17 -Multiple usages for variable. Not optimizing sub-constant (byte) scroll_hard::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte*) SCREEN#17 -Multiple usages for variable. Not optimizing sub-constant (byte*) SCREEN#17 -Multiple usages for variable. Not optimizing sub-constant (byte) scroll_hard::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte*) SCREEN#17 -Multiple usages for variable. Not optimizing sub-constant (byte*) SCREEN#17 -Multiple usages for variable. Not optimizing sub-constant (byte) scroll_hard::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte*) SCREEN#17 -Multiple usages for variable. Not optimizing sub-constant (byte*) SCREEN#17 -Multiple usages for variable. Not optimizing sub-constant (byte) scroll_hard::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte*) SCREEN#17 -Multiple usages for variable. Not optimizing sub-constant (byte*) SCREEN#17 -Multiple usages for variable. Not optimizing sub-constant (byte) scroll_hard::i#2 if() condition always true - replacing block destination if(true) goto main::@1 Succesful SSA optimization Pass2ConstantIfs Removing unused block main::@return @@ -1877,39 +1828,15 @@ Constant (const byte*) scroll_hard::$38 = SCREEN#0+scroll_hard::$37 Succesful SSA optimization Pass2ConstantIdentification Constant (const byte*) scroll_bit::sc#0 = scroll_bit::$7+40+39 Succesful SSA optimization Pass2ConstantIdentification -Multiple usages for variable. Not optimizing sub-constant (byte) scroll_hard::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) scroll_hard::i#2 Consolidated array index constant in assignment *(scroll_hard::$3+1 + scroll_hard::$4) -Multiple usages for variable. Not optimizing sub-constant (byte) scroll_hard::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) scroll_hard::i#2 Consolidated array index constant in assignment *(scroll_hard::$8+1 + scroll_hard::$9) -Multiple usages for variable. Not optimizing sub-constant (byte) scroll_hard::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) scroll_hard::i#2 Consolidated array index constant in assignment *(scroll_hard::$13+1 + scroll_hard::$14) -Multiple usages for variable. Not optimizing sub-constant (byte) scroll_hard::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) scroll_hard::i#2 Consolidated array index constant in assignment *(scroll_hard::$18+1 + scroll_hard::$19) -Multiple usages for variable. Not optimizing sub-constant (byte) scroll_hard::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) scroll_hard::i#2 Consolidated array index constant in assignment *(scroll_hard::$23+1 + scroll_hard::$24) -Multiple usages for variable. Not optimizing sub-constant (byte) scroll_hard::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) scroll_hard::i#2 Consolidated array index constant in assignment *(scroll_hard::$28+1 + scroll_hard::$29) -Multiple usages for variable. Not optimizing sub-constant (byte) scroll_hard::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) scroll_hard::i#2 Consolidated array index constant in assignment *(scroll_hard::$33+1 + scroll_hard::$34) -Multiple usages for variable. Not optimizing sub-constant (byte) scroll_hard::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) scroll_hard::i#2 Consolidated array index constant in assignment *(scroll_hard::$38+1 + scroll_hard::$39) Succesful SSA optimization Pass2ConstantAdditionElimination -Multiple usages for variable. Not optimizing sub-constant (byte) scroll_hard::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) scroll_hard::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) scroll_hard::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) scroll_hard::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) scroll_hard::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) scroll_hard::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) scroll_hard::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) scroll_hard::i#2 Inferred type updated to byte in (byte/signed word/word/dword/signed dword~) scroll_hard::$4 ← (byte) scroll_hard::i#2 Inferred type updated to byte in (byte/signed word/word/dword/signed dword~) scroll_hard::$9 ← (byte) scroll_hard::i#2 Inferred type updated to byte in (byte/signed word/word/dword/signed dword~) scroll_hard::$14 ← (byte) scroll_hard::i#2 diff --git a/src/test/java/dk/camelot64/kickc/test/ref/sinus-sprites.asm b/src/test/java/dk/camelot64/kickc/test/ref/sinus-sprites.asm index e42da6b23..6335bb124 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/sinus-sprites.asm +++ b/src/test/java/dk/camelot64/kickc/test/ref/sinus-sprites.asm @@ -233,10 +233,6 @@ gen_sintab: { lda #>f_amp sta setMEMtoFAC.mem+1 jsr setMEMtoFAC - lda #f_min - sta addMEMtoFAC.mem+1 jsr addMEMtoFAC lda #f_amp sta mulFACbyMEM.mem+1 jsr mulFACbyMEM - lda #f_min - sta addMEMtoFAC.mem+1 jsr addMEMtoFAC jsr getFAC lda _23 @@ -331,7 +323,10 @@ getFAC: { rts } addMEMtoFAC: { - .label mem = $c + lda #gen_sintab.f_min + sta prepareMEM.mem+1 jsr prepareMEM lda $fe ldy $ff diff --git a/src/test/java/dk/camelot64/kickc/test/ref/sinus-sprites.cfg b/src/test/java/dk/camelot64/kickc/test/ref/sinus-sprites.cfg index 80763ef02..c010edf13 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/sinus-sprites.cfg +++ b/src/test/java/dk/camelot64/kickc/test/ref/sinus-sprites.cfg @@ -261,202 +261,201 @@ getFAC::@return: scope:[getFAC] from getFAC [131] return [ getFAC::return#0 ] ( main:2::init:5::gen_sintab:57::getFAC:113 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 getFAC::return#0 ] main:2::init:5::gen_sintab:61::getFAC:113 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 getFAC::return#0 ] ) to:@return addMEMtoFAC: scope:[addMEMtoFAC] from gen_sintab::@11 gen_sintab::@20 - [132] (byte*) addMEMtoFAC::mem#2 ← phi( gen_sintab::@11/(const byte[]) gen_sintab::f_min#0 gen_sintab::@20/(const byte[]) gen_sintab::f_min#0 ) [ addMEMtoFAC::mem#2 ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 addMEMtoFAC::mem#2 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 addMEMtoFAC::mem#2 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 addMEMtoFAC::mem#2 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 addMEMtoFAC::mem#2 ] ) - [133] (byte*) prepareMEM::mem#2 ← (byte*) addMEMtoFAC::mem#2 [ prepareMEM::mem#2 ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#2 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#2 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#2 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#2 ] ) - [134] call prepareMEM param-assignment [ ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + [132] phi() [ ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + [133] call prepareMEM param-assignment [ ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) to:addMEMtoFAC::@1 addMEMtoFAC::@1: scope:[addMEMtoFAC] from addMEMtoFAC asm { lda$fe ldy$ff jsr$b867 } to:addMEMtoFAC::@return addMEMtoFAC::@return: scope:[addMEMtoFAC] from addMEMtoFAC::@1 - [136] return [ ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + [135] return [ ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) to:@return prepareMEM: scope:[prepareMEM] from addMEMtoFAC divMEMbyFAC mulFACbyMEM setFAC setMEMtoFAC - [137] (byte*) prepareMEM::mem#5 ← phi( addMEMtoFAC/(byte*) prepareMEM::mem#2 divMEMbyFAC/(byte*) prepareMEM::mem#3 mulFACbyMEM/(byte*) prepareMEM::mem#4 setFAC/(byte*~) prepareMEM::mem#9 setMEMtoFAC/(byte*) prepareMEM::mem#1 ) [ prepareMEM::mem#5 ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:99::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:88::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:73::prepareMEM:157 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:73::prepareMEM:157 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:78::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:78::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:86::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:86::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:97::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:97::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:103::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:103::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:80::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] ) - [138] (byte~) prepareMEM::$0 ← < (byte*) prepareMEM::mem#5 [ prepareMEM::mem#5 prepareMEM::$0 ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:99::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:88::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setFAC:73::prepareMEM:157 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setFAC:73::prepareMEM:157 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setFAC:78::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setFAC:78::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setFAC:86::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setFAC:86::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setFAC:97::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setFAC:97::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setFAC:103::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setFAC:103::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:80::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] ) - [139] *((const byte*) memLo#0) ← (byte~) prepareMEM::$0 [ prepareMEM::mem#5 ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:99::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:88::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:73::prepareMEM:157 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:73::prepareMEM:157 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:78::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:78::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:86::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:86::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:97::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:97::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:103::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:103::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:80::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] ) - [140] (byte~) prepareMEM::$1 ← > (byte*) prepareMEM::mem#5 [ prepareMEM::$1 ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:99::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:88::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setFAC:73::prepareMEM:157 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setFAC:73::prepareMEM:157 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setFAC:78::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setFAC:78::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setFAC:86::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setFAC:86::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setFAC:97::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setFAC:97::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setFAC:103::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setFAC:103::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:80::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] ) - [141] *((const byte*) memHi#0) ← (byte~) prepareMEM::$1 [ ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:99::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:88::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setFAC:73::prepareMEM:157 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:73::prepareMEM:157 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:78::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:78::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:86::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:86::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:97::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:97::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setFAC:103::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:103::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:80::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + [136] (byte*) prepareMEM::mem#5 ← phi( addMEMtoFAC/(const byte[]) gen_sintab::f_min#0 divMEMbyFAC/(byte*) prepareMEM::mem#3 mulFACbyMEM/(byte*) prepareMEM::mem#4 setFAC/(byte*~) prepareMEM::mem#8 setMEMtoFAC/(byte*) prepareMEM::mem#1 ) [ prepareMEM::mem#5 ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:99::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:88::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:73::prepareMEM:156 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:73::prepareMEM:156 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:78::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:78::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:86::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:86::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:97::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:97::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:103::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:103::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:80::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] ) + [137] (byte~) prepareMEM::$0 ← < (byte*) prepareMEM::mem#5 [ prepareMEM::mem#5 prepareMEM::$0 ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:99::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:88::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setFAC:73::prepareMEM:156 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setFAC:73::prepareMEM:156 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setFAC:78::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setFAC:78::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setFAC:86::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setFAC:86::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setFAC:97::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setFAC:97::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setFAC:103::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setFAC:103::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:80::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] ) + [138] *((const byte*) memLo#0) ← (byte~) prepareMEM::$0 [ prepareMEM::mem#5 ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:99::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:88::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:73::prepareMEM:156 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:73::prepareMEM:156 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:78::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:78::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:86::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:86::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:97::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:97::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:103::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:103::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:80::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] ) + [139] (byte~) prepareMEM::$1 ← > (byte*) prepareMEM::mem#5 [ prepareMEM::$1 ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:99::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:88::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setFAC:73::prepareMEM:156 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setFAC:73::prepareMEM:156 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setFAC:78::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setFAC:78::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setFAC:86::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setFAC:86::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setFAC:97::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setFAC:97::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setFAC:103::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setFAC:103::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:80::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] ) + [140] *((const byte*) memHi#0) ← (byte~) prepareMEM::$1 [ ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:99::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:88::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setFAC:73::prepareMEM:156 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:73::prepareMEM:156 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:78::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:78::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:86::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:86::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:97::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:97::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setFAC:103::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:103::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:80::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) to:prepareMEM::@return prepareMEM::@return: scope:[prepareMEM] from prepareMEM - [142] return [ ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:99::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:88::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setFAC:73::prepareMEM:157 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:73::prepareMEM:157 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:78::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:78::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:86::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:86::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:97::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:97::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setFAC:103::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:103::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:80::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + [141] return [ ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:99::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:88::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setFAC:73::prepareMEM:156 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:73::prepareMEM:156 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:78::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:78::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:86::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:86::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:97::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:97::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setFAC:103::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:103::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:80::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) to:@return mulFACbyMEM: scope:[mulFACbyMEM] from gen_sintab::@14 gen_sintab::@19 - [143] (byte*) mulFACbyMEM::mem#2 ← phi( gen_sintab::@14/(const byte*) gen_sintab::f_2pi#0 gen_sintab::@19/(const byte[]) gen_sintab::f_amp#0 ) [ mulFACbyMEM::mem#2 ] ( main:2::init:5::gen_sintab:57::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 mulFACbyMEM::mem#2 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 mulFACbyMEM::mem#2 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 mulFACbyMEM::mem#2 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 mulFACbyMEM::mem#2 ] ) - [144] (byte*) prepareMEM::mem#4 ← (byte*) mulFACbyMEM::mem#2 [ prepareMEM::mem#4 ] ( main:2::init:5::gen_sintab:57::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#4 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#4 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#4 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#4 ] ) - [145] call prepareMEM param-assignment [ ] ( main:2::init:5::gen_sintab:57::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + [142] (byte*) mulFACbyMEM::mem#2 ← phi( gen_sintab::@14/(const byte*) gen_sintab::f_2pi#0 gen_sintab::@19/(const byte[]) gen_sintab::f_amp#0 ) [ mulFACbyMEM::mem#2 ] ( main:2::init:5::gen_sintab:57::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 mulFACbyMEM::mem#2 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 mulFACbyMEM::mem#2 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 mulFACbyMEM::mem#2 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 mulFACbyMEM::mem#2 ] ) + [143] (byte*) prepareMEM::mem#4 ← (byte*) mulFACbyMEM::mem#2 [ prepareMEM::mem#4 ] ( main:2::init:5::gen_sintab:57::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#4 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#4 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#4 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#4 ] ) + [144] call prepareMEM param-assignment [ ] ( main:2::init:5::gen_sintab:57::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) to:mulFACbyMEM::@1 mulFACbyMEM::@1: scope:[mulFACbyMEM] from mulFACbyMEM asm { lda$fe ldy$ff jsr$ba28 } to:mulFACbyMEM::@return mulFACbyMEM::@return: scope:[mulFACbyMEM] from mulFACbyMEM::@1 - [147] return [ ] ( main:2::init:5::gen_sintab:57::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + [146] return [ ] ( main:2::init:5::gen_sintab:57::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) to:@return sinFAC: scope:[sinFAC] from gen_sintab::@18 asm { jsr$e26b } to:sinFAC::@return sinFAC::@return: scope:[sinFAC] from sinFAC - [149] return [ ] ( main:2::init:5::gen_sintab:57::sinFAC:107 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::sinFAC:107 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + [148] return [ ] ( main:2::init:5::gen_sintab:57::sinFAC:107 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::sinFAC:107 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) to:@return divMEMbyFAC: scope:[divMEMbyFAC] from gen_sintab::@17 gen_sintab::@9 - [150] (byte*) divMEMbyFAC::mem#2 ← phi( gen_sintab::@17/(const byte[]) gen_sintab::f_i#0 gen_sintab::@9/(const byte[]) gen_sintab::f_amp#0 ) [ divMEMbyFAC::mem#2 ] ( main:2::init:5::gen_sintab:57::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 divMEMbyFAC::mem#2 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 divMEMbyFAC::mem#2 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 divMEMbyFAC::mem#2 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 divMEMbyFAC::mem#2 ] ) - [151] (byte*) prepareMEM::mem#3 ← (byte*) divMEMbyFAC::mem#2 [ prepareMEM::mem#3 ] ( main:2::init:5::gen_sintab:57::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#3 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#3 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#3 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#3 ] ) - [152] call prepareMEM param-assignment [ ] ( main:2::init:5::gen_sintab:57::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + [149] (byte*) divMEMbyFAC::mem#2 ← phi( gen_sintab::@17/(const byte[]) gen_sintab::f_i#0 gen_sintab::@9/(const byte[]) gen_sintab::f_amp#0 ) [ divMEMbyFAC::mem#2 ] ( main:2::init:5::gen_sintab:57::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 divMEMbyFAC::mem#2 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 divMEMbyFAC::mem#2 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 divMEMbyFAC::mem#2 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 divMEMbyFAC::mem#2 ] ) + [150] (byte*) prepareMEM::mem#3 ← (byte*) divMEMbyFAC::mem#2 [ prepareMEM::mem#3 ] ( main:2::init:5::gen_sintab:57::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#3 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#3 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#3 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#3 ] ) + [151] call prepareMEM param-assignment [ ] ( main:2::init:5::gen_sintab:57::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) to:divMEMbyFAC::@1 divMEMbyFAC::@1: scope:[divMEMbyFAC] from divMEMbyFAC asm { lda$fe ldy$ff jsr$bb0f } to:divMEMbyFAC::@return divMEMbyFAC::@return: scope:[divMEMbyFAC] from divMEMbyFAC::@1 - [154] return [ ] ( main:2::init:5::gen_sintab:57::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + [153] return [ ] ( main:2::init:5::gen_sintab:57::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) to:@return setFAC: scope:[setFAC] from gen_sintab gen_sintab::@1 gen_sintab::@16 gen_sintab::@4 gen_sintab::@8 - [155] (word) setFAC::w#5 ← phi( gen_sintab/(word) setFAC::w#0 gen_sintab::@1/(word) setFAC::w#3 gen_sintab::@16/(word) setFAC::w#4 gen_sintab::@4/(word) setFAC::w#1 gen_sintab::@8/(byte/signed byte/word/signed word/dword/signed dword) 2 ) [ setFAC::w#5 ] ( main:2::init:5::gen_sintab:57::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 setFAC::w#5 ] main:2::init:5::gen_sintab:61::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 setFAC::w#5 ] main:2::init:5::gen_sintab:57::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 setFAC::w#5 ] main:2::init:5::gen_sintab:61::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 setFAC::w#5 ] main:2::init:5::gen_sintab:57::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 setFAC::w#5 ] main:2::init:5::gen_sintab:61::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 setFAC::w#5 ] main:2::init:5::gen_sintab:57::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 setFAC::w#5 ] main:2::init:5::gen_sintab:61::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 setFAC::w#5 ] main:2::init:5::gen_sintab:57::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 setFAC::w#5 ] main:2::init:5::gen_sintab:61::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 setFAC::w#5 ] ) - [156] (byte*~) prepareMEM::mem#9 ← (byte*)(word) setFAC::w#5 [ prepareMEM::mem#9 ] ( main:2::init:5::gen_sintab:57::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#9 ] main:2::init:5::gen_sintab:61::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#9 ] main:2::init:5::gen_sintab:57::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#9 ] main:2::init:5::gen_sintab:61::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#9 ] main:2::init:5::gen_sintab:57::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#9 ] main:2::init:5::gen_sintab:61::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#9 ] main:2::init:5::gen_sintab:57::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#9 ] main:2::init:5::gen_sintab:61::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#9 ] main:2::init:5::gen_sintab:57::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#9 ] main:2::init:5::gen_sintab:61::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#9 ] ) - [157] call prepareMEM param-assignment [ ] ( main:2::init:5::gen_sintab:57::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + [154] (word) setFAC::w#5 ← phi( gen_sintab/(word) setFAC::w#0 gen_sintab::@1/(word) setFAC::w#3 gen_sintab::@16/(word) setFAC::w#4 gen_sintab::@4/(word) setFAC::w#1 gen_sintab::@8/(byte/signed byte/word/signed word/dword/signed dword) 2 ) [ setFAC::w#5 ] ( main:2::init:5::gen_sintab:57::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 setFAC::w#5 ] main:2::init:5::gen_sintab:61::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 setFAC::w#5 ] main:2::init:5::gen_sintab:57::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 setFAC::w#5 ] main:2::init:5::gen_sintab:61::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 setFAC::w#5 ] main:2::init:5::gen_sintab:57::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 setFAC::w#5 ] main:2::init:5::gen_sintab:61::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 setFAC::w#5 ] main:2::init:5::gen_sintab:57::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 setFAC::w#5 ] main:2::init:5::gen_sintab:61::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 setFAC::w#5 ] main:2::init:5::gen_sintab:57::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 setFAC::w#5 ] main:2::init:5::gen_sintab:61::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 setFAC::w#5 ] ) + [155] (byte*~) prepareMEM::mem#8 ← (byte*)(word) setFAC::w#5 [ prepareMEM::mem#8 ] ( main:2::init:5::gen_sintab:57::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#8 ] main:2::init:5::gen_sintab:61::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#8 ] main:2::init:5::gen_sintab:57::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#8 ] main:2::init:5::gen_sintab:61::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#8 ] main:2::init:5::gen_sintab:57::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#8 ] main:2::init:5::gen_sintab:61::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#8 ] main:2::init:5::gen_sintab:57::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#8 ] main:2::init:5::gen_sintab:61::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#8 ] main:2::init:5::gen_sintab:57::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#8 ] main:2::init:5::gen_sintab:61::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#8 ] ) + [156] call prepareMEM param-assignment [ ] ( main:2::init:5::gen_sintab:57::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) to:setFAC::@1 setFAC::@1: scope:[setFAC] from setFAC asm { ldy$fe lda$ff jsr$b391 } to:setFAC::@return setFAC::@return: scope:[setFAC] from setFAC::@1 - [159] return [ ] ( main:2::init:5::gen_sintab:57::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + [158] return [ ] ( main:2::init:5::gen_sintab:57::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) to:@return setMEMtoFAC: scope:[setMEMtoFAC] from gen_sintab::@10 gen_sintab::@12 gen_sintab::@15 gen_sintab::@5 gen_sintab::@7 - [160] (byte*) setMEMtoFAC::mem#5 ← phi( gen_sintab::@10/(const byte[]) gen_sintab::f_amp#0 gen_sintab::@12/(const byte[]) gen_sintab::f_min#0 gen_sintab::@15/(const byte[]) gen_sintab::f_i#0 gen_sintab::@5/(const byte[]) gen_sintab::f_min#0 gen_sintab::@7/(const byte[]) gen_sintab::f_amp#0 ) [ setMEMtoFAC::mem#5 ] ( main:2::init:5::gen_sintab:57::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 setMEMtoFAC::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 setMEMtoFAC::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 setMEMtoFAC::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 setMEMtoFAC::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 setMEMtoFAC::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 setMEMtoFAC::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 setMEMtoFAC::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 setMEMtoFAC::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 setMEMtoFAC::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 setMEMtoFAC::mem#5 ] ) - [161] (byte*) prepareMEM::mem#1 ← (byte*) setMEMtoFAC::mem#5 [ prepareMEM::mem#1 ] ( main:2::init:5::gen_sintab:57::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#1 ] ) - [162] call prepareMEM param-assignment [ ] ( main:2::init:5::gen_sintab:57::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + [159] (byte*) setMEMtoFAC::mem#5 ← phi( gen_sintab::@10/(const byte[]) gen_sintab::f_amp#0 gen_sintab::@12/(const byte[]) gen_sintab::f_min#0 gen_sintab::@15/(const byte[]) gen_sintab::f_i#0 gen_sintab::@5/(const byte[]) gen_sintab::f_min#0 gen_sintab::@7/(const byte[]) gen_sintab::f_amp#0 ) [ setMEMtoFAC::mem#5 ] ( main:2::init:5::gen_sintab:57::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 setMEMtoFAC::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 setMEMtoFAC::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 setMEMtoFAC::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 setMEMtoFAC::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 setMEMtoFAC::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 setMEMtoFAC::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 setMEMtoFAC::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 setMEMtoFAC::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 setMEMtoFAC::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 setMEMtoFAC::mem#5 ] ) + [160] (byte*) prepareMEM::mem#1 ← (byte*) setMEMtoFAC::mem#5 [ prepareMEM::mem#1 ] ( main:2::init:5::gen_sintab:57::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#1 ] ) + [161] call prepareMEM param-assignment [ ] ( main:2::init:5::gen_sintab:57::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) to:setMEMtoFAC::@1 setMEMtoFAC::@1: scope:[setMEMtoFAC] from setMEMtoFAC asm { ldx$fe ldy$ff jsr$bbd4 } to:setMEMtoFAC::@return setMEMtoFAC::@return: scope:[setMEMtoFAC] from setMEMtoFAC::@1 - [164] return [ ] ( main:2::init:5::gen_sintab:57::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + [163] return [ ] ( main:2::init:5::gen_sintab:57::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) to:@return subFACfromARG: scope:[subFACfromARG] from gen_sintab::@6 asm { jsr$b853 } to:subFACfromARG::@return subFACfromARG::@return: scope:[subFACfromARG] from subFACfromARG - [166] return [ ] ( main:2::init:5::gen_sintab:57::subFACfromARG:82 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::subFACfromARG:82 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ) + [165] return [ ] ( main:2::init:5::gen_sintab:57::subFACfromARG:82 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::subFACfromARG:82 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ) to:@return setARGtoFAC: scope:[setARGtoFAC] from gen_sintab::@3 asm { jsr$bc0f } to:setARGtoFAC::@return setARGtoFAC::@return: scope:[setARGtoFAC] from setARGtoFAC - [168] return [ ] ( main:2::init:5::gen_sintab:57::setARGtoFAC:75 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setARGtoFAC:75 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ) + [167] return [ ] ( main:2::init:5::gen_sintab:57::setARGtoFAC:75 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setARGtoFAC:75 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ) to:@return progress_init: scope:[progress_init] from init::@5 init::@7 - [169] (byte*) progress_init::line#2 ← phi( init::@5/(const byte*) SCREEN#0 init::@7/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40 ) [ progress_init::line#2 ] ( main:2::init:5::progress_init:55 [ progress_init::line#2 ] main:2::init:5::progress_init:59 [ progress_init::line#2 ] ) + [168] (byte*) progress_init::line#2 ← phi( init::@5/(const byte*) SCREEN#0 init::@7/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40 ) [ progress_init::line#2 ] ( main:2::init:5::progress_init:55 [ progress_init::line#2 ] main:2::init:5::progress_init:59 [ progress_init::line#2 ] ) to:progress_init::@return progress_init::@return: scope:[progress_init] from progress_init - [170] return [ progress_init::line#2 ] ( main:2::init:5::progress_init:55 [ progress_init::line#2 ] main:2::init:5::progress_init:59 [ progress_init::line#2 ] ) + [169] return [ progress_init::line#2 ] ( main:2::init:5::progress_init:55 [ progress_init::line#2 ] main:2::init:5::progress_init:59 [ progress_init::line#2 ] ) to:@return gen_sprites: scope:[gen_sprites] from init::@4 - [171] phi() [ ] ( main:2::init:5::gen_sprites:53 [ ] ) + [170] phi() [ ] ( main:2::init:5::gen_sprites:53 [ ] ) to:gen_sprites::@1 gen_sprites::@1: scope:[gen_sprites] from gen_sprites gen_sprites::@3 - [172] (byte*) gen_sprites::spr#2 ← phi( gen_sprites/(const byte*) sprites#0 gen_sprites::@3/(byte*) gen_sprites::spr#1 ) [ gen_sprites::i#2 gen_sprites::spr#2 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#2 gen_sprites::spr#2 ] ) - [172] (byte) gen_sprites::i#2 ← phi( gen_sprites/(byte/signed byte/word/signed word/dword/signed dword) 0 gen_sprites::@3/(byte) gen_sprites::i#1 ) [ gen_sprites::i#2 gen_sprites::spr#2 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#2 gen_sprites::spr#2 ] ) - [173] (byte) gen_chargen_sprite::ch#0 ← *((const string) gen_sprites::cml#0 + (byte) gen_sprites::i#2) [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::ch#0 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::ch#0 ] ) - [174] (byte*) gen_chargen_sprite::sprite#0 ← (byte*) gen_sprites::spr#2 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::ch#0 gen_chargen_sprite::sprite#0 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::ch#0 gen_chargen_sprite::sprite#0 ] ) - [175] call gen_chargen_sprite param-assignment [ gen_sprites::i#2 gen_sprites::spr#2 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#2 gen_sprites::spr#2 ] ) + [171] (byte*) gen_sprites::spr#2 ← phi( gen_sprites/(const byte*) sprites#0 gen_sprites::@3/(byte*) gen_sprites::spr#1 ) [ gen_sprites::i#2 gen_sprites::spr#2 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#2 gen_sprites::spr#2 ] ) + [171] (byte) gen_sprites::i#2 ← phi( gen_sprites/(byte/signed byte/word/signed word/dword/signed dword) 0 gen_sprites::@3/(byte) gen_sprites::i#1 ) [ gen_sprites::i#2 gen_sprites::spr#2 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#2 gen_sprites::spr#2 ] ) + [172] (byte) gen_chargen_sprite::ch#0 ← *((const string) gen_sprites::cml#0 + (byte) gen_sprites::i#2) [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::ch#0 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::ch#0 ] ) + [173] (byte*) gen_chargen_sprite::sprite#0 ← (byte*) gen_sprites::spr#2 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::ch#0 gen_chargen_sprite::sprite#0 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::ch#0 gen_chargen_sprite::sprite#0 ] ) + [174] call gen_chargen_sprite param-assignment [ gen_sprites::i#2 gen_sprites::spr#2 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#2 gen_sprites::spr#2 ] ) to:gen_sprites::@3 gen_sprites::@3: scope:[gen_sprites] from gen_sprites::@1 - [176] (byte*) gen_sprites::spr#1 ← (byte*) gen_sprites::spr#2 + (byte/signed byte/word/signed word/dword/signed dword) 64 [ gen_sprites::i#2 gen_sprites::spr#1 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#2 gen_sprites::spr#1 ] ) - [177] (byte) gen_sprites::i#1 ← ++ (byte) gen_sprites::i#2 [ gen_sprites::i#1 gen_sprites::spr#1 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#1 gen_sprites::spr#1 ] ) - [178] if((byte) gen_sprites::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 7) goto gen_sprites::@1 [ gen_sprites::i#1 gen_sprites::spr#1 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#1 gen_sprites::spr#1 ] ) + [175] (byte*) gen_sprites::spr#1 ← (byte*) gen_sprites::spr#2 + (byte/signed byte/word/signed word/dword/signed dword) 64 [ gen_sprites::i#2 gen_sprites::spr#1 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#2 gen_sprites::spr#1 ] ) + [176] (byte) gen_sprites::i#1 ← ++ (byte) gen_sprites::i#2 [ gen_sprites::i#1 gen_sprites::spr#1 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#1 gen_sprites::spr#1 ] ) + [177] if((byte) gen_sprites::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 7) goto gen_sprites::@1 [ gen_sprites::i#1 gen_sprites::spr#1 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#1 gen_sprites::spr#1 ] ) to:gen_sprites::@return gen_sprites::@return: scope:[gen_sprites] from gen_sprites::@3 - [179] return [ ] ( main:2::init:5::gen_sprites:53 [ ] ) + [178] return [ ] ( main:2::init:5::gen_sprites:53 [ ] ) to:@return gen_chargen_sprite: scope:[gen_chargen_sprite] from gen_sprites::@1 - [180] (word~) gen_chargen_sprite::$0 ← ((word)) (byte) gen_chargen_sprite::ch#0 [ gen_chargen_sprite::sprite#0 gen_chargen_sprite::$0 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::sprite#0 gen_chargen_sprite::$0 ] ) - [181] (word~) gen_chargen_sprite::$1 ← (word~) gen_chargen_sprite::$0 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ gen_chargen_sprite::sprite#0 gen_chargen_sprite::$1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::sprite#0 gen_chargen_sprite::$1 ] ) - [182] (byte*) gen_chargen_sprite::chargen#0 ← (const byte*) CHARGEN#0 + (word~) gen_chargen_sprite::$1 [ gen_chargen_sprite::sprite#0 gen_chargen_sprite::chargen#0 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::sprite#0 gen_chargen_sprite::chargen#0 ] ) + [179] (word~) gen_chargen_sprite::$0 ← ((word)) (byte) gen_chargen_sprite::ch#0 [ gen_chargen_sprite::sprite#0 gen_chargen_sprite::$0 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::sprite#0 gen_chargen_sprite::$0 ] ) + [180] (word~) gen_chargen_sprite::$1 ← (word~) gen_chargen_sprite::$0 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ gen_chargen_sprite::sprite#0 gen_chargen_sprite::$1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::sprite#0 gen_chargen_sprite::$1 ] ) + [181] (byte*) gen_chargen_sprite::chargen#0 ← (const byte*) CHARGEN#0 + (word~) gen_chargen_sprite::$1 [ gen_chargen_sprite::sprite#0 gen_chargen_sprite::chargen#0 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::sprite#0 gen_chargen_sprite::chargen#0 ] ) asm { sei } - [184] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) 50 [ gen_chargen_sprite::sprite#0 gen_chargen_sprite::chargen#0 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::sprite#0 gen_chargen_sprite::chargen#0 ] ) + [183] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) 50 [ gen_chargen_sprite::sprite#0 gen_chargen_sprite::chargen#0 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::sprite#0 gen_chargen_sprite::chargen#0 ] ) to:gen_chargen_sprite::@1 gen_chargen_sprite::@1: scope:[gen_chargen_sprite] from gen_chargen_sprite gen_chargen_sprite::@9 - [185] (byte*) gen_chargen_sprite::sprite#11 ← phi( gen_chargen_sprite/(byte*) gen_chargen_sprite::sprite#0 gen_chargen_sprite::@9/(byte*) gen_chargen_sprite::sprite#2 ) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#11 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#11 ] ) - [185] (byte) gen_chargen_sprite::y#2 ← phi( gen_chargen_sprite/(byte/signed byte/word/signed word/dword/signed dword) 0 gen_chargen_sprite::@9/(byte) gen_chargen_sprite::y#1 ) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#11 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#11 ] ) - [186] (byte) gen_chargen_sprite::bits#0 ← *((byte*) gen_chargen_sprite::chargen#0 + (byte) gen_chargen_sprite::y#2) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#11 gen_chargen_sprite::bits#0 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#11 gen_chargen_sprite::bits#0 ] ) + [184] (byte*) gen_chargen_sprite::sprite#11 ← phi( gen_chargen_sprite/(byte*) gen_chargen_sprite::sprite#0 gen_chargen_sprite::@9/(byte*) gen_chargen_sprite::sprite#2 ) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#11 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#11 ] ) + [184] (byte) gen_chargen_sprite::y#2 ← phi( gen_chargen_sprite/(byte/signed byte/word/signed word/dword/signed dword) 0 gen_chargen_sprite::@9/(byte) gen_chargen_sprite::y#1 ) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#11 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#11 ] ) + [185] (byte) gen_chargen_sprite::bits#0 ← *((byte*) gen_chargen_sprite::chargen#0 + (byte) gen_chargen_sprite::y#2) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#11 gen_chargen_sprite::bits#0 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#11 gen_chargen_sprite::bits#0 ] ) to:gen_chargen_sprite::@2 gen_chargen_sprite::@2: scope:[gen_chargen_sprite] from gen_chargen_sprite::@1 gen_chargen_sprite::@8 - [187] (byte) gen_chargen_sprite::x#6 ← phi( gen_chargen_sprite::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 gen_chargen_sprite::@8/(byte) gen_chargen_sprite::x#1 ) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 ] ) - [187] (byte*) gen_chargen_sprite::sprite#10 ← phi( gen_chargen_sprite::@1/(byte*) gen_chargen_sprite::sprite#11 gen_chargen_sprite::@8/(byte*) gen_chargen_sprite::sprite#4 ) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 ] ) - [187] (byte) gen_chargen_sprite::s_gen_cnt#4 ← phi( gen_chargen_sprite::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 gen_chargen_sprite::@8/(byte) gen_chargen_sprite::s_gen_cnt#5 ) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 ] ) - [187] (byte) gen_chargen_sprite::s_gen#5 ← phi( gen_chargen_sprite::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 gen_chargen_sprite::@8/(byte) gen_chargen_sprite::s_gen#6 ) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 ] ) - [187] (byte) gen_chargen_sprite::bits#2 ← phi( gen_chargen_sprite::@1/(byte) gen_chargen_sprite::bits#0 gen_chargen_sprite::@8/(byte) gen_chargen_sprite::bits#1 ) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 ] ) - [188] (byte~) gen_chargen_sprite::$3 ← (byte) gen_chargen_sprite::bits#2 & (byte/word/signed word/dword/signed dword) 128 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 gen_chargen_sprite::$3 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 gen_chargen_sprite::$3 ] ) - [189] if((byte~) gen_chargen_sprite::$3==(byte/signed byte/word/signed word/dword/signed dword) 0) goto gen_chargen_sprite::@3 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 ] ) + [186] (byte) gen_chargen_sprite::x#6 ← phi( gen_chargen_sprite::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 gen_chargen_sprite::@8/(byte) gen_chargen_sprite::x#1 ) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 ] ) + [186] (byte*) gen_chargen_sprite::sprite#10 ← phi( gen_chargen_sprite::@1/(byte*) gen_chargen_sprite::sprite#11 gen_chargen_sprite::@8/(byte*) gen_chargen_sprite::sprite#4 ) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 ] ) + [186] (byte) gen_chargen_sprite::s_gen_cnt#4 ← phi( gen_chargen_sprite::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 gen_chargen_sprite::@8/(byte) gen_chargen_sprite::s_gen_cnt#5 ) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 ] ) + [186] (byte) gen_chargen_sprite::s_gen#5 ← phi( gen_chargen_sprite::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 gen_chargen_sprite::@8/(byte) gen_chargen_sprite::s_gen#6 ) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 ] ) + [186] (byte) gen_chargen_sprite::bits#2 ← phi( gen_chargen_sprite::@1/(byte) gen_chargen_sprite::bits#0 gen_chargen_sprite::@8/(byte) gen_chargen_sprite::bits#1 ) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 ] ) + [187] (byte~) gen_chargen_sprite::$3 ← (byte) gen_chargen_sprite::bits#2 & (byte/word/signed word/dword/signed dword) 128 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 gen_chargen_sprite::$3 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 gen_chargen_sprite::$3 ] ) + [188] if((byte~) gen_chargen_sprite::$3==(byte/signed byte/word/signed word/dword/signed dword) 0) goto gen_chargen_sprite::@3 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 ] ) to:gen_chargen_sprite::@6 gen_chargen_sprite::@6: scope:[gen_chargen_sprite] from gen_chargen_sprite::@2 - [190] phi() [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 ] ) + [189] phi() [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 ] ) to:gen_chargen_sprite::@3 gen_chargen_sprite::@3: scope:[gen_chargen_sprite] from gen_chargen_sprite::@2 gen_chargen_sprite::@6 - [191] (byte) gen_chargen_sprite::c#3 ← phi( gen_chargen_sprite::@2/(byte/signed byte/word/signed word/dword/signed dword) 0 gen_chargen_sprite::@6/(byte/signed byte/word/signed word/dword/signed dword) 1 ) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 ] ) + [190] (byte) gen_chargen_sprite::c#3 ← phi( gen_chargen_sprite::@2/(byte/signed byte/word/signed word/dword/signed dword) 0 gen_chargen_sprite::@6/(byte/signed byte/word/signed word/dword/signed dword) 1 ) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 ] ) to:gen_chargen_sprite::@4 gen_chargen_sprite::@4: scope:[gen_chargen_sprite] from gen_chargen_sprite::@3 gen_chargen_sprite::@5 - [192] (byte*) gen_chargen_sprite::sprite#3 ← phi( gen_chargen_sprite::@3/(byte*) gen_chargen_sprite::sprite#10 gen_chargen_sprite::@5/(byte*) gen_chargen_sprite::sprite#4 ) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 ] ) - [192] (byte) gen_chargen_sprite::b#2 ← phi( gen_chargen_sprite::@3/(byte/signed byte/word/signed word/dword/signed dword) 0 gen_chargen_sprite::@5/(byte) gen_chargen_sprite::b#1 ) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 ] ) - [192] (byte) gen_chargen_sprite::s_gen_cnt#3 ← phi( gen_chargen_sprite::@3/(byte) gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::@5/(byte) gen_chargen_sprite::s_gen_cnt#5 ) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 ] ) - [192] (byte) gen_chargen_sprite::s_gen#3 ← phi( gen_chargen_sprite::@3/(byte) gen_chargen_sprite::s_gen#5 gen_chargen_sprite::@5/(byte) gen_chargen_sprite::s_gen#6 ) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 ] ) - [193] (byte~) gen_chargen_sprite::$6 ← (byte) gen_chargen_sprite::s_gen#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::$6 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::$6 ] ) - [194] (byte) gen_chargen_sprite::s_gen#1 ← (byte~) gen_chargen_sprite::$6 | (byte) gen_chargen_sprite::c#3 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ) - [195] (byte) gen_chargen_sprite::s_gen_cnt#1 ← ++ (byte) gen_chargen_sprite::s_gen_cnt#3 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 gen_chargen_sprite::s_gen_cnt#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 gen_chargen_sprite::s_gen_cnt#1 ] ) - [196] if((byte) gen_chargen_sprite::s_gen_cnt#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto gen_chargen_sprite::@5 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 gen_chargen_sprite::s_gen_cnt#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 gen_chargen_sprite::s_gen_cnt#1 ] ) + [191] (byte*) gen_chargen_sprite::sprite#3 ← phi( gen_chargen_sprite::@3/(byte*) gen_chargen_sprite::sprite#10 gen_chargen_sprite::@5/(byte*) gen_chargen_sprite::sprite#4 ) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 ] ) + [191] (byte) gen_chargen_sprite::b#2 ← phi( gen_chargen_sprite::@3/(byte/signed byte/word/signed word/dword/signed dword) 0 gen_chargen_sprite::@5/(byte) gen_chargen_sprite::b#1 ) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 ] ) + [191] (byte) gen_chargen_sprite::s_gen_cnt#3 ← phi( gen_chargen_sprite::@3/(byte) gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::@5/(byte) gen_chargen_sprite::s_gen_cnt#5 ) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 ] ) + [191] (byte) gen_chargen_sprite::s_gen#3 ← phi( gen_chargen_sprite::@3/(byte) gen_chargen_sprite::s_gen#5 gen_chargen_sprite::@5/(byte) gen_chargen_sprite::s_gen#6 ) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 ] ) + [192] (byte~) gen_chargen_sprite::$6 ← (byte) gen_chargen_sprite::s_gen#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::$6 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::$6 ] ) + [193] (byte) gen_chargen_sprite::s_gen#1 ← (byte~) gen_chargen_sprite::$6 | (byte) gen_chargen_sprite::c#3 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ) + [194] (byte) gen_chargen_sprite::s_gen_cnt#1 ← ++ (byte) gen_chargen_sprite::s_gen_cnt#3 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 gen_chargen_sprite::s_gen_cnt#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 gen_chargen_sprite::s_gen_cnt#1 ] ) + [195] if((byte) gen_chargen_sprite::s_gen_cnt#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto gen_chargen_sprite::@5 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 gen_chargen_sprite::s_gen_cnt#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 gen_chargen_sprite::s_gen_cnt#1 ] ) to:gen_chargen_sprite::@7 gen_chargen_sprite::@7: scope:[gen_chargen_sprite] from gen_chargen_sprite::@4 - [197] *((byte*) gen_chargen_sprite::sprite#3 + (byte/signed byte/word/signed word/dword/signed dword) 0) ← (byte) gen_chargen_sprite::s_gen#1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ) - [198] *((byte*) gen_chargen_sprite::sprite#3 + (byte/signed byte/word/signed word/dword/signed dword) 3) ← (byte) gen_chargen_sprite::s_gen#1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ) - [199] *((byte*) gen_chargen_sprite::sprite#3 + (byte/signed byte/word/signed word/dword/signed dword) 6) ← (byte) gen_chargen_sprite::s_gen#1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 ] ) - [200] (byte*) gen_chargen_sprite::sprite#1 ← ++ (byte*) gen_chargen_sprite::sprite#3 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#1 ] ) + [196] *((byte*) gen_chargen_sprite::sprite#3 + (byte/signed byte/word/signed word/dword/signed dword) 0) ← (byte) gen_chargen_sprite::s_gen#1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ) + [197] *((byte*) gen_chargen_sprite::sprite#3 + (byte/signed byte/word/signed word/dword/signed dword) 3) ← (byte) gen_chargen_sprite::s_gen#1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ) + [198] *((byte*) gen_chargen_sprite::sprite#3 + (byte/signed byte/word/signed word/dword/signed dword) 6) ← (byte) gen_chargen_sprite::s_gen#1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 ] ) + [199] (byte*) gen_chargen_sprite::sprite#1 ← ++ (byte*) gen_chargen_sprite::sprite#3 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#1 ] ) to:gen_chargen_sprite::@5 gen_chargen_sprite::@5: scope:[gen_chargen_sprite] from gen_chargen_sprite::@4 gen_chargen_sprite::@7 - [201] (byte*) gen_chargen_sprite::sprite#4 ← phi( gen_chargen_sprite::@4/(byte*) gen_chargen_sprite::sprite#3 gen_chargen_sprite::@7/(byte*) gen_chargen_sprite::sprite#1 ) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 ] ) - [201] (byte) gen_chargen_sprite::s_gen_cnt#5 ← phi( gen_chargen_sprite::@4/(byte) gen_chargen_sprite::s_gen_cnt#1 gen_chargen_sprite::@7/(byte/signed byte/word/signed word/dword/signed dword) 0 ) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 ] ) - [201] (byte) gen_chargen_sprite::s_gen#6 ← phi( gen_chargen_sprite::@4/(byte) gen_chargen_sprite::s_gen#1 gen_chargen_sprite::@7/(byte/signed byte/word/signed word/dword/signed dword) 0 ) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 ] ) - [202] (byte) gen_chargen_sprite::b#1 ← ++ (byte) gen_chargen_sprite::b#2 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::c#3 gen_chargen_sprite::b#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::c#3 gen_chargen_sprite::b#1 ] ) - [203] if((byte) gen_chargen_sprite::b#1!=(byte/signed byte/word/signed word/dword/signed dword) 3) goto gen_chargen_sprite::@4 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::c#3 gen_chargen_sprite::b#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::c#3 gen_chargen_sprite::b#1 ] ) + [200] (byte*) gen_chargen_sprite::sprite#4 ← phi( gen_chargen_sprite::@4/(byte*) gen_chargen_sprite::sprite#3 gen_chargen_sprite::@7/(byte*) gen_chargen_sprite::sprite#1 ) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 ] ) + [200] (byte) gen_chargen_sprite::s_gen_cnt#5 ← phi( gen_chargen_sprite::@4/(byte) gen_chargen_sprite::s_gen_cnt#1 gen_chargen_sprite::@7/(byte/signed byte/word/signed word/dword/signed dword) 0 ) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 ] ) + [200] (byte) gen_chargen_sprite::s_gen#6 ← phi( gen_chargen_sprite::@4/(byte) gen_chargen_sprite::s_gen#1 gen_chargen_sprite::@7/(byte/signed byte/word/signed word/dword/signed dword) 0 ) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 ] ) + [201] (byte) gen_chargen_sprite::b#1 ← ++ (byte) gen_chargen_sprite::b#2 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::c#3 gen_chargen_sprite::b#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::c#3 gen_chargen_sprite::b#1 ] ) + [202] if((byte) gen_chargen_sprite::b#1!=(byte/signed byte/word/signed word/dword/signed dword) 3) goto gen_chargen_sprite::@4 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::c#3 gen_chargen_sprite::b#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::c#3 gen_chargen_sprite::b#1 ] ) to:gen_chargen_sprite::@8 gen_chargen_sprite::@8: scope:[gen_chargen_sprite] from gen_chargen_sprite::@5 - [204] (byte) gen_chargen_sprite::bits#1 ← (byte) gen_chargen_sprite::bits#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::x#6 gen_chargen_sprite::bits#1 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::x#6 gen_chargen_sprite::bits#1 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 ] ) - [205] (byte) gen_chargen_sprite::x#1 ← ++ (byte) gen_chargen_sprite::x#6 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#1 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::x#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#1 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::x#1 ] ) - [206] if((byte) gen_chargen_sprite::x#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto gen_chargen_sprite::@2 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#1 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::x#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#1 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::x#1 ] ) + [203] (byte) gen_chargen_sprite::bits#1 ← (byte) gen_chargen_sprite::bits#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::x#6 gen_chargen_sprite::bits#1 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::x#6 gen_chargen_sprite::bits#1 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 ] ) + [204] (byte) gen_chargen_sprite::x#1 ← ++ (byte) gen_chargen_sprite::x#6 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#1 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::x#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#1 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::x#1 ] ) + [205] if((byte) gen_chargen_sprite::x#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto gen_chargen_sprite::@2 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#1 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::x#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#1 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::x#1 ] ) to:gen_chargen_sprite::@9 gen_chargen_sprite::@9: scope:[gen_chargen_sprite] from gen_chargen_sprite::@8 - [207] (byte*) gen_chargen_sprite::sprite#2 ← (byte*) gen_chargen_sprite::sprite#4 + (byte/signed byte/word/signed word/dword/signed dword) 6 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#2 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#2 ] ) - [208] (byte) gen_chargen_sprite::y#1 ← ++ (byte) gen_chargen_sprite::y#2 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#1 gen_chargen_sprite::sprite#2 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#1 gen_chargen_sprite::sprite#2 ] ) - [209] if((byte) gen_chargen_sprite::y#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto gen_chargen_sprite::@1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#1 gen_chargen_sprite::sprite#2 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#1 gen_chargen_sprite::sprite#2 ] ) + [206] (byte*) gen_chargen_sprite::sprite#2 ← (byte*) gen_chargen_sprite::sprite#4 + (byte/signed byte/word/signed word/dword/signed dword) 6 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#2 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#2 ] ) + [207] (byte) gen_chargen_sprite::y#1 ← ++ (byte) gen_chargen_sprite::y#2 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#1 gen_chargen_sprite::sprite#2 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#1 gen_chargen_sprite::sprite#2 ] ) + [208] if((byte) gen_chargen_sprite::y#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto gen_chargen_sprite::@1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#1 gen_chargen_sprite::sprite#2 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#1 gen_chargen_sprite::sprite#2 ] ) to:gen_chargen_sprite::@10 gen_chargen_sprite::@10: scope:[gen_chargen_sprite] from gen_chargen_sprite::@9 - [210] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) 55 [ ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 ] ) + [209] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) 55 [ ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 ] ) asm { cli } to:gen_chargen_sprite::@return gen_chargen_sprite::@return: scope:[gen_chargen_sprite] from gen_chargen_sprite::@10 - [212] return [ ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 ] ) + [211] return [ ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 ] ) to:@return place_sprites: scope:[place_sprites] from init::@2 - [213] *((const byte*) SPRITES_ENABLE#0) ← (byte/signed byte/word/signed word/dword/signed dword) 127 [ ] ( main:2::init:5::place_sprites:51 [ ] ) - [214] *((const byte*) SPRITES_EXPAND_X#0) ← (byte/signed byte/word/signed word/dword/signed dword) 127 [ ] ( main:2::init:5::place_sprites:51 [ ] ) - [215] *((const byte*) SPRITES_EXPAND_Y#0) ← (byte/signed byte/word/signed word/dword/signed dword) 127 [ ] ( main:2::init:5::place_sprites:51 [ ] ) + [212] *((const byte*) SPRITES_ENABLE#0) ← (byte/signed byte/word/signed word/dword/signed dword) 127 [ ] ( main:2::init:5::place_sprites:51 [ ] ) + [213] *((const byte*) SPRITES_EXPAND_X#0) ← (byte/signed byte/word/signed word/dword/signed dword) 127 [ ] ( main:2::init:5::place_sprites:51 [ ] ) + [214] *((const byte*) SPRITES_EXPAND_Y#0) ← (byte/signed byte/word/signed word/dword/signed dword) 127 [ ] ( main:2::init:5::place_sprites:51 [ ] ) to:place_sprites::@1 place_sprites::@1: scope:[place_sprites] from place_sprites place_sprites::@1 - [216] (byte) place_sprites::col#2 ← phi( place_sprites/(byte/signed byte/word/signed word/dword/signed dword) 5 place_sprites::@1/(byte) place_sprites::col#1 ) [ place_sprites::spr_id#2 place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 ] ( main:2::init:5::place_sprites:51 [ place_sprites::spr_id#2 place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 ] ) - [216] (byte) place_sprites::j2#3 ← phi( place_sprites/(byte/signed byte/word/signed word/dword/signed dword) 0 place_sprites::@1/(byte) place_sprites::j2#2 ) [ place_sprites::spr_id#2 place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 ] ( main:2::init:5::place_sprites:51 [ place_sprites::spr_id#2 place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 ] ) - [216] (byte) place_sprites::spr_x#2 ← phi( place_sprites/(byte/signed byte/word/signed word/dword/signed dword) 60 place_sprites::@1/(byte) place_sprites::spr_x#1 ) [ place_sprites::spr_id#2 place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 ] ( main:2::init:5::place_sprites:51 [ place_sprites::spr_id#2 place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 ] ) - [216] (byte) place_sprites::j#2 ← phi( place_sprites/(byte/signed byte/word/signed word/dword/signed dword) 0 place_sprites::@1/(byte) place_sprites::j#1 ) [ place_sprites::spr_id#2 place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 ] ( main:2::init:5::place_sprites:51 [ place_sprites::spr_id#2 place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 ] ) - [216] (byte) place_sprites::spr_id#2 ← phi( place_sprites/((byte))(const byte*) sprites#0/(byte/signed byte/word/signed word/dword/signed dword) 64 place_sprites::@1/(byte) place_sprites::spr_id#1 ) [ place_sprites::spr_id#2 place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 ] ( main:2::init:5::place_sprites:51 [ place_sprites::spr_id#2 place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 ] ) - [217] *((const byte*) place_sprites::sprites_ptr#0 + (byte) place_sprites::j#2) ← (byte) place_sprites::spr_id#2 [ place_sprites::spr_id#2 place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 ] ( main:2::init:5::place_sprites:51 [ place_sprites::spr_id#2 place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 ] ) - [218] (byte) place_sprites::spr_id#1 ← ++ (byte) place_sprites::spr_id#2 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ) - [219] *((const byte*) SPRITES_XPOS#0 + (byte) place_sprites::j2#3) ← (byte) place_sprites::spr_x#2 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ) - [220] *((const byte*) SPRITES_YPOS#0 + (byte) place_sprites::j2#3) ← (byte/signed byte/word/signed word/dword/signed dword) 80 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ) - [221] *((const byte*) SPRITES_COLS#0 + (byte) place_sprites::j#2) ← (byte) place_sprites::col#2 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ) - [222] (byte) place_sprites::spr_x#1 ← (byte) place_sprites::spr_x#2 + (byte/signed byte/word/signed word/dword/signed dword) 32 [ place_sprites::j#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 place_sprites::spr_x#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 place_sprites::spr_x#1 ] ) - [223] (byte) place_sprites::col#1 ← (byte) place_sprites::col#2 ^ (byte/signed byte/word/signed word/dword/signed dword) 7^(byte/signed byte/word/signed word/dword/signed dword) 5 [ place_sprites::j#2 place_sprites::j2#3 place_sprites::spr_id#1 place_sprites::spr_x#1 place_sprites::col#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::j2#3 place_sprites::spr_id#1 place_sprites::spr_x#1 place_sprites::col#1 ] ) - [224] (byte) place_sprites::j2#1 ← ++ (byte) place_sprites::j2#3 [ place_sprites::j#2 place_sprites::spr_id#1 place_sprites::spr_x#1 place_sprites::col#1 place_sprites::j2#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_id#1 place_sprites::spr_x#1 place_sprites::col#1 place_sprites::j2#1 ] ) - [225] (byte) place_sprites::j2#2 ← ++ (byte) place_sprites::j2#1 [ place_sprites::j#2 place_sprites::spr_id#1 place_sprites::spr_x#1 place_sprites::j2#2 place_sprites::col#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_id#1 place_sprites::spr_x#1 place_sprites::j2#2 place_sprites::col#1 ] ) - [226] (byte) place_sprites::j#1 ← ++ (byte) place_sprites::j#2 [ place_sprites::spr_id#1 place_sprites::j#1 place_sprites::spr_x#1 place_sprites::j2#2 place_sprites::col#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::spr_id#1 place_sprites::j#1 place_sprites::spr_x#1 place_sprites::j2#2 place_sprites::col#1 ] ) - [227] if((byte) place_sprites::j#1!=(byte/signed byte/word/signed word/dword/signed dword) 7) goto place_sprites::@1 [ place_sprites::spr_id#1 place_sprites::j#1 place_sprites::spr_x#1 place_sprites::j2#2 place_sprites::col#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::spr_id#1 place_sprites::j#1 place_sprites::spr_x#1 place_sprites::j2#2 place_sprites::col#1 ] ) + [215] (byte) place_sprites::col#2 ← phi( place_sprites/(byte/signed byte/word/signed word/dword/signed dword) 5 place_sprites::@1/(byte) place_sprites::col#1 ) [ place_sprites::spr_id#2 place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 ] ( main:2::init:5::place_sprites:51 [ place_sprites::spr_id#2 place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 ] ) + [215] (byte) place_sprites::j2#3 ← phi( place_sprites/(byte/signed byte/word/signed word/dword/signed dword) 0 place_sprites::@1/(byte) place_sprites::j2#2 ) [ place_sprites::spr_id#2 place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 ] ( main:2::init:5::place_sprites:51 [ place_sprites::spr_id#2 place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 ] ) + [215] (byte) place_sprites::spr_x#2 ← phi( place_sprites/(byte/signed byte/word/signed word/dword/signed dword) 60 place_sprites::@1/(byte) place_sprites::spr_x#1 ) [ place_sprites::spr_id#2 place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 ] ( main:2::init:5::place_sprites:51 [ place_sprites::spr_id#2 place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 ] ) + [215] (byte) place_sprites::j#2 ← phi( place_sprites/(byte/signed byte/word/signed word/dword/signed dword) 0 place_sprites::@1/(byte) place_sprites::j#1 ) [ place_sprites::spr_id#2 place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 ] ( main:2::init:5::place_sprites:51 [ place_sprites::spr_id#2 place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 ] ) + [215] (byte) place_sprites::spr_id#2 ← phi( place_sprites/((byte))(const byte*) sprites#0/(byte/signed byte/word/signed word/dword/signed dword) 64 place_sprites::@1/(byte) place_sprites::spr_id#1 ) [ place_sprites::spr_id#2 place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 ] ( main:2::init:5::place_sprites:51 [ place_sprites::spr_id#2 place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 ] ) + [216] *((const byte*) place_sprites::sprites_ptr#0 + (byte) place_sprites::j#2) ← (byte) place_sprites::spr_id#2 [ place_sprites::spr_id#2 place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 ] ( main:2::init:5::place_sprites:51 [ place_sprites::spr_id#2 place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 ] ) + [217] (byte) place_sprites::spr_id#1 ← ++ (byte) place_sprites::spr_id#2 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ) + [218] *((const byte*) SPRITES_XPOS#0 + (byte) place_sprites::j2#3) ← (byte) place_sprites::spr_x#2 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ) + [219] *((const byte*) SPRITES_YPOS#0 + (byte) place_sprites::j2#3) ← (byte/signed byte/word/signed word/dword/signed dword) 80 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ) + [220] *((const byte*) SPRITES_COLS#0 + (byte) place_sprites::j#2) ← (byte) place_sprites::col#2 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ) + [221] (byte) place_sprites::spr_x#1 ← (byte) place_sprites::spr_x#2 + (byte/signed byte/word/signed word/dword/signed dword) 32 [ place_sprites::j#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 place_sprites::spr_x#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 place_sprites::spr_x#1 ] ) + [222] (byte) place_sprites::col#1 ← (byte) place_sprites::col#2 ^ (byte/signed byte/word/signed word/dword/signed dword) 7^(byte/signed byte/word/signed word/dword/signed dword) 5 [ place_sprites::j#2 place_sprites::j2#3 place_sprites::spr_id#1 place_sprites::spr_x#1 place_sprites::col#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::j2#3 place_sprites::spr_id#1 place_sprites::spr_x#1 place_sprites::col#1 ] ) + [223] (byte) place_sprites::j2#1 ← ++ (byte) place_sprites::j2#3 [ place_sprites::j#2 place_sprites::spr_id#1 place_sprites::spr_x#1 place_sprites::col#1 place_sprites::j2#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_id#1 place_sprites::spr_x#1 place_sprites::col#1 place_sprites::j2#1 ] ) + [224] (byte) place_sprites::j2#2 ← ++ (byte) place_sprites::j2#1 [ place_sprites::j#2 place_sprites::spr_id#1 place_sprites::spr_x#1 place_sprites::j2#2 place_sprites::col#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_id#1 place_sprites::spr_x#1 place_sprites::j2#2 place_sprites::col#1 ] ) + [225] (byte) place_sprites::j#1 ← ++ (byte) place_sprites::j#2 [ place_sprites::spr_id#1 place_sprites::j#1 place_sprites::spr_x#1 place_sprites::j2#2 place_sprites::col#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::spr_id#1 place_sprites::j#1 place_sprites::spr_x#1 place_sprites::j2#2 place_sprites::col#1 ] ) + [226] if((byte) place_sprites::j#1!=(byte/signed byte/word/signed word/dword/signed dword) 7) goto place_sprites::@1 [ place_sprites::spr_id#1 place_sprites::j#1 place_sprites::spr_x#1 place_sprites::j2#2 place_sprites::col#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::spr_id#1 place_sprites::j#1 place_sprites::spr_x#1 place_sprites::j2#2 place_sprites::col#1 ] ) to:place_sprites::@return place_sprites::@return: scope:[place_sprites] from place_sprites::@1 - [228] return [ ] ( main:2::init:5::place_sprites:51 [ ] ) + [227] return [ ] ( main:2::init:5::place_sprites:51 [ ] ) to:@return diff --git a/src/test/java/dk/camelot64/kickc/test/ref/sinus-sprites.log b/src/test/java/dk/camelot64/kickc/test/ref/sinus-sprites.log index d86b0b147..7fef93c4a 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/sinus-sprites.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/sinus-sprites.log @@ -4599,18 +4599,9 @@ Constant (const byte[]) addMEMtoFAC::mem#1 = gen_sintab::f_min#0 Succesful SSA optimization Pass2ConstantIdentification Constant (const byte) place_sprites::spr_id#0 = ((byte))place_sprites::$1 Succesful SSA optimization Pass2ConstantIdentification -Multiple usages for variable. Not optimizing sub-constant (byte) init::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) init::i#2 Consolidated array index constant in assignment *(COLS#0+40 + init::$1) Consolidated array index constant in *(progress_inc::progress_chars#0+8) -Multiple usages for variable. Not optimizing sub-constant (byte) place_sprites::spr_x#2 -Multiple usages for variable. Not optimizing sub-constant (byte*) gen_sprites::spr#2 -Multiple usages for variable. Not optimizing sub-constant (byte*) gen_chargen_sprite::sprite#4 Succesful SSA optimization Pass2ConstantAdditionElimination -Multiple usages for variable. Not optimizing sub-constant (byte) init::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) place_sprites::spr_x#2 -Multiple usages for variable. Not optimizing sub-constant (byte*) gen_sprites::spr#2 -Multiple usages for variable. Not optimizing sub-constant (byte*) gen_chargen_sprite::sprite#4 if() condition always true - replacing block destination if(true) goto main::@1 Succesful SSA optimization Pass2ConstantIfs Fixing inline constructor with getFAC::$0 ← *(memHi#0) w= *(memLo#0) @@ -4682,9 +4673,6 @@ Succesful SSA optimization Pass2SelfPhiElimination Redundant Phi (byte) gen_chargen_sprite::y#10 (byte) gen_chargen_sprite::y#2 Redundant Phi (byte*) gen_chargen_sprite::chargen#7 (byte*) gen_chargen_sprite::chargen#1 Succesful SSA optimization Pass2RedundantPhiElimination -Multiple usages for variable. Not optimizing sub-constant (byte) place_sprites::spr_x#2 -Multiple usages for variable. Not optimizing sub-constant (byte*) gen_sprites::spr#2 -Multiple usages for variable. Not optimizing sub-constant (byte*) gen_chargen_sprite::sprite#4 Not culling empty block because it shares successor with its predecessor. (label) anim::@9 Not culling empty block because it shares successor with its predecessor. (label) anim::@10 Not culling empty block because it shares successor with its predecessor. (label) gen_chargen_sprite::@6 @@ -4709,9 +4697,6 @@ Self Phi Eliminated (byte*) gen_chargen_sprite::chargen#1 Succesful SSA optimization Pass2SelfPhiElimination Redundant Phi (byte*) gen_chargen_sprite::chargen#1 (byte*) gen_chargen_sprite::chargen#0 Succesful SSA optimization Pass2RedundantPhiElimination -Multiple usages for variable. Not optimizing sub-constant (byte) place_sprites::spr_x#2 -Multiple usages for variable. Not optimizing sub-constant (byte*) gen_sprites::spr#2 -Multiple usages for variable. Not optimizing sub-constant (byte*) gen_chargen_sprite::sprite#4 Not culling empty block because it shares successor with its predecessor. (label) anim::@9 Not culling empty block because it shares successor with its predecessor. (label) anim::@10 Not culling empty block because it shares successor with its predecessor. (label) gen_chargen_sprite::@6 @@ -4732,9 +4717,6 @@ Not aliassing across scopes: gen_chargen_sprite::sprite#11 gen_chargen_sprite::s Not aliassing across scopes: progress_cursor#34 progress_cursor#22 Not aliassing across scopes: getFAC::return#2 getFAC::return#0 Not aliassing across scopes: gen_sintab::$23 getFAC::return#2 -Multiple usages for variable. Not optimizing sub-constant (byte) place_sprites::spr_x#2 -Multiple usages for variable. Not optimizing sub-constant (byte*) gen_sprites::spr#2 -Multiple usages for variable. Not optimizing sub-constant (byte*) gen_chargen_sprite::sprite#4 OPTIMIZING CONTROL FLOW GRAPH Inlining constant with var siblings (const word) setFAC::w#2 Inlining constant with var siblings (const word) setFAC::w#2 @@ -4894,6 +4876,16 @@ Constant inlined progress_idx#11 = (byte/signed byte/word/signed word/dword/sign Constant inlined gen_sprites::$3 = (const string) gen_sprites::cml#0 Constant inlined anim::j2#0 = (byte/signed byte/word/signed word/dword/signed dword) 12 Succesful SSA optimization Pass2ConstantInlining +Identical Phi Values (byte*) addMEMtoFAC::mem#2 (const byte[]) gen_sintab::f_min#0 +Succesful SSA optimization Pass2IdenticalPhiElimination +Constant (const byte[]) prepareMEM::mem#2 = gen_sintab::f_min#0 +Succesful SSA optimization Pass2ConstantIdentification +Inlining constant with var siblings (const byte[]) prepareMEM::mem#2 +Inlining constant with var siblings (const byte[]) prepareMEM::mem#2 +Inlining constant with var siblings (const byte[]) prepareMEM::mem#2 +Inlining constant with var siblings (const byte[]) prepareMEM::mem#2 +Constant inlined prepareMEM::mem#2 = (const byte[]) gen_sintab::f_min#0 +Succesful SSA optimization Pass2ConstantInlining Block Sequence Planned @begin @51 @end main main::@2 main::@3 anim anim::@1 anim::@6 anim::@2 anim::@7 anim::@3 anim::@8 anim::@9 anim::@4 anim::@10 anim::@5 anim::@return init init::@1 init::@2 init::@4 init::@5 init::@6 init::@7 init::@8 init::@9 init::@return clear_screen clear_screen::@1 clear_screen::@return gen_sintab gen_sintab::@3 gen_sintab::@4 gen_sintab::@5 gen_sintab::@6 gen_sintab::@7 gen_sintab::@8 gen_sintab::@9 gen_sintab::@10 gen_sintab::@11 gen_sintab::@12 gen_sintab::@1 gen_sintab::@14 gen_sintab::@15 gen_sintab::@16 gen_sintab::@17 gen_sintab::@18 gen_sintab::@19 gen_sintab::@20 gen_sintab::@21 gen_sintab::@22 gen_sintab::@23 gen_sintab::@return progress_inc progress_inc::@2 progress_inc::@1 progress_inc::@return getFAC getFAC::@return addMEMtoFAC addMEMtoFAC::@1 addMEMtoFAC::@return prepareMEM prepareMEM::@return mulFACbyMEM mulFACbyMEM::@1 mulFACbyMEM::@return sinFAC sinFAC::@return divMEMbyFAC divMEMbyFAC::@1 divMEMbyFAC::@return setFAC setFAC::@1 setFAC::@return setMEMtoFAC setMEMtoFAC::@1 setMEMtoFAC::@return subFACfromARG subFACfromARG::@return setARGtoFAC setARGtoFAC::@return progress_init progress_init::@return gen_sprites gen_sprites::@1 gen_sprites::@3 gen_sprites::@return gen_chargen_sprite gen_chargen_sprite::@1 gen_chargen_sprite::@2 gen_chargen_sprite::@6 gen_chargen_sprite::@3 gen_chargen_sprite::@4 gen_chargen_sprite::@7 gen_chargen_sprite::@5 gen_chargen_sprite::@8 gen_chargen_sprite::@9 gen_chargen_sprite::@10 gen_chargen_sprite::@return place_sprites place_sprites::@1 place_sprites::@return Added new block during phi lifting anim::@11(between anim::@3 and anim::@1) Added new block during phi lifting anim::@12(between anim::@1 and anim::@2) @@ -4943,6 +4935,7 @@ Adding NOP phi() at start of gen_sintab::@18 Adding NOP phi() at start of gen_sintab::@19 Adding NOP phi() at start of gen_sintab::@20 Adding NOP phi() at start of gen_sintab::@21 +Adding NOP phi() at start of addMEMtoFAC Adding NOP phi() at start of gen_sprites Adding NOP phi() at start of gen_chargen_sprite::@6 CALL GRAPH @@ -4950,12 +4943,12 @@ Calls in [] to main:2 Calls in [main] to init:5 anim:9 Calls in [init] to clear_screen:59 place_sprites:66 gen_sprites:68 progress_init:70 gen_sintab:72 progress_init:74 gen_sintab:76 clear_screen:78 Calls in [gen_sintab] to setFAC:91 setARGtoFAC:93 setFAC:97 setMEMtoFAC:99 subFACfromARG:101 setMEMtoFAC:103 setFAC:105 divMEMbyFAC:107 setMEMtoFAC:109 addMEMtoFAC:111 setMEMtoFAC:113 setFAC:118 mulFACbyMEM:120 setMEMtoFAC:122 setFAC:125 divMEMbyFAC:127 sinFAC:129 mulFACbyMEM:131 addMEMtoFAC:133 getFAC:135 progress_inc:140 -Calls in [addMEMtoFAC] to prepareMEM:163 -Calls in [mulFACbyMEM] to prepareMEM:175 -Calls in [divMEMbyFAC] to prepareMEM:183 -Calls in [setFAC] to prepareMEM:188 -Calls in [setMEMtoFAC] to prepareMEM:194 -Calls in [gen_sprites] to gen_chargen_sprite:208 +Calls in [addMEMtoFAC] to prepareMEM:161 +Calls in [mulFACbyMEM] to prepareMEM:173 +Calls in [divMEMbyFAC] to prepareMEM:181 +Calls in [setFAC] to prepareMEM:186 +Calls in [setMEMtoFAC] to prepareMEM:192 +Calls in [gen_sprites] to gen_chargen_sprite:206 Propagating live ranges... Propagating live ranges... @@ -5009,7 +5002,7 @@ Propagating live ranges... Propagating live ranges... Propagating live ranges... Propagating live ranges... -Created 51 initial phi equivalence classes +Created 50 initial phi equivalence classes Coalesced [10] sin_idx_x#27 ← sin_idx_x#11 Coalesced [11] sin_idx_y#27 ← sin_idx_y#11 Coalesced [15] anim::xidx#8 ← anim::xidx#0 @@ -5038,40 +5031,39 @@ Coalesced [146] progress_cursor#67 ← progress_cursor#11 Coalesced [151] progress_cursor#69 ← progress_cursor#10 Coalesced [155] progress_idx#67 ← progress_idx#10 Coalesced (already) [156] progress_cursor#68 ← progress_cursor#34 -Coalesced [162] prepareMEM::mem#6 ← prepareMEM::mem#2 -Coalesced [174] prepareMEM::mem#8 ← prepareMEM::mem#4 -Coalesced [182] prepareMEM::mem#7 ← prepareMEM::mem#3 -Coalesced [193] prepareMEM::mem#10 ← prepareMEM::mem#1 -Coalesced [202] progress_cursor#22 ← progress_init::line#2 -Coalesced [213] gen_sprites::i#4 ← gen_sprites::i#1 -Coalesced [214] gen_sprites::spr#4 ← gen_sprites::spr#1 -Coalesced [220] gen_chargen_sprite::sprite#13 ← gen_chargen_sprite::sprite#0 -Coalesced [223] gen_chargen_sprite::bits#9 ← gen_chargen_sprite::bits#0 -Coalesced [224] gen_chargen_sprite::sprite#15 ← gen_chargen_sprite::sprite#11 -Coalesced [230] gen_chargen_sprite::s_gen#11 ← gen_chargen_sprite::s_gen#5 -Coalesced [231] gen_chargen_sprite::s_gen_cnt#10 ← gen_chargen_sprite::s_gen_cnt#4 -Coalesced [232] gen_chargen_sprite::sprite#17 ← gen_chargen_sprite::sprite#10 -Coalesced [242] gen_chargen_sprite::sprite#20 ← gen_chargen_sprite::sprite#1 -Coalesced [255] gen_chargen_sprite::y#11 ← gen_chargen_sprite::y#1 -Coalesced [256] gen_chargen_sprite::sprite#14 ← gen_chargen_sprite::sprite#2 -Coalesced [257] gen_chargen_sprite::bits#10 ← gen_chargen_sprite::bits#1 -Coalesced [258] gen_chargen_sprite::s_gen#10 ← gen_chargen_sprite::s_gen#6 -Coalesced [259] gen_chargen_sprite::s_gen_cnt#9 ← gen_chargen_sprite::s_gen_cnt#5 -Coalesced [260] gen_chargen_sprite::sprite#16 ← gen_chargen_sprite::sprite#4 -Coalesced [261] gen_chargen_sprite::x#9 ← gen_chargen_sprite::x#1 -Coalesced (already) [262] gen_chargen_sprite::s_gen#12 ← gen_chargen_sprite::s_gen#6 -Coalesced (already) [263] gen_chargen_sprite::s_gen_cnt#11 ← gen_chargen_sprite::s_gen_cnt#5 -Coalesced [264] gen_chargen_sprite::b#5 ← gen_chargen_sprite::b#1 -Coalesced (already) [265] gen_chargen_sprite::sprite#18 ← gen_chargen_sprite::sprite#4 -Coalesced [266] gen_chargen_sprite::s_gen#13 ← gen_chargen_sprite::s_gen#1 -Coalesced [267] gen_chargen_sprite::s_gen_cnt#12 ← gen_chargen_sprite::s_gen_cnt#1 -Coalesced (already) [268] gen_chargen_sprite::sprite#19 ← gen_chargen_sprite::sprite#3 -Coalesced [285] place_sprites::spr_id#3 ← place_sprites::spr_id#1 -Coalesced [286] place_sprites::j#3 ← place_sprites::j#1 -Coalesced [287] place_sprites::spr_x#3 ← place_sprites::spr_x#1 -Coalesced [288] place_sprites::j2#4 ← place_sprites::j2#2 -Coalesced [289] place_sprites::col#3 ← place_sprites::col#1 -Coalesced down to 37 phi equivalence classes +Coalesced [172] prepareMEM::mem#7 ← prepareMEM::mem#4 +Coalesced [180] prepareMEM::mem#6 ← prepareMEM::mem#3 +Coalesced [191] prepareMEM::mem#9 ← prepareMEM::mem#1 +Coalesced [200] progress_cursor#22 ← progress_init::line#2 +Coalesced [211] gen_sprites::i#4 ← gen_sprites::i#1 +Coalesced [212] gen_sprites::spr#4 ← gen_sprites::spr#1 +Coalesced [218] gen_chargen_sprite::sprite#13 ← gen_chargen_sprite::sprite#0 +Coalesced [221] gen_chargen_sprite::bits#9 ← gen_chargen_sprite::bits#0 +Coalesced [222] gen_chargen_sprite::sprite#15 ← gen_chargen_sprite::sprite#11 +Coalesced [228] gen_chargen_sprite::s_gen#11 ← gen_chargen_sprite::s_gen#5 +Coalesced [229] gen_chargen_sprite::s_gen_cnt#10 ← gen_chargen_sprite::s_gen_cnt#4 +Coalesced [230] gen_chargen_sprite::sprite#17 ← gen_chargen_sprite::sprite#10 +Coalesced [240] gen_chargen_sprite::sprite#20 ← gen_chargen_sprite::sprite#1 +Coalesced [253] gen_chargen_sprite::y#11 ← gen_chargen_sprite::y#1 +Coalesced [254] gen_chargen_sprite::sprite#14 ← gen_chargen_sprite::sprite#2 +Coalesced [255] gen_chargen_sprite::bits#10 ← gen_chargen_sprite::bits#1 +Coalesced [256] gen_chargen_sprite::s_gen#10 ← gen_chargen_sprite::s_gen#6 +Coalesced [257] gen_chargen_sprite::s_gen_cnt#9 ← gen_chargen_sprite::s_gen_cnt#5 +Coalesced [258] gen_chargen_sprite::sprite#16 ← gen_chargen_sprite::sprite#4 +Coalesced [259] gen_chargen_sprite::x#9 ← gen_chargen_sprite::x#1 +Coalesced (already) [260] gen_chargen_sprite::s_gen#12 ← gen_chargen_sprite::s_gen#6 +Coalesced (already) [261] gen_chargen_sprite::s_gen_cnt#11 ← gen_chargen_sprite::s_gen_cnt#5 +Coalesced [262] gen_chargen_sprite::b#5 ← gen_chargen_sprite::b#1 +Coalesced (already) [263] gen_chargen_sprite::sprite#18 ← gen_chargen_sprite::sprite#4 +Coalesced [264] gen_chargen_sprite::s_gen#13 ← gen_chargen_sprite::s_gen#1 +Coalesced [265] gen_chargen_sprite::s_gen_cnt#12 ← gen_chargen_sprite::s_gen_cnt#1 +Coalesced (already) [266] gen_chargen_sprite::sprite#19 ← gen_chargen_sprite::sprite#3 +Coalesced [283] place_sprites::spr_id#3 ← place_sprites::spr_id#1 +Coalesced [284] place_sprites::j#3 ← place_sprites::j#1 +Coalesced [285] place_sprites::spr_x#3 ← place_sprites::spr_x#1 +Coalesced [286] place_sprites::j2#4 ← place_sprites::j2#2 +Coalesced [287] place_sprites::col#3 ← place_sprites::col#1 +Coalesced down to 36 phi equivalence classes Culled Empty Block (label) anim::@9 Culled Empty Block (label) anim::@10 Not culling empty block because it shares successor with its predecessor. (label) anim::@15 @@ -5123,6 +5115,7 @@ Adding NOP phi() at start of gen_sintab::@18 Adding NOP phi() at start of gen_sintab::@19 Adding NOP phi() at start of gen_sintab::@20 Adding NOP phi() at start of gen_sintab::@21 +Adding NOP phi() at start of addMEMtoFAC Adding NOP phi() at start of gen_sprites Adding NOP phi() at start of gen_chargen_sprite::@6 Propagating live ranges... @@ -5437,204 +5430,203 @@ getFAC::@return: scope:[getFAC] from getFAC [131] return [ getFAC::return#0 ] ( main:2::init:5::gen_sintab:57::getFAC:113 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 getFAC::return#0 ] main:2::init:5::gen_sintab:61::getFAC:113 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 getFAC::return#0 ] ) to:@return addMEMtoFAC: scope:[addMEMtoFAC] from gen_sintab::@11 gen_sintab::@20 - [132] (byte*) addMEMtoFAC::mem#2 ← phi( gen_sintab::@11/(const byte[]) gen_sintab::f_min#0 gen_sintab::@20/(const byte[]) gen_sintab::f_min#0 ) [ addMEMtoFAC::mem#2 ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 addMEMtoFAC::mem#2 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 addMEMtoFAC::mem#2 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 addMEMtoFAC::mem#2 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 addMEMtoFAC::mem#2 ] ) - [133] (byte*) prepareMEM::mem#2 ← (byte*) addMEMtoFAC::mem#2 [ prepareMEM::mem#2 ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#2 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#2 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#2 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#2 ] ) - [134] call prepareMEM param-assignment [ ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + [132] phi() [ ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + [133] call prepareMEM param-assignment [ ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) to:addMEMtoFAC::@1 addMEMtoFAC::@1: scope:[addMEMtoFAC] from addMEMtoFAC asm { lda$fe ldy$ff jsr$b867 } to:addMEMtoFAC::@return addMEMtoFAC::@return: scope:[addMEMtoFAC] from addMEMtoFAC::@1 - [136] return [ ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + [135] return [ ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) to:@return prepareMEM: scope:[prepareMEM] from addMEMtoFAC divMEMbyFAC mulFACbyMEM setFAC setMEMtoFAC - [137] (byte*) prepareMEM::mem#5 ← phi( addMEMtoFAC/(byte*) prepareMEM::mem#2 divMEMbyFAC/(byte*) prepareMEM::mem#3 mulFACbyMEM/(byte*) prepareMEM::mem#4 setFAC/(byte*~) prepareMEM::mem#9 setMEMtoFAC/(byte*) prepareMEM::mem#1 ) [ prepareMEM::mem#5 ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:99::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:88::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:73::prepareMEM:157 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:73::prepareMEM:157 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:78::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:78::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:86::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:86::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:97::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:97::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:103::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:103::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:80::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] ) - [138] (byte~) prepareMEM::$0 ← < (byte*) prepareMEM::mem#5 [ prepareMEM::mem#5 prepareMEM::$0 ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:99::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:88::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setFAC:73::prepareMEM:157 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setFAC:73::prepareMEM:157 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setFAC:78::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setFAC:78::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setFAC:86::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setFAC:86::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setFAC:97::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setFAC:97::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setFAC:103::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setFAC:103::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:80::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] ) - [139] *((const byte*) memLo#0) ← (byte~) prepareMEM::$0 [ prepareMEM::mem#5 ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:99::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:88::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:73::prepareMEM:157 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:73::prepareMEM:157 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:78::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:78::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:86::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:86::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:97::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:97::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:103::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:103::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:80::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] ) - [140] (byte~) prepareMEM::$1 ← > (byte*) prepareMEM::mem#5 [ prepareMEM::$1 ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:99::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:88::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setFAC:73::prepareMEM:157 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setFAC:73::prepareMEM:157 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setFAC:78::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setFAC:78::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setFAC:86::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setFAC:86::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setFAC:97::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setFAC:97::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setFAC:103::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setFAC:103::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:80::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] ) - [141] *((const byte*) memHi#0) ← (byte~) prepareMEM::$1 [ ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:99::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:88::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setFAC:73::prepareMEM:157 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:73::prepareMEM:157 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:78::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:78::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:86::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:86::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:97::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:97::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setFAC:103::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:103::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:80::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + [136] (byte*) prepareMEM::mem#5 ← phi( addMEMtoFAC/(const byte[]) gen_sintab::f_min#0 divMEMbyFAC/(byte*) prepareMEM::mem#3 mulFACbyMEM/(byte*) prepareMEM::mem#4 setFAC/(byte*~) prepareMEM::mem#8 setMEMtoFAC/(byte*) prepareMEM::mem#1 ) [ prepareMEM::mem#5 ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:99::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:88::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:73::prepareMEM:156 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:73::prepareMEM:156 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:78::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:78::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:86::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:86::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:97::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:97::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:103::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:103::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:80::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] ) + [137] (byte~) prepareMEM::$0 ← < (byte*) prepareMEM::mem#5 [ prepareMEM::mem#5 prepareMEM::$0 ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:99::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:88::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setFAC:73::prepareMEM:156 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setFAC:73::prepareMEM:156 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setFAC:78::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setFAC:78::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setFAC:86::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setFAC:86::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setFAC:97::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setFAC:97::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setFAC:103::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setFAC:103::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:80::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] ) + [138] *((const byte*) memLo#0) ← (byte~) prepareMEM::$0 [ prepareMEM::mem#5 ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:99::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:88::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:73::prepareMEM:156 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:73::prepareMEM:156 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:78::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:78::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:86::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:86::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:97::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:97::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:103::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:103::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:80::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] ) + [139] (byte~) prepareMEM::$1 ← > (byte*) prepareMEM::mem#5 [ prepareMEM::$1 ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:99::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:88::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setFAC:73::prepareMEM:156 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setFAC:73::prepareMEM:156 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setFAC:78::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setFAC:78::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setFAC:86::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setFAC:86::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setFAC:97::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setFAC:97::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setFAC:103::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setFAC:103::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:80::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] ) + [140] *((const byte*) memHi#0) ← (byte~) prepareMEM::$1 [ ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:99::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:88::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setFAC:73::prepareMEM:156 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:73::prepareMEM:156 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:78::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:78::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:86::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:86::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:97::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:97::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setFAC:103::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:103::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:80::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) to:prepareMEM::@return prepareMEM::@return: scope:[prepareMEM] from prepareMEM - [142] return [ ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:99::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:88::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setFAC:73::prepareMEM:157 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:73::prepareMEM:157 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:78::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:78::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:86::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:86::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:97::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:97::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setFAC:103::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:103::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:80::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + [141] return [ ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:99::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:88::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setFAC:73::prepareMEM:156 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:73::prepareMEM:156 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:78::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:78::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:86::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:86::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:97::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:97::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setFAC:103::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:103::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:80::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) to:@return mulFACbyMEM: scope:[mulFACbyMEM] from gen_sintab::@14 gen_sintab::@19 - [143] (byte*) mulFACbyMEM::mem#2 ← phi( gen_sintab::@14/(const byte*) gen_sintab::f_2pi#0 gen_sintab::@19/(const byte[]) gen_sintab::f_amp#0 ) [ mulFACbyMEM::mem#2 ] ( main:2::init:5::gen_sintab:57::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 mulFACbyMEM::mem#2 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 mulFACbyMEM::mem#2 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 mulFACbyMEM::mem#2 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 mulFACbyMEM::mem#2 ] ) - [144] (byte*) prepareMEM::mem#4 ← (byte*) mulFACbyMEM::mem#2 [ prepareMEM::mem#4 ] ( main:2::init:5::gen_sintab:57::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#4 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#4 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#4 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#4 ] ) - [145] call prepareMEM param-assignment [ ] ( main:2::init:5::gen_sintab:57::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + [142] (byte*) mulFACbyMEM::mem#2 ← phi( gen_sintab::@14/(const byte*) gen_sintab::f_2pi#0 gen_sintab::@19/(const byte[]) gen_sintab::f_amp#0 ) [ mulFACbyMEM::mem#2 ] ( main:2::init:5::gen_sintab:57::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 mulFACbyMEM::mem#2 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 mulFACbyMEM::mem#2 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 mulFACbyMEM::mem#2 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 mulFACbyMEM::mem#2 ] ) + [143] (byte*) prepareMEM::mem#4 ← (byte*) mulFACbyMEM::mem#2 [ prepareMEM::mem#4 ] ( main:2::init:5::gen_sintab:57::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#4 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#4 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#4 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#4 ] ) + [144] call prepareMEM param-assignment [ ] ( main:2::init:5::gen_sintab:57::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) to:mulFACbyMEM::@1 mulFACbyMEM::@1: scope:[mulFACbyMEM] from mulFACbyMEM asm { lda$fe ldy$ff jsr$ba28 } to:mulFACbyMEM::@return mulFACbyMEM::@return: scope:[mulFACbyMEM] from mulFACbyMEM::@1 - [147] return [ ] ( main:2::init:5::gen_sintab:57::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + [146] return [ ] ( main:2::init:5::gen_sintab:57::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) to:@return sinFAC: scope:[sinFAC] from gen_sintab::@18 asm { jsr$e26b } to:sinFAC::@return sinFAC::@return: scope:[sinFAC] from sinFAC - [149] return [ ] ( main:2::init:5::gen_sintab:57::sinFAC:107 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::sinFAC:107 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + [148] return [ ] ( main:2::init:5::gen_sintab:57::sinFAC:107 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::sinFAC:107 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) to:@return divMEMbyFAC: scope:[divMEMbyFAC] from gen_sintab::@17 gen_sintab::@9 - [150] (byte*) divMEMbyFAC::mem#2 ← phi( gen_sintab::@17/(const byte[]) gen_sintab::f_i#0 gen_sintab::@9/(const byte[]) gen_sintab::f_amp#0 ) [ divMEMbyFAC::mem#2 ] ( main:2::init:5::gen_sintab:57::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 divMEMbyFAC::mem#2 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 divMEMbyFAC::mem#2 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 divMEMbyFAC::mem#2 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 divMEMbyFAC::mem#2 ] ) - [151] (byte*) prepareMEM::mem#3 ← (byte*) divMEMbyFAC::mem#2 [ prepareMEM::mem#3 ] ( main:2::init:5::gen_sintab:57::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#3 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#3 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#3 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#3 ] ) - [152] call prepareMEM param-assignment [ ] ( main:2::init:5::gen_sintab:57::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + [149] (byte*) divMEMbyFAC::mem#2 ← phi( gen_sintab::@17/(const byte[]) gen_sintab::f_i#0 gen_sintab::@9/(const byte[]) gen_sintab::f_amp#0 ) [ divMEMbyFAC::mem#2 ] ( main:2::init:5::gen_sintab:57::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 divMEMbyFAC::mem#2 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 divMEMbyFAC::mem#2 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 divMEMbyFAC::mem#2 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 divMEMbyFAC::mem#2 ] ) + [150] (byte*) prepareMEM::mem#3 ← (byte*) divMEMbyFAC::mem#2 [ prepareMEM::mem#3 ] ( main:2::init:5::gen_sintab:57::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#3 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#3 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#3 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#3 ] ) + [151] call prepareMEM param-assignment [ ] ( main:2::init:5::gen_sintab:57::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) to:divMEMbyFAC::@1 divMEMbyFAC::@1: scope:[divMEMbyFAC] from divMEMbyFAC asm { lda$fe ldy$ff jsr$bb0f } to:divMEMbyFAC::@return divMEMbyFAC::@return: scope:[divMEMbyFAC] from divMEMbyFAC::@1 - [154] return [ ] ( main:2::init:5::gen_sintab:57::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + [153] return [ ] ( main:2::init:5::gen_sintab:57::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) to:@return setFAC: scope:[setFAC] from gen_sintab gen_sintab::@1 gen_sintab::@16 gen_sintab::@4 gen_sintab::@8 - [155] (word) setFAC::w#5 ← phi( gen_sintab/(word) setFAC::w#0 gen_sintab::@1/(word) setFAC::w#3 gen_sintab::@16/(word) setFAC::w#4 gen_sintab::@4/(word) setFAC::w#1 gen_sintab::@8/(byte/signed byte/word/signed word/dword/signed dword) 2 ) [ setFAC::w#5 ] ( main:2::init:5::gen_sintab:57::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 setFAC::w#5 ] main:2::init:5::gen_sintab:61::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 setFAC::w#5 ] main:2::init:5::gen_sintab:57::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 setFAC::w#5 ] main:2::init:5::gen_sintab:61::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 setFAC::w#5 ] main:2::init:5::gen_sintab:57::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 setFAC::w#5 ] main:2::init:5::gen_sintab:61::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 setFAC::w#5 ] main:2::init:5::gen_sintab:57::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 setFAC::w#5 ] main:2::init:5::gen_sintab:61::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 setFAC::w#5 ] main:2::init:5::gen_sintab:57::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 setFAC::w#5 ] main:2::init:5::gen_sintab:61::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 setFAC::w#5 ] ) - [156] (byte*~) prepareMEM::mem#9 ← (byte*)(word) setFAC::w#5 [ prepareMEM::mem#9 ] ( main:2::init:5::gen_sintab:57::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#9 ] main:2::init:5::gen_sintab:61::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#9 ] main:2::init:5::gen_sintab:57::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#9 ] main:2::init:5::gen_sintab:61::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#9 ] main:2::init:5::gen_sintab:57::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#9 ] main:2::init:5::gen_sintab:61::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#9 ] main:2::init:5::gen_sintab:57::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#9 ] main:2::init:5::gen_sintab:61::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#9 ] main:2::init:5::gen_sintab:57::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#9 ] main:2::init:5::gen_sintab:61::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#9 ] ) - [157] call prepareMEM param-assignment [ ] ( main:2::init:5::gen_sintab:57::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + [154] (word) setFAC::w#5 ← phi( gen_sintab/(word) setFAC::w#0 gen_sintab::@1/(word) setFAC::w#3 gen_sintab::@16/(word) setFAC::w#4 gen_sintab::@4/(word) setFAC::w#1 gen_sintab::@8/(byte/signed byte/word/signed word/dword/signed dword) 2 ) [ setFAC::w#5 ] ( main:2::init:5::gen_sintab:57::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 setFAC::w#5 ] main:2::init:5::gen_sintab:61::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 setFAC::w#5 ] main:2::init:5::gen_sintab:57::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 setFAC::w#5 ] main:2::init:5::gen_sintab:61::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 setFAC::w#5 ] main:2::init:5::gen_sintab:57::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 setFAC::w#5 ] main:2::init:5::gen_sintab:61::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 setFAC::w#5 ] main:2::init:5::gen_sintab:57::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 setFAC::w#5 ] main:2::init:5::gen_sintab:61::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 setFAC::w#5 ] main:2::init:5::gen_sintab:57::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 setFAC::w#5 ] main:2::init:5::gen_sintab:61::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 setFAC::w#5 ] ) + [155] (byte*~) prepareMEM::mem#8 ← (byte*)(word) setFAC::w#5 [ prepareMEM::mem#8 ] ( main:2::init:5::gen_sintab:57::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#8 ] main:2::init:5::gen_sintab:61::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#8 ] main:2::init:5::gen_sintab:57::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#8 ] main:2::init:5::gen_sintab:61::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#8 ] main:2::init:5::gen_sintab:57::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#8 ] main:2::init:5::gen_sintab:61::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#8 ] main:2::init:5::gen_sintab:57::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#8 ] main:2::init:5::gen_sintab:61::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#8 ] main:2::init:5::gen_sintab:57::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#8 ] main:2::init:5::gen_sintab:61::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#8 ] ) + [156] call prepareMEM param-assignment [ ] ( main:2::init:5::gen_sintab:57::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) to:setFAC::@1 setFAC::@1: scope:[setFAC] from setFAC asm { ldy$fe lda$ff jsr$b391 } to:setFAC::@return setFAC::@return: scope:[setFAC] from setFAC::@1 - [159] return [ ] ( main:2::init:5::gen_sintab:57::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + [158] return [ ] ( main:2::init:5::gen_sintab:57::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) to:@return setMEMtoFAC: scope:[setMEMtoFAC] from gen_sintab::@10 gen_sintab::@12 gen_sintab::@15 gen_sintab::@5 gen_sintab::@7 - [160] (byte*) setMEMtoFAC::mem#5 ← phi( gen_sintab::@10/(const byte[]) gen_sintab::f_amp#0 gen_sintab::@12/(const byte[]) gen_sintab::f_min#0 gen_sintab::@15/(const byte[]) gen_sintab::f_i#0 gen_sintab::@5/(const byte[]) gen_sintab::f_min#0 gen_sintab::@7/(const byte[]) gen_sintab::f_amp#0 ) [ setMEMtoFAC::mem#5 ] ( main:2::init:5::gen_sintab:57::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 setMEMtoFAC::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 setMEMtoFAC::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 setMEMtoFAC::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 setMEMtoFAC::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 setMEMtoFAC::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 setMEMtoFAC::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 setMEMtoFAC::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 setMEMtoFAC::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 setMEMtoFAC::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 setMEMtoFAC::mem#5 ] ) - [161] (byte*) prepareMEM::mem#1 ← (byte*) setMEMtoFAC::mem#5 [ prepareMEM::mem#1 ] ( main:2::init:5::gen_sintab:57::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#1 ] ) - [162] call prepareMEM param-assignment [ ] ( main:2::init:5::gen_sintab:57::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + [159] (byte*) setMEMtoFAC::mem#5 ← phi( gen_sintab::@10/(const byte[]) gen_sintab::f_amp#0 gen_sintab::@12/(const byte[]) gen_sintab::f_min#0 gen_sintab::@15/(const byte[]) gen_sintab::f_i#0 gen_sintab::@5/(const byte[]) gen_sintab::f_min#0 gen_sintab::@7/(const byte[]) gen_sintab::f_amp#0 ) [ setMEMtoFAC::mem#5 ] ( main:2::init:5::gen_sintab:57::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 setMEMtoFAC::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 setMEMtoFAC::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 setMEMtoFAC::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 setMEMtoFAC::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 setMEMtoFAC::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 setMEMtoFAC::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 setMEMtoFAC::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 setMEMtoFAC::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 setMEMtoFAC::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 setMEMtoFAC::mem#5 ] ) + [160] (byte*) prepareMEM::mem#1 ← (byte*) setMEMtoFAC::mem#5 [ prepareMEM::mem#1 ] ( main:2::init:5::gen_sintab:57::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#1 ] ) + [161] call prepareMEM param-assignment [ ] ( main:2::init:5::gen_sintab:57::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) to:setMEMtoFAC::@1 setMEMtoFAC::@1: scope:[setMEMtoFAC] from setMEMtoFAC asm { ldx$fe ldy$ff jsr$bbd4 } to:setMEMtoFAC::@return setMEMtoFAC::@return: scope:[setMEMtoFAC] from setMEMtoFAC::@1 - [164] return [ ] ( main:2::init:5::gen_sintab:57::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + [163] return [ ] ( main:2::init:5::gen_sintab:57::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) to:@return subFACfromARG: scope:[subFACfromARG] from gen_sintab::@6 asm { jsr$b853 } to:subFACfromARG::@return subFACfromARG::@return: scope:[subFACfromARG] from subFACfromARG - [166] return [ ] ( main:2::init:5::gen_sintab:57::subFACfromARG:82 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::subFACfromARG:82 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ) + [165] return [ ] ( main:2::init:5::gen_sintab:57::subFACfromARG:82 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::subFACfromARG:82 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ) to:@return setARGtoFAC: scope:[setARGtoFAC] from gen_sintab::@3 asm { jsr$bc0f } to:setARGtoFAC::@return setARGtoFAC::@return: scope:[setARGtoFAC] from setARGtoFAC - [168] return [ ] ( main:2::init:5::gen_sintab:57::setARGtoFAC:75 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setARGtoFAC:75 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ) + [167] return [ ] ( main:2::init:5::gen_sintab:57::setARGtoFAC:75 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setARGtoFAC:75 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ) to:@return progress_init: scope:[progress_init] from init::@5 init::@7 - [169] (byte*) progress_init::line#2 ← phi( init::@5/(const byte*) SCREEN#0 init::@7/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40 ) [ progress_init::line#2 ] ( main:2::init:5::progress_init:55 [ progress_init::line#2 ] main:2::init:5::progress_init:59 [ progress_init::line#2 ] ) + [168] (byte*) progress_init::line#2 ← phi( init::@5/(const byte*) SCREEN#0 init::@7/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40 ) [ progress_init::line#2 ] ( main:2::init:5::progress_init:55 [ progress_init::line#2 ] main:2::init:5::progress_init:59 [ progress_init::line#2 ] ) to:progress_init::@return progress_init::@return: scope:[progress_init] from progress_init - [170] return [ progress_init::line#2 ] ( main:2::init:5::progress_init:55 [ progress_init::line#2 ] main:2::init:5::progress_init:59 [ progress_init::line#2 ] ) + [169] return [ progress_init::line#2 ] ( main:2::init:5::progress_init:55 [ progress_init::line#2 ] main:2::init:5::progress_init:59 [ progress_init::line#2 ] ) to:@return gen_sprites: scope:[gen_sprites] from init::@4 - [171] phi() [ ] ( main:2::init:5::gen_sprites:53 [ ] ) + [170] phi() [ ] ( main:2::init:5::gen_sprites:53 [ ] ) to:gen_sprites::@1 gen_sprites::@1: scope:[gen_sprites] from gen_sprites gen_sprites::@3 - [172] (byte*) gen_sprites::spr#2 ← phi( gen_sprites/(const byte*) sprites#0 gen_sprites::@3/(byte*) gen_sprites::spr#1 ) [ gen_sprites::i#2 gen_sprites::spr#2 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#2 gen_sprites::spr#2 ] ) - [172] (byte) gen_sprites::i#2 ← phi( gen_sprites/(byte/signed byte/word/signed word/dword/signed dword) 0 gen_sprites::@3/(byte) gen_sprites::i#1 ) [ gen_sprites::i#2 gen_sprites::spr#2 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#2 gen_sprites::spr#2 ] ) - [173] (byte) gen_chargen_sprite::ch#0 ← *((const string) gen_sprites::cml#0 + (byte) gen_sprites::i#2) [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::ch#0 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::ch#0 ] ) - [174] (byte*) gen_chargen_sprite::sprite#0 ← (byte*) gen_sprites::spr#2 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::ch#0 gen_chargen_sprite::sprite#0 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::ch#0 gen_chargen_sprite::sprite#0 ] ) - [175] call gen_chargen_sprite param-assignment [ gen_sprites::i#2 gen_sprites::spr#2 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#2 gen_sprites::spr#2 ] ) + [171] (byte*) gen_sprites::spr#2 ← phi( gen_sprites/(const byte*) sprites#0 gen_sprites::@3/(byte*) gen_sprites::spr#1 ) [ gen_sprites::i#2 gen_sprites::spr#2 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#2 gen_sprites::spr#2 ] ) + [171] (byte) gen_sprites::i#2 ← phi( gen_sprites/(byte/signed byte/word/signed word/dword/signed dword) 0 gen_sprites::@3/(byte) gen_sprites::i#1 ) [ gen_sprites::i#2 gen_sprites::spr#2 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#2 gen_sprites::spr#2 ] ) + [172] (byte) gen_chargen_sprite::ch#0 ← *((const string) gen_sprites::cml#0 + (byte) gen_sprites::i#2) [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::ch#0 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::ch#0 ] ) + [173] (byte*) gen_chargen_sprite::sprite#0 ← (byte*) gen_sprites::spr#2 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::ch#0 gen_chargen_sprite::sprite#0 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::ch#0 gen_chargen_sprite::sprite#0 ] ) + [174] call gen_chargen_sprite param-assignment [ gen_sprites::i#2 gen_sprites::spr#2 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#2 gen_sprites::spr#2 ] ) to:gen_sprites::@3 gen_sprites::@3: scope:[gen_sprites] from gen_sprites::@1 - [176] (byte*) gen_sprites::spr#1 ← (byte*) gen_sprites::spr#2 + (byte/signed byte/word/signed word/dword/signed dword) 64 [ gen_sprites::i#2 gen_sprites::spr#1 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#2 gen_sprites::spr#1 ] ) - [177] (byte) gen_sprites::i#1 ← ++ (byte) gen_sprites::i#2 [ gen_sprites::i#1 gen_sprites::spr#1 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#1 gen_sprites::spr#1 ] ) - [178] if((byte) gen_sprites::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 7) goto gen_sprites::@1 [ gen_sprites::i#1 gen_sprites::spr#1 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#1 gen_sprites::spr#1 ] ) + [175] (byte*) gen_sprites::spr#1 ← (byte*) gen_sprites::spr#2 + (byte/signed byte/word/signed word/dword/signed dword) 64 [ gen_sprites::i#2 gen_sprites::spr#1 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#2 gen_sprites::spr#1 ] ) + [176] (byte) gen_sprites::i#1 ← ++ (byte) gen_sprites::i#2 [ gen_sprites::i#1 gen_sprites::spr#1 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#1 gen_sprites::spr#1 ] ) + [177] if((byte) gen_sprites::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 7) goto gen_sprites::@1 [ gen_sprites::i#1 gen_sprites::spr#1 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#1 gen_sprites::spr#1 ] ) to:gen_sprites::@return gen_sprites::@return: scope:[gen_sprites] from gen_sprites::@3 - [179] return [ ] ( main:2::init:5::gen_sprites:53 [ ] ) + [178] return [ ] ( main:2::init:5::gen_sprites:53 [ ] ) to:@return gen_chargen_sprite: scope:[gen_chargen_sprite] from gen_sprites::@1 - [180] (word~) gen_chargen_sprite::$0 ← ((word)) (byte) gen_chargen_sprite::ch#0 [ gen_chargen_sprite::sprite#0 gen_chargen_sprite::$0 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::sprite#0 gen_chargen_sprite::$0 ] ) - [181] (word~) gen_chargen_sprite::$1 ← (word~) gen_chargen_sprite::$0 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ gen_chargen_sprite::sprite#0 gen_chargen_sprite::$1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::sprite#0 gen_chargen_sprite::$1 ] ) - [182] (byte*) gen_chargen_sprite::chargen#0 ← (const byte*) CHARGEN#0 + (word~) gen_chargen_sprite::$1 [ gen_chargen_sprite::sprite#0 gen_chargen_sprite::chargen#0 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::sprite#0 gen_chargen_sprite::chargen#0 ] ) + [179] (word~) gen_chargen_sprite::$0 ← ((word)) (byte) gen_chargen_sprite::ch#0 [ gen_chargen_sprite::sprite#0 gen_chargen_sprite::$0 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::sprite#0 gen_chargen_sprite::$0 ] ) + [180] (word~) gen_chargen_sprite::$1 ← (word~) gen_chargen_sprite::$0 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ gen_chargen_sprite::sprite#0 gen_chargen_sprite::$1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::sprite#0 gen_chargen_sprite::$1 ] ) + [181] (byte*) gen_chargen_sprite::chargen#0 ← (const byte*) CHARGEN#0 + (word~) gen_chargen_sprite::$1 [ gen_chargen_sprite::sprite#0 gen_chargen_sprite::chargen#0 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::sprite#0 gen_chargen_sprite::chargen#0 ] ) asm { sei } - [184] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) 50 [ gen_chargen_sprite::sprite#0 gen_chargen_sprite::chargen#0 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::sprite#0 gen_chargen_sprite::chargen#0 ] ) + [183] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) 50 [ gen_chargen_sprite::sprite#0 gen_chargen_sprite::chargen#0 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::sprite#0 gen_chargen_sprite::chargen#0 ] ) to:gen_chargen_sprite::@1 gen_chargen_sprite::@1: scope:[gen_chargen_sprite] from gen_chargen_sprite gen_chargen_sprite::@9 - [185] (byte*) gen_chargen_sprite::sprite#11 ← phi( gen_chargen_sprite/(byte*) gen_chargen_sprite::sprite#0 gen_chargen_sprite::@9/(byte*) gen_chargen_sprite::sprite#2 ) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#11 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#11 ] ) - [185] (byte) gen_chargen_sprite::y#2 ← phi( gen_chargen_sprite/(byte/signed byte/word/signed word/dword/signed dword) 0 gen_chargen_sprite::@9/(byte) gen_chargen_sprite::y#1 ) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#11 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#11 ] ) - [186] (byte) gen_chargen_sprite::bits#0 ← *((byte*) gen_chargen_sprite::chargen#0 + (byte) gen_chargen_sprite::y#2) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#11 gen_chargen_sprite::bits#0 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#11 gen_chargen_sprite::bits#0 ] ) + [184] (byte*) gen_chargen_sprite::sprite#11 ← phi( gen_chargen_sprite/(byte*) gen_chargen_sprite::sprite#0 gen_chargen_sprite::@9/(byte*) gen_chargen_sprite::sprite#2 ) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#11 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#11 ] ) + [184] (byte) gen_chargen_sprite::y#2 ← phi( gen_chargen_sprite/(byte/signed byte/word/signed word/dword/signed dword) 0 gen_chargen_sprite::@9/(byte) gen_chargen_sprite::y#1 ) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#11 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#11 ] ) + [185] (byte) gen_chargen_sprite::bits#0 ← *((byte*) gen_chargen_sprite::chargen#0 + (byte) gen_chargen_sprite::y#2) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#11 gen_chargen_sprite::bits#0 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#11 gen_chargen_sprite::bits#0 ] ) to:gen_chargen_sprite::@2 gen_chargen_sprite::@2: scope:[gen_chargen_sprite] from gen_chargen_sprite::@1 gen_chargen_sprite::@8 - [187] (byte) gen_chargen_sprite::x#6 ← phi( gen_chargen_sprite::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 gen_chargen_sprite::@8/(byte) gen_chargen_sprite::x#1 ) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 ] ) - [187] (byte*) gen_chargen_sprite::sprite#10 ← phi( gen_chargen_sprite::@1/(byte*) gen_chargen_sprite::sprite#11 gen_chargen_sprite::@8/(byte*) gen_chargen_sprite::sprite#4 ) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 ] ) - [187] (byte) gen_chargen_sprite::s_gen_cnt#4 ← phi( gen_chargen_sprite::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 gen_chargen_sprite::@8/(byte) gen_chargen_sprite::s_gen_cnt#5 ) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 ] ) - [187] (byte) gen_chargen_sprite::s_gen#5 ← phi( gen_chargen_sprite::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 gen_chargen_sprite::@8/(byte) gen_chargen_sprite::s_gen#6 ) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 ] ) - [187] (byte) gen_chargen_sprite::bits#2 ← phi( gen_chargen_sprite::@1/(byte) gen_chargen_sprite::bits#0 gen_chargen_sprite::@8/(byte) gen_chargen_sprite::bits#1 ) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 ] ) - [188] (byte~) gen_chargen_sprite::$3 ← (byte) gen_chargen_sprite::bits#2 & (byte/word/signed word/dword/signed dword) 128 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 gen_chargen_sprite::$3 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 gen_chargen_sprite::$3 ] ) - [189] if((byte~) gen_chargen_sprite::$3==(byte/signed byte/word/signed word/dword/signed dword) 0) goto gen_chargen_sprite::@3 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 ] ) + [186] (byte) gen_chargen_sprite::x#6 ← phi( gen_chargen_sprite::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 gen_chargen_sprite::@8/(byte) gen_chargen_sprite::x#1 ) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 ] ) + [186] (byte*) gen_chargen_sprite::sprite#10 ← phi( gen_chargen_sprite::@1/(byte*) gen_chargen_sprite::sprite#11 gen_chargen_sprite::@8/(byte*) gen_chargen_sprite::sprite#4 ) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 ] ) + [186] (byte) gen_chargen_sprite::s_gen_cnt#4 ← phi( gen_chargen_sprite::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 gen_chargen_sprite::@8/(byte) gen_chargen_sprite::s_gen_cnt#5 ) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 ] ) + [186] (byte) gen_chargen_sprite::s_gen#5 ← phi( gen_chargen_sprite::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 gen_chargen_sprite::@8/(byte) gen_chargen_sprite::s_gen#6 ) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 ] ) + [186] (byte) gen_chargen_sprite::bits#2 ← phi( gen_chargen_sprite::@1/(byte) gen_chargen_sprite::bits#0 gen_chargen_sprite::@8/(byte) gen_chargen_sprite::bits#1 ) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 ] ) + [187] (byte~) gen_chargen_sprite::$3 ← (byte) gen_chargen_sprite::bits#2 & (byte/word/signed word/dword/signed dword) 128 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 gen_chargen_sprite::$3 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 gen_chargen_sprite::$3 ] ) + [188] if((byte~) gen_chargen_sprite::$3==(byte/signed byte/word/signed word/dword/signed dword) 0) goto gen_chargen_sprite::@3 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 ] ) to:gen_chargen_sprite::@6 gen_chargen_sprite::@6: scope:[gen_chargen_sprite] from gen_chargen_sprite::@2 - [190] phi() [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 ] ) + [189] phi() [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 ] ) to:gen_chargen_sprite::@3 gen_chargen_sprite::@3: scope:[gen_chargen_sprite] from gen_chargen_sprite::@2 gen_chargen_sprite::@6 - [191] (byte) gen_chargen_sprite::c#3 ← phi( gen_chargen_sprite::@2/(byte/signed byte/word/signed word/dword/signed dword) 0 gen_chargen_sprite::@6/(byte/signed byte/word/signed word/dword/signed dword) 1 ) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 ] ) + [190] (byte) gen_chargen_sprite::c#3 ← phi( gen_chargen_sprite::@2/(byte/signed byte/word/signed word/dword/signed dword) 0 gen_chargen_sprite::@6/(byte/signed byte/word/signed word/dword/signed dword) 1 ) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 ] ) to:gen_chargen_sprite::@4 gen_chargen_sprite::@4: scope:[gen_chargen_sprite] from gen_chargen_sprite::@3 gen_chargen_sprite::@5 - [192] (byte*) gen_chargen_sprite::sprite#3 ← phi( gen_chargen_sprite::@3/(byte*) gen_chargen_sprite::sprite#10 gen_chargen_sprite::@5/(byte*) gen_chargen_sprite::sprite#4 ) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 ] ) - [192] (byte) gen_chargen_sprite::b#2 ← phi( gen_chargen_sprite::@3/(byte/signed byte/word/signed word/dword/signed dword) 0 gen_chargen_sprite::@5/(byte) gen_chargen_sprite::b#1 ) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 ] ) - [192] (byte) gen_chargen_sprite::s_gen_cnt#3 ← phi( gen_chargen_sprite::@3/(byte) gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::@5/(byte) gen_chargen_sprite::s_gen_cnt#5 ) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 ] ) - [192] (byte) gen_chargen_sprite::s_gen#3 ← phi( gen_chargen_sprite::@3/(byte) gen_chargen_sprite::s_gen#5 gen_chargen_sprite::@5/(byte) gen_chargen_sprite::s_gen#6 ) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 ] ) - [193] (byte~) gen_chargen_sprite::$6 ← (byte) gen_chargen_sprite::s_gen#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::$6 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::$6 ] ) - [194] (byte) gen_chargen_sprite::s_gen#1 ← (byte~) gen_chargen_sprite::$6 | (byte) gen_chargen_sprite::c#3 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ) - [195] (byte) gen_chargen_sprite::s_gen_cnt#1 ← ++ (byte) gen_chargen_sprite::s_gen_cnt#3 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 gen_chargen_sprite::s_gen_cnt#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 gen_chargen_sprite::s_gen_cnt#1 ] ) - [196] if((byte) gen_chargen_sprite::s_gen_cnt#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto gen_chargen_sprite::@5 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 gen_chargen_sprite::s_gen_cnt#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 gen_chargen_sprite::s_gen_cnt#1 ] ) + [191] (byte*) gen_chargen_sprite::sprite#3 ← phi( gen_chargen_sprite::@3/(byte*) gen_chargen_sprite::sprite#10 gen_chargen_sprite::@5/(byte*) gen_chargen_sprite::sprite#4 ) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 ] ) + [191] (byte) gen_chargen_sprite::b#2 ← phi( gen_chargen_sprite::@3/(byte/signed byte/word/signed word/dword/signed dword) 0 gen_chargen_sprite::@5/(byte) gen_chargen_sprite::b#1 ) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 ] ) + [191] (byte) gen_chargen_sprite::s_gen_cnt#3 ← phi( gen_chargen_sprite::@3/(byte) gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::@5/(byte) gen_chargen_sprite::s_gen_cnt#5 ) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 ] ) + [191] (byte) gen_chargen_sprite::s_gen#3 ← phi( gen_chargen_sprite::@3/(byte) gen_chargen_sprite::s_gen#5 gen_chargen_sprite::@5/(byte) gen_chargen_sprite::s_gen#6 ) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 ] ) + [192] (byte~) gen_chargen_sprite::$6 ← (byte) gen_chargen_sprite::s_gen#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::$6 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::$6 ] ) + [193] (byte) gen_chargen_sprite::s_gen#1 ← (byte~) gen_chargen_sprite::$6 | (byte) gen_chargen_sprite::c#3 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ) + [194] (byte) gen_chargen_sprite::s_gen_cnt#1 ← ++ (byte) gen_chargen_sprite::s_gen_cnt#3 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 gen_chargen_sprite::s_gen_cnt#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 gen_chargen_sprite::s_gen_cnt#1 ] ) + [195] if((byte) gen_chargen_sprite::s_gen_cnt#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto gen_chargen_sprite::@5 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 gen_chargen_sprite::s_gen_cnt#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 gen_chargen_sprite::s_gen_cnt#1 ] ) to:gen_chargen_sprite::@7 gen_chargen_sprite::@7: scope:[gen_chargen_sprite] from gen_chargen_sprite::@4 - [197] *((byte*) gen_chargen_sprite::sprite#3 + (byte/signed byte/word/signed word/dword/signed dword) 0) ← (byte) gen_chargen_sprite::s_gen#1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ) - [198] *((byte*) gen_chargen_sprite::sprite#3 + (byte/signed byte/word/signed word/dword/signed dword) 3) ← (byte) gen_chargen_sprite::s_gen#1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ) - [199] *((byte*) gen_chargen_sprite::sprite#3 + (byte/signed byte/word/signed word/dword/signed dword) 6) ← (byte) gen_chargen_sprite::s_gen#1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 ] ) - [200] (byte*) gen_chargen_sprite::sprite#1 ← ++ (byte*) gen_chargen_sprite::sprite#3 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#1 ] ) + [196] *((byte*) gen_chargen_sprite::sprite#3 + (byte/signed byte/word/signed word/dword/signed dword) 0) ← (byte) gen_chargen_sprite::s_gen#1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ) + [197] *((byte*) gen_chargen_sprite::sprite#3 + (byte/signed byte/word/signed word/dword/signed dword) 3) ← (byte) gen_chargen_sprite::s_gen#1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ) + [198] *((byte*) gen_chargen_sprite::sprite#3 + (byte/signed byte/word/signed word/dword/signed dword) 6) ← (byte) gen_chargen_sprite::s_gen#1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 ] ) + [199] (byte*) gen_chargen_sprite::sprite#1 ← ++ (byte*) gen_chargen_sprite::sprite#3 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#1 ] ) to:gen_chargen_sprite::@5 gen_chargen_sprite::@5: scope:[gen_chargen_sprite] from gen_chargen_sprite::@4 gen_chargen_sprite::@7 - [201] (byte*) gen_chargen_sprite::sprite#4 ← phi( gen_chargen_sprite::@4/(byte*) gen_chargen_sprite::sprite#3 gen_chargen_sprite::@7/(byte*) gen_chargen_sprite::sprite#1 ) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 ] ) - [201] (byte) gen_chargen_sprite::s_gen_cnt#5 ← phi( gen_chargen_sprite::@4/(byte) gen_chargen_sprite::s_gen_cnt#1 gen_chargen_sprite::@7/(byte/signed byte/word/signed word/dword/signed dword) 0 ) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 ] ) - [201] (byte) gen_chargen_sprite::s_gen#6 ← phi( gen_chargen_sprite::@4/(byte) gen_chargen_sprite::s_gen#1 gen_chargen_sprite::@7/(byte/signed byte/word/signed word/dword/signed dword) 0 ) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 ] ) - [202] (byte) gen_chargen_sprite::b#1 ← ++ (byte) gen_chargen_sprite::b#2 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::c#3 gen_chargen_sprite::b#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::c#3 gen_chargen_sprite::b#1 ] ) - [203] if((byte) gen_chargen_sprite::b#1!=(byte/signed byte/word/signed word/dword/signed dword) 3) goto gen_chargen_sprite::@4 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::c#3 gen_chargen_sprite::b#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::c#3 gen_chargen_sprite::b#1 ] ) + [200] (byte*) gen_chargen_sprite::sprite#4 ← phi( gen_chargen_sprite::@4/(byte*) gen_chargen_sprite::sprite#3 gen_chargen_sprite::@7/(byte*) gen_chargen_sprite::sprite#1 ) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 ] ) + [200] (byte) gen_chargen_sprite::s_gen_cnt#5 ← phi( gen_chargen_sprite::@4/(byte) gen_chargen_sprite::s_gen_cnt#1 gen_chargen_sprite::@7/(byte/signed byte/word/signed word/dword/signed dword) 0 ) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 ] ) + [200] (byte) gen_chargen_sprite::s_gen#6 ← phi( gen_chargen_sprite::@4/(byte) gen_chargen_sprite::s_gen#1 gen_chargen_sprite::@7/(byte/signed byte/word/signed word/dword/signed dword) 0 ) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 ] ) + [201] (byte) gen_chargen_sprite::b#1 ← ++ (byte) gen_chargen_sprite::b#2 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::c#3 gen_chargen_sprite::b#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::c#3 gen_chargen_sprite::b#1 ] ) + [202] if((byte) gen_chargen_sprite::b#1!=(byte/signed byte/word/signed word/dword/signed dword) 3) goto gen_chargen_sprite::@4 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::c#3 gen_chargen_sprite::b#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::c#3 gen_chargen_sprite::b#1 ] ) to:gen_chargen_sprite::@8 gen_chargen_sprite::@8: scope:[gen_chargen_sprite] from gen_chargen_sprite::@5 - [204] (byte) gen_chargen_sprite::bits#1 ← (byte) gen_chargen_sprite::bits#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::x#6 gen_chargen_sprite::bits#1 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::x#6 gen_chargen_sprite::bits#1 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 ] ) - [205] (byte) gen_chargen_sprite::x#1 ← ++ (byte) gen_chargen_sprite::x#6 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#1 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::x#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#1 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::x#1 ] ) - [206] if((byte) gen_chargen_sprite::x#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto gen_chargen_sprite::@2 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#1 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::x#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#1 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::x#1 ] ) + [203] (byte) gen_chargen_sprite::bits#1 ← (byte) gen_chargen_sprite::bits#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::x#6 gen_chargen_sprite::bits#1 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::x#6 gen_chargen_sprite::bits#1 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 ] ) + [204] (byte) gen_chargen_sprite::x#1 ← ++ (byte) gen_chargen_sprite::x#6 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#1 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::x#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#1 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::x#1 ] ) + [205] if((byte) gen_chargen_sprite::x#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto gen_chargen_sprite::@2 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#1 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::x#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#1 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::x#1 ] ) to:gen_chargen_sprite::@9 gen_chargen_sprite::@9: scope:[gen_chargen_sprite] from gen_chargen_sprite::@8 - [207] (byte*) gen_chargen_sprite::sprite#2 ← (byte*) gen_chargen_sprite::sprite#4 + (byte/signed byte/word/signed word/dword/signed dword) 6 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#2 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#2 ] ) - [208] (byte) gen_chargen_sprite::y#1 ← ++ (byte) gen_chargen_sprite::y#2 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#1 gen_chargen_sprite::sprite#2 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#1 gen_chargen_sprite::sprite#2 ] ) - [209] if((byte) gen_chargen_sprite::y#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto gen_chargen_sprite::@1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#1 gen_chargen_sprite::sprite#2 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#1 gen_chargen_sprite::sprite#2 ] ) + [206] (byte*) gen_chargen_sprite::sprite#2 ← (byte*) gen_chargen_sprite::sprite#4 + (byte/signed byte/word/signed word/dword/signed dword) 6 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#2 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#2 ] ) + [207] (byte) gen_chargen_sprite::y#1 ← ++ (byte) gen_chargen_sprite::y#2 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#1 gen_chargen_sprite::sprite#2 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#1 gen_chargen_sprite::sprite#2 ] ) + [208] if((byte) gen_chargen_sprite::y#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto gen_chargen_sprite::@1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#1 gen_chargen_sprite::sprite#2 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#1 gen_chargen_sprite::sprite#2 ] ) to:gen_chargen_sprite::@10 gen_chargen_sprite::@10: scope:[gen_chargen_sprite] from gen_chargen_sprite::@9 - [210] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) 55 [ ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 ] ) + [209] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) 55 [ ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 ] ) asm { cli } to:gen_chargen_sprite::@return gen_chargen_sprite::@return: scope:[gen_chargen_sprite] from gen_chargen_sprite::@10 - [212] return [ ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 ] ) + [211] return [ ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 ] ) to:@return place_sprites: scope:[place_sprites] from init::@2 - [213] *((const byte*) SPRITES_ENABLE#0) ← (byte/signed byte/word/signed word/dword/signed dword) 127 [ ] ( main:2::init:5::place_sprites:51 [ ] ) - [214] *((const byte*) SPRITES_EXPAND_X#0) ← (byte/signed byte/word/signed word/dword/signed dword) 127 [ ] ( main:2::init:5::place_sprites:51 [ ] ) - [215] *((const byte*) SPRITES_EXPAND_Y#0) ← (byte/signed byte/word/signed word/dword/signed dword) 127 [ ] ( main:2::init:5::place_sprites:51 [ ] ) + [212] *((const byte*) SPRITES_ENABLE#0) ← (byte/signed byte/word/signed word/dword/signed dword) 127 [ ] ( main:2::init:5::place_sprites:51 [ ] ) + [213] *((const byte*) SPRITES_EXPAND_X#0) ← (byte/signed byte/word/signed word/dword/signed dword) 127 [ ] ( main:2::init:5::place_sprites:51 [ ] ) + [214] *((const byte*) SPRITES_EXPAND_Y#0) ← (byte/signed byte/word/signed word/dword/signed dword) 127 [ ] ( main:2::init:5::place_sprites:51 [ ] ) to:place_sprites::@1 place_sprites::@1: scope:[place_sprites] from place_sprites place_sprites::@1 - [216] (byte) place_sprites::col#2 ← phi( place_sprites/(byte/signed byte/word/signed word/dword/signed dword) 5 place_sprites::@1/(byte) place_sprites::col#1 ) [ place_sprites::spr_id#2 place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 ] ( main:2::init:5::place_sprites:51 [ place_sprites::spr_id#2 place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 ] ) - [216] (byte) place_sprites::j2#3 ← phi( place_sprites/(byte/signed byte/word/signed word/dword/signed dword) 0 place_sprites::@1/(byte) place_sprites::j2#2 ) [ place_sprites::spr_id#2 place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 ] ( main:2::init:5::place_sprites:51 [ place_sprites::spr_id#2 place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 ] ) - [216] (byte) place_sprites::spr_x#2 ← phi( place_sprites/(byte/signed byte/word/signed word/dword/signed dword) 60 place_sprites::@1/(byte) place_sprites::spr_x#1 ) [ place_sprites::spr_id#2 place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 ] ( main:2::init:5::place_sprites:51 [ place_sprites::spr_id#2 place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 ] ) - [216] (byte) place_sprites::j#2 ← phi( place_sprites/(byte/signed byte/word/signed word/dword/signed dword) 0 place_sprites::@1/(byte) place_sprites::j#1 ) [ place_sprites::spr_id#2 place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 ] ( main:2::init:5::place_sprites:51 [ place_sprites::spr_id#2 place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 ] ) - [216] (byte) place_sprites::spr_id#2 ← phi( place_sprites/((byte))(const byte*) sprites#0/(byte/signed byte/word/signed word/dword/signed dword) 64 place_sprites::@1/(byte) place_sprites::spr_id#1 ) [ place_sprites::spr_id#2 place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 ] ( main:2::init:5::place_sprites:51 [ place_sprites::spr_id#2 place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 ] ) - [217] *((const byte*) place_sprites::sprites_ptr#0 + (byte) place_sprites::j#2) ← (byte) place_sprites::spr_id#2 [ place_sprites::spr_id#2 place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 ] ( main:2::init:5::place_sprites:51 [ place_sprites::spr_id#2 place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 ] ) - [218] (byte) place_sprites::spr_id#1 ← ++ (byte) place_sprites::spr_id#2 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ) - [219] *((const byte*) SPRITES_XPOS#0 + (byte) place_sprites::j2#3) ← (byte) place_sprites::spr_x#2 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ) - [220] *((const byte*) SPRITES_YPOS#0 + (byte) place_sprites::j2#3) ← (byte/signed byte/word/signed word/dword/signed dword) 80 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ) - [221] *((const byte*) SPRITES_COLS#0 + (byte) place_sprites::j#2) ← (byte) place_sprites::col#2 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ) - [222] (byte) place_sprites::spr_x#1 ← (byte) place_sprites::spr_x#2 + (byte/signed byte/word/signed word/dword/signed dword) 32 [ place_sprites::j#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 place_sprites::spr_x#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 place_sprites::spr_x#1 ] ) - [223] (byte) place_sprites::col#1 ← (byte) place_sprites::col#2 ^ (byte/signed byte/word/signed word/dword/signed dword) 7^(byte/signed byte/word/signed word/dword/signed dword) 5 [ place_sprites::j#2 place_sprites::j2#3 place_sprites::spr_id#1 place_sprites::spr_x#1 place_sprites::col#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::j2#3 place_sprites::spr_id#1 place_sprites::spr_x#1 place_sprites::col#1 ] ) - [224] (byte) place_sprites::j2#1 ← ++ (byte) place_sprites::j2#3 [ place_sprites::j#2 place_sprites::spr_id#1 place_sprites::spr_x#1 place_sprites::col#1 place_sprites::j2#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_id#1 place_sprites::spr_x#1 place_sprites::col#1 place_sprites::j2#1 ] ) - [225] (byte) place_sprites::j2#2 ← ++ (byte) place_sprites::j2#1 [ place_sprites::j#2 place_sprites::spr_id#1 place_sprites::spr_x#1 place_sprites::j2#2 place_sprites::col#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_id#1 place_sprites::spr_x#1 place_sprites::j2#2 place_sprites::col#1 ] ) - [226] (byte) place_sprites::j#1 ← ++ (byte) place_sprites::j#2 [ place_sprites::spr_id#1 place_sprites::j#1 place_sprites::spr_x#1 place_sprites::j2#2 place_sprites::col#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::spr_id#1 place_sprites::j#1 place_sprites::spr_x#1 place_sprites::j2#2 place_sprites::col#1 ] ) - [227] if((byte) place_sprites::j#1!=(byte/signed byte/word/signed word/dword/signed dword) 7) goto place_sprites::@1 [ place_sprites::spr_id#1 place_sprites::j#1 place_sprites::spr_x#1 place_sprites::j2#2 place_sprites::col#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::spr_id#1 place_sprites::j#1 place_sprites::spr_x#1 place_sprites::j2#2 place_sprites::col#1 ] ) + [215] (byte) place_sprites::col#2 ← phi( place_sprites/(byte/signed byte/word/signed word/dword/signed dword) 5 place_sprites::@1/(byte) place_sprites::col#1 ) [ place_sprites::spr_id#2 place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 ] ( main:2::init:5::place_sprites:51 [ place_sprites::spr_id#2 place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 ] ) + [215] (byte) place_sprites::j2#3 ← phi( place_sprites/(byte/signed byte/word/signed word/dword/signed dword) 0 place_sprites::@1/(byte) place_sprites::j2#2 ) [ place_sprites::spr_id#2 place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 ] ( main:2::init:5::place_sprites:51 [ place_sprites::spr_id#2 place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 ] ) + [215] (byte) place_sprites::spr_x#2 ← phi( place_sprites/(byte/signed byte/word/signed word/dword/signed dword) 60 place_sprites::@1/(byte) place_sprites::spr_x#1 ) [ place_sprites::spr_id#2 place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 ] ( main:2::init:5::place_sprites:51 [ place_sprites::spr_id#2 place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 ] ) + [215] (byte) place_sprites::j#2 ← phi( place_sprites/(byte/signed byte/word/signed word/dword/signed dword) 0 place_sprites::@1/(byte) place_sprites::j#1 ) [ place_sprites::spr_id#2 place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 ] ( main:2::init:5::place_sprites:51 [ place_sprites::spr_id#2 place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 ] ) + [215] (byte) place_sprites::spr_id#2 ← phi( place_sprites/((byte))(const byte*) sprites#0/(byte/signed byte/word/signed word/dword/signed dword) 64 place_sprites::@1/(byte) place_sprites::spr_id#1 ) [ place_sprites::spr_id#2 place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 ] ( main:2::init:5::place_sprites:51 [ place_sprites::spr_id#2 place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 ] ) + [216] *((const byte*) place_sprites::sprites_ptr#0 + (byte) place_sprites::j#2) ← (byte) place_sprites::spr_id#2 [ place_sprites::spr_id#2 place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 ] ( main:2::init:5::place_sprites:51 [ place_sprites::spr_id#2 place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 ] ) + [217] (byte) place_sprites::spr_id#1 ← ++ (byte) place_sprites::spr_id#2 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ) + [218] *((const byte*) SPRITES_XPOS#0 + (byte) place_sprites::j2#3) ← (byte) place_sprites::spr_x#2 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ) + [219] *((const byte*) SPRITES_YPOS#0 + (byte) place_sprites::j2#3) ← (byte/signed byte/word/signed word/dword/signed dword) 80 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ) + [220] *((const byte*) SPRITES_COLS#0 + (byte) place_sprites::j#2) ← (byte) place_sprites::col#2 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ) + [221] (byte) place_sprites::spr_x#1 ← (byte) place_sprites::spr_x#2 + (byte/signed byte/word/signed word/dword/signed dword) 32 [ place_sprites::j#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 place_sprites::spr_x#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 place_sprites::spr_x#1 ] ) + [222] (byte) place_sprites::col#1 ← (byte) place_sprites::col#2 ^ (byte/signed byte/word/signed word/dword/signed dword) 7^(byte/signed byte/word/signed word/dword/signed dword) 5 [ place_sprites::j#2 place_sprites::j2#3 place_sprites::spr_id#1 place_sprites::spr_x#1 place_sprites::col#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::j2#3 place_sprites::spr_id#1 place_sprites::spr_x#1 place_sprites::col#1 ] ) + [223] (byte) place_sprites::j2#1 ← ++ (byte) place_sprites::j2#3 [ place_sprites::j#2 place_sprites::spr_id#1 place_sprites::spr_x#1 place_sprites::col#1 place_sprites::j2#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_id#1 place_sprites::spr_x#1 place_sprites::col#1 place_sprites::j2#1 ] ) + [224] (byte) place_sprites::j2#2 ← ++ (byte) place_sprites::j2#1 [ place_sprites::j#2 place_sprites::spr_id#1 place_sprites::spr_x#1 place_sprites::j2#2 place_sprites::col#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_id#1 place_sprites::spr_x#1 place_sprites::j2#2 place_sprites::col#1 ] ) + [225] (byte) place_sprites::j#1 ← ++ (byte) place_sprites::j#2 [ place_sprites::spr_id#1 place_sprites::j#1 place_sprites::spr_x#1 place_sprites::j2#2 place_sprites::col#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::spr_id#1 place_sprites::j#1 place_sprites::spr_x#1 place_sprites::j2#2 place_sprites::col#1 ] ) + [226] if((byte) place_sprites::j#1!=(byte/signed byte/word/signed word/dword/signed dword) 7) goto place_sprites::@1 [ place_sprites::spr_id#1 place_sprites::j#1 place_sprites::spr_x#1 place_sprites::j2#2 place_sprites::col#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::spr_id#1 place_sprites::j#1 place_sprites::spr_x#1 place_sprites::j2#2 place_sprites::col#1 ] ) to:place_sprites::@return place_sprites::@return: scope:[place_sprites] from place_sprites::@1 - [228] return [ ] ( main:2::init:5::place_sprites:51 [ ] ) + [227] return [ ] ( main:2::init:5::place_sprites:51 [ ] ) to:@return DOMINATORS @@ -5840,7 +5832,6 @@ VARIABLE REGISTER WEIGHTS (byte*) SPRITES_YPOS (void()) addMEMtoFAC((byte*) addMEMtoFAC::mem) (byte*) addMEMtoFAC::mem -(byte*) addMEMtoFAC::mem#2 2.0 (void()) anim() (byte~) anim::$2 101.0 (byte~) anim::$3 202.0 @@ -5981,11 +5972,10 @@ VARIABLE REGISTER WEIGHTS (byte~) prepareMEM::$1 4.0 (byte*) prepareMEM::mem (byte*) prepareMEM::mem#1 4.0 -(byte*) prepareMEM::mem#2 4.0 (byte*) prepareMEM::mem#3 4.0 (byte*) prepareMEM::mem#4 4.0 -(byte*) prepareMEM::mem#5 4.666666666666666 -(byte*~) prepareMEM::mem#9 4.0 +(byte*) prepareMEM::mem#5 3.9999999999999996 +(byte*~) prepareMEM::mem#8 4.0 (byte*) progress_cursor (byte*) progress_cursor#10 4.0 (byte*) progress_cursor#11 2.8333333333333335 @@ -6043,8 +6033,7 @@ Initial phi equivalence classes [ gen_sintab::i#10 gen_sintab::i#1 ] [ progress_idx#34 progress_idx#12 progress_idx#10 ] [ progress_cursor#34 progress_init::line#2 progress_cursor#11 progress_cursor#10 ] -[ addMEMtoFAC::mem#2 ] -[ prepareMEM::mem#5 prepareMEM::mem#2 prepareMEM::mem#3 prepareMEM::mem#4 prepareMEM::mem#9 prepareMEM::mem#1 ] +[ prepareMEM::mem#5 prepareMEM::mem#3 prepareMEM::mem#4 prepareMEM::mem#8 prepareMEM::mem#1 ] [ mulFACbyMEM::mem#2 ] [ divMEMbyFAC::mem#2 ] [ setFAC::w#5 setFAC::w#0 setFAC::w#3 setFAC::w#4 setFAC::w#1 ] @@ -6098,8 +6087,7 @@ Complete equivalence classes [ gen_sintab::i#10 gen_sintab::i#1 ] [ progress_idx#34 progress_idx#12 progress_idx#10 ] [ progress_cursor#34 progress_init::line#2 progress_cursor#11 progress_cursor#10 ] -[ addMEMtoFAC::mem#2 ] -[ prepareMEM::mem#5 prepareMEM::mem#2 prepareMEM::mem#3 prepareMEM::mem#4 prepareMEM::mem#9 prepareMEM::mem#1 ] +[ prepareMEM::mem#5 prepareMEM::mem#3 prepareMEM::mem#4 prepareMEM::mem#8 prepareMEM::mem#1 ] [ mulFACbyMEM::mem#2 ] [ divMEMbyFAC::mem#2 ] [ setFAC::w#5 setFAC::w#0 setFAC::w#3 setFAC::w#4 setFAC::w#1 ] @@ -6152,44 +6140,43 @@ Allocated zp ZP_WORD:15 [ gen_sintab::sintab#12 ] Allocated zp ZP_BYTE:17 [ gen_sintab::i#10 gen_sintab::i#1 ] Allocated zp ZP_BYTE:18 [ progress_idx#34 progress_idx#12 progress_idx#10 ] Allocated zp ZP_WORD:19 [ progress_cursor#34 progress_init::line#2 progress_cursor#11 progress_cursor#10 ] -Allocated zp ZP_WORD:21 [ addMEMtoFAC::mem#2 ] -Allocated zp ZP_WORD:23 [ prepareMEM::mem#5 prepareMEM::mem#2 prepareMEM::mem#3 prepareMEM::mem#4 prepareMEM::mem#9 prepareMEM::mem#1 ] -Allocated zp ZP_WORD:25 [ mulFACbyMEM::mem#2 ] -Allocated zp ZP_WORD:27 [ divMEMbyFAC::mem#2 ] -Allocated zp ZP_WORD:29 [ setFAC::w#5 setFAC::w#0 setFAC::w#3 setFAC::w#4 setFAC::w#1 ] -Allocated zp ZP_WORD:31 [ setMEMtoFAC::mem#5 ] -Allocated zp ZP_BYTE:33 [ gen_sprites::i#2 gen_sprites::i#1 ] -Allocated zp ZP_WORD:34 [ gen_sprites::spr#2 gen_sprites::spr#1 ] -Allocated zp ZP_BYTE:36 [ gen_chargen_sprite::y#2 gen_chargen_sprite::y#1 ] -Allocated zp ZP_BYTE:37 [ gen_chargen_sprite::bits#2 gen_chargen_sprite::bits#0 gen_chargen_sprite::bits#1 ] -Allocated zp ZP_BYTE:38 [ gen_chargen_sprite::x#6 gen_chargen_sprite::x#1 ] -Allocated zp ZP_BYTE:39 [ gen_chargen_sprite::c#3 ] -Allocated zp ZP_BYTE:40 [ gen_chargen_sprite::s_gen#3 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen#1 ] -Allocated zp ZP_BYTE:41 [ gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::s_gen_cnt#1 ] -Allocated zp ZP_BYTE:42 [ gen_chargen_sprite::b#2 gen_chargen_sprite::b#1 ] -Allocated zp ZP_WORD:43 [ gen_chargen_sprite::sprite#3 gen_chargen_sprite::sprite#10 gen_chargen_sprite::sprite#11 gen_chargen_sprite::sprite#0 gen_chargen_sprite::sprite#2 gen_chargen_sprite::sprite#4 gen_chargen_sprite::sprite#1 ] -Allocated zp ZP_BYTE:45 [ place_sprites::spr_id#2 place_sprites::spr_id#1 ] -Allocated zp ZP_BYTE:46 [ place_sprites::j#2 place_sprites::j#1 ] -Allocated zp ZP_BYTE:47 [ place_sprites::spr_x#2 place_sprites::spr_x#1 ] -Allocated zp ZP_BYTE:48 [ place_sprites::j2#3 place_sprites::j2#2 ] -Allocated zp ZP_BYTE:49 [ place_sprites::col#2 place_sprites::col#1 ] -Allocated zp ZP_WORD:50 [ anim::x#0 ] -Allocated zp ZP_BYTE:52 [ anim::$2 ] -Allocated zp ZP_BYTE:53 [ anim::$3 ] -Allocated zp ZP_BYTE:54 [ anim::$5 ] -Allocated zp ZP_WORD:55 [ getFAC::return#2 ] -Allocated zp ZP_WORD:57 [ gen_sintab::$23 ] -Allocated zp ZP_BYTE:59 [ gen_sintab::$24 ] -Allocated zp ZP_WORD:60 [ getFAC::return#0 ] -Allocated zp ZP_BYTE:62 [ prepareMEM::$0 ] -Allocated zp ZP_BYTE:63 [ prepareMEM::$1 ] -Allocated zp ZP_BYTE:64 [ gen_chargen_sprite::ch#0 ] -Allocated zp ZP_WORD:65 [ gen_chargen_sprite::$0 ] -Allocated zp ZP_WORD:67 [ gen_chargen_sprite::$1 ] -Allocated zp ZP_WORD:69 [ gen_chargen_sprite::chargen#0 ] -Allocated zp ZP_BYTE:71 [ gen_chargen_sprite::$3 ] -Allocated zp ZP_BYTE:72 [ gen_chargen_sprite::$6 ] -Allocated zp ZP_BYTE:73 [ place_sprites::j2#1 ] +Allocated zp ZP_WORD:21 [ prepareMEM::mem#5 prepareMEM::mem#3 prepareMEM::mem#4 prepareMEM::mem#8 prepareMEM::mem#1 ] +Allocated zp ZP_WORD:23 [ mulFACbyMEM::mem#2 ] +Allocated zp ZP_WORD:25 [ divMEMbyFAC::mem#2 ] +Allocated zp ZP_WORD:27 [ setFAC::w#5 setFAC::w#0 setFAC::w#3 setFAC::w#4 setFAC::w#1 ] +Allocated zp ZP_WORD:29 [ setMEMtoFAC::mem#5 ] +Allocated zp ZP_BYTE:31 [ gen_sprites::i#2 gen_sprites::i#1 ] +Allocated zp ZP_WORD:32 [ gen_sprites::spr#2 gen_sprites::spr#1 ] +Allocated zp ZP_BYTE:34 [ gen_chargen_sprite::y#2 gen_chargen_sprite::y#1 ] +Allocated zp ZP_BYTE:35 [ gen_chargen_sprite::bits#2 gen_chargen_sprite::bits#0 gen_chargen_sprite::bits#1 ] +Allocated zp ZP_BYTE:36 [ gen_chargen_sprite::x#6 gen_chargen_sprite::x#1 ] +Allocated zp ZP_BYTE:37 [ gen_chargen_sprite::c#3 ] +Allocated zp ZP_BYTE:38 [ gen_chargen_sprite::s_gen#3 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen#1 ] +Allocated zp ZP_BYTE:39 [ gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::s_gen_cnt#1 ] +Allocated zp ZP_BYTE:40 [ gen_chargen_sprite::b#2 gen_chargen_sprite::b#1 ] +Allocated zp ZP_WORD:41 [ gen_chargen_sprite::sprite#3 gen_chargen_sprite::sprite#10 gen_chargen_sprite::sprite#11 gen_chargen_sprite::sprite#0 gen_chargen_sprite::sprite#2 gen_chargen_sprite::sprite#4 gen_chargen_sprite::sprite#1 ] +Allocated zp ZP_BYTE:43 [ place_sprites::spr_id#2 place_sprites::spr_id#1 ] +Allocated zp ZP_BYTE:44 [ place_sprites::j#2 place_sprites::j#1 ] +Allocated zp ZP_BYTE:45 [ place_sprites::spr_x#2 place_sprites::spr_x#1 ] +Allocated zp ZP_BYTE:46 [ place_sprites::j2#3 place_sprites::j2#2 ] +Allocated zp ZP_BYTE:47 [ place_sprites::col#2 place_sprites::col#1 ] +Allocated zp ZP_WORD:48 [ anim::x#0 ] +Allocated zp ZP_BYTE:50 [ anim::$2 ] +Allocated zp ZP_BYTE:51 [ anim::$3 ] +Allocated zp ZP_BYTE:52 [ anim::$5 ] +Allocated zp ZP_WORD:53 [ getFAC::return#2 ] +Allocated zp ZP_WORD:55 [ gen_sintab::$23 ] +Allocated zp ZP_BYTE:57 [ gen_sintab::$24 ] +Allocated zp ZP_WORD:58 [ getFAC::return#0 ] +Allocated zp ZP_BYTE:60 [ prepareMEM::$0 ] +Allocated zp ZP_BYTE:61 [ prepareMEM::$1 ] +Allocated zp ZP_BYTE:62 [ gen_chargen_sprite::ch#0 ] +Allocated zp ZP_WORD:63 [ gen_chargen_sprite::$0 ] +Allocated zp ZP_WORD:65 [ gen_chargen_sprite::$1 ] +Allocated zp ZP_WORD:67 [ gen_chargen_sprite::chargen#0 ] +Allocated zp ZP_BYTE:69 [ gen_chargen_sprite::$3 ] +Allocated zp ZP_BYTE:70 [ gen_chargen_sprite::$6 ] +Allocated zp ZP_BYTE:71 [ place_sprites::j2#1 ] INITIAL ASM //SEG0 Basic Upstart @@ -6274,12 +6261,12 @@ main: { } //SEG24 anim anim: { - .label _2 = $34 - .label _3 = $35 - .label _5 = $36 + .label _2 = $32 + .label _3 = $33 + .label _5 = $34 .label xidx = 4 .label yidx = 7 - .label x = $32 + .label x = $30 .label x_msb = 5 .label j2 = 6 .label j = 8 @@ -6510,7 +6497,7 @@ init: { //SEG104 init::@4 b4: //SEG105 [53] call gen_sprites param-assignment [ ] ( main:2::init:5 [ ] ) - //SEG106 [171] phi from init::@4 to gen_sprites [phi:init::@4->gen_sprites] + //SEG106 [170] phi from init::@4 to gen_sprites [phi:init::@4->gen_sprites] gen_sprites_from_b4: jsr gen_sprites //SEG107 [54] phi from init::@4 to init::@5 [phi:init::@4->init::@5] @@ -6519,9 +6506,9 @@ init: { //SEG108 init::@5 b5: //SEG109 [55] call progress_init param-assignment [ progress_init::line#2 ] ( main:2::init:5 [ progress_init::line#2 ] ) - //SEG110 [169] phi from init::@5 to progress_init [phi:init::@5->progress_init] + //SEG110 [168] phi from init::@5 to progress_init [phi:init::@5->progress_init] progress_init_from_b5: - //SEG111 [169] phi (byte*) progress_init::line#2 = (const byte*) SCREEN#0 [phi:init::@5->progress_init#0] -- pbuz1=pbuc1 + //SEG111 [168] phi (byte*) progress_init::line#2 = (const byte*) SCREEN#0 [phi:init::@5->progress_init#0] -- pbuz1=pbuc1 lda #SCREEN @@ -6556,9 +6543,9 @@ init: { //SEG121 init::@7 b7: //SEG122 [59] call progress_init param-assignment [ progress_init::line#2 ] ( main:2::init:5 [ progress_init::line#2 ] ) - //SEG123 [169] phi from init::@7 to progress_init [phi:init::@7->progress_init] + //SEG123 [168] phi from init::@7 to progress_init [phi:init::@7->progress_init] progress_init_from_b7: - //SEG124 [169] phi (byte*) progress_init::line#2 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40 [phi:init::@7->progress_init#0] -- pbuz1=pbuc1 + //SEG124 [168] phi (byte*) progress_init::line#2 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40 [phi:init::@7->progress_init#0] -- pbuz1=pbuc1 lda #SCREEN+$28 @@ -6646,8 +6633,8 @@ clear_screen: { //SEG150 gen_sintab gen_sintab: { .label f_2pi = $e2e5 - .label _23 = $39 - .label _24 = $3b + .label _23 = $37 + .label _24 = $39 .label i = $11 .label max = $c .label min = $d @@ -6659,9 +6646,9 @@ gen_sintab: { lda #0 sta setFAC.w+1 //SEG152 [73] call setFAC param-assignment [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ) - //SEG153 [155] phi from gen_sintab to setFAC [phi:gen_sintab->setFAC] + //SEG153 [154] phi from gen_sintab to setFAC [phi:gen_sintab->setFAC] setFAC_from_gen_sintab: - //SEG154 [155] phi (word) setFAC::w#5 = (word) setFAC::w#0 [phi:gen_sintab->setFAC#0] -- register_copy + //SEG154 [154] phi (word) setFAC::w#5 = (word) setFAC::w#0 [phi:gen_sintab->setFAC#0] -- register_copy jsr setFAC //SEG155 [74] phi from gen_sintab to gen_sintab::@3 [phi:gen_sintab->gen_sintab::@3] b3_from_gen_sintab: @@ -6683,9 +6670,9 @@ gen_sintab: { lda #0 sta setFAC.w+1 //SEG161 [78] call setFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ) - //SEG162 [155] phi from gen_sintab::@4 to setFAC [phi:gen_sintab::@4->setFAC] + //SEG162 [154] phi from gen_sintab::@4 to setFAC [phi:gen_sintab::@4->setFAC] setFAC_from_b4: - //SEG163 [155] phi (word) setFAC::w#5 = (word) setFAC::w#1 [phi:gen_sintab::@4->setFAC#0] -- register_copy + //SEG163 [154] phi (word) setFAC::w#5 = (word) setFAC::w#1 [phi:gen_sintab::@4->setFAC#0] -- register_copy jsr setFAC //SEG164 [79] phi from gen_sintab::@4 to gen_sintab::@5 [phi:gen_sintab::@4->gen_sintab::@5] b5_from_b4: @@ -6693,9 +6680,9 @@ gen_sintab: { //SEG165 gen_sintab::@5 b5: //SEG166 [80] call setMEMtoFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ) - //SEG167 [160] phi from gen_sintab::@5 to setMEMtoFAC [phi:gen_sintab::@5->setMEMtoFAC] + //SEG167 [159] phi from gen_sintab::@5 to setMEMtoFAC [phi:gen_sintab::@5->setMEMtoFAC] setMEMtoFAC_from_b5: - //SEG168 [160] phi (byte*) setMEMtoFAC::mem#5 = (const byte[]) gen_sintab::f_min#0 [phi:gen_sintab::@5->setMEMtoFAC#0] -- pbuz1=pbuc1 + //SEG168 [159] phi (byte*) setMEMtoFAC::mem#5 = (const byte[]) gen_sintab::f_min#0 [phi:gen_sintab::@5->setMEMtoFAC#0] -- pbuz1=pbuc1 lda #f_min @@ -6714,9 +6701,9 @@ gen_sintab: { //SEG173 gen_sintab::@7 b7: //SEG174 [84] call setMEMtoFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ) - //SEG175 [160] phi from gen_sintab::@7 to setMEMtoFAC [phi:gen_sintab::@7->setMEMtoFAC] + //SEG175 [159] phi from gen_sintab::@7 to setMEMtoFAC [phi:gen_sintab::@7->setMEMtoFAC] setMEMtoFAC_from_b7: - //SEG176 [160] phi (byte*) setMEMtoFAC::mem#5 = (const byte[]) gen_sintab::f_amp#0 [phi:gen_sintab::@7->setMEMtoFAC#0] -- pbuz1=pbuc1 + //SEG176 [159] phi (byte*) setMEMtoFAC::mem#5 = (const byte[]) gen_sintab::f_amp#0 [phi:gen_sintab::@7->setMEMtoFAC#0] -- pbuz1=pbuc1 lda #f_amp @@ -6728,9 +6715,9 @@ gen_sintab: { //SEG178 gen_sintab::@8 b8: //SEG179 [86] call setFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ) - //SEG180 [155] phi from gen_sintab::@8 to setFAC [phi:gen_sintab::@8->setFAC] + //SEG180 [154] phi from gen_sintab::@8 to setFAC [phi:gen_sintab::@8->setFAC] setFAC_from_b8: - //SEG181 [155] phi (word) setFAC::w#5 = (byte/signed byte/word/signed word/dword/signed dword) 2 [phi:gen_sintab::@8->setFAC#0] -- vwuz1=vbuc1 + //SEG181 [154] phi (word) setFAC::w#5 = (byte/signed byte/word/signed word/dword/signed dword) 2 [phi:gen_sintab::@8->setFAC#0] -- vwuz1=vbuc1 lda #<2 sta setFAC.w lda #>2 @@ -6742,9 +6729,9 @@ gen_sintab: { //SEG183 gen_sintab::@9 b9: //SEG184 [88] call divMEMbyFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ) - //SEG185 [150] phi from gen_sintab::@9 to divMEMbyFAC [phi:gen_sintab::@9->divMEMbyFAC] + //SEG185 [149] phi from gen_sintab::@9 to divMEMbyFAC [phi:gen_sintab::@9->divMEMbyFAC] divMEMbyFAC_from_b9: - //SEG186 [150] phi (byte*) divMEMbyFAC::mem#2 = (const byte[]) gen_sintab::f_amp#0 [phi:gen_sintab::@9->divMEMbyFAC#0] -- pbuz1=pbuc1 + //SEG186 [149] phi (byte*) divMEMbyFAC::mem#2 = (const byte[]) gen_sintab::f_amp#0 [phi:gen_sintab::@9->divMEMbyFAC#0] -- pbuz1=pbuc1 lda #f_amp @@ -6756,9 +6743,9 @@ gen_sintab: { //SEG188 gen_sintab::@10 b10: //SEG189 [90] call setMEMtoFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ) - //SEG190 [160] phi from gen_sintab::@10 to setMEMtoFAC [phi:gen_sintab::@10->setMEMtoFAC] + //SEG190 [159] phi from gen_sintab::@10 to setMEMtoFAC [phi:gen_sintab::@10->setMEMtoFAC] setMEMtoFAC_from_b10: - //SEG191 [160] phi (byte*) setMEMtoFAC::mem#5 = (const byte[]) gen_sintab::f_amp#0 [phi:gen_sintab::@10->setMEMtoFAC#0] -- pbuz1=pbuc1 + //SEG191 [159] phi (byte*) setMEMtoFAC::mem#5 = (const byte[]) gen_sintab::f_amp#0 [phi:gen_sintab::@10->setMEMtoFAC#0] -- pbuz1=pbuc1 lda #f_amp @@ -6772,485 +6759,473 @@ gen_sintab: { //SEG194 [92] call addMEMtoFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ) //SEG195 [132] phi from gen_sintab::@11 to addMEMtoFAC [phi:gen_sintab::@11->addMEMtoFAC] addMEMtoFAC_from_b11: - //SEG196 [132] phi (byte*) addMEMtoFAC::mem#2 = (const byte[]) gen_sintab::f_min#0 [phi:gen_sintab::@11->addMEMtoFAC#0] -- pbuz1=pbuc1 - lda #f_min - sta addMEMtoFAC.mem+1 jsr addMEMtoFAC - //SEG197 [93] phi from gen_sintab::@11 to gen_sintab::@12 [phi:gen_sintab::@11->gen_sintab::@12] + //SEG196 [93] phi from gen_sintab::@11 to gen_sintab::@12 [phi:gen_sintab::@11->gen_sintab::@12] b12_from_b11: jmp b12 - //SEG198 gen_sintab::@12 + //SEG197 gen_sintab::@12 b12: - //SEG199 [94] call setMEMtoFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ) - //SEG200 [160] phi from gen_sintab::@12 to setMEMtoFAC [phi:gen_sintab::@12->setMEMtoFAC] + //SEG198 [94] call setMEMtoFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ) + //SEG199 [159] phi from gen_sintab::@12 to setMEMtoFAC [phi:gen_sintab::@12->setMEMtoFAC] setMEMtoFAC_from_b12: - //SEG201 [160] phi (byte*) setMEMtoFAC::mem#5 = (const byte[]) gen_sintab::f_min#0 [phi:gen_sintab::@12->setMEMtoFAC#0] -- pbuz1=pbuc1 + //SEG200 [159] phi (byte*) setMEMtoFAC::mem#5 = (const byte[]) gen_sintab::f_min#0 [phi:gen_sintab::@12->setMEMtoFAC#0] -- pbuz1=pbuc1 lda #f_min sta setMEMtoFAC.mem+1 jsr setMEMtoFAC - //SEG202 [95] phi from gen_sintab::@12 to gen_sintab::@1 [phi:gen_sintab::@12->gen_sintab::@1] + //SEG201 [95] phi from gen_sintab::@12 to gen_sintab::@1 [phi:gen_sintab::@12->gen_sintab::@1] b1_from_b12: - //SEG203 [95] phi (byte*) progress_cursor#34 = (byte*) progress_init::line#2 [phi:gen_sintab::@12->gen_sintab::@1#0] -- register_copy - //SEG204 [95] phi (byte) progress_idx#34 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gen_sintab::@12->gen_sintab::@1#1] -- vbuz1=vbuc1 + //SEG202 [95] phi (byte*) progress_cursor#34 = (byte*) progress_init::line#2 [phi:gen_sintab::@12->gen_sintab::@1#0] -- register_copy + //SEG203 [95] phi (byte) progress_idx#34 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gen_sintab::@12->gen_sintab::@1#1] -- vbuz1=vbuc1 lda #0 sta progress_idx - //SEG205 [95] phi (byte) gen_sintab::i#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gen_sintab::@12->gen_sintab::@1#2] -- vbuz1=vbuc1 + //SEG204 [95] phi (byte) gen_sintab::i#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gen_sintab::@12->gen_sintab::@1#2] -- vbuz1=vbuc1 lda #0 sta i jmp b1 - //SEG206 [95] phi from gen_sintab::@23 to gen_sintab::@1 [phi:gen_sintab::@23->gen_sintab::@1] + //SEG205 [95] phi from gen_sintab::@23 to gen_sintab::@1 [phi:gen_sintab::@23->gen_sintab::@1] b1_from_b23: - //SEG207 [95] phi (byte*) progress_cursor#34 = (byte*) progress_cursor#11 [phi:gen_sintab::@23->gen_sintab::@1#0] -- register_copy - //SEG208 [95] phi (byte) progress_idx#34 = (byte) progress_idx#12 [phi:gen_sintab::@23->gen_sintab::@1#1] -- register_copy - //SEG209 [95] phi (byte) gen_sintab::i#10 = (byte) gen_sintab::i#1 [phi:gen_sintab::@23->gen_sintab::@1#2] -- register_copy + //SEG206 [95] phi (byte*) progress_cursor#34 = (byte*) progress_cursor#11 [phi:gen_sintab::@23->gen_sintab::@1#0] -- register_copy + //SEG207 [95] phi (byte) progress_idx#34 = (byte) progress_idx#12 [phi:gen_sintab::@23->gen_sintab::@1#1] -- register_copy + //SEG208 [95] phi (byte) gen_sintab::i#10 = (byte) gen_sintab::i#1 [phi:gen_sintab::@23->gen_sintab::@1#2] -- register_copy jmp b1 - //SEG210 gen_sintab::@1 + //SEG209 gen_sintab::@1 b1: - //SEG211 [96] (word) setFAC::w#3 ← ((word)) (byte) gen_sintab::i#10 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 setFAC::w#3 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 setFAC::w#3 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 setFAC::w#3 ] ) -- vwuz1=_word_vbuz2 + //SEG210 [96] (word) setFAC::w#3 ← ((word)) (byte) gen_sintab::i#10 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 setFAC::w#3 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 setFAC::w#3 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 setFAC::w#3 ] ) -- vwuz1=_word_vbuz2 lda i sta setFAC.w lda #0 sta setFAC.w+1 - //SEG212 [97] call setFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) - //SEG213 [155] phi from gen_sintab::@1 to setFAC [phi:gen_sintab::@1->setFAC] + //SEG211 [97] call setFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + //SEG212 [154] phi from gen_sintab::@1 to setFAC [phi:gen_sintab::@1->setFAC] setFAC_from_b1: - //SEG214 [155] phi (word) setFAC::w#5 = (word) setFAC::w#3 [phi:gen_sintab::@1->setFAC#0] -- register_copy + //SEG213 [154] phi (word) setFAC::w#5 = (word) setFAC::w#3 [phi:gen_sintab::@1->setFAC#0] -- register_copy jsr setFAC - //SEG215 [98] phi from gen_sintab::@1 to gen_sintab::@14 [phi:gen_sintab::@1->gen_sintab::@14] + //SEG214 [98] phi from gen_sintab::@1 to gen_sintab::@14 [phi:gen_sintab::@1->gen_sintab::@14] b14_from_b1: jmp b14 - //SEG216 gen_sintab::@14 + //SEG215 gen_sintab::@14 b14: - //SEG217 [99] call mulFACbyMEM param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) - //SEG218 [143] phi from gen_sintab::@14 to mulFACbyMEM [phi:gen_sintab::@14->mulFACbyMEM] + //SEG216 [99] call mulFACbyMEM param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + //SEG217 [142] phi from gen_sintab::@14 to mulFACbyMEM [phi:gen_sintab::@14->mulFACbyMEM] mulFACbyMEM_from_b14: - //SEG219 [143] phi (byte*) mulFACbyMEM::mem#2 = (const byte*) gen_sintab::f_2pi#0 [phi:gen_sintab::@14->mulFACbyMEM#0] -- pbuz1=pbuc1 + //SEG218 [142] phi (byte*) mulFACbyMEM::mem#2 = (const byte*) gen_sintab::f_2pi#0 [phi:gen_sintab::@14->mulFACbyMEM#0] -- pbuz1=pbuc1 lda #f_2pi sta mulFACbyMEM.mem+1 jsr mulFACbyMEM - //SEG220 [100] phi from gen_sintab::@14 to gen_sintab::@15 [phi:gen_sintab::@14->gen_sintab::@15] + //SEG219 [100] phi from gen_sintab::@14 to gen_sintab::@15 [phi:gen_sintab::@14->gen_sintab::@15] b15_from_b14: jmp b15 - //SEG221 gen_sintab::@15 + //SEG220 gen_sintab::@15 b15: - //SEG222 [101] call setMEMtoFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) - //SEG223 [160] phi from gen_sintab::@15 to setMEMtoFAC [phi:gen_sintab::@15->setMEMtoFAC] + //SEG221 [101] call setMEMtoFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + //SEG222 [159] phi from gen_sintab::@15 to setMEMtoFAC [phi:gen_sintab::@15->setMEMtoFAC] setMEMtoFAC_from_b15: - //SEG224 [160] phi (byte*) setMEMtoFAC::mem#5 = (const byte[]) gen_sintab::f_i#0 [phi:gen_sintab::@15->setMEMtoFAC#0] -- pbuz1=pbuc1 + //SEG223 [159] phi (byte*) setMEMtoFAC::mem#5 = (const byte[]) gen_sintab::f_i#0 [phi:gen_sintab::@15->setMEMtoFAC#0] -- pbuz1=pbuc1 lda #f_i sta setMEMtoFAC.mem+1 jsr setMEMtoFAC jmp b16 - //SEG225 gen_sintab::@16 + //SEG224 gen_sintab::@16 b16: - //SEG226 [102] (word) setFAC::w#4 ← ((word)) (byte) gen_sintab::length#10 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 setFAC::w#4 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 setFAC::w#4 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 setFAC::w#4 ] ) -- vwuz1=_word_vbuz2 + //SEG225 [102] (word) setFAC::w#4 ← ((word)) (byte) gen_sintab::length#10 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 setFAC::w#4 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 setFAC::w#4 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 setFAC::w#4 ] ) -- vwuz1=_word_vbuz2 lda length sta setFAC.w lda #0 sta setFAC.w+1 - //SEG227 [103] call setFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) - //SEG228 [155] phi from gen_sintab::@16 to setFAC [phi:gen_sintab::@16->setFAC] + //SEG226 [103] call setFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + //SEG227 [154] phi from gen_sintab::@16 to setFAC [phi:gen_sintab::@16->setFAC] setFAC_from_b16: - //SEG229 [155] phi (word) setFAC::w#5 = (word) setFAC::w#4 [phi:gen_sintab::@16->setFAC#0] -- register_copy + //SEG228 [154] phi (word) setFAC::w#5 = (word) setFAC::w#4 [phi:gen_sintab::@16->setFAC#0] -- register_copy jsr setFAC - //SEG230 [104] phi from gen_sintab::@16 to gen_sintab::@17 [phi:gen_sintab::@16->gen_sintab::@17] + //SEG229 [104] phi from gen_sintab::@16 to gen_sintab::@17 [phi:gen_sintab::@16->gen_sintab::@17] b17_from_b16: jmp b17 - //SEG231 gen_sintab::@17 + //SEG230 gen_sintab::@17 b17: - //SEG232 [105] call divMEMbyFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) - //SEG233 [150] phi from gen_sintab::@17 to divMEMbyFAC [phi:gen_sintab::@17->divMEMbyFAC] + //SEG231 [105] call divMEMbyFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + //SEG232 [149] phi from gen_sintab::@17 to divMEMbyFAC [phi:gen_sintab::@17->divMEMbyFAC] divMEMbyFAC_from_b17: - //SEG234 [150] phi (byte*) divMEMbyFAC::mem#2 = (const byte[]) gen_sintab::f_i#0 [phi:gen_sintab::@17->divMEMbyFAC#0] -- pbuz1=pbuc1 + //SEG233 [149] phi (byte*) divMEMbyFAC::mem#2 = (const byte[]) gen_sintab::f_i#0 [phi:gen_sintab::@17->divMEMbyFAC#0] -- pbuz1=pbuc1 lda #f_i sta divMEMbyFAC.mem+1 jsr divMEMbyFAC - //SEG235 [106] phi from gen_sintab::@17 to gen_sintab::@18 [phi:gen_sintab::@17->gen_sintab::@18] + //SEG234 [106] phi from gen_sintab::@17 to gen_sintab::@18 [phi:gen_sintab::@17->gen_sintab::@18] b18_from_b17: jmp b18 - //SEG236 gen_sintab::@18 + //SEG235 gen_sintab::@18 b18: - //SEG237 [107] call sinFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + //SEG236 [107] call sinFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) jsr sinFAC - //SEG238 [108] phi from gen_sintab::@18 to gen_sintab::@19 [phi:gen_sintab::@18->gen_sintab::@19] + //SEG237 [108] phi from gen_sintab::@18 to gen_sintab::@19 [phi:gen_sintab::@18->gen_sintab::@19] b19_from_b18: jmp b19 - //SEG239 gen_sintab::@19 + //SEG238 gen_sintab::@19 b19: - //SEG240 [109] call mulFACbyMEM param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) - //SEG241 [143] phi from gen_sintab::@19 to mulFACbyMEM [phi:gen_sintab::@19->mulFACbyMEM] + //SEG239 [109] call mulFACbyMEM param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + //SEG240 [142] phi from gen_sintab::@19 to mulFACbyMEM [phi:gen_sintab::@19->mulFACbyMEM] mulFACbyMEM_from_b19: - //SEG242 [143] phi (byte*) mulFACbyMEM::mem#2 = (const byte[]) gen_sintab::f_amp#0 [phi:gen_sintab::@19->mulFACbyMEM#0] -- pbuz1=pbuc1 + //SEG241 [142] phi (byte*) mulFACbyMEM::mem#2 = (const byte[]) gen_sintab::f_amp#0 [phi:gen_sintab::@19->mulFACbyMEM#0] -- pbuz1=pbuc1 lda #f_amp sta mulFACbyMEM.mem+1 jsr mulFACbyMEM - //SEG243 [110] phi from gen_sintab::@19 to gen_sintab::@20 [phi:gen_sintab::@19->gen_sintab::@20] + //SEG242 [110] phi from gen_sintab::@19 to gen_sintab::@20 [phi:gen_sintab::@19->gen_sintab::@20] b20_from_b19: jmp b20 - //SEG244 gen_sintab::@20 + //SEG243 gen_sintab::@20 b20: - //SEG245 [111] call addMEMtoFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) - //SEG246 [132] phi from gen_sintab::@20 to addMEMtoFAC [phi:gen_sintab::@20->addMEMtoFAC] + //SEG244 [111] call addMEMtoFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + //SEG245 [132] phi from gen_sintab::@20 to addMEMtoFAC [phi:gen_sintab::@20->addMEMtoFAC] addMEMtoFAC_from_b20: - //SEG247 [132] phi (byte*) addMEMtoFAC::mem#2 = (const byte[]) gen_sintab::f_min#0 [phi:gen_sintab::@20->addMEMtoFAC#0] -- pbuz1=pbuc1 - lda #f_min - sta addMEMtoFAC.mem+1 jsr addMEMtoFAC - //SEG248 [112] phi from gen_sintab::@20 to gen_sintab::@21 [phi:gen_sintab::@20->gen_sintab::@21] + //SEG246 [112] phi from gen_sintab::@20 to gen_sintab::@21 [phi:gen_sintab::@20->gen_sintab::@21] b21_from_b20: jmp b21 - //SEG249 gen_sintab::@21 + //SEG247 gen_sintab::@21 b21: - //SEG250 [113] call getFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 getFAC::return#0 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 getFAC::return#0 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 getFAC::return#0 ] ) + //SEG248 [113] call getFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 getFAC::return#0 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 getFAC::return#0 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 getFAC::return#0 ] ) jsr getFAC - //SEG251 [114] (word) getFAC::return#2 ← (word) getFAC::return#0 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 getFAC::return#2 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 getFAC::return#2 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 getFAC::return#2 ] ) -- vwuz1=vwuz2 + //SEG249 [114] (word) getFAC::return#2 ← (word) getFAC::return#0 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 getFAC::return#2 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 getFAC::return#2 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 getFAC::return#2 ] ) -- vwuz1=vwuz2 lda getFAC.return sta getFAC.return_2 lda getFAC.return+1 sta getFAC.return_2+1 jmp b22 - //SEG252 gen_sintab::@22 + //SEG250 gen_sintab::@22 b22: - //SEG253 [115] (word~) gen_sintab::$23 ← (word) getFAC::return#2 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 gen_sintab::$23 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 gen_sintab::$23 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 gen_sintab::$23 ] ) -- vwuz1=vwuz2 + //SEG251 [115] (word~) gen_sintab::$23 ← (word) getFAC::return#2 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 gen_sintab::$23 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 gen_sintab::$23 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 gen_sintab::$23 ] ) -- vwuz1=vwuz2 lda getFAC.return_2 sta _23 lda getFAC.return_2+1 sta _23+1 - //SEG254 [116] (byte~) gen_sintab::$24 ← ((byte)) (word~) gen_sintab::$23 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 gen_sintab::$24 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 gen_sintab::$24 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 gen_sintab::$24 ] ) -- vbuz1=_byte_vwuz2 + //SEG252 [116] (byte~) gen_sintab::$24 ← ((byte)) (word~) gen_sintab::$23 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 gen_sintab::$24 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 gen_sintab::$24 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 gen_sintab::$24 ] ) -- vbuz1=_byte_vwuz2 lda _23 sta _24 - //SEG255 [117] *((byte*) gen_sintab::sintab#12 + (byte) gen_sintab::i#10) ← (byte~) gen_sintab::$24 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) -- pbuz1_derefidx_vbuz2=vbuz3 + //SEG253 [117] *((byte*) gen_sintab::sintab#12 + (byte) gen_sintab::i#10) ← (byte~) gen_sintab::$24 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) -- pbuz1_derefidx_vbuz2=vbuz3 lda _24 ldy i sta (sintab),y - //SEG256 [118] call progress_inc param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#12 progress_cursor#11 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#12 progress_cursor#11 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#12 progress_cursor#11 ] ) + //SEG254 [118] call progress_inc param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#12 progress_cursor#11 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#12 progress_cursor#11 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#12 progress_cursor#11 ] ) jsr progress_inc jmp b23 - //SEG257 gen_sintab::@23 + //SEG255 gen_sintab::@23 b23: - //SEG258 [119] (byte) gen_sintab::i#1 ← ++ (byte) gen_sintab::i#10 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#1 progress_idx#12 progress_cursor#11 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#1 progress_idx#12 progress_cursor#11 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#1 progress_idx#12 progress_cursor#11 ] ) -- vbuz1=_inc_vbuz1 + //SEG256 [119] (byte) gen_sintab::i#1 ← ++ (byte) gen_sintab::i#10 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#1 progress_idx#12 progress_cursor#11 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#1 progress_idx#12 progress_cursor#11 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#1 progress_idx#12 progress_cursor#11 ] ) -- vbuz1=_inc_vbuz1 inc i - //SEG259 [120] if((byte) gen_sintab::i#1<(byte) gen_sintab::length#10) goto gen_sintab::@1 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#1 progress_idx#12 progress_cursor#11 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#1 progress_idx#12 progress_cursor#11 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#1 progress_idx#12 progress_cursor#11 ] ) -- vbuz1_lt_vbuz2_then_la1 + //SEG257 [120] if((byte) gen_sintab::i#1<(byte) gen_sintab::length#10) goto gen_sintab::@1 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#1 progress_idx#12 progress_cursor#11 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#1 progress_idx#12 progress_cursor#11 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#1 progress_idx#12 progress_cursor#11 ] ) -- vbuz1_lt_vbuz2_then_la1 lda i cmp length bcc b1_from_b23 jmp breturn - //SEG260 gen_sintab::@return + //SEG258 gen_sintab::@return breturn: - //SEG261 [121] return [ ] ( main:2::init:5::gen_sintab:57 [ ] main:2::init:5::gen_sintab:61 [ ] ) + //SEG259 [121] return [ ] ( main:2::init:5::gen_sintab:57 [ ] main:2::init:5::gen_sintab:61 [ ] ) rts f_i: .byte 0, 0, 0, 0, 0 f_min: .byte 0, 0, 0, 0, 0 f_amp: .byte 0, 0, 0, 0, 0 } -//SEG262 progress_inc +//SEG260 progress_inc progress_inc: { - //SEG263 [122] (byte) progress_idx#10 ← ++ (byte) progress_idx#34 [ progress_cursor#34 progress_idx#10 ] ( main:2::init:5::gen_sintab:57::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_cursor#34 progress_idx#10 ] main:2::init:5::gen_sintab:61::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_cursor#34 progress_idx#10 ] ) -- vbuz1=_inc_vbuz1 + //SEG261 [122] (byte) progress_idx#10 ← ++ (byte) progress_idx#34 [ progress_cursor#34 progress_idx#10 ] ( main:2::init:5::gen_sintab:57::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_cursor#34 progress_idx#10 ] main:2::init:5::gen_sintab:61::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_cursor#34 progress_idx#10 ] ) -- vbuz1=_inc_vbuz1 inc progress_idx - //SEG264 [123] if((byte) progress_idx#10!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto progress_inc::@1 [ progress_cursor#34 progress_idx#10 ] ( main:2::init:5::gen_sintab:57::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_cursor#34 progress_idx#10 ] main:2::init:5::gen_sintab:61::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_cursor#34 progress_idx#10 ] ) -- vbuz1_neq_vbuc1_then_la1 + //SEG262 [123] if((byte) progress_idx#10!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto progress_inc::@1 [ progress_cursor#34 progress_idx#10 ] ( main:2::init:5::gen_sintab:57::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_cursor#34 progress_idx#10 ] main:2::init:5::gen_sintab:61::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_cursor#34 progress_idx#10 ] ) -- vbuz1_neq_vbuc1_then_la1 lda progress_idx cmp #8 bne b1_from_progress_inc jmp b2 - //SEG265 progress_inc::@2 + //SEG263 progress_inc::@2 b2: - //SEG266 [124] *((byte*) progress_cursor#34) ← *((const byte[]) progress_inc::progress_chars#0+(byte/signed byte/word/signed word/dword/signed dword) 8) [ progress_cursor#34 ] ( main:2::init:5::gen_sintab:57::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_cursor#34 ] main:2::init:5::gen_sintab:61::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_cursor#34 ] ) -- _deref_pbuz1=_deref_pbuc1 + //SEG264 [124] *((byte*) progress_cursor#34) ← *((const byte[]) progress_inc::progress_chars#0+(byte/signed byte/word/signed word/dword/signed dword) 8) [ progress_cursor#34 ] ( main:2::init:5::gen_sintab:57::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_cursor#34 ] main:2::init:5::gen_sintab:61::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_cursor#34 ] ) -- _deref_pbuz1=_deref_pbuc1 lda progress_chars+8 ldy #0 sta (progress_cursor),y - //SEG267 [125] (byte*) progress_cursor#10 ← ++ (byte*) progress_cursor#34 [ progress_cursor#10 ] ( main:2::init:5::gen_sintab:57::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_cursor#10 ] main:2::init:5::gen_sintab:61::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_cursor#10 ] ) -- pbuz1=_inc_pbuz1 + //SEG265 [125] (byte*) progress_cursor#10 ← ++ (byte*) progress_cursor#34 [ progress_cursor#10 ] ( main:2::init:5::gen_sintab:57::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_cursor#10 ] main:2::init:5::gen_sintab:61::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_cursor#10 ] ) -- pbuz1=_inc_pbuz1 inc progress_cursor bne !+ inc progress_cursor+1 !: - //SEG268 [126] phi from progress_inc::@2 to progress_inc::@1 [phi:progress_inc::@2->progress_inc::@1] + //SEG266 [126] phi from progress_inc::@2 to progress_inc::@1 [phi:progress_inc::@2->progress_inc::@1] b1_from_b2: - //SEG269 [126] phi (byte*) progress_cursor#11 = (byte*) progress_cursor#10 [phi:progress_inc::@2->progress_inc::@1#0] -- register_copy - //SEG270 [126] phi (byte) progress_idx#12 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:progress_inc::@2->progress_inc::@1#1] -- vbuz1=vbuc1 + //SEG267 [126] phi (byte*) progress_cursor#11 = (byte*) progress_cursor#10 [phi:progress_inc::@2->progress_inc::@1#0] -- register_copy + //SEG268 [126] phi (byte) progress_idx#12 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:progress_inc::@2->progress_inc::@1#1] -- vbuz1=vbuc1 lda #0 sta progress_idx jmp b1 - //SEG271 [126] phi from progress_inc to progress_inc::@1 [phi:progress_inc->progress_inc::@1] + //SEG269 [126] phi from progress_inc to progress_inc::@1 [phi:progress_inc->progress_inc::@1] b1_from_progress_inc: - //SEG272 [126] phi (byte*) progress_cursor#11 = (byte*) progress_cursor#34 [phi:progress_inc->progress_inc::@1#0] -- register_copy - //SEG273 [126] phi (byte) progress_idx#12 = (byte) progress_idx#10 [phi:progress_inc->progress_inc::@1#1] -- register_copy + //SEG270 [126] phi (byte*) progress_cursor#11 = (byte*) progress_cursor#34 [phi:progress_inc->progress_inc::@1#0] -- register_copy + //SEG271 [126] phi (byte) progress_idx#12 = (byte) progress_idx#10 [phi:progress_inc->progress_inc::@1#1] -- register_copy jmp b1 - //SEG274 progress_inc::@1 + //SEG272 progress_inc::@1 b1: - //SEG275 [127] *((byte*) progress_cursor#11) ← *((const byte[]) progress_inc::progress_chars#0 + (byte) progress_idx#12) [ progress_idx#12 progress_cursor#11 ] ( main:2::init:5::gen_sintab:57::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#12 progress_cursor#11 ] main:2::init:5::gen_sintab:61::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#12 progress_cursor#11 ] ) -- _deref_pbuz1=pbuc1_derefidx_vbuz2 + //SEG273 [127] *((byte*) progress_cursor#11) ← *((const byte[]) progress_inc::progress_chars#0 + (byte) progress_idx#12) [ progress_idx#12 progress_cursor#11 ] ( main:2::init:5::gen_sintab:57::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#12 progress_cursor#11 ] main:2::init:5::gen_sintab:61::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#12 progress_cursor#11 ] ) -- _deref_pbuz1=pbuc1_derefidx_vbuz2 ldy progress_idx lda progress_chars,y ldy #0 sta (progress_cursor),y jmp breturn - //SEG276 progress_inc::@return + //SEG274 progress_inc::@return breturn: - //SEG277 [128] return [ progress_idx#12 progress_cursor#11 ] ( main:2::init:5::gen_sintab:57::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#12 progress_cursor#11 ] main:2::init:5::gen_sintab:61::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#12 progress_cursor#11 ] ) + //SEG275 [128] return [ progress_idx#12 progress_cursor#11 ] ( main:2::init:5::gen_sintab:57::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#12 progress_cursor#11 ] main:2::init:5::gen_sintab:61::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#12 progress_cursor#11 ] ) rts progress_chars: .byte $20, $65, $74, $75, $61, $f6, $e7, $ea, $e0 } -//SEG278 getFAC +//SEG276 getFAC getFAC: { - .label return = $3c - .label return_2 = $37 - //SEG279 asm { jsr$b1aa sty$fe sta$ff } + .label return = $3a + .label return_2 = $35 + //SEG277 asm { jsr$b1aa sty$fe sta$ff } jsr $b1aa sty $fe sta $ff - //SEG280 [130] (word) getFAC::return#0 ← *((const byte*) memHi#0) w= *((const byte*) memLo#0) [ getFAC::return#0 ] ( main:2::init:5::gen_sintab:57::getFAC:113 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 getFAC::return#0 ] main:2::init:5::gen_sintab:61::getFAC:113 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 getFAC::return#0 ] ) -- vwuz1=_deref_pbuc1_word__deref_pbuc2 + //SEG278 [130] (word) getFAC::return#0 ← *((const byte*) memHi#0) w= *((const byte*) memLo#0) [ getFAC::return#0 ] ( main:2::init:5::gen_sintab:57::getFAC:113 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 getFAC::return#0 ] main:2::init:5::gen_sintab:61::getFAC:113 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 getFAC::return#0 ] ) -- vwuz1=_deref_pbuc1_word__deref_pbuc2 lda memLo sta return lda memHi sta return+1 jmp breturn - //SEG281 getFAC::@return + //SEG279 getFAC::@return breturn: - //SEG282 [131] return [ getFAC::return#0 ] ( main:2::init:5::gen_sintab:57::getFAC:113 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 getFAC::return#0 ] main:2::init:5::gen_sintab:61::getFAC:113 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 getFAC::return#0 ] ) + //SEG280 [131] return [ getFAC::return#0 ] ( main:2::init:5::gen_sintab:57::getFAC:113 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 getFAC::return#0 ] main:2::init:5::gen_sintab:61::getFAC:113 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 getFAC::return#0 ] ) rts } -//SEG283 addMEMtoFAC +//SEG281 addMEMtoFAC addMEMtoFAC: { - .label mem = $15 - //SEG284 [133] (byte*) prepareMEM::mem#2 ← (byte*) addMEMtoFAC::mem#2 [ prepareMEM::mem#2 ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#2 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#2 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#2 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#2 ] ) -- pbuz1=pbuz2 - lda mem - sta prepareMEM.mem - lda mem+1 - sta prepareMEM.mem+1 - //SEG285 [134] call prepareMEM param-assignment [ ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) - //SEG286 [137] phi from addMEMtoFAC to prepareMEM [phi:addMEMtoFAC->prepareMEM] + //SEG282 [133] call prepareMEM param-assignment [ ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + //SEG283 [136] phi from addMEMtoFAC to prepareMEM [phi:addMEMtoFAC->prepareMEM] prepareMEM_from_addMEMtoFAC: - //SEG287 [137] phi (byte*) prepareMEM::mem#5 = (byte*) prepareMEM::mem#2 [phi:addMEMtoFAC->prepareMEM#0] -- register_copy + //SEG284 [136] phi (byte*) prepareMEM::mem#5 = (const byte[]) gen_sintab::f_min#0 [phi:addMEMtoFAC->prepareMEM#0] -- pbuz1=pbuc1 + lda #gen_sintab.f_min + sta prepareMEM.mem+1 jsr prepareMEM jmp b1 - //SEG288 addMEMtoFAC::@1 + //SEG285 addMEMtoFAC::@1 b1: - //SEG289 asm { lda$fe ldy$ff jsr$b867 } + //SEG286 asm { lda$fe ldy$ff jsr$b867 } lda $fe ldy $ff jsr $b867 jmp breturn - //SEG290 addMEMtoFAC::@return + //SEG287 addMEMtoFAC::@return breturn: - //SEG291 [136] return [ ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + //SEG288 [135] return [ ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) rts } -//SEG292 prepareMEM +//SEG289 prepareMEM prepareMEM: { - .label _0 = $3e - .label _1 = $3f - .label mem = $17 - //SEG293 [138] (byte~) prepareMEM::$0 ← < (byte*) prepareMEM::mem#5 [ prepareMEM::mem#5 prepareMEM::$0 ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:99::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:88::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setFAC:73::prepareMEM:157 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setFAC:73::prepareMEM:157 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setFAC:78::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setFAC:78::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setFAC:86::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setFAC:86::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setFAC:97::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setFAC:97::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setFAC:103::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setFAC:103::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:80::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] ) -- vbuz1=_lo_pbuz2 + .label _0 = $3c + .label _1 = $3d + .label mem = $15 + //SEG290 [137] (byte~) prepareMEM::$0 ← < (byte*) prepareMEM::mem#5 [ prepareMEM::mem#5 prepareMEM::$0 ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:99::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:88::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setFAC:73::prepareMEM:156 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setFAC:73::prepareMEM:156 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setFAC:78::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setFAC:78::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setFAC:86::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setFAC:86::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setFAC:97::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setFAC:97::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setFAC:103::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setFAC:103::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:80::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] ) -- vbuz1=_lo_pbuz2 lda mem sta _0 - //SEG294 [139] *((const byte*) memLo#0) ← (byte~) prepareMEM::$0 [ prepareMEM::mem#5 ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:99::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:88::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:73::prepareMEM:157 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:73::prepareMEM:157 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:78::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:78::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:86::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:86::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:97::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:97::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:103::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:103::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:80::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] ) -- _deref_pbuc1=vbuz1 + //SEG291 [138] *((const byte*) memLo#0) ← (byte~) prepareMEM::$0 [ prepareMEM::mem#5 ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:99::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:88::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:73::prepareMEM:156 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:73::prepareMEM:156 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:78::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:78::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:86::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:86::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:97::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:97::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:103::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:103::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:80::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] ) -- _deref_pbuc1=vbuz1 lda _0 sta memLo - //SEG295 [140] (byte~) prepareMEM::$1 ← > (byte*) prepareMEM::mem#5 [ prepareMEM::$1 ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:99::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:88::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setFAC:73::prepareMEM:157 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setFAC:73::prepareMEM:157 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setFAC:78::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setFAC:78::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setFAC:86::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setFAC:86::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setFAC:97::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setFAC:97::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setFAC:103::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setFAC:103::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:80::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] ) -- vbuz1=_hi_pbuz2 + //SEG292 [139] (byte~) prepareMEM::$1 ← > (byte*) prepareMEM::mem#5 [ prepareMEM::$1 ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:99::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:88::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setFAC:73::prepareMEM:156 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setFAC:73::prepareMEM:156 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setFAC:78::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setFAC:78::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setFAC:86::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setFAC:86::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setFAC:97::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setFAC:97::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setFAC:103::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setFAC:103::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:80::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] ) -- vbuz1=_hi_pbuz2 lda mem+1 sta _1 - //SEG296 [141] *((const byte*) memHi#0) ← (byte~) prepareMEM::$1 [ ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:99::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:88::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setFAC:73::prepareMEM:157 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:73::prepareMEM:157 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:78::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:78::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:86::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:86::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:97::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:97::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setFAC:103::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:103::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:80::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) -- _deref_pbuc1=vbuz1 + //SEG293 [140] *((const byte*) memHi#0) ← (byte~) prepareMEM::$1 [ ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:99::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:88::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setFAC:73::prepareMEM:156 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:73::prepareMEM:156 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:78::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:78::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:86::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:86::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:97::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:97::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setFAC:103::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:103::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:80::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) -- _deref_pbuc1=vbuz1 lda _1 sta memHi jmp breturn - //SEG297 prepareMEM::@return + //SEG294 prepareMEM::@return breturn: - //SEG298 [142] return [ ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:99::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:88::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setFAC:73::prepareMEM:157 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:73::prepareMEM:157 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:78::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:78::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:86::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:86::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:97::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:97::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setFAC:103::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:103::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:80::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + //SEG295 [141] return [ ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:99::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:88::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setFAC:73::prepareMEM:156 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:73::prepareMEM:156 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:78::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:78::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:86::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:86::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:97::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:97::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setFAC:103::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:103::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:80::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) rts } -//SEG299 mulFACbyMEM +//SEG296 mulFACbyMEM mulFACbyMEM: { - .label mem = $19 - //SEG300 [144] (byte*) prepareMEM::mem#4 ← (byte*) mulFACbyMEM::mem#2 [ prepareMEM::mem#4 ] ( main:2::init:5::gen_sintab:57::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#4 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#4 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#4 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#4 ] ) -- pbuz1=pbuz2 + .label mem = $17 + //SEG297 [143] (byte*) prepareMEM::mem#4 ← (byte*) mulFACbyMEM::mem#2 [ prepareMEM::mem#4 ] ( main:2::init:5::gen_sintab:57::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#4 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#4 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#4 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#4 ] ) -- pbuz1=pbuz2 lda mem sta prepareMEM.mem lda mem+1 sta prepareMEM.mem+1 - //SEG301 [145] call prepareMEM param-assignment [ ] ( main:2::init:5::gen_sintab:57::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) - //SEG302 [137] phi from mulFACbyMEM to prepareMEM [phi:mulFACbyMEM->prepareMEM] + //SEG298 [144] call prepareMEM param-assignment [ ] ( main:2::init:5::gen_sintab:57::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + //SEG299 [136] phi from mulFACbyMEM to prepareMEM [phi:mulFACbyMEM->prepareMEM] prepareMEM_from_mulFACbyMEM: - //SEG303 [137] phi (byte*) prepareMEM::mem#5 = (byte*) prepareMEM::mem#4 [phi:mulFACbyMEM->prepareMEM#0] -- register_copy + //SEG300 [136] phi (byte*) prepareMEM::mem#5 = (byte*) prepareMEM::mem#4 [phi:mulFACbyMEM->prepareMEM#0] -- register_copy jsr prepareMEM jmp b1 - //SEG304 mulFACbyMEM::@1 + //SEG301 mulFACbyMEM::@1 b1: - //SEG305 asm { lda$fe ldy$ff jsr$ba28 } + //SEG302 asm { lda$fe ldy$ff jsr$ba28 } lda $fe ldy $ff jsr $ba28 jmp breturn - //SEG306 mulFACbyMEM::@return + //SEG303 mulFACbyMEM::@return breturn: - //SEG307 [147] return [ ] ( main:2::init:5::gen_sintab:57::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + //SEG304 [146] return [ ] ( main:2::init:5::gen_sintab:57::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) rts } -//SEG308 sinFAC +//SEG305 sinFAC sinFAC: { - //SEG309 asm { jsr$e26b } + //SEG306 asm { jsr$e26b } jsr $e26b jmp breturn - //SEG310 sinFAC::@return + //SEG307 sinFAC::@return breturn: - //SEG311 [149] return [ ] ( main:2::init:5::gen_sintab:57::sinFAC:107 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::sinFAC:107 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + //SEG308 [148] return [ ] ( main:2::init:5::gen_sintab:57::sinFAC:107 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::sinFAC:107 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) rts } -//SEG312 divMEMbyFAC +//SEG309 divMEMbyFAC divMEMbyFAC: { - .label mem = $1b - //SEG313 [151] (byte*) prepareMEM::mem#3 ← (byte*) divMEMbyFAC::mem#2 [ prepareMEM::mem#3 ] ( main:2::init:5::gen_sintab:57::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#3 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#3 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#3 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#3 ] ) -- pbuz1=pbuz2 + .label mem = $19 + //SEG310 [150] (byte*) prepareMEM::mem#3 ← (byte*) divMEMbyFAC::mem#2 [ prepareMEM::mem#3 ] ( main:2::init:5::gen_sintab:57::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#3 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#3 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#3 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#3 ] ) -- pbuz1=pbuz2 lda mem sta prepareMEM.mem lda mem+1 sta prepareMEM.mem+1 - //SEG314 [152] call prepareMEM param-assignment [ ] ( main:2::init:5::gen_sintab:57::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) - //SEG315 [137] phi from divMEMbyFAC to prepareMEM [phi:divMEMbyFAC->prepareMEM] + //SEG311 [151] call prepareMEM param-assignment [ ] ( main:2::init:5::gen_sintab:57::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + //SEG312 [136] phi from divMEMbyFAC to prepareMEM [phi:divMEMbyFAC->prepareMEM] prepareMEM_from_divMEMbyFAC: - //SEG316 [137] phi (byte*) prepareMEM::mem#5 = (byte*) prepareMEM::mem#3 [phi:divMEMbyFAC->prepareMEM#0] -- register_copy + //SEG313 [136] phi (byte*) prepareMEM::mem#5 = (byte*) prepareMEM::mem#3 [phi:divMEMbyFAC->prepareMEM#0] -- register_copy jsr prepareMEM jmp b1 - //SEG317 divMEMbyFAC::@1 + //SEG314 divMEMbyFAC::@1 b1: - //SEG318 asm { lda$fe ldy$ff jsr$bb0f } + //SEG315 asm { lda$fe ldy$ff jsr$bb0f } lda $fe ldy $ff jsr $bb0f jmp breturn - //SEG319 divMEMbyFAC::@return + //SEG316 divMEMbyFAC::@return breturn: - //SEG320 [154] return [ ] ( main:2::init:5::gen_sintab:57::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + //SEG317 [153] return [ ] ( main:2::init:5::gen_sintab:57::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) rts } -//SEG321 setFAC +//SEG318 setFAC setFAC: { - .label w = $1d - //SEG322 [156] (byte*~) prepareMEM::mem#9 ← (byte*)(word) setFAC::w#5 [ prepareMEM::mem#9 ] ( main:2::init:5::gen_sintab:57::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#9 ] main:2::init:5::gen_sintab:61::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#9 ] main:2::init:5::gen_sintab:57::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#9 ] main:2::init:5::gen_sintab:61::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#9 ] main:2::init:5::gen_sintab:57::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#9 ] main:2::init:5::gen_sintab:61::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#9 ] main:2::init:5::gen_sintab:57::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#9 ] main:2::init:5::gen_sintab:61::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#9 ] main:2::init:5::gen_sintab:57::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#9 ] main:2::init:5::gen_sintab:61::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#9 ] ) -- pbuz1=pbuz2 + .label w = $1b + //SEG319 [155] (byte*~) prepareMEM::mem#8 ← (byte*)(word) setFAC::w#5 [ prepareMEM::mem#8 ] ( main:2::init:5::gen_sintab:57::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#8 ] main:2::init:5::gen_sintab:61::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#8 ] main:2::init:5::gen_sintab:57::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#8 ] main:2::init:5::gen_sintab:61::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#8 ] main:2::init:5::gen_sintab:57::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#8 ] main:2::init:5::gen_sintab:61::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#8 ] main:2::init:5::gen_sintab:57::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#8 ] main:2::init:5::gen_sintab:61::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#8 ] main:2::init:5::gen_sintab:57::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#8 ] main:2::init:5::gen_sintab:61::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#8 ] ) -- pbuz1=pbuz2 lda w sta prepareMEM.mem lda w+1 sta prepareMEM.mem+1 - //SEG323 [157] call prepareMEM param-assignment [ ] ( main:2::init:5::gen_sintab:57::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) - //SEG324 [137] phi from setFAC to prepareMEM [phi:setFAC->prepareMEM] + //SEG320 [156] call prepareMEM param-assignment [ ] ( main:2::init:5::gen_sintab:57::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + //SEG321 [136] phi from setFAC to prepareMEM [phi:setFAC->prepareMEM] prepareMEM_from_setFAC: - //SEG325 [137] phi (byte*) prepareMEM::mem#5 = (byte*~) prepareMEM::mem#9 [phi:setFAC->prepareMEM#0] -- register_copy + //SEG322 [136] phi (byte*) prepareMEM::mem#5 = (byte*~) prepareMEM::mem#8 [phi:setFAC->prepareMEM#0] -- register_copy jsr prepareMEM jmp b1 - //SEG326 setFAC::@1 + //SEG323 setFAC::@1 b1: - //SEG327 asm { ldy$fe lda$ff jsr$b391 } + //SEG324 asm { ldy$fe lda$ff jsr$b391 } ldy $fe lda $ff jsr $b391 jmp breturn - //SEG328 setFAC::@return + //SEG325 setFAC::@return breturn: - //SEG329 [159] return [ ] ( main:2::init:5::gen_sintab:57::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + //SEG326 [158] return [ ] ( main:2::init:5::gen_sintab:57::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) rts } -//SEG330 setMEMtoFAC +//SEG327 setMEMtoFAC setMEMtoFAC: { - .label mem = $1f - //SEG331 [161] (byte*) prepareMEM::mem#1 ← (byte*) setMEMtoFAC::mem#5 [ prepareMEM::mem#1 ] ( main:2::init:5::gen_sintab:57::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#1 ] ) -- pbuz1=pbuz2 + .label mem = $1d + //SEG328 [160] (byte*) prepareMEM::mem#1 ← (byte*) setMEMtoFAC::mem#5 [ prepareMEM::mem#1 ] ( main:2::init:5::gen_sintab:57::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#1 ] ) -- pbuz1=pbuz2 lda mem sta prepareMEM.mem lda mem+1 sta prepareMEM.mem+1 - //SEG332 [162] call prepareMEM param-assignment [ ] ( main:2::init:5::gen_sintab:57::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) - //SEG333 [137] phi from setMEMtoFAC to prepareMEM [phi:setMEMtoFAC->prepareMEM] + //SEG329 [161] call prepareMEM param-assignment [ ] ( main:2::init:5::gen_sintab:57::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + //SEG330 [136] phi from setMEMtoFAC to prepareMEM [phi:setMEMtoFAC->prepareMEM] prepareMEM_from_setMEMtoFAC: - //SEG334 [137] phi (byte*) prepareMEM::mem#5 = (byte*) prepareMEM::mem#1 [phi:setMEMtoFAC->prepareMEM#0] -- register_copy + //SEG331 [136] phi (byte*) prepareMEM::mem#5 = (byte*) prepareMEM::mem#1 [phi:setMEMtoFAC->prepareMEM#0] -- register_copy jsr prepareMEM jmp b1 - //SEG335 setMEMtoFAC::@1 + //SEG332 setMEMtoFAC::@1 b1: - //SEG336 asm { ldx$fe ldy$ff jsr$bbd4 } + //SEG333 asm { ldx$fe ldy$ff jsr$bbd4 } ldx $fe ldy $ff jsr $bbd4 jmp breturn - //SEG337 setMEMtoFAC::@return + //SEG334 setMEMtoFAC::@return breturn: - //SEG338 [164] return [ ] ( main:2::init:5::gen_sintab:57::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + //SEG335 [163] return [ ] ( main:2::init:5::gen_sintab:57::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) rts } -//SEG339 subFACfromARG +//SEG336 subFACfromARG subFACfromARG: { - //SEG340 asm { jsr$b853 } + //SEG337 asm { jsr$b853 } jsr $b853 jmp breturn - //SEG341 subFACfromARG::@return + //SEG338 subFACfromARG::@return breturn: - //SEG342 [166] return [ ] ( main:2::init:5::gen_sintab:57::subFACfromARG:82 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::subFACfromARG:82 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ) + //SEG339 [165] return [ ] ( main:2::init:5::gen_sintab:57::subFACfromARG:82 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::subFACfromARG:82 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ) rts } -//SEG343 setARGtoFAC +//SEG340 setARGtoFAC setARGtoFAC: { - //SEG344 asm { jsr$bc0f } + //SEG341 asm { jsr$bc0f } jsr $bc0f jmp breturn - //SEG345 setARGtoFAC::@return + //SEG342 setARGtoFAC::@return breturn: - //SEG346 [168] return [ ] ( main:2::init:5::gen_sintab:57::setARGtoFAC:75 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setARGtoFAC:75 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ) + //SEG343 [167] return [ ] ( main:2::init:5::gen_sintab:57::setARGtoFAC:75 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setARGtoFAC:75 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ) rts } -//SEG347 progress_init +//SEG344 progress_init progress_init: { .label line = $13 jmp breturn - //SEG348 progress_init::@return + //SEG345 progress_init::@return breturn: - //SEG349 [170] return [ progress_init::line#2 ] ( main:2::init:5::progress_init:55 [ progress_init::line#2 ] main:2::init:5::progress_init:59 [ progress_init::line#2 ] ) + //SEG346 [169] return [ progress_init::line#2 ] ( main:2::init:5::progress_init:55 [ progress_init::line#2 ] main:2::init:5::progress_init:59 [ progress_init::line#2 ] ) rts } -//SEG350 gen_sprites +//SEG347 gen_sprites gen_sprites: { - .label spr = $22 - .label i = $21 - //SEG351 [172] phi from gen_sprites to gen_sprites::@1 [phi:gen_sprites->gen_sprites::@1] + .label spr = $20 + .label i = $1f + //SEG348 [171] phi from gen_sprites to gen_sprites::@1 [phi:gen_sprites->gen_sprites::@1] b1_from_gen_sprites: - //SEG352 [172] phi (byte*) gen_sprites::spr#2 = (const byte*) sprites#0 [phi:gen_sprites->gen_sprites::@1#0] -- pbuz1=pbuc1 + //SEG349 [171] phi (byte*) gen_sprites::spr#2 = (const byte*) sprites#0 [phi:gen_sprites->gen_sprites::@1#0] -- pbuz1=pbuc1 lda #sprites sta spr+1 - //SEG353 [172] phi (byte) gen_sprites::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gen_sprites->gen_sprites::@1#1] -- vbuz1=vbuc1 + //SEG350 [171] phi (byte) gen_sprites::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gen_sprites->gen_sprites::@1#1] -- vbuz1=vbuc1 lda #0 sta i jmp b1 - //SEG354 [172] phi from gen_sprites::@3 to gen_sprites::@1 [phi:gen_sprites::@3->gen_sprites::@1] + //SEG351 [171] phi from gen_sprites::@3 to gen_sprites::@1 [phi:gen_sprites::@3->gen_sprites::@1] b1_from_b3: - //SEG355 [172] phi (byte*) gen_sprites::spr#2 = (byte*) gen_sprites::spr#1 [phi:gen_sprites::@3->gen_sprites::@1#0] -- register_copy - //SEG356 [172] phi (byte) gen_sprites::i#2 = (byte) gen_sprites::i#1 [phi:gen_sprites::@3->gen_sprites::@1#1] -- register_copy + //SEG352 [171] phi (byte*) gen_sprites::spr#2 = (byte*) gen_sprites::spr#1 [phi:gen_sprites::@3->gen_sprites::@1#0] -- register_copy + //SEG353 [171] phi (byte) gen_sprites::i#2 = (byte) gen_sprites::i#1 [phi:gen_sprites::@3->gen_sprites::@1#1] -- register_copy jmp b1 - //SEG357 gen_sprites::@1 + //SEG354 gen_sprites::@1 b1: - //SEG358 [173] (byte) gen_chargen_sprite::ch#0 ← *((const string) gen_sprites::cml#0 + (byte) gen_sprites::i#2) [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::ch#0 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::ch#0 ] ) -- vbuz1=pbuc1_derefidx_vbuz2 + //SEG355 [172] (byte) gen_chargen_sprite::ch#0 ← *((const string) gen_sprites::cml#0 + (byte) gen_sprites::i#2) [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::ch#0 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::ch#0 ] ) -- vbuz1=pbuc1_derefidx_vbuz2 ldy i lda cml,y sta gen_chargen_sprite.ch - //SEG359 [174] (byte*) gen_chargen_sprite::sprite#0 ← (byte*) gen_sprites::spr#2 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::ch#0 gen_chargen_sprite::sprite#0 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::ch#0 gen_chargen_sprite::sprite#0 ] ) -- pbuz1=pbuz2 + //SEG356 [173] (byte*) gen_chargen_sprite::sprite#0 ← (byte*) gen_sprites::spr#2 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::ch#0 gen_chargen_sprite::sprite#0 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::ch#0 gen_chargen_sprite::sprite#0 ] ) -- pbuz1=pbuz2 lda spr sta gen_chargen_sprite.sprite lda spr+1 sta gen_chargen_sprite.sprite+1 - //SEG360 [175] call gen_chargen_sprite param-assignment [ gen_sprites::i#2 gen_sprites::spr#2 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#2 gen_sprites::spr#2 ] ) + //SEG357 [174] call gen_chargen_sprite param-assignment [ gen_sprites::i#2 gen_sprites::spr#2 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#2 gen_sprites::spr#2 ] ) jsr gen_chargen_sprite jmp b3 - //SEG361 gen_sprites::@3 + //SEG358 gen_sprites::@3 b3: - //SEG362 [176] (byte*) gen_sprites::spr#1 ← (byte*) gen_sprites::spr#2 + (byte/signed byte/word/signed word/dword/signed dword) 64 [ gen_sprites::i#2 gen_sprites::spr#1 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#2 gen_sprites::spr#1 ] ) -- pbuz1=pbuz1_plus_vbuc1 + //SEG359 [175] (byte*) gen_sprites::spr#1 ← (byte*) gen_sprites::spr#2 + (byte/signed byte/word/signed word/dword/signed dword) 64 [ gen_sprites::i#2 gen_sprites::spr#1 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#2 gen_sprites::spr#1 ] ) -- pbuz1=pbuz1_plus_vbuc1 lda spr clc adc #$40 @@ -7258,41 +7233,41 @@ gen_sprites: { bcc !+ inc spr+1 !: - //SEG363 [177] (byte) gen_sprites::i#1 ← ++ (byte) gen_sprites::i#2 [ gen_sprites::i#1 gen_sprites::spr#1 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#1 gen_sprites::spr#1 ] ) -- vbuz1=_inc_vbuz1 + //SEG360 [176] (byte) gen_sprites::i#1 ← ++ (byte) gen_sprites::i#2 [ gen_sprites::i#1 gen_sprites::spr#1 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#1 gen_sprites::spr#1 ] ) -- vbuz1=_inc_vbuz1 inc i - //SEG364 [178] if((byte) gen_sprites::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 7) goto gen_sprites::@1 [ gen_sprites::i#1 gen_sprites::spr#1 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#1 gen_sprites::spr#1 ] ) -- vbuz1_neq_vbuc1_then_la1 + //SEG361 [177] if((byte) gen_sprites::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 7) goto gen_sprites::@1 [ gen_sprites::i#1 gen_sprites::spr#1 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#1 gen_sprites::spr#1 ] ) -- vbuz1_neq_vbuc1_then_la1 lda i cmp #7 bne b1_from_b3 jmp breturn - //SEG365 gen_sprites::@return + //SEG362 gen_sprites::@return breturn: - //SEG366 [179] return [ ] ( main:2::init:5::gen_sprites:53 [ ] ) + //SEG363 [178] return [ ] ( main:2::init:5::gen_sprites:53 [ ] ) rts cml: .text "camelot" } -//SEG367 gen_chargen_sprite +//SEG364 gen_chargen_sprite gen_chargen_sprite: { - .label _0 = $41 - .label _1 = $43 - .label _3 = $47 - .label _6 = $48 - .label ch = $40 - .label sprite = $2b - .label chargen = $45 - .label bits = $25 - .label s_gen = $28 - .label s_gen_cnt = $29 - .label b = $2a - .label x = $26 - .label y = $24 - .label c = $27 - //SEG368 [180] (word~) gen_chargen_sprite::$0 ← ((word)) (byte) gen_chargen_sprite::ch#0 [ gen_chargen_sprite::sprite#0 gen_chargen_sprite::$0 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::sprite#0 gen_chargen_sprite::$0 ] ) -- vwuz1=_word_vbuz2 + .label _0 = $3f + .label _1 = $41 + .label _3 = $45 + .label _6 = $46 + .label ch = $3e + .label sprite = $29 + .label chargen = $43 + .label bits = $23 + .label s_gen = $26 + .label s_gen_cnt = $27 + .label b = $28 + .label x = $24 + .label y = $22 + .label c = $25 + //SEG365 [179] (word~) gen_chargen_sprite::$0 ← ((word)) (byte) gen_chargen_sprite::ch#0 [ gen_chargen_sprite::sprite#0 gen_chargen_sprite::$0 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::sprite#0 gen_chargen_sprite::$0 ] ) -- vwuz1=_word_vbuz2 lda ch sta _0 lda #0 sta _0+1 - //SEG369 [181] (word~) gen_chargen_sprite::$1 ← (word~) gen_chargen_sprite::$0 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ gen_chargen_sprite::sprite#0 gen_chargen_sprite::$1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::sprite#0 gen_chargen_sprite::$1 ] ) -- vwuz1=vwuz2_rol_3 + //SEG366 [180] (word~) gen_chargen_sprite::$1 ← (word~) gen_chargen_sprite::$0 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ gen_chargen_sprite::sprite#0 gen_chargen_sprite::$1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::sprite#0 gen_chargen_sprite::$1 ] ) -- vwuz1=vwuz2_rol_3 lda _0 asl sta _1 @@ -7303,7 +7278,7 @@ gen_chargen_sprite: { rol _1+1 asl _1 rol _1+1 - //SEG370 [182] (byte*) gen_chargen_sprite::chargen#0 ← (const byte*) CHARGEN#0 + (word~) gen_chargen_sprite::$1 [ gen_chargen_sprite::sprite#0 gen_chargen_sprite::chargen#0 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::sprite#0 gen_chargen_sprite::chargen#0 ] ) -- pbuz1=pbuc1_plus_vwuz2 + //SEG367 [181] (byte*) gen_chargen_sprite::chargen#0 ← (const byte*) CHARGEN#0 + (word~) gen_chargen_sprite::$1 [ gen_chargen_sprite::sprite#0 gen_chargen_sprite::chargen#0 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::sprite#0 gen_chargen_sprite::chargen#0 ] ) -- pbuz1=pbuc1_plus_vwuz2 lda _1 clc adc #CHARGEN sta chargen+1 - //SEG371 asm { sei } + //SEG368 asm { sei } sei - //SEG372 [184] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) 50 [ gen_chargen_sprite::sprite#0 gen_chargen_sprite::chargen#0 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::sprite#0 gen_chargen_sprite::chargen#0 ] ) -- _deref_pbuc1=vbuc2 + //SEG369 [183] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) 50 [ gen_chargen_sprite::sprite#0 gen_chargen_sprite::chargen#0 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::sprite#0 gen_chargen_sprite::chargen#0 ] ) -- _deref_pbuc1=vbuc2 lda #$32 sta PROCPORT - //SEG373 [185] phi from gen_chargen_sprite to gen_chargen_sprite::@1 [phi:gen_chargen_sprite->gen_chargen_sprite::@1] + //SEG370 [184] phi from gen_chargen_sprite to gen_chargen_sprite::@1 [phi:gen_chargen_sprite->gen_chargen_sprite::@1] b1_from_gen_chargen_sprite: - //SEG374 [185] phi (byte*) gen_chargen_sprite::sprite#11 = (byte*) gen_chargen_sprite::sprite#0 [phi:gen_chargen_sprite->gen_chargen_sprite::@1#0] -- register_copy - //SEG375 [185] phi (byte) gen_chargen_sprite::y#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gen_chargen_sprite->gen_chargen_sprite::@1#1] -- vbuz1=vbuc1 + //SEG371 [184] phi (byte*) gen_chargen_sprite::sprite#11 = (byte*) gen_chargen_sprite::sprite#0 [phi:gen_chargen_sprite->gen_chargen_sprite::@1#0] -- register_copy + //SEG372 [184] phi (byte) gen_chargen_sprite::y#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gen_chargen_sprite->gen_chargen_sprite::@1#1] -- vbuz1=vbuc1 lda #0 sta y jmp b1 - //SEG376 [185] phi from gen_chargen_sprite::@9 to gen_chargen_sprite::@1 [phi:gen_chargen_sprite::@9->gen_chargen_sprite::@1] + //SEG373 [184] phi from gen_chargen_sprite::@9 to gen_chargen_sprite::@1 [phi:gen_chargen_sprite::@9->gen_chargen_sprite::@1] b1_from_b9: - //SEG377 [185] phi (byte*) gen_chargen_sprite::sprite#11 = (byte*) gen_chargen_sprite::sprite#2 [phi:gen_chargen_sprite::@9->gen_chargen_sprite::@1#0] -- register_copy - //SEG378 [185] phi (byte) gen_chargen_sprite::y#2 = (byte) gen_chargen_sprite::y#1 [phi:gen_chargen_sprite::@9->gen_chargen_sprite::@1#1] -- register_copy + //SEG374 [184] phi (byte*) gen_chargen_sprite::sprite#11 = (byte*) gen_chargen_sprite::sprite#2 [phi:gen_chargen_sprite::@9->gen_chargen_sprite::@1#0] -- register_copy + //SEG375 [184] phi (byte) gen_chargen_sprite::y#2 = (byte) gen_chargen_sprite::y#1 [phi:gen_chargen_sprite::@9->gen_chargen_sprite::@1#1] -- register_copy jmp b1 - //SEG379 gen_chargen_sprite::@1 + //SEG376 gen_chargen_sprite::@1 b1: - //SEG380 [186] (byte) gen_chargen_sprite::bits#0 ← *((byte*) gen_chargen_sprite::chargen#0 + (byte) gen_chargen_sprite::y#2) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#11 gen_chargen_sprite::bits#0 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#11 gen_chargen_sprite::bits#0 ] ) -- vbuz1=pbuz2_derefidx_vbuz3 + //SEG377 [185] (byte) gen_chargen_sprite::bits#0 ← *((byte*) gen_chargen_sprite::chargen#0 + (byte) gen_chargen_sprite::y#2) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#11 gen_chargen_sprite::bits#0 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#11 gen_chargen_sprite::bits#0 ] ) -- vbuz1=pbuz2_derefidx_vbuz3 ldy y lda (chargen),y sta bits - //SEG381 [187] phi from gen_chargen_sprite::@1 to gen_chargen_sprite::@2 [phi:gen_chargen_sprite::@1->gen_chargen_sprite::@2] + //SEG378 [186] phi from gen_chargen_sprite::@1 to gen_chargen_sprite::@2 [phi:gen_chargen_sprite::@1->gen_chargen_sprite::@2] b2_from_b1: - //SEG382 [187] phi (byte) gen_chargen_sprite::x#6 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gen_chargen_sprite::@1->gen_chargen_sprite::@2#0] -- vbuz1=vbuc1 + //SEG379 [186] phi (byte) gen_chargen_sprite::x#6 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gen_chargen_sprite::@1->gen_chargen_sprite::@2#0] -- vbuz1=vbuc1 lda #0 sta x - //SEG383 [187] phi (byte*) gen_chargen_sprite::sprite#10 = (byte*) gen_chargen_sprite::sprite#11 [phi:gen_chargen_sprite::@1->gen_chargen_sprite::@2#1] -- register_copy - //SEG384 [187] phi (byte) gen_chargen_sprite::s_gen_cnt#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gen_chargen_sprite::@1->gen_chargen_sprite::@2#2] -- vbuz1=vbuc1 + //SEG380 [186] phi (byte*) gen_chargen_sprite::sprite#10 = (byte*) gen_chargen_sprite::sprite#11 [phi:gen_chargen_sprite::@1->gen_chargen_sprite::@2#1] -- register_copy + //SEG381 [186] phi (byte) gen_chargen_sprite::s_gen_cnt#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gen_chargen_sprite::@1->gen_chargen_sprite::@2#2] -- vbuz1=vbuc1 lda #0 sta s_gen_cnt - //SEG385 [187] phi (byte) gen_chargen_sprite::s_gen#5 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gen_chargen_sprite::@1->gen_chargen_sprite::@2#3] -- vbuz1=vbuc1 + //SEG382 [186] phi (byte) gen_chargen_sprite::s_gen#5 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gen_chargen_sprite::@1->gen_chargen_sprite::@2#3] -- vbuz1=vbuc1 lda #0 sta s_gen - //SEG386 [187] phi (byte) gen_chargen_sprite::bits#2 = (byte) gen_chargen_sprite::bits#0 [phi:gen_chargen_sprite::@1->gen_chargen_sprite::@2#4] -- register_copy + //SEG383 [186] phi (byte) gen_chargen_sprite::bits#2 = (byte) gen_chargen_sprite::bits#0 [phi:gen_chargen_sprite::@1->gen_chargen_sprite::@2#4] -- register_copy jmp b2 - //SEG387 [187] phi from gen_chargen_sprite::@8 to gen_chargen_sprite::@2 [phi:gen_chargen_sprite::@8->gen_chargen_sprite::@2] + //SEG384 [186] phi from gen_chargen_sprite::@8 to gen_chargen_sprite::@2 [phi:gen_chargen_sprite::@8->gen_chargen_sprite::@2] b2_from_b8: - //SEG388 [187] phi (byte) gen_chargen_sprite::x#6 = (byte) gen_chargen_sprite::x#1 [phi:gen_chargen_sprite::@8->gen_chargen_sprite::@2#0] -- register_copy - //SEG389 [187] phi (byte*) gen_chargen_sprite::sprite#10 = (byte*) gen_chargen_sprite::sprite#4 [phi:gen_chargen_sprite::@8->gen_chargen_sprite::@2#1] -- register_copy - //SEG390 [187] phi (byte) gen_chargen_sprite::s_gen_cnt#4 = (byte) gen_chargen_sprite::s_gen_cnt#5 [phi:gen_chargen_sprite::@8->gen_chargen_sprite::@2#2] -- register_copy - //SEG391 [187] phi (byte) gen_chargen_sprite::s_gen#5 = (byte) gen_chargen_sprite::s_gen#6 [phi:gen_chargen_sprite::@8->gen_chargen_sprite::@2#3] -- register_copy - //SEG392 [187] phi (byte) gen_chargen_sprite::bits#2 = (byte) gen_chargen_sprite::bits#1 [phi:gen_chargen_sprite::@8->gen_chargen_sprite::@2#4] -- register_copy + //SEG385 [186] phi (byte) gen_chargen_sprite::x#6 = (byte) gen_chargen_sprite::x#1 [phi:gen_chargen_sprite::@8->gen_chargen_sprite::@2#0] -- register_copy + //SEG386 [186] phi (byte*) gen_chargen_sprite::sprite#10 = (byte*) gen_chargen_sprite::sprite#4 [phi:gen_chargen_sprite::@8->gen_chargen_sprite::@2#1] -- register_copy + //SEG387 [186] phi (byte) gen_chargen_sprite::s_gen_cnt#4 = (byte) gen_chargen_sprite::s_gen_cnt#5 [phi:gen_chargen_sprite::@8->gen_chargen_sprite::@2#2] -- register_copy + //SEG388 [186] phi (byte) gen_chargen_sprite::s_gen#5 = (byte) gen_chargen_sprite::s_gen#6 [phi:gen_chargen_sprite::@8->gen_chargen_sprite::@2#3] -- register_copy + //SEG389 [186] phi (byte) gen_chargen_sprite::bits#2 = (byte) gen_chargen_sprite::bits#1 [phi:gen_chargen_sprite::@8->gen_chargen_sprite::@2#4] -- register_copy jmp b2 - //SEG393 gen_chargen_sprite::@2 + //SEG390 gen_chargen_sprite::@2 b2: - //SEG394 [188] (byte~) gen_chargen_sprite::$3 ← (byte) gen_chargen_sprite::bits#2 & (byte/word/signed word/dword/signed dword) 128 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 gen_chargen_sprite::$3 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 gen_chargen_sprite::$3 ] ) -- vbuz1=vbuz2_band_vbuc1 + //SEG391 [187] (byte~) gen_chargen_sprite::$3 ← (byte) gen_chargen_sprite::bits#2 & (byte/word/signed word/dword/signed dword) 128 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 gen_chargen_sprite::$3 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 gen_chargen_sprite::$3 ] ) -- vbuz1=vbuz2_band_vbuc1 lda #$80 and bits sta _3 - //SEG395 [189] if((byte~) gen_chargen_sprite::$3==(byte/signed byte/word/signed word/dword/signed dword) 0) goto gen_chargen_sprite::@3 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 ] ) -- vbuz1_eq_0_then_la1 + //SEG392 [188] if((byte~) gen_chargen_sprite::$3==(byte/signed byte/word/signed word/dword/signed dword) 0) goto gen_chargen_sprite::@3 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 ] ) -- vbuz1_eq_0_then_la1 lda _3 beq b3_from_b2 - //SEG396 [190] phi from gen_chargen_sprite::@2 to gen_chargen_sprite::@6 [phi:gen_chargen_sprite::@2->gen_chargen_sprite::@6] + //SEG393 [189] phi from gen_chargen_sprite::@2 to gen_chargen_sprite::@6 [phi:gen_chargen_sprite::@2->gen_chargen_sprite::@6] b6_from_b2: jmp b6 - //SEG397 gen_chargen_sprite::@6 + //SEG394 gen_chargen_sprite::@6 b6: - //SEG398 [191] phi from gen_chargen_sprite::@6 to gen_chargen_sprite::@3 [phi:gen_chargen_sprite::@6->gen_chargen_sprite::@3] + //SEG395 [190] phi from gen_chargen_sprite::@6 to gen_chargen_sprite::@3 [phi:gen_chargen_sprite::@6->gen_chargen_sprite::@3] b3_from_b6: - //SEG399 [191] phi (byte) gen_chargen_sprite::c#3 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:gen_chargen_sprite::@6->gen_chargen_sprite::@3#0] -- vbuz1=vbuc1 + //SEG396 [190] phi (byte) gen_chargen_sprite::c#3 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:gen_chargen_sprite::@6->gen_chargen_sprite::@3#0] -- vbuz1=vbuc1 lda #1 sta c jmp b3 - //SEG400 [191] phi from gen_chargen_sprite::@2 to gen_chargen_sprite::@3 [phi:gen_chargen_sprite::@2->gen_chargen_sprite::@3] + //SEG397 [190] phi from gen_chargen_sprite::@2 to gen_chargen_sprite::@3 [phi:gen_chargen_sprite::@2->gen_chargen_sprite::@3] b3_from_b2: - //SEG401 [191] phi (byte) gen_chargen_sprite::c#3 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gen_chargen_sprite::@2->gen_chargen_sprite::@3#0] -- vbuz1=vbuc1 + //SEG398 [190] phi (byte) gen_chargen_sprite::c#3 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gen_chargen_sprite::@2->gen_chargen_sprite::@3#0] -- vbuz1=vbuc1 lda #0 sta c jmp b3 - //SEG402 gen_chargen_sprite::@3 + //SEG399 gen_chargen_sprite::@3 b3: - //SEG403 [192] phi from gen_chargen_sprite::@3 to gen_chargen_sprite::@4 [phi:gen_chargen_sprite::@3->gen_chargen_sprite::@4] + //SEG400 [191] phi from gen_chargen_sprite::@3 to gen_chargen_sprite::@4 [phi:gen_chargen_sprite::@3->gen_chargen_sprite::@4] b4_from_b3: - //SEG404 [192] phi (byte*) gen_chargen_sprite::sprite#3 = (byte*) gen_chargen_sprite::sprite#10 [phi:gen_chargen_sprite::@3->gen_chargen_sprite::@4#0] -- register_copy - //SEG405 [192] phi (byte) gen_chargen_sprite::b#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gen_chargen_sprite::@3->gen_chargen_sprite::@4#1] -- vbuz1=vbuc1 + //SEG401 [191] phi (byte*) gen_chargen_sprite::sprite#3 = (byte*) gen_chargen_sprite::sprite#10 [phi:gen_chargen_sprite::@3->gen_chargen_sprite::@4#0] -- register_copy + //SEG402 [191] phi (byte) gen_chargen_sprite::b#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gen_chargen_sprite::@3->gen_chargen_sprite::@4#1] -- vbuz1=vbuc1 lda #0 sta b - //SEG406 [192] phi (byte) gen_chargen_sprite::s_gen_cnt#3 = (byte) gen_chargen_sprite::s_gen_cnt#4 [phi:gen_chargen_sprite::@3->gen_chargen_sprite::@4#2] -- register_copy - //SEG407 [192] phi (byte) gen_chargen_sprite::s_gen#3 = (byte) gen_chargen_sprite::s_gen#5 [phi:gen_chargen_sprite::@3->gen_chargen_sprite::@4#3] -- register_copy + //SEG403 [191] phi (byte) gen_chargen_sprite::s_gen_cnt#3 = (byte) gen_chargen_sprite::s_gen_cnt#4 [phi:gen_chargen_sprite::@3->gen_chargen_sprite::@4#2] -- register_copy + //SEG404 [191] phi (byte) gen_chargen_sprite::s_gen#3 = (byte) gen_chargen_sprite::s_gen#5 [phi:gen_chargen_sprite::@3->gen_chargen_sprite::@4#3] -- register_copy jmp b4 - //SEG408 [192] phi from gen_chargen_sprite::@5 to gen_chargen_sprite::@4 [phi:gen_chargen_sprite::@5->gen_chargen_sprite::@4] + //SEG405 [191] phi from gen_chargen_sprite::@5 to gen_chargen_sprite::@4 [phi:gen_chargen_sprite::@5->gen_chargen_sprite::@4] b4_from_b5: - //SEG409 [192] phi (byte*) gen_chargen_sprite::sprite#3 = (byte*) gen_chargen_sprite::sprite#4 [phi:gen_chargen_sprite::@5->gen_chargen_sprite::@4#0] -- register_copy - //SEG410 [192] phi (byte) gen_chargen_sprite::b#2 = (byte) gen_chargen_sprite::b#1 [phi:gen_chargen_sprite::@5->gen_chargen_sprite::@4#1] -- register_copy - //SEG411 [192] phi (byte) gen_chargen_sprite::s_gen_cnt#3 = (byte) gen_chargen_sprite::s_gen_cnt#5 [phi:gen_chargen_sprite::@5->gen_chargen_sprite::@4#2] -- register_copy - //SEG412 [192] phi (byte) gen_chargen_sprite::s_gen#3 = (byte) gen_chargen_sprite::s_gen#6 [phi:gen_chargen_sprite::@5->gen_chargen_sprite::@4#3] -- register_copy + //SEG406 [191] phi (byte*) gen_chargen_sprite::sprite#3 = (byte*) gen_chargen_sprite::sprite#4 [phi:gen_chargen_sprite::@5->gen_chargen_sprite::@4#0] -- register_copy + //SEG407 [191] phi (byte) gen_chargen_sprite::b#2 = (byte) gen_chargen_sprite::b#1 [phi:gen_chargen_sprite::@5->gen_chargen_sprite::@4#1] -- register_copy + //SEG408 [191] phi (byte) gen_chargen_sprite::s_gen_cnt#3 = (byte) gen_chargen_sprite::s_gen_cnt#5 [phi:gen_chargen_sprite::@5->gen_chargen_sprite::@4#2] -- register_copy + //SEG409 [191] phi (byte) gen_chargen_sprite::s_gen#3 = (byte) gen_chargen_sprite::s_gen#6 [phi:gen_chargen_sprite::@5->gen_chargen_sprite::@4#3] -- register_copy jmp b4 - //SEG413 gen_chargen_sprite::@4 + //SEG410 gen_chargen_sprite::@4 b4: - //SEG414 [193] (byte~) gen_chargen_sprite::$6 ← (byte) gen_chargen_sprite::s_gen#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::$6 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::$6 ] ) -- vbuz1=vbuz2_rol_1 + //SEG411 [192] (byte~) gen_chargen_sprite::$6 ← (byte) gen_chargen_sprite::s_gen#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::$6 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::$6 ] ) -- vbuz1=vbuz2_rol_1 lda s_gen asl sta _6 - //SEG415 [194] (byte) gen_chargen_sprite::s_gen#1 ← (byte~) gen_chargen_sprite::$6 | (byte) gen_chargen_sprite::c#3 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ) -- vbuz1=vbuz2_bor_vbuz3 + //SEG412 [193] (byte) gen_chargen_sprite::s_gen#1 ← (byte~) gen_chargen_sprite::$6 | (byte) gen_chargen_sprite::c#3 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ) -- vbuz1=vbuz2_bor_vbuz3 lda _6 ora c sta s_gen - //SEG416 [195] (byte) gen_chargen_sprite::s_gen_cnt#1 ← ++ (byte) gen_chargen_sprite::s_gen_cnt#3 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 gen_chargen_sprite::s_gen_cnt#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 gen_chargen_sprite::s_gen_cnt#1 ] ) -- vbuz1=_inc_vbuz1 + //SEG413 [194] (byte) gen_chargen_sprite::s_gen_cnt#1 ← ++ (byte) gen_chargen_sprite::s_gen_cnt#3 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 gen_chargen_sprite::s_gen_cnt#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 gen_chargen_sprite::s_gen_cnt#1 ] ) -- vbuz1=_inc_vbuz1 inc s_gen_cnt - //SEG417 [196] if((byte) gen_chargen_sprite::s_gen_cnt#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto gen_chargen_sprite::@5 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 gen_chargen_sprite::s_gen_cnt#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 gen_chargen_sprite::s_gen_cnt#1 ] ) -- vbuz1_neq_vbuc1_then_la1 + //SEG414 [195] if((byte) gen_chargen_sprite::s_gen_cnt#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto gen_chargen_sprite::@5 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 gen_chargen_sprite::s_gen_cnt#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 gen_chargen_sprite::s_gen_cnt#1 ] ) -- vbuz1_neq_vbuc1_then_la1 lda s_gen_cnt cmp #8 bne b5_from_b4 jmp b7 - //SEG418 gen_chargen_sprite::@7 + //SEG415 gen_chargen_sprite::@7 b7: - //SEG419 [197] *((byte*) gen_chargen_sprite::sprite#3 + (byte/signed byte/word/signed word/dword/signed dword) 0) ← (byte) gen_chargen_sprite::s_gen#1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ) -- pbuz1_derefidx_vbuc1=vbuz2 + //SEG416 [196] *((byte*) gen_chargen_sprite::sprite#3 + (byte/signed byte/word/signed word/dword/signed dword) 0) ← (byte) gen_chargen_sprite::s_gen#1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ) -- pbuz1_derefidx_vbuc1=vbuz2 lda s_gen ldy #0 sta (sprite),y - //SEG420 [198] *((byte*) gen_chargen_sprite::sprite#3 + (byte/signed byte/word/signed word/dword/signed dword) 3) ← (byte) gen_chargen_sprite::s_gen#1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ) -- pbuz1_derefidx_vbuc1=vbuz2 + //SEG417 [197] *((byte*) gen_chargen_sprite::sprite#3 + (byte/signed byte/word/signed word/dword/signed dword) 3) ← (byte) gen_chargen_sprite::s_gen#1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ) -- pbuz1_derefidx_vbuc1=vbuz2 lda s_gen ldy #3 sta (sprite),y - //SEG421 [199] *((byte*) gen_chargen_sprite::sprite#3 + (byte/signed byte/word/signed word/dword/signed dword) 6) ← (byte) gen_chargen_sprite::s_gen#1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 ] ) -- pbuz1_derefidx_vbuc1=vbuz2 + //SEG418 [198] *((byte*) gen_chargen_sprite::sprite#3 + (byte/signed byte/word/signed word/dword/signed dword) 6) ← (byte) gen_chargen_sprite::s_gen#1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 ] ) -- pbuz1_derefidx_vbuc1=vbuz2 lda s_gen ldy #6 sta (sprite),y - //SEG422 [200] (byte*) gen_chargen_sprite::sprite#1 ← ++ (byte*) gen_chargen_sprite::sprite#3 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#1 ] ) -- pbuz1=_inc_pbuz1 + //SEG419 [199] (byte*) gen_chargen_sprite::sprite#1 ← ++ (byte*) gen_chargen_sprite::sprite#3 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#1 ] ) -- pbuz1=_inc_pbuz1 inc sprite bne !+ inc sprite+1 !: - //SEG423 [201] phi from gen_chargen_sprite::@7 to gen_chargen_sprite::@5 [phi:gen_chargen_sprite::@7->gen_chargen_sprite::@5] + //SEG420 [200] phi from gen_chargen_sprite::@7 to gen_chargen_sprite::@5 [phi:gen_chargen_sprite::@7->gen_chargen_sprite::@5] b5_from_b7: - //SEG424 [201] phi (byte*) gen_chargen_sprite::sprite#4 = (byte*) gen_chargen_sprite::sprite#1 [phi:gen_chargen_sprite::@7->gen_chargen_sprite::@5#0] -- register_copy - //SEG425 [201] phi (byte) gen_chargen_sprite::s_gen_cnt#5 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gen_chargen_sprite::@7->gen_chargen_sprite::@5#1] -- vbuz1=vbuc1 + //SEG421 [200] phi (byte*) gen_chargen_sprite::sprite#4 = (byte*) gen_chargen_sprite::sprite#1 [phi:gen_chargen_sprite::@7->gen_chargen_sprite::@5#0] -- register_copy + //SEG422 [200] phi (byte) gen_chargen_sprite::s_gen_cnt#5 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gen_chargen_sprite::@7->gen_chargen_sprite::@5#1] -- vbuz1=vbuc1 lda #0 sta s_gen_cnt - //SEG426 [201] phi (byte) gen_chargen_sprite::s_gen#6 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gen_chargen_sprite::@7->gen_chargen_sprite::@5#2] -- vbuz1=vbuc1 + //SEG423 [200] phi (byte) gen_chargen_sprite::s_gen#6 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gen_chargen_sprite::@7->gen_chargen_sprite::@5#2] -- vbuz1=vbuc1 lda #0 sta s_gen jmp b5 - //SEG427 [201] phi from gen_chargen_sprite::@4 to gen_chargen_sprite::@5 [phi:gen_chargen_sprite::@4->gen_chargen_sprite::@5] + //SEG424 [200] phi from gen_chargen_sprite::@4 to gen_chargen_sprite::@5 [phi:gen_chargen_sprite::@4->gen_chargen_sprite::@5] b5_from_b4: - //SEG428 [201] phi (byte*) gen_chargen_sprite::sprite#4 = (byte*) gen_chargen_sprite::sprite#3 [phi:gen_chargen_sprite::@4->gen_chargen_sprite::@5#0] -- register_copy - //SEG429 [201] phi (byte) gen_chargen_sprite::s_gen_cnt#5 = (byte) gen_chargen_sprite::s_gen_cnt#1 [phi:gen_chargen_sprite::@4->gen_chargen_sprite::@5#1] -- register_copy - //SEG430 [201] phi (byte) gen_chargen_sprite::s_gen#6 = (byte) gen_chargen_sprite::s_gen#1 [phi:gen_chargen_sprite::@4->gen_chargen_sprite::@5#2] -- register_copy + //SEG425 [200] phi (byte*) gen_chargen_sprite::sprite#4 = (byte*) gen_chargen_sprite::sprite#3 [phi:gen_chargen_sprite::@4->gen_chargen_sprite::@5#0] -- register_copy + //SEG426 [200] phi (byte) gen_chargen_sprite::s_gen_cnt#5 = (byte) gen_chargen_sprite::s_gen_cnt#1 [phi:gen_chargen_sprite::@4->gen_chargen_sprite::@5#1] -- register_copy + //SEG427 [200] phi (byte) gen_chargen_sprite::s_gen#6 = (byte) gen_chargen_sprite::s_gen#1 [phi:gen_chargen_sprite::@4->gen_chargen_sprite::@5#2] -- register_copy jmp b5 - //SEG431 gen_chargen_sprite::@5 + //SEG428 gen_chargen_sprite::@5 b5: - //SEG432 [202] (byte) gen_chargen_sprite::b#1 ← ++ (byte) gen_chargen_sprite::b#2 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::c#3 gen_chargen_sprite::b#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::c#3 gen_chargen_sprite::b#1 ] ) -- vbuz1=_inc_vbuz1 + //SEG429 [201] (byte) gen_chargen_sprite::b#1 ← ++ (byte) gen_chargen_sprite::b#2 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::c#3 gen_chargen_sprite::b#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::c#3 gen_chargen_sprite::b#1 ] ) -- vbuz1=_inc_vbuz1 inc b - //SEG433 [203] if((byte) gen_chargen_sprite::b#1!=(byte/signed byte/word/signed word/dword/signed dword) 3) goto gen_chargen_sprite::@4 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::c#3 gen_chargen_sprite::b#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::c#3 gen_chargen_sprite::b#1 ] ) -- vbuz1_neq_vbuc1_then_la1 + //SEG430 [202] if((byte) gen_chargen_sprite::b#1!=(byte/signed byte/word/signed word/dword/signed dword) 3) goto gen_chargen_sprite::@4 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::c#3 gen_chargen_sprite::b#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::c#3 gen_chargen_sprite::b#1 ] ) -- vbuz1_neq_vbuc1_then_la1 lda b cmp #3 bne b4_from_b5 jmp b8 - //SEG434 gen_chargen_sprite::@8 + //SEG431 gen_chargen_sprite::@8 b8: - //SEG435 [204] (byte) gen_chargen_sprite::bits#1 ← (byte) gen_chargen_sprite::bits#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::x#6 gen_chargen_sprite::bits#1 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::x#6 gen_chargen_sprite::bits#1 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 ] ) -- vbuz1=vbuz1_rol_1 + //SEG432 [203] (byte) gen_chargen_sprite::bits#1 ← (byte) gen_chargen_sprite::bits#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::x#6 gen_chargen_sprite::bits#1 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::x#6 gen_chargen_sprite::bits#1 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 ] ) -- vbuz1=vbuz1_rol_1 asl bits - //SEG436 [205] (byte) gen_chargen_sprite::x#1 ← ++ (byte) gen_chargen_sprite::x#6 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#1 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::x#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#1 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::x#1 ] ) -- vbuz1=_inc_vbuz1 + //SEG433 [204] (byte) gen_chargen_sprite::x#1 ← ++ (byte) gen_chargen_sprite::x#6 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#1 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::x#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#1 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::x#1 ] ) -- vbuz1=_inc_vbuz1 inc x - //SEG437 [206] if((byte) gen_chargen_sprite::x#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto gen_chargen_sprite::@2 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#1 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::x#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#1 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::x#1 ] ) -- vbuz1_neq_vbuc1_then_la1 + //SEG434 [205] if((byte) gen_chargen_sprite::x#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto gen_chargen_sprite::@2 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#1 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::x#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#1 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::x#1 ] ) -- vbuz1_neq_vbuc1_then_la1 lda x cmp #8 bne b2_from_b8 jmp b9 - //SEG438 gen_chargen_sprite::@9 + //SEG435 gen_chargen_sprite::@9 b9: - //SEG439 [207] (byte*) gen_chargen_sprite::sprite#2 ← (byte*) gen_chargen_sprite::sprite#4 + (byte/signed byte/word/signed word/dword/signed dword) 6 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#2 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#2 ] ) -- pbuz1=pbuz1_plus_vbuc1 + //SEG436 [206] (byte*) gen_chargen_sprite::sprite#2 ← (byte*) gen_chargen_sprite::sprite#4 + (byte/signed byte/word/signed word/dword/signed dword) 6 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#2 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#2 ] ) -- pbuz1=pbuz1_plus_vbuc1 lda sprite clc adc #6 @@ -7482,125 +7457,125 @@ gen_chargen_sprite: { bcc !+ inc sprite+1 !: - //SEG440 [208] (byte) gen_chargen_sprite::y#1 ← ++ (byte) gen_chargen_sprite::y#2 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#1 gen_chargen_sprite::sprite#2 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#1 gen_chargen_sprite::sprite#2 ] ) -- vbuz1=_inc_vbuz1 + //SEG437 [207] (byte) gen_chargen_sprite::y#1 ← ++ (byte) gen_chargen_sprite::y#2 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#1 gen_chargen_sprite::sprite#2 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#1 gen_chargen_sprite::sprite#2 ] ) -- vbuz1=_inc_vbuz1 inc y - //SEG441 [209] if((byte) gen_chargen_sprite::y#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto gen_chargen_sprite::@1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#1 gen_chargen_sprite::sprite#2 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#1 gen_chargen_sprite::sprite#2 ] ) -- vbuz1_neq_vbuc1_then_la1 + //SEG438 [208] if((byte) gen_chargen_sprite::y#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto gen_chargen_sprite::@1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#1 gen_chargen_sprite::sprite#2 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#1 gen_chargen_sprite::sprite#2 ] ) -- vbuz1_neq_vbuc1_then_la1 lda y cmp #8 bne b1_from_b9 jmp b10 - //SEG442 gen_chargen_sprite::@10 + //SEG439 gen_chargen_sprite::@10 b10: - //SEG443 [210] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) 55 [ ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 ] ) -- _deref_pbuc1=vbuc2 + //SEG440 [209] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) 55 [ ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 ] ) -- _deref_pbuc1=vbuc2 lda #$37 sta PROCPORT - //SEG444 asm { cli } + //SEG441 asm { cli } cli jmp breturn - //SEG445 gen_chargen_sprite::@return + //SEG442 gen_chargen_sprite::@return breturn: - //SEG446 [212] return [ ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 ] ) + //SEG443 [211] return [ ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 ] ) rts } -//SEG447 place_sprites +//SEG444 place_sprites place_sprites: { .label sprites_ptr = SCREEN+$3f8 - .label spr_id = $2d - .label spr_x = $2f - .label col = $31 - .label j2 = $49 - .label j2_2 = $30 - .label j = $2e - .label j2_3 = $30 - //SEG448 [213] *((const byte*) SPRITES_ENABLE#0) ← (byte/signed byte/word/signed word/dword/signed dword) 127 [ ] ( main:2::init:5::place_sprites:51 [ ] ) -- _deref_pbuc1=vbuc2 + .label spr_id = $2b + .label spr_x = $2d + .label col = $2f + .label j2 = $47 + .label j2_2 = $2e + .label j = $2c + .label j2_3 = $2e + //SEG445 [212] *((const byte*) SPRITES_ENABLE#0) ← (byte/signed byte/word/signed word/dword/signed dword) 127 [ ] ( main:2::init:5::place_sprites:51 [ ] ) -- _deref_pbuc1=vbuc2 lda #$7f sta SPRITES_ENABLE - //SEG449 [214] *((const byte*) SPRITES_EXPAND_X#0) ← (byte/signed byte/word/signed word/dword/signed dword) 127 [ ] ( main:2::init:5::place_sprites:51 [ ] ) -- _deref_pbuc1=vbuc2 + //SEG446 [213] *((const byte*) SPRITES_EXPAND_X#0) ← (byte/signed byte/word/signed word/dword/signed dword) 127 [ ] ( main:2::init:5::place_sprites:51 [ ] ) -- _deref_pbuc1=vbuc2 lda #$7f sta SPRITES_EXPAND_X - //SEG450 [215] *((const byte*) SPRITES_EXPAND_Y#0) ← (byte/signed byte/word/signed word/dword/signed dword) 127 [ ] ( main:2::init:5::place_sprites:51 [ ] ) -- _deref_pbuc1=vbuc2 + //SEG447 [214] *((const byte*) SPRITES_EXPAND_Y#0) ← (byte/signed byte/word/signed word/dword/signed dword) 127 [ ] ( main:2::init:5::place_sprites:51 [ ] ) -- _deref_pbuc1=vbuc2 lda #$7f sta SPRITES_EXPAND_Y - //SEG451 [216] phi from place_sprites to place_sprites::@1 [phi:place_sprites->place_sprites::@1] + //SEG448 [215] phi from place_sprites to place_sprites::@1 [phi:place_sprites->place_sprites::@1] b1_from_place_sprites: - //SEG452 [216] phi (byte) place_sprites::col#2 = (byte/signed byte/word/signed word/dword/signed dword) 5 [phi:place_sprites->place_sprites::@1#0] -- vbuz1=vbuc1 + //SEG449 [215] phi (byte) place_sprites::col#2 = (byte/signed byte/word/signed word/dword/signed dword) 5 [phi:place_sprites->place_sprites::@1#0] -- vbuz1=vbuc1 lda #5 sta col - //SEG453 [216] phi (byte) place_sprites::j2#3 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:place_sprites->place_sprites::@1#1] -- vbuz1=vbuc1 + //SEG450 [215] phi (byte) place_sprites::j2#3 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:place_sprites->place_sprites::@1#1] -- vbuz1=vbuc1 lda #0 sta j2_3 - //SEG454 [216] phi (byte) place_sprites::spr_x#2 = (byte/signed byte/word/signed word/dword/signed dword) 60 [phi:place_sprites->place_sprites::@1#2] -- vbuz1=vbuc1 + //SEG451 [215] phi (byte) place_sprites::spr_x#2 = (byte/signed byte/word/signed word/dword/signed dword) 60 [phi:place_sprites->place_sprites::@1#2] -- vbuz1=vbuc1 lda #$3c sta spr_x - //SEG455 [216] phi (byte) place_sprites::j#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:place_sprites->place_sprites::@1#3] -- vbuz1=vbuc1 + //SEG452 [215] phi (byte) place_sprites::j#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:place_sprites->place_sprites::@1#3] -- vbuz1=vbuc1 lda #0 sta j - //SEG456 [216] phi (byte) place_sprites::spr_id#2 = ((byte))(const byte*) sprites#0/(byte/signed byte/word/signed word/dword/signed dword) 64 [phi:place_sprites->place_sprites::@1#4] -- vbuz1=vbuc1 + //SEG453 [215] phi (byte) place_sprites::spr_id#2 = ((byte))(const byte*) sprites#0/(byte/signed byte/word/signed word/dword/signed dword) 64 [phi:place_sprites->place_sprites::@1#4] -- vbuz1=vbuc1 lda #$ff&sprites/$40 sta spr_id jmp b1 - //SEG457 [216] phi from place_sprites::@1 to place_sprites::@1 [phi:place_sprites::@1->place_sprites::@1] + //SEG454 [215] phi from place_sprites::@1 to place_sprites::@1 [phi:place_sprites::@1->place_sprites::@1] b1_from_b1: - //SEG458 [216] phi (byte) place_sprites::col#2 = (byte) place_sprites::col#1 [phi:place_sprites::@1->place_sprites::@1#0] -- register_copy - //SEG459 [216] phi (byte) place_sprites::j2#3 = (byte) place_sprites::j2#2 [phi:place_sprites::@1->place_sprites::@1#1] -- register_copy - //SEG460 [216] phi (byte) place_sprites::spr_x#2 = (byte) place_sprites::spr_x#1 [phi:place_sprites::@1->place_sprites::@1#2] -- register_copy - //SEG461 [216] phi (byte) place_sprites::j#2 = (byte) place_sprites::j#1 [phi:place_sprites::@1->place_sprites::@1#3] -- register_copy - //SEG462 [216] phi (byte) place_sprites::spr_id#2 = (byte) place_sprites::spr_id#1 [phi:place_sprites::@1->place_sprites::@1#4] -- register_copy + //SEG455 [215] phi (byte) place_sprites::col#2 = (byte) place_sprites::col#1 [phi:place_sprites::@1->place_sprites::@1#0] -- register_copy + //SEG456 [215] phi (byte) place_sprites::j2#3 = (byte) place_sprites::j2#2 [phi:place_sprites::@1->place_sprites::@1#1] -- register_copy + //SEG457 [215] phi (byte) place_sprites::spr_x#2 = (byte) place_sprites::spr_x#1 [phi:place_sprites::@1->place_sprites::@1#2] -- register_copy + //SEG458 [215] phi (byte) place_sprites::j#2 = (byte) place_sprites::j#1 [phi:place_sprites::@1->place_sprites::@1#3] -- register_copy + //SEG459 [215] phi (byte) place_sprites::spr_id#2 = (byte) place_sprites::spr_id#1 [phi:place_sprites::@1->place_sprites::@1#4] -- register_copy jmp b1 - //SEG463 place_sprites::@1 + //SEG460 place_sprites::@1 b1: - //SEG464 [217] *((const byte*) place_sprites::sprites_ptr#0 + (byte) place_sprites::j#2) ← (byte) place_sprites::spr_id#2 [ place_sprites::spr_id#2 place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 ] ( main:2::init:5::place_sprites:51 [ place_sprites::spr_id#2 place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 ] ) -- pbuc1_derefidx_vbuz1=vbuz2 + //SEG461 [216] *((const byte*) place_sprites::sprites_ptr#0 + (byte) place_sprites::j#2) ← (byte) place_sprites::spr_id#2 [ place_sprites::spr_id#2 place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 ] ( main:2::init:5::place_sprites:51 [ place_sprites::spr_id#2 place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 ] ) -- pbuc1_derefidx_vbuz1=vbuz2 lda spr_id ldy j sta sprites_ptr,y - //SEG465 [218] (byte) place_sprites::spr_id#1 ← ++ (byte) place_sprites::spr_id#2 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ) -- vbuz1=_inc_vbuz1 + //SEG462 [217] (byte) place_sprites::spr_id#1 ← ++ (byte) place_sprites::spr_id#2 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ) -- vbuz1=_inc_vbuz1 inc spr_id - //SEG466 [219] *((const byte*) SPRITES_XPOS#0 + (byte) place_sprites::j2#3) ← (byte) place_sprites::spr_x#2 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ) -- pbuc1_derefidx_vbuz1=vbuz2 + //SEG463 [218] *((const byte*) SPRITES_XPOS#0 + (byte) place_sprites::j2#3) ← (byte) place_sprites::spr_x#2 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ) -- pbuc1_derefidx_vbuz1=vbuz2 lda spr_x ldy j2_3 sta SPRITES_XPOS,y - //SEG467 [220] *((const byte*) SPRITES_YPOS#0 + (byte) place_sprites::j2#3) ← (byte/signed byte/word/signed word/dword/signed dword) 80 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ) -- pbuc1_derefidx_vbuz1=vbuc2 + //SEG464 [219] *((const byte*) SPRITES_YPOS#0 + (byte) place_sprites::j2#3) ← (byte/signed byte/word/signed word/dword/signed dword) 80 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ) -- pbuc1_derefidx_vbuz1=vbuc2 ldy j2_3 lda #$50 sta SPRITES_YPOS,y - //SEG468 [221] *((const byte*) SPRITES_COLS#0 + (byte) place_sprites::j#2) ← (byte) place_sprites::col#2 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ) -- pbuc1_derefidx_vbuz1=vbuz2 + //SEG465 [220] *((const byte*) SPRITES_COLS#0 + (byte) place_sprites::j#2) ← (byte) place_sprites::col#2 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ) -- pbuc1_derefidx_vbuz1=vbuz2 lda col ldy j sta SPRITES_COLS,y - //SEG469 [222] (byte) place_sprites::spr_x#1 ← (byte) place_sprites::spr_x#2 + (byte/signed byte/word/signed word/dword/signed dword) 32 [ place_sprites::j#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 place_sprites::spr_x#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 place_sprites::spr_x#1 ] ) -- vbuz1=vbuz1_plus_vbuc1 + //SEG466 [221] (byte) place_sprites::spr_x#1 ← (byte) place_sprites::spr_x#2 + (byte/signed byte/word/signed word/dword/signed dword) 32 [ place_sprites::j#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 place_sprites::spr_x#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 place_sprites::spr_x#1 ] ) -- vbuz1=vbuz1_plus_vbuc1 lda #$20 clc adc spr_x sta spr_x - //SEG470 [223] (byte) place_sprites::col#1 ← (byte) place_sprites::col#2 ^ (byte/signed byte/word/signed word/dword/signed dword) 7^(byte/signed byte/word/signed word/dword/signed dword) 5 [ place_sprites::j#2 place_sprites::j2#3 place_sprites::spr_id#1 place_sprites::spr_x#1 place_sprites::col#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::j2#3 place_sprites::spr_id#1 place_sprites::spr_x#1 place_sprites::col#1 ] ) -- vbuz1=vbuz1_bxor_vbuc1 + //SEG467 [222] (byte) place_sprites::col#1 ← (byte) place_sprites::col#2 ^ (byte/signed byte/word/signed word/dword/signed dword) 7^(byte/signed byte/word/signed word/dword/signed dword) 5 [ place_sprites::j#2 place_sprites::j2#3 place_sprites::spr_id#1 place_sprites::spr_x#1 place_sprites::col#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::j2#3 place_sprites::spr_id#1 place_sprites::spr_x#1 place_sprites::col#1 ] ) -- vbuz1=vbuz1_bxor_vbuc1 lda col eor #7^5 sta col - //SEG471 [224] (byte) place_sprites::j2#1 ← ++ (byte) place_sprites::j2#3 [ place_sprites::j#2 place_sprites::spr_id#1 place_sprites::spr_x#1 place_sprites::col#1 place_sprites::j2#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_id#1 place_sprites::spr_x#1 place_sprites::col#1 place_sprites::j2#1 ] ) -- vbuz1=_inc_vbuz2 + //SEG468 [223] (byte) place_sprites::j2#1 ← ++ (byte) place_sprites::j2#3 [ place_sprites::j#2 place_sprites::spr_id#1 place_sprites::spr_x#1 place_sprites::col#1 place_sprites::j2#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_id#1 place_sprites::spr_x#1 place_sprites::col#1 place_sprites::j2#1 ] ) -- vbuz1=_inc_vbuz2 ldy j2_3 iny sty j2 - //SEG472 [225] (byte) place_sprites::j2#2 ← ++ (byte) place_sprites::j2#1 [ place_sprites::j#2 place_sprites::spr_id#1 place_sprites::spr_x#1 place_sprites::j2#2 place_sprites::col#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_id#1 place_sprites::spr_x#1 place_sprites::j2#2 place_sprites::col#1 ] ) -- vbuz1=_inc_vbuz2 + //SEG469 [224] (byte) place_sprites::j2#2 ← ++ (byte) place_sprites::j2#1 [ place_sprites::j#2 place_sprites::spr_id#1 place_sprites::spr_x#1 place_sprites::j2#2 place_sprites::col#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_id#1 place_sprites::spr_x#1 place_sprites::j2#2 place_sprites::col#1 ] ) -- vbuz1=_inc_vbuz2 ldy j2 iny sty j2_2 - //SEG473 [226] (byte) place_sprites::j#1 ← ++ (byte) place_sprites::j#2 [ place_sprites::spr_id#1 place_sprites::j#1 place_sprites::spr_x#1 place_sprites::j2#2 place_sprites::col#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::spr_id#1 place_sprites::j#1 place_sprites::spr_x#1 place_sprites::j2#2 place_sprites::col#1 ] ) -- vbuz1=_inc_vbuz1 + //SEG470 [225] (byte) place_sprites::j#1 ← ++ (byte) place_sprites::j#2 [ place_sprites::spr_id#1 place_sprites::j#1 place_sprites::spr_x#1 place_sprites::j2#2 place_sprites::col#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::spr_id#1 place_sprites::j#1 place_sprites::spr_x#1 place_sprites::j2#2 place_sprites::col#1 ] ) -- vbuz1=_inc_vbuz1 inc j - //SEG474 [227] if((byte) place_sprites::j#1!=(byte/signed byte/word/signed word/dword/signed dword) 7) goto place_sprites::@1 [ place_sprites::spr_id#1 place_sprites::j#1 place_sprites::spr_x#1 place_sprites::j2#2 place_sprites::col#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::spr_id#1 place_sprites::j#1 place_sprites::spr_x#1 place_sprites::j2#2 place_sprites::col#1 ] ) -- vbuz1_neq_vbuc1_then_la1 + //SEG471 [226] if((byte) place_sprites::j#1!=(byte/signed byte/word/signed word/dword/signed dword) 7) goto place_sprites::@1 [ place_sprites::spr_id#1 place_sprites::j#1 place_sprites::spr_x#1 place_sprites::j2#2 place_sprites::col#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::spr_id#1 place_sprites::j#1 place_sprites::spr_x#1 place_sprites::j2#2 place_sprites::col#1 ] ) -- vbuz1_neq_vbuc1_then_la1 lda j cmp #7 bne b1_from_b1 jmp breturn - //SEG475 place_sprites::@return + //SEG472 place_sprites::@return breturn: - //SEG476 [228] return [ ] ( main:2::init:5::place_sprites:51 [ ] ) + //SEG473 [227] return [ ] ( main:2::init:5::place_sprites:51 [ ] ) rts } sintab_x: .fill $dd, 0 sintab_y: .fill $c5, 0 REGISTER UPLIFT POTENTIAL REGISTERS -Equivalence Class zp ZP_BYTE:53 [ anim::$3 ] has ALU potential. +Equivalence Class zp ZP_BYTE:51 [ anim::$3 ] has ALU potential. Statement [7] if(*((const byte*) RASTER#0)!=(byte/word/signed word/dword/signed dword) 255) goto main::@2 [ sin_idx_x#13 sin_idx_y#13 ] ( main:2 [ sin_idx_x#13 sin_idx_y#13 ] ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp ZP_BYTE:2 [ sin_idx_x#13 sin_idx_x#11 sin_idx_x#3 ] Removing always clobbered register reg byte a as potential for zp ZP_BYTE:3 [ sin_idx_y#13 sin_idx_y#11 sin_idx_y#3 ] @@ -7643,60 +7618,59 @@ Removing always clobbered register reg byte y as potential for zp ZP_BYTE:17 [ g Statement [127] *((byte*) progress_cursor#11) ← *((const byte[]) progress_inc::progress_chars#0 + (byte) progress_idx#12) [ progress_idx#12 progress_cursor#11 ] ( main:2::init:5::gen_sintab:57::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#12 progress_cursor#11 ] main:2::init:5::gen_sintab:61::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#12 progress_cursor#11 ] ) always clobbers reg byte a reg byte y Removing always clobbered register reg byte y as potential for zp ZP_BYTE:18 [ progress_idx#34 progress_idx#12 progress_idx#10 ] Statement [130] (word) getFAC::return#0 ← *((const byte*) memHi#0) w= *((const byte*) memLo#0) [ getFAC::return#0 ] ( main:2::init:5::gen_sintab:57::getFAC:113 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 getFAC::return#0 ] main:2::init:5::gen_sintab:61::getFAC:113 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 getFAC::return#0 ] ) always clobbers reg byte a -Statement [133] (byte*) prepareMEM::mem#2 ← (byte*) addMEMtoFAC::mem#2 [ prepareMEM::mem#2 ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#2 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#2 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#2 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#2 ] ) always clobbers reg byte a Statement asm { lda$fe ldy$ff jsr$b867 } always clobbers reg byte a reg byte y -Statement [144] (byte*) prepareMEM::mem#4 ← (byte*) mulFACbyMEM::mem#2 [ prepareMEM::mem#4 ] ( main:2::init:5::gen_sintab:57::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#4 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#4 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#4 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#4 ] ) always clobbers reg byte a +Statement [143] (byte*) prepareMEM::mem#4 ← (byte*) mulFACbyMEM::mem#2 [ prepareMEM::mem#4 ] ( main:2::init:5::gen_sintab:57::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#4 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#4 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#4 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#4 ] ) always clobbers reg byte a Statement asm { lda$fe ldy$ff jsr$ba28 } always clobbers reg byte a reg byte y -Statement [151] (byte*) prepareMEM::mem#3 ← (byte*) divMEMbyFAC::mem#2 [ prepareMEM::mem#3 ] ( main:2::init:5::gen_sintab:57::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#3 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#3 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#3 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#3 ] ) always clobbers reg byte a +Statement [150] (byte*) prepareMEM::mem#3 ← (byte*) divMEMbyFAC::mem#2 [ prepareMEM::mem#3 ] ( main:2::init:5::gen_sintab:57::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#3 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#3 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#3 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#3 ] ) always clobbers reg byte a Statement asm { lda$fe ldy$ff jsr$bb0f } always clobbers reg byte a reg byte y -Statement [156] (byte*~) prepareMEM::mem#9 ← (byte*)(word) setFAC::w#5 [ prepareMEM::mem#9 ] ( main:2::init:5::gen_sintab:57::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#9 ] main:2::init:5::gen_sintab:61::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#9 ] main:2::init:5::gen_sintab:57::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#9 ] main:2::init:5::gen_sintab:61::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#9 ] main:2::init:5::gen_sintab:57::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#9 ] main:2::init:5::gen_sintab:61::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#9 ] main:2::init:5::gen_sintab:57::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#9 ] main:2::init:5::gen_sintab:61::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#9 ] main:2::init:5::gen_sintab:57::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#9 ] main:2::init:5::gen_sintab:61::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#9 ] ) always clobbers reg byte a +Statement [155] (byte*~) prepareMEM::mem#8 ← (byte*)(word) setFAC::w#5 [ prepareMEM::mem#8 ] ( main:2::init:5::gen_sintab:57::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#8 ] main:2::init:5::gen_sintab:61::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#8 ] main:2::init:5::gen_sintab:57::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#8 ] main:2::init:5::gen_sintab:61::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#8 ] main:2::init:5::gen_sintab:57::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#8 ] main:2::init:5::gen_sintab:61::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#8 ] main:2::init:5::gen_sintab:57::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#8 ] main:2::init:5::gen_sintab:61::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#8 ] main:2::init:5::gen_sintab:57::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#8 ] main:2::init:5::gen_sintab:61::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#8 ] ) always clobbers reg byte a Statement asm { ldy$fe lda$ff jsr$b391 } always clobbers reg byte a reg byte y -Statement [161] (byte*) prepareMEM::mem#1 ← (byte*) setMEMtoFAC::mem#5 [ prepareMEM::mem#1 ] ( main:2::init:5::gen_sintab:57::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#1 ] ) always clobbers reg byte a +Statement [160] (byte*) prepareMEM::mem#1 ← (byte*) setMEMtoFAC::mem#5 [ prepareMEM::mem#1 ] ( main:2::init:5::gen_sintab:57::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#1 ] ) always clobbers reg byte a Statement asm { ldx$fe ldy$ff jsr$bbd4 } always clobbers reg byte x reg byte y Removing always clobbered register reg byte x as potential for zp ZP_BYTE:17 [ gen_sintab::i#10 gen_sintab::i#1 ] Removing always clobbered register reg byte x as potential for zp ZP_BYTE:18 [ progress_idx#34 progress_idx#12 progress_idx#10 ] -Statement [174] (byte*) gen_chargen_sprite::sprite#0 ← (byte*) gen_sprites::spr#2 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::ch#0 gen_chargen_sprite::sprite#0 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::ch#0 gen_chargen_sprite::sprite#0 ] ) always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:33 [ gen_sprites::i#2 gen_sprites::i#1 ] -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:64 [ gen_chargen_sprite::ch#0 ] -Statement [176] (byte*) gen_sprites::spr#1 ← (byte*) gen_sprites::spr#2 + (byte/signed byte/word/signed word/dword/signed dword) 64 [ gen_sprites::i#2 gen_sprites::spr#1 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#2 gen_sprites::spr#1 ] ) always clobbers reg byte a -Statement [180] (word~) gen_chargen_sprite::$0 ← ((word)) (byte) gen_chargen_sprite::ch#0 [ gen_chargen_sprite::sprite#0 gen_chargen_sprite::$0 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::sprite#0 gen_chargen_sprite::$0 ] ) always clobbers reg byte a -Statement [181] (word~) gen_chargen_sprite::$1 ← (word~) gen_chargen_sprite::$0 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ gen_chargen_sprite::sprite#0 gen_chargen_sprite::$1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::sprite#0 gen_chargen_sprite::$1 ] ) always clobbers reg byte a -Statement [182] (byte*) gen_chargen_sprite::chargen#0 ← (const byte*) CHARGEN#0 + (word~) gen_chargen_sprite::$1 [ gen_chargen_sprite::sprite#0 gen_chargen_sprite::chargen#0 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::sprite#0 gen_chargen_sprite::chargen#0 ] ) always clobbers reg byte a -Statement [184] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) 50 [ gen_chargen_sprite::sprite#0 gen_chargen_sprite::chargen#0 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::sprite#0 gen_chargen_sprite::chargen#0 ] ) always clobbers reg byte a -Statement [186] (byte) gen_chargen_sprite::bits#0 ← *((byte*) gen_chargen_sprite::chargen#0 + (byte) gen_chargen_sprite::y#2) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#11 gen_chargen_sprite::bits#0 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#11 gen_chargen_sprite::bits#0 ] ) always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:36 [ gen_chargen_sprite::y#2 gen_chargen_sprite::y#1 ] -Statement [188] (byte~) gen_chargen_sprite::$3 ← (byte) gen_chargen_sprite::bits#2 & (byte/word/signed word/dword/signed dword) 128 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 gen_chargen_sprite::$3 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 gen_chargen_sprite::$3 ] ) always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:37 [ gen_chargen_sprite::bits#2 gen_chargen_sprite::bits#0 gen_chargen_sprite::bits#1 ] -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:40 [ gen_chargen_sprite::s_gen#3 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen#1 ] -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:41 [ gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::s_gen_cnt#1 ] -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:38 [ gen_chargen_sprite::x#6 gen_chargen_sprite::x#1 ] -Statement [193] (byte~) gen_chargen_sprite::$6 ← (byte) gen_chargen_sprite::s_gen#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::$6 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::$6 ] ) always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:39 [ gen_chargen_sprite::c#3 ] -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:42 [ gen_chargen_sprite::b#2 gen_chargen_sprite::b#1 ] -Statement [197] *((byte*) gen_chargen_sprite::sprite#3 + (byte/signed byte/word/signed word/dword/signed dword) 0) ← (byte) gen_chargen_sprite::s_gen#1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ) always clobbers reg byte a reg byte y -Removing always clobbered register reg byte y as potential for zp ZP_BYTE:33 [ gen_sprites::i#2 gen_sprites::i#1 ] -Removing always clobbered register reg byte y as potential for zp ZP_BYTE:36 [ gen_chargen_sprite::y#2 gen_chargen_sprite::y#1 ] -Removing always clobbered register reg byte y as potential for zp ZP_BYTE:37 [ gen_chargen_sprite::bits#2 gen_chargen_sprite::bits#0 gen_chargen_sprite::bits#1 ] -Removing always clobbered register reg byte y as potential for zp ZP_BYTE:38 [ gen_chargen_sprite::x#6 gen_chargen_sprite::x#1 ] -Removing always clobbered register reg byte y as potential for zp ZP_BYTE:39 [ gen_chargen_sprite::c#3 ] -Removing always clobbered register reg byte y as potential for zp ZP_BYTE:42 [ gen_chargen_sprite::b#2 gen_chargen_sprite::b#1 ] -Removing always clobbered register reg byte y as potential for zp ZP_BYTE:40 [ gen_chargen_sprite::s_gen#3 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen#1 ] -Statement [198] *((byte*) gen_chargen_sprite::sprite#3 + (byte/signed byte/word/signed word/dword/signed dword) 3) ← (byte) gen_chargen_sprite::s_gen#1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ) always clobbers reg byte a reg byte y -Statement [199] *((byte*) gen_chargen_sprite::sprite#3 + (byte/signed byte/word/signed word/dword/signed dword) 6) ← (byte) gen_chargen_sprite::s_gen#1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 ] ) always clobbers reg byte a reg byte y -Statement [207] (byte*) gen_chargen_sprite::sprite#2 ← (byte*) gen_chargen_sprite::sprite#4 + (byte/signed byte/word/signed word/dword/signed dword) 6 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#2 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#2 ] ) always clobbers reg byte a -Statement [210] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) 55 [ ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 ] ) always clobbers reg byte a -Statement [213] *((const byte*) SPRITES_ENABLE#0) ← (byte/signed byte/word/signed word/dword/signed dword) 127 [ ] ( main:2::init:5::place_sprites:51 [ ] ) always clobbers reg byte a -Statement [214] *((const byte*) SPRITES_EXPAND_X#0) ← (byte/signed byte/word/signed word/dword/signed dword) 127 [ ] ( main:2::init:5::place_sprites:51 [ ] ) always clobbers reg byte a -Statement [215] *((const byte*) SPRITES_EXPAND_Y#0) ← (byte/signed byte/word/signed word/dword/signed dword) 127 [ ] ( main:2::init:5::place_sprites:51 [ ] ) always clobbers reg byte a -Statement [220] *((const byte*) SPRITES_YPOS#0 + (byte) place_sprites::j2#3) ← (byte/signed byte/word/signed word/dword/signed dword) 80 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ) always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:46 [ place_sprites::j#2 place_sprites::j#1 ] -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:47 [ place_sprites::spr_x#2 place_sprites::spr_x#1 ] -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:48 [ place_sprites::j2#3 place_sprites::j2#2 ] -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:49 [ place_sprites::col#2 place_sprites::col#1 ] -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:45 [ place_sprites::spr_id#2 place_sprites::spr_id#1 ] -Statement [221] *((const byte*) SPRITES_COLS#0 + (byte) place_sprites::j#2) ← (byte) place_sprites::col#2 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ) always clobbers reg byte a -Statement [222] (byte) place_sprites::spr_x#1 ← (byte) place_sprites::spr_x#2 + (byte/signed byte/word/signed word/dword/signed dword) 32 [ place_sprites::j#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 place_sprites::spr_x#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 place_sprites::spr_x#1 ] ) always clobbers reg byte a -Statement [223] (byte) place_sprites::col#1 ← (byte) place_sprites::col#2 ^ (byte/signed byte/word/signed word/dword/signed dword) 7^(byte/signed byte/word/signed word/dword/signed dword) 5 [ place_sprites::j#2 place_sprites::j2#3 place_sprites::spr_id#1 place_sprites::spr_x#1 place_sprites::col#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::j2#3 place_sprites::spr_id#1 place_sprites::spr_x#1 place_sprites::col#1 ] ) always clobbers reg byte a +Statement [173] (byte*) gen_chargen_sprite::sprite#0 ← (byte*) gen_sprites::spr#2 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::ch#0 gen_chargen_sprite::sprite#0 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::ch#0 gen_chargen_sprite::sprite#0 ] ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:31 [ gen_sprites::i#2 gen_sprites::i#1 ] +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:62 [ gen_chargen_sprite::ch#0 ] +Statement [175] (byte*) gen_sprites::spr#1 ← (byte*) gen_sprites::spr#2 + (byte/signed byte/word/signed word/dword/signed dword) 64 [ gen_sprites::i#2 gen_sprites::spr#1 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#2 gen_sprites::spr#1 ] ) always clobbers reg byte a +Statement [179] (word~) gen_chargen_sprite::$0 ← ((word)) (byte) gen_chargen_sprite::ch#0 [ gen_chargen_sprite::sprite#0 gen_chargen_sprite::$0 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::sprite#0 gen_chargen_sprite::$0 ] ) always clobbers reg byte a +Statement [180] (word~) gen_chargen_sprite::$1 ← (word~) gen_chargen_sprite::$0 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ gen_chargen_sprite::sprite#0 gen_chargen_sprite::$1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::sprite#0 gen_chargen_sprite::$1 ] ) always clobbers reg byte a +Statement [181] (byte*) gen_chargen_sprite::chargen#0 ← (const byte*) CHARGEN#0 + (word~) gen_chargen_sprite::$1 [ gen_chargen_sprite::sprite#0 gen_chargen_sprite::chargen#0 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::sprite#0 gen_chargen_sprite::chargen#0 ] ) always clobbers reg byte a +Statement [183] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) 50 [ gen_chargen_sprite::sprite#0 gen_chargen_sprite::chargen#0 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::sprite#0 gen_chargen_sprite::chargen#0 ] ) always clobbers reg byte a +Statement [185] (byte) gen_chargen_sprite::bits#0 ← *((byte*) gen_chargen_sprite::chargen#0 + (byte) gen_chargen_sprite::y#2) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#11 gen_chargen_sprite::bits#0 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#11 gen_chargen_sprite::bits#0 ] ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:34 [ gen_chargen_sprite::y#2 gen_chargen_sprite::y#1 ] +Statement [187] (byte~) gen_chargen_sprite::$3 ← (byte) gen_chargen_sprite::bits#2 & (byte/word/signed word/dword/signed dword) 128 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 gen_chargen_sprite::$3 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 gen_chargen_sprite::$3 ] ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:35 [ gen_chargen_sprite::bits#2 gen_chargen_sprite::bits#0 gen_chargen_sprite::bits#1 ] +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:38 [ gen_chargen_sprite::s_gen#3 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen#1 ] +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:39 [ gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::s_gen_cnt#1 ] +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:36 [ gen_chargen_sprite::x#6 gen_chargen_sprite::x#1 ] +Statement [192] (byte~) gen_chargen_sprite::$6 ← (byte) gen_chargen_sprite::s_gen#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::$6 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::$6 ] ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:37 [ gen_chargen_sprite::c#3 ] +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:40 [ gen_chargen_sprite::b#2 gen_chargen_sprite::b#1 ] +Statement [196] *((byte*) gen_chargen_sprite::sprite#3 + (byte/signed byte/word/signed word/dword/signed dword) 0) ← (byte) gen_chargen_sprite::s_gen#1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ) always clobbers reg byte a reg byte y +Removing always clobbered register reg byte y as potential for zp ZP_BYTE:31 [ gen_sprites::i#2 gen_sprites::i#1 ] +Removing always clobbered register reg byte y as potential for zp ZP_BYTE:34 [ gen_chargen_sprite::y#2 gen_chargen_sprite::y#1 ] +Removing always clobbered register reg byte y as potential for zp ZP_BYTE:35 [ gen_chargen_sprite::bits#2 gen_chargen_sprite::bits#0 gen_chargen_sprite::bits#1 ] +Removing always clobbered register reg byte y as potential for zp ZP_BYTE:36 [ gen_chargen_sprite::x#6 gen_chargen_sprite::x#1 ] +Removing always clobbered register reg byte y as potential for zp ZP_BYTE:37 [ gen_chargen_sprite::c#3 ] +Removing always clobbered register reg byte y as potential for zp ZP_BYTE:40 [ gen_chargen_sprite::b#2 gen_chargen_sprite::b#1 ] +Removing always clobbered register reg byte y as potential for zp ZP_BYTE:38 [ gen_chargen_sprite::s_gen#3 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen#1 ] +Statement [197] *((byte*) gen_chargen_sprite::sprite#3 + (byte/signed byte/word/signed word/dword/signed dword) 3) ← (byte) gen_chargen_sprite::s_gen#1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ) always clobbers reg byte a reg byte y +Statement [198] *((byte*) gen_chargen_sprite::sprite#3 + (byte/signed byte/word/signed word/dword/signed dword) 6) ← (byte) gen_chargen_sprite::s_gen#1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 ] ) always clobbers reg byte a reg byte y +Statement [206] (byte*) gen_chargen_sprite::sprite#2 ← (byte*) gen_chargen_sprite::sprite#4 + (byte/signed byte/word/signed word/dword/signed dword) 6 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#2 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#2 ] ) always clobbers reg byte a +Statement [209] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) 55 [ ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 ] ) always clobbers reg byte a +Statement [212] *((const byte*) SPRITES_ENABLE#0) ← (byte/signed byte/word/signed word/dword/signed dword) 127 [ ] ( main:2::init:5::place_sprites:51 [ ] ) always clobbers reg byte a +Statement [213] *((const byte*) SPRITES_EXPAND_X#0) ← (byte/signed byte/word/signed word/dword/signed dword) 127 [ ] ( main:2::init:5::place_sprites:51 [ ] ) always clobbers reg byte a +Statement [214] *((const byte*) SPRITES_EXPAND_Y#0) ← (byte/signed byte/word/signed word/dword/signed dword) 127 [ ] ( main:2::init:5::place_sprites:51 [ ] ) always clobbers reg byte a +Statement [219] *((const byte*) SPRITES_YPOS#0 + (byte) place_sprites::j2#3) ← (byte/signed byte/word/signed word/dword/signed dword) 80 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:44 [ place_sprites::j#2 place_sprites::j#1 ] +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:45 [ place_sprites::spr_x#2 place_sprites::spr_x#1 ] +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:46 [ place_sprites::j2#3 place_sprites::j2#2 ] +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:47 [ place_sprites::col#2 place_sprites::col#1 ] +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:43 [ place_sprites::spr_id#2 place_sprites::spr_id#1 ] +Statement [220] *((const byte*) SPRITES_COLS#0 + (byte) place_sprites::j#2) ← (byte) place_sprites::col#2 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ) always clobbers reg byte a +Statement [221] (byte) place_sprites::spr_x#1 ← (byte) place_sprites::spr_x#2 + (byte/signed byte/word/signed word/dword/signed dword) 32 [ place_sprites::j#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 place_sprites::spr_x#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 place_sprites::spr_x#1 ] ) always clobbers reg byte a +Statement [222] (byte) place_sprites::col#1 ← (byte) place_sprites::col#2 ^ (byte/signed byte/word/signed word/dword/signed dword) 7^(byte/signed byte/word/signed word/dword/signed dword) 5 [ place_sprites::j#2 place_sprites::j2#3 place_sprites::spr_id#1 place_sprites::spr_x#1 place_sprites::col#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::j2#3 place_sprites::spr_id#1 place_sprites::spr_x#1 place_sprites::col#1 ] ) always clobbers reg byte a Statement [7] if(*((const byte*) RASTER#0)!=(byte/word/signed word/dword/signed dword) 255) goto main::@2 [ sin_idx_x#13 sin_idx_y#13 ] ( main:2 [ sin_idx_x#13 sin_idx_y#13 ] ) always clobbers reg byte a Statement [14] (word) anim::x#0 ← ((word))(byte/signed byte/word/signed word/dword/signed dword) 30 + *((const byte[221]) sintab_x#0 + (byte) anim::xidx#3) [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::x_msb#2 anim::j2#2 anim::yidx#3 anim::j#2 anim::x#0 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::x_msb#2 anim::j2#2 anim::yidx#3 anim::j#2 anim::x#0 ] ) always clobbers reg byte a Statement [15] (byte~) anim::$2 ← (byte) anim::x_msb#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#2 anim::yidx#3 anim::j#2 anim::x#0 anim::$2 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#2 anim::yidx#3 anim::j#2 anim::x#0 anim::$2 ] ) always clobbers reg byte a @@ -7724,39 +7698,38 @@ Statement [123] if((byte) progress_idx#10!=(byte/signed byte/word/signed word/dw Statement [124] *((byte*) progress_cursor#34) ← *((const byte[]) progress_inc::progress_chars#0+(byte/signed byte/word/signed word/dword/signed dword) 8) [ progress_cursor#34 ] ( main:2::init:5::gen_sintab:57::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_cursor#34 ] main:2::init:5::gen_sintab:61::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_cursor#34 ] ) always clobbers reg byte a reg byte y Statement [127] *((byte*) progress_cursor#11) ← *((const byte[]) progress_inc::progress_chars#0 + (byte) progress_idx#12) [ progress_idx#12 progress_cursor#11 ] ( main:2::init:5::gen_sintab:57::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#12 progress_cursor#11 ] main:2::init:5::gen_sintab:61::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#12 progress_cursor#11 ] ) always clobbers reg byte a reg byte y Statement [130] (word) getFAC::return#0 ← *((const byte*) memHi#0) w= *((const byte*) memLo#0) [ getFAC::return#0 ] ( main:2::init:5::gen_sintab:57::getFAC:113 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 getFAC::return#0 ] main:2::init:5::gen_sintab:61::getFAC:113 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 getFAC::return#0 ] ) always clobbers reg byte a -Statement [133] (byte*) prepareMEM::mem#2 ← (byte*) addMEMtoFAC::mem#2 [ prepareMEM::mem#2 ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#2 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#2 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#2 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#2 ] ) always clobbers reg byte a Statement asm { lda$fe ldy$ff jsr$b867 } always clobbers reg byte a reg byte y -Statement [144] (byte*) prepareMEM::mem#4 ← (byte*) mulFACbyMEM::mem#2 [ prepareMEM::mem#4 ] ( main:2::init:5::gen_sintab:57::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#4 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#4 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#4 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#4 ] ) always clobbers reg byte a +Statement [143] (byte*) prepareMEM::mem#4 ← (byte*) mulFACbyMEM::mem#2 [ prepareMEM::mem#4 ] ( main:2::init:5::gen_sintab:57::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#4 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#4 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#4 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#4 ] ) always clobbers reg byte a Statement asm { lda$fe ldy$ff jsr$ba28 } always clobbers reg byte a reg byte y -Statement [151] (byte*) prepareMEM::mem#3 ← (byte*) divMEMbyFAC::mem#2 [ prepareMEM::mem#3 ] ( main:2::init:5::gen_sintab:57::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#3 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#3 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#3 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#3 ] ) always clobbers reg byte a +Statement [150] (byte*) prepareMEM::mem#3 ← (byte*) divMEMbyFAC::mem#2 [ prepareMEM::mem#3 ] ( main:2::init:5::gen_sintab:57::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#3 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#3 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#3 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#3 ] ) always clobbers reg byte a Statement asm { lda$fe ldy$ff jsr$bb0f } always clobbers reg byte a reg byte y -Statement [156] (byte*~) prepareMEM::mem#9 ← (byte*)(word) setFAC::w#5 [ prepareMEM::mem#9 ] ( main:2::init:5::gen_sintab:57::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#9 ] main:2::init:5::gen_sintab:61::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#9 ] main:2::init:5::gen_sintab:57::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#9 ] main:2::init:5::gen_sintab:61::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#9 ] main:2::init:5::gen_sintab:57::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#9 ] main:2::init:5::gen_sintab:61::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#9 ] main:2::init:5::gen_sintab:57::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#9 ] main:2::init:5::gen_sintab:61::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#9 ] main:2::init:5::gen_sintab:57::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#9 ] main:2::init:5::gen_sintab:61::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#9 ] ) always clobbers reg byte a +Statement [155] (byte*~) prepareMEM::mem#8 ← (byte*)(word) setFAC::w#5 [ prepareMEM::mem#8 ] ( main:2::init:5::gen_sintab:57::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#8 ] main:2::init:5::gen_sintab:61::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#8 ] main:2::init:5::gen_sintab:57::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#8 ] main:2::init:5::gen_sintab:61::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#8 ] main:2::init:5::gen_sintab:57::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#8 ] main:2::init:5::gen_sintab:61::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#8 ] main:2::init:5::gen_sintab:57::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#8 ] main:2::init:5::gen_sintab:61::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#8 ] main:2::init:5::gen_sintab:57::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#8 ] main:2::init:5::gen_sintab:61::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#8 ] ) always clobbers reg byte a Statement asm { ldy$fe lda$ff jsr$b391 } always clobbers reg byte a reg byte y -Statement [161] (byte*) prepareMEM::mem#1 ← (byte*) setMEMtoFAC::mem#5 [ prepareMEM::mem#1 ] ( main:2::init:5::gen_sintab:57::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#1 ] ) always clobbers reg byte a +Statement [160] (byte*) prepareMEM::mem#1 ← (byte*) setMEMtoFAC::mem#5 [ prepareMEM::mem#1 ] ( main:2::init:5::gen_sintab:57::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#1 ] ) always clobbers reg byte a Statement asm { ldx$fe ldy$ff jsr$bbd4 } always clobbers reg byte x reg byte y -Statement [174] (byte*) gen_chargen_sprite::sprite#0 ← (byte*) gen_sprites::spr#2 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::ch#0 gen_chargen_sprite::sprite#0 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::ch#0 gen_chargen_sprite::sprite#0 ] ) always clobbers reg byte a -Statement [176] (byte*) gen_sprites::spr#1 ← (byte*) gen_sprites::spr#2 + (byte/signed byte/word/signed word/dword/signed dword) 64 [ gen_sprites::i#2 gen_sprites::spr#1 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#2 gen_sprites::spr#1 ] ) always clobbers reg byte a -Statement [180] (word~) gen_chargen_sprite::$0 ← ((word)) (byte) gen_chargen_sprite::ch#0 [ gen_chargen_sprite::sprite#0 gen_chargen_sprite::$0 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::sprite#0 gen_chargen_sprite::$0 ] ) always clobbers reg byte a -Statement [181] (word~) gen_chargen_sprite::$1 ← (word~) gen_chargen_sprite::$0 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ gen_chargen_sprite::sprite#0 gen_chargen_sprite::$1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::sprite#0 gen_chargen_sprite::$1 ] ) always clobbers reg byte a -Statement [182] (byte*) gen_chargen_sprite::chargen#0 ← (const byte*) CHARGEN#0 + (word~) gen_chargen_sprite::$1 [ gen_chargen_sprite::sprite#0 gen_chargen_sprite::chargen#0 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::sprite#0 gen_chargen_sprite::chargen#0 ] ) always clobbers reg byte a -Statement [184] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) 50 [ gen_chargen_sprite::sprite#0 gen_chargen_sprite::chargen#0 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::sprite#0 gen_chargen_sprite::chargen#0 ] ) always clobbers reg byte a -Statement [186] (byte) gen_chargen_sprite::bits#0 ← *((byte*) gen_chargen_sprite::chargen#0 + (byte) gen_chargen_sprite::y#2) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#11 gen_chargen_sprite::bits#0 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#11 gen_chargen_sprite::bits#0 ] ) always clobbers reg byte a reg byte y -Statement [188] (byte~) gen_chargen_sprite::$3 ← (byte) gen_chargen_sprite::bits#2 & (byte/word/signed word/dword/signed dword) 128 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 gen_chargen_sprite::$3 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 gen_chargen_sprite::$3 ] ) always clobbers reg byte a -Statement [193] (byte~) gen_chargen_sprite::$6 ← (byte) gen_chargen_sprite::s_gen#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::$6 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::$6 ] ) always clobbers reg byte a -Statement [197] *((byte*) gen_chargen_sprite::sprite#3 + (byte/signed byte/word/signed word/dword/signed dword) 0) ← (byte) gen_chargen_sprite::s_gen#1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ) always clobbers reg byte a reg byte y -Statement [198] *((byte*) gen_chargen_sprite::sprite#3 + (byte/signed byte/word/signed word/dword/signed dword) 3) ← (byte) gen_chargen_sprite::s_gen#1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ) always clobbers reg byte a reg byte y -Statement [199] *((byte*) gen_chargen_sprite::sprite#3 + (byte/signed byte/word/signed word/dword/signed dword) 6) ← (byte) gen_chargen_sprite::s_gen#1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 ] ) always clobbers reg byte a reg byte y -Statement [207] (byte*) gen_chargen_sprite::sprite#2 ← (byte*) gen_chargen_sprite::sprite#4 + (byte/signed byte/word/signed word/dword/signed dword) 6 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#2 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#2 ] ) always clobbers reg byte a -Statement [210] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) 55 [ ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 ] ) always clobbers reg byte a -Statement [213] *((const byte*) SPRITES_ENABLE#0) ← (byte/signed byte/word/signed word/dword/signed dword) 127 [ ] ( main:2::init:5::place_sprites:51 [ ] ) always clobbers reg byte a -Statement [214] *((const byte*) SPRITES_EXPAND_X#0) ← (byte/signed byte/word/signed word/dword/signed dword) 127 [ ] ( main:2::init:5::place_sprites:51 [ ] ) always clobbers reg byte a -Statement [215] *((const byte*) SPRITES_EXPAND_Y#0) ← (byte/signed byte/word/signed word/dword/signed dword) 127 [ ] ( main:2::init:5::place_sprites:51 [ ] ) always clobbers reg byte a -Statement [217] *((const byte*) place_sprites::sprites_ptr#0 + (byte) place_sprites::j#2) ← (byte) place_sprites::spr_id#2 [ place_sprites::spr_id#2 place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 ] ( main:2::init:5::place_sprites:51 [ place_sprites::spr_id#2 place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 ] ) always clobbers reg byte a -Statement [219] *((const byte*) SPRITES_XPOS#0 + (byte) place_sprites::j2#3) ← (byte) place_sprites::spr_x#2 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ) always clobbers reg byte a -Statement [220] *((const byte*) SPRITES_YPOS#0 + (byte) place_sprites::j2#3) ← (byte/signed byte/word/signed word/dword/signed dword) 80 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ) always clobbers reg byte a -Statement [221] *((const byte*) SPRITES_COLS#0 + (byte) place_sprites::j#2) ← (byte) place_sprites::col#2 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ) always clobbers reg byte a -Statement [222] (byte) place_sprites::spr_x#1 ← (byte) place_sprites::spr_x#2 + (byte/signed byte/word/signed word/dword/signed dword) 32 [ place_sprites::j#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 place_sprites::spr_x#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 place_sprites::spr_x#1 ] ) always clobbers reg byte a -Statement [223] (byte) place_sprites::col#1 ← (byte) place_sprites::col#2 ^ (byte/signed byte/word/signed word/dword/signed dword) 7^(byte/signed byte/word/signed word/dword/signed dword) 5 [ place_sprites::j#2 place_sprites::j2#3 place_sprites::spr_id#1 place_sprites::spr_x#1 place_sprites::col#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::j2#3 place_sprites::spr_id#1 place_sprites::spr_x#1 place_sprites::col#1 ] ) always clobbers reg byte a +Statement [173] (byte*) gen_chargen_sprite::sprite#0 ← (byte*) gen_sprites::spr#2 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::ch#0 gen_chargen_sprite::sprite#0 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::ch#0 gen_chargen_sprite::sprite#0 ] ) always clobbers reg byte a +Statement [175] (byte*) gen_sprites::spr#1 ← (byte*) gen_sprites::spr#2 + (byte/signed byte/word/signed word/dword/signed dword) 64 [ gen_sprites::i#2 gen_sprites::spr#1 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#2 gen_sprites::spr#1 ] ) always clobbers reg byte a +Statement [179] (word~) gen_chargen_sprite::$0 ← ((word)) (byte) gen_chargen_sprite::ch#0 [ gen_chargen_sprite::sprite#0 gen_chargen_sprite::$0 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::sprite#0 gen_chargen_sprite::$0 ] ) always clobbers reg byte a +Statement [180] (word~) gen_chargen_sprite::$1 ← (word~) gen_chargen_sprite::$0 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ gen_chargen_sprite::sprite#0 gen_chargen_sprite::$1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::sprite#0 gen_chargen_sprite::$1 ] ) always clobbers reg byte a +Statement [181] (byte*) gen_chargen_sprite::chargen#0 ← (const byte*) CHARGEN#0 + (word~) gen_chargen_sprite::$1 [ gen_chargen_sprite::sprite#0 gen_chargen_sprite::chargen#0 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::sprite#0 gen_chargen_sprite::chargen#0 ] ) always clobbers reg byte a +Statement [183] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) 50 [ gen_chargen_sprite::sprite#0 gen_chargen_sprite::chargen#0 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::sprite#0 gen_chargen_sprite::chargen#0 ] ) always clobbers reg byte a +Statement [185] (byte) gen_chargen_sprite::bits#0 ← *((byte*) gen_chargen_sprite::chargen#0 + (byte) gen_chargen_sprite::y#2) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#11 gen_chargen_sprite::bits#0 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#11 gen_chargen_sprite::bits#0 ] ) always clobbers reg byte a reg byte y +Statement [187] (byte~) gen_chargen_sprite::$3 ← (byte) gen_chargen_sprite::bits#2 & (byte/word/signed word/dword/signed dword) 128 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 gen_chargen_sprite::$3 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 gen_chargen_sprite::$3 ] ) always clobbers reg byte a +Statement [192] (byte~) gen_chargen_sprite::$6 ← (byte) gen_chargen_sprite::s_gen#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::$6 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::$6 ] ) always clobbers reg byte a +Statement [196] *((byte*) gen_chargen_sprite::sprite#3 + (byte/signed byte/word/signed word/dword/signed dword) 0) ← (byte) gen_chargen_sprite::s_gen#1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ) always clobbers reg byte a reg byte y +Statement [197] *((byte*) gen_chargen_sprite::sprite#3 + (byte/signed byte/word/signed word/dword/signed dword) 3) ← (byte) gen_chargen_sprite::s_gen#1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ) always clobbers reg byte a reg byte y +Statement [198] *((byte*) gen_chargen_sprite::sprite#3 + (byte/signed byte/word/signed word/dword/signed dword) 6) ← (byte) gen_chargen_sprite::s_gen#1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 ] ) always clobbers reg byte a reg byte y +Statement [206] (byte*) gen_chargen_sprite::sprite#2 ← (byte*) gen_chargen_sprite::sprite#4 + (byte/signed byte/word/signed word/dword/signed dword) 6 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#2 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#2 ] ) always clobbers reg byte a +Statement [209] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) 55 [ ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 ] ) always clobbers reg byte a +Statement [212] *((const byte*) SPRITES_ENABLE#0) ← (byte/signed byte/word/signed word/dword/signed dword) 127 [ ] ( main:2::init:5::place_sprites:51 [ ] ) always clobbers reg byte a +Statement [213] *((const byte*) SPRITES_EXPAND_X#0) ← (byte/signed byte/word/signed word/dword/signed dword) 127 [ ] ( main:2::init:5::place_sprites:51 [ ] ) always clobbers reg byte a +Statement [214] *((const byte*) SPRITES_EXPAND_Y#0) ← (byte/signed byte/word/signed word/dword/signed dword) 127 [ ] ( main:2::init:5::place_sprites:51 [ ] ) always clobbers reg byte a +Statement [216] *((const byte*) place_sprites::sprites_ptr#0 + (byte) place_sprites::j#2) ← (byte) place_sprites::spr_id#2 [ place_sprites::spr_id#2 place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 ] ( main:2::init:5::place_sprites:51 [ place_sprites::spr_id#2 place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 ] ) always clobbers reg byte a +Statement [218] *((const byte*) SPRITES_XPOS#0 + (byte) place_sprites::j2#3) ← (byte) place_sprites::spr_x#2 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ) always clobbers reg byte a +Statement [219] *((const byte*) SPRITES_YPOS#0 + (byte) place_sprites::j2#3) ← (byte/signed byte/word/signed word/dword/signed dword) 80 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ) always clobbers reg byte a +Statement [220] *((const byte*) SPRITES_COLS#0 + (byte) place_sprites::j#2) ← (byte) place_sprites::col#2 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ) always clobbers reg byte a +Statement [221] (byte) place_sprites::spr_x#1 ← (byte) place_sprites::spr_x#2 + (byte/signed byte/word/signed word/dword/signed dword) 32 [ place_sprites::j#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 place_sprites::spr_x#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 place_sprites::spr_x#1 ] ) always clobbers reg byte a +Statement [222] (byte) place_sprites::col#1 ← (byte) place_sprites::col#2 ^ (byte/signed byte/word/signed word/dword/signed dword) 7^(byte/signed byte/word/signed word/dword/signed dword) 5 [ place_sprites::j#2 place_sprites::j2#3 place_sprites::spr_id#1 place_sprites::spr_x#1 place_sprites::col#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::j2#3 place_sprites::spr_id#1 place_sprites::spr_x#1 place_sprites::col#1 ] ) always clobbers reg byte a Potential registers zp ZP_BYTE:2 [ sin_idx_x#13 sin_idx_x#11 sin_idx_x#3 ] : zp ZP_BYTE:2 , reg byte x , reg byte y , Potential registers zp ZP_BYTE:3 [ sin_idx_y#13 sin_idx_y#11 sin_idx_y#3 ] : zp ZP_BYTE:3 , reg byte x , reg byte y , Potential registers zp ZP_BYTE:4 [ anim::xidx#3 anim::xidx#0 anim::xidx#5 anim::xidx#1 anim::xidx#2 ] : zp ZP_BYTE:4 , reg byte x , reg byte y , @@ -7773,167 +7746,165 @@ Potential registers zp ZP_WORD:15 [ gen_sintab::sintab#12 ] : zp ZP_WORD:15 , Potential registers zp ZP_BYTE:17 [ gen_sintab::i#10 gen_sintab::i#1 ] : zp ZP_BYTE:17 , Potential registers zp ZP_BYTE:18 [ progress_idx#34 progress_idx#12 progress_idx#10 ] : zp ZP_BYTE:18 , Potential registers zp ZP_WORD:19 [ progress_cursor#34 progress_init::line#2 progress_cursor#11 progress_cursor#10 ] : zp ZP_WORD:19 , -Potential registers zp ZP_WORD:21 [ addMEMtoFAC::mem#2 ] : zp ZP_WORD:21 , -Potential registers zp ZP_WORD:23 [ prepareMEM::mem#5 prepareMEM::mem#2 prepareMEM::mem#3 prepareMEM::mem#4 prepareMEM::mem#9 prepareMEM::mem#1 ] : zp ZP_WORD:23 , -Potential registers zp ZP_WORD:25 [ mulFACbyMEM::mem#2 ] : zp ZP_WORD:25 , -Potential registers zp ZP_WORD:27 [ divMEMbyFAC::mem#2 ] : zp ZP_WORD:27 , -Potential registers zp ZP_WORD:29 [ setFAC::w#5 setFAC::w#0 setFAC::w#3 setFAC::w#4 setFAC::w#1 ] : zp ZP_WORD:29 , -Potential registers zp ZP_WORD:31 [ setMEMtoFAC::mem#5 ] : zp ZP_WORD:31 , -Potential registers zp ZP_BYTE:33 [ gen_sprites::i#2 gen_sprites::i#1 ] : zp ZP_BYTE:33 , reg byte x , -Potential registers zp ZP_WORD:34 [ gen_sprites::spr#2 gen_sprites::spr#1 ] : zp ZP_WORD:34 , -Potential registers zp ZP_BYTE:36 [ gen_chargen_sprite::y#2 gen_chargen_sprite::y#1 ] : zp ZP_BYTE:36 , reg byte x , -Potential registers zp ZP_BYTE:37 [ gen_chargen_sprite::bits#2 gen_chargen_sprite::bits#0 gen_chargen_sprite::bits#1 ] : zp ZP_BYTE:37 , reg byte x , -Potential registers zp ZP_BYTE:38 [ gen_chargen_sprite::x#6 gen_chargen_sprite::x#1 ] : zp ZP_BYTE:38 , reg byte x , -Potential registers zp ZP_BYTE:39 [ gen_chargen_sprite::c#3 ] : zp ZP_BYTE:39 , reg byte x , -Potential registers zp ZP_BYTE:40 [ gen_chargen_sprite::s_gen#3 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen#1 ] : zp ZP_BYTE:40 , reg byte x , -Potential registers zp ZP_BYTE:41 [ gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::s_gen_cnt#1 ] : zp ZP_BYTE:41 , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:42 [ gen_chargen_sprite::b#2 gen_chargen_sprite::b#1 ] : zp ZP_BYTE:42 , reg byte x , -Potential registers zp ZP_WORD:43 [ gen_chargen_sprite::sprite#3 gen_chargen_sprite::sprite#10 gen_chargen_sprite::sprite#11 gen_chargen_sprite::sprite#0 gen_chargen_sprite::sprite#2 gen_chargen_sprite::sprite#4 gen_chargen_sprite::sprite#1 ] : zp ZP_WORD:43 , -Potential registers zp ZP_BYTE:45 [ place_sprites::spr_id#2 place_sprites::spr_id#1 ] : zp ZP_BYTE:45 , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:46 [ place_sprites::j#2 place_sprites::j#1 ] : zp ZP_BYTE:46 , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:47 [ place_sprites::spr_x#2 place_sprites::spr_x#1 ] : zp ZP_BYTE:47 , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:48 [ place_sprites::j2#3 place_sprites::j2#2 ] : zp ZP_BYTE:48 , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:49 [ place_sprites::col#2 place_sprites::col#1 ] : zp ZP_BYTE:49 , reg byte x , reg byte y , -Potential registers zp ZP_WORD:50 [ anim::x#0 ] : zp ZP_WORD:50 , -Potential registers zp ZP_BYTE:52 [ anim::$2 ] : zp ZP_BYTE:52 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:53 [ anim::$3 ] : zp ZP_BYTE:53 , reg byte a , reg byte x , reg byte y , reg byte alu , -Potential registers zp ZP_BYTE:54 [ anim::$5 ] : zp ZP_BYTE:54 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_WORD:55 [ getFAC::return#2 ] : zp ZP_WORD:55 , -Potential registers zp ZP_WORD:57 [ gen_sintab::$23 ] : zp ZP_WORD:57 , -Potential registers zp ZP_BYTE:59 [ gen_sintab::$24 ] : zp ZP_BYTE:59 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_WORD:60 [ getFAC::return#0 ] : zp ZP_WORD:60 , -Potential registers zp ZP_BYTE:62 [ prepareMEM::$0 ] : zp ZP_BYTE:62 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:63 [ prepareMEM::$1 ] : zp ZP_BYTE:63 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:64 [ gen_chargen_sprite::ch#0 ] : zp ZP_BYTE:64 , reg byte x , reg byte y , -Potential registers zp ZP_WORD:65 [ gen_chargen_sprite::$0 ] : zp ZP_WORD:65 , -Potential registers zp ZP_WORD:67 [ gen_chargen_sprite::$1 ] : zp ZP_WORD:67 , -Potential registers zp ZP_WORD:69 [ gen_chargen_sprite::chargen#0 ] : zp ZP_WORD:69 , -Potential registers zp ZP_BYTE:71 [ gen_chargen_sprite::$3 ] : zp ZP_BYTE:71 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:72 [ gen_chargen_sprite::$6 ] : zp ZP_BYTE:72 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:73 [ place_sprites::j2#1 ] : zp ZP_BYTE:73 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_WORD:21 [ prepareMEM::mem#5 prepareMEM::mem#3 prepareMEM::mem#4 prepareMEM::mem#8 prepareMEM::mem#1 ] : zp ZP_WORD:21 , +Potential registers zp ZP_WORD:23 [ mulFACbyMEM::mem#2 ] : zp ZP_WORD:23 , +Potential registers zp ZP_WORD:25 [ divMEMbyFAC::mem#2 ] : zp ZP_WORD:25 , +Potential registers zp ZP_WORD:27 [ setFAC::w#5 setFAC::w#0 setFAC::w#3 setFAC::w#4 setFAC::w#1 ] : zp ZP_WORD:27 , +Potential registers zp ZP_WORD:29 [ setMEMtoFAC::mem#5 ] : zp ZP_WORD:29 , +Potential registers zp ZP_BYTE:31 [ gen_sprites::i#2 gen_sprites::i#1 ] : zp ZP_BYTE:31 , reg byte x , +Potential registers zp ZP_WORD:32 [ gen_sprites::spr#2 gen_sprites::spr#1 ] : zp ZP_WORD:32 , +Potential registers zp ZP_BYTE:34 [ gen_chargen_sprite::y#2 gen_chargen_sprite::y#1 ] : zp ZP_BYTE:34 , reg byte x , +Potential registers zp ZP_BYTE:35 [ gen_chargen_sprite::bits#2 gen_chargen_sprite::bits#0 gen_chargen_sprite::bits#1 ] : zp ZP_BYTE:35 , reg byte x , +Potential registers zp ZP_BYTE:36 [ gen_chargen_sprite::x#6 gen_chargen_sprite::x#1 ] : zp ZP_BYTE:36 , reg byte x , +Potential registers zp ZP_BYTE:37 [ gen_chargen_sprite::c#3 ] : zp ZP_BYTE:37 , reg byte x , +Potential registers zp ZP_BYTE:38 [ gen_chargen_sprite::s_gen#3 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen#1 ] : zp ZP_BYTE:38 , reg byte x , +Potential registers zp ZP_BYTE:39 [ gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::s_gen_cnt#1 ] : zp ZP_BYTE:39 , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:40 [ gen_chargen_sprite::b#2 gen_chargen_sprite::b#1 ] : zp ZP_BYTE:40 , reg byte x , +Potential registers zp ZP_WORD:41 [ gen_chargen_sprite::sprite#3 gen_chargen_sprite::sprite#10 gen_chargen_sprite::sprite#11 gen_chargen_sprite::sprite#0 gen_chargen_sprite::sprite#2 gen_chargen_sprite::sprite#4 gen_chargen_sprite::sprite#1 ] : zp ZP_WORD:41 , +Potential registers zp ZP_BYTE:43 [ place_sprites::spr_id#2 place_sprites::spr_id#1 ] : zp ZP_BYTE:43 , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:44 [ place_sprites::j#2 place_sprites::j#1 ] : zp ZP_BYTE:44 , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:45 [ place_sprites::spr_x#2 place_sprites::spr_x#1 ] : zp ZP_BYTE:45 , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:46 [ place_sprites::j2#3 place_sprites::j2#2 ] : zp ZP_BYTE:46 , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:47 [ place_sprites::col#2 place_sprites::col#1 ] : zp ZP_BYTE:47 , reg byte x , reg byte y , +Potential registers zp ZP_WORD:48 [ anim::x#0 ] : zp ZP_WORD:48 , +Potential registers zp ZP_BYTE:50 [ anim::$2 ] : zp ZP_BYTE:50 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:51 [ anim::$3 ] : zp ZP_BYTE:51 , reg byte a , reg byte x , reg byte y , reg byte alu , +Potential registers zp ZP_BYTE:52 [ anim::$5 ] : zp ZP_BYTE:52 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_WORD:53 [ getFAC::return#2 ] : zp ZP_WORD:53 , +Potential registers zp ZP_WORD:55 [ gen_sintab::$23 ] : zp ZP_WORD:55 , +Potential registers zp ZP_BYTE:57 [ gen_sintab::$24 ] : zp ZP_BYTE:57 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_WORD:58 [ getFAC::return#0 ] : zp ZP_WORD:58 , +Potential registers zp ZP_BYTE:60 [ prepareMEM::$0 ] : zp ZP_BYTE:60 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:61 [ prepareMEM::$1 ] : zp ZP_BYTE:61 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:62 [ gen_chargen_sprite::ch#0 ] : zp ZP_BYTE:62 , reg byte x , reg byte y , +Potential registers zp ZP_WORD:63 [ gen_chargen_sprite::$0 ] : zp ZP_WORD:63 , +Potential registers zp ZP_WORD:65 [ gen_chargen_sprite::$1 ] : zp ZP_WORD:65 , +Potential registers zp ZP_WORD:67 [ gen_chargen_sprite::chargen#0 ] : zp ZP_WORD:67 , +Potential registers zp ZP_BYTE:69 [ gen_chargen_sprite::$3 ] : zp ZP_BYTE:69 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:70 [ gen_chargen_sprite::$6 ] : zp ZP_BYTE:70 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:71 [ place_sprites::j2#1 ] : zp ZP_BYTE:71 , reg byte a , reg byte x , reg byte y , REGISTER UPLIFT SCOPES -Uplift Scope [gen_chargen_sprite] 34,904.9: zp ZP_BYTE:40 [ gen_chargen_sprite::s_gen#3 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen#1 ] 33,404.14: zp ZP_WORD:43 [ gen_chargen_sprite::sprite#3 gen_chargen_sprite::sprite#10 gen_chargen_sprite::sprite#11 gen_chargen_sprite::sprite#0 gen_chargen_sprite::sprite#2 gen_chargen_sprite::sprite#4 gen_chargen_sprite::sprite#1 ] 25,903.4: zp ZP_BYTE:41 [ gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::s_gen_cnt#1 ] 20,002: zp ZP_BYTE:72 [ gen_chargen_sprite::$6 ] 17,001.7: zp ZP_BYTE:42 [ gen_chargen_sprite::b#2 gen_chargen_sprite::b#1 ] 2,002: zp ZP_BYTE:71 [ gen_chargen_sprite::$3 ] 1,612.72: zp ZP_BYTE:38 [ gen_chargen_sprite::x#6 gen_chargen_sprite::x#1 ] 1,051.92: zp ZP_BYTE:37 [ gen_chargen_sprite::bits#2 gen_chargen_sprite::bits#0 gen_chargen_sprite::bits#1 ] 769.31: zp ZP_BYTE:39 [ gen_chargen_sprite::c#3 ] 164.67: zp ZP_BYTE:36 [ gen_chargen_sprite::y#2 gen_chargen_sprite::y#1 ] 6.5: zp ZP_BYTE:64 [ gen_chargen_sprite::ch#0 ] 4: zp ZP_WORD:65 [ gen_chargen_sprite::$0 ] 4: zp ZP_WORD:67 [ gen_chargen_sprite::$1 ] 3.68: zp ZP_WORD:69 [ gen_chargen_sprite::chargen#0 ] -Uplift Scope [anim] 509.17: zp ZP_BYTE:7 [ anim::yidx#3 anim::yidx#0 anim::yidx#6 anim::yidx#1 anim::yidx#2 ] 482: zp ZP_BYTE:4 [ anim::xidx#3 anim::xidx#0 anim::xidx#5 anim::xidx#1 anim::xidx#2 ] 202: zp ZP_BYTE:53 [ anim::$3 ] 202: zp ZP_BYTE:54 [ anim::$5 ] 163.38: zp ZP_BYTE:8 [ anim::j#2 anim::j#1 ] 114.6: zp ZP_BYTE:5 [ anim::x_msb#2 anim::x_msb#1 ] 101: zp ZP_BYTE:52 [ anim::$2 ] 92.58: zp ZP_BYTE:6 [ anim::j2#2 anim::j2#1 ] 75.75: zp ZP_WORD:50 [ anim::x#0 ] -Uplift Scope [place_sprites] 22: zp ZP_BYTE:73 [ place_sprites::j2#1 ] 20.9: zp ZP_BYTE:46 [ place_sprites::j#2 place_sprites::j#1 ] 18.7: zp ZP_BYTE:45 [ place_sprites::spr_id#2 place_sprites::spr_id#1 ] 12.83: zp ZP_BYTE:48 [ place_sprites::j2#3 place_sprites::j2#2 ] 9.17: zp ZP_BYTE:47 [ place_sprites::spr_x#2 place_sprites::spr_x#1 ] 9.11: zp ZP_BYTE:49 [ place_sprites::col#2 place_sprites::col#1 ] -Uplift Scope [setFAC] 78: zp ZP_WORD:29 [ setFAC::w#5 setFAC::w#0 setFAC::w#3 setFAC::w#4 setFAC::w#1 ] -Uplift Scope [gen_sintab] 22: zp ZP_WORD:57 [ gen_sintab::$23 ] 22: zp ZP_BYTE:59 [ gen_sintab::$24 ] 18.33: zp ZP_BYTE:17 [ gen_sintab::i#10 gen_sintab::i#1 ] 2: zp ZP_BYTE:12 [ gen_sintab::max#2 ] 0.44: zp ZP_BYTE:14 [ gen_sintab::length#10 ] 0.33: zp ZP_BYTE:13 [ gen_sintab::min#2 ] 0.22: zp ZP_WORD:15 [ gen_sintab::sintab#12 ] -Uplift Scope [gen_sprites] 23.1: zp ZP_BYTE:33 [ gen_sprites::i#2 gen_sprites::i#1 ] 15.58: zp ZP_WORD:34 [ gen_sprites::spr#2 gen_sprites::spr#1 ] +Uplift Scope [gen_chargen_sprite] 34,904.9: zp ZP_BYTE:38 [ gen_chargen_sprite::s_gen#3 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen#1 ] 33,404.14: zp ZP_WORD:41 [ gen_chargen_sprite::sprite#3 gen_chargen_sprite::sprite#10 gen_chargen_sprite::sprite#11 gen_chargen_sprite::sprite#0 gen_chargen_sprite::sprite#2 gen_chargen_sprite::sprite#4 gen_chargen_sprite::sprite#1 ] 25,903.4: zp ZP_BYTE:39 [ gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::s_gen_cnt#1 ] 20,002: zp ZP_BYTE:70 [ gen_chargen_sprite::$6 ] 17,001.7: zp ZP_BYTE:40 [ gen_chargen_sprite::b#2 gen_chargen_sprite::b#1 ] 2,002: zp ZP_BYTE:69 [ gen_chargen_sprite::$3 ] 1,612.72: zp ZP_BYTE:36 [ gen_chargen_sprite::x#6 gen_chargen_sprite::x#1 ] 1,051.92: zp ZP_BYTE:35 [ gen_chargen_sprite::bits#2 gen_chargen_sprite::bits#0 gen_chargen_sprite::bits#1 ] 769.31: zp ZP_BYTE:37 [ gen_chargen_sprite::c#3 ] 164.67: zp ZP_BYTE:34 [ gen_chargen_sprite::y#2 gen_chargen_sprite::y#1 ] 6.5: zp ZP_BYTE:62 [ gen_chargen_sprite::ch#0 ] 4: zp ZP_WORD:63 [ gen_chargen_sprite::$0 ] 4: zp ZP_WORD:65 [ gen_chargen_sprite::$1 ] 3.68: zp ZP_WORD:67 [ gen_chargen_sprite::chargen#0 ] +Uplift Scope [anim] 509.17: zp ZP_BYTE:7 [ anim::yidx#3 anim::yidx#0 anim::yidx#6 anim::yidx#1 anim::yidx#2 ] 482: zp ZP_BYTE:4 [ anim::xidx#3 anim::xidx#0 anim::xidx#5 anim::xidx#1 anim::xidx#2 ] 202: zp ZP_BYTE:51 [ anim::$3 ] 202: zp ZP_BYTE:52 [ anim::$5 ] 163.38: zp ZP_BYTE:8 [ anim::j#2 anim::j#1 ] 114.6: zp ZP_BYTE:5 [ anim::x_msb#2 anim::x_msb#1 ] 101: zp ZP_BYTE:50 [ anim::$2 ] 92.58: zp ZP_BYTE:6 [ anim::j2#2 anim::j2#1 ] 75.75: zp ZP_WORD:48 [ anim::x#0 ] +Uplift Scope [place_sprites] 22: zp ZP_BYTE:71 [ place_sprites::j2#1 ] 20.9: zp ZP_BYTE:44 [ place_sprites::j#2 place_sprites::j#1 ] 18.7: zp ZP_BYTE:43 [ place_sprites::spr_id#2 place_sprites::spr_id#1 ] 12.83: zp ZP_BYTE:46 [ place_sprites::j2#3 place_sprites::j2#2 ] 9.17: zp ZP_BYTE:45 [ place_sprites::spr_x#2 place_sprites::spr_x#1 ] 9.11: zp ZP_BYTE:47 [ place_sprites::col#2 place_sprites::col#1 ] +Uplift Scope [setFAC] 78: zp ZP_WORD:27 [ setFAC::w#5 setFAC::w#0 setFAC::w#3 setFAC::w#4 setFAC::w#1 ] +Uplift Scope [gen_sintab] 22: zp ZP_WORD:55 [ gen_sintab::$23 ] 22: zp ZP_BYTE:57 [ gen_sintab::$24 ] 18.33: zp ZP_BYTE:17 [ gen_sintab::i#10 gen_sintab::i#1 ] 2: zp ZP_BYTE:12 [ gen_sintab::max#2 ] 0.44: zp ZP_BYTE:14 [ gen_sintab::length#10 ] 0.33: zp ZP_BYTE:13 [ gen_sintab::min#2 ] 0.22: zp ZP_WORD:15 [ gen_sintab::sintab#12 ] +Uplift Scope [gen_sprites] 23.1: zp ZP_BYTE:31 [ gen_sprites::i#2 gen_sprites::i#1 ] 15.58: zp ZP_WORD:32 [ gen_sprites::spr#2 gen_sprites::spr#1 ] Uplift Scope [clear_screen] 33: zp ZP_WORD:10 [ clear_screen::sc#2 clear_screen::sc#1 ] -Uplift Scope [prepareMEM] 24.67: zp ZP_WORD:23 [ prepareMEM::mem#5 prepareMEM::mem#2 prepareMEM::mem#3 prepareMEM::mem#4 prepareMEM::mem#9 prepareMEM::mem#1 ] 4: zp ZP_BYTE:62 [ prepareMEM::$0 ] 4: zp ZP_BYTE:63 [ prepareMEM::$1 ] Uplift Scope [init] 31.17: zp ZP_BYTE:9 [ init::i#2 init::i#1 ] -Uplift Scope [getFAC] 22: zp ZP_WORD:55 [ getFAC::return#2 ] 4.33: zp ZP_WORD:60 [ getFAC::return#0 ] +Uplift Scope [prepareMEM] 20: zp ZP_WORD:21 [ prepareMEM::mem#5 prepareMEM::mem#3 prepareMEM::mem#4 prepareMEM::mem#8 prepareMEM::mem#1 ] 4: zp ZP_BYTE:60 [ prepareMEM::$0 ] 4: zp ZP_BYTE:61 [ prepareMEM::$1 ] +Uplift Scope [getFAC] 22: zp ZP_WORD:53 [ getFAC::return#2 ] 4.33: zp ZP_WORD:58 [ getFAC::return#0 ] Uplift Scope [] 7.63: zp ZP_WORD:19 [ progress_cursor#34 progress_init::line#2 progress_cursor#11 progress_cursor#10 ] 6.07: zp ZP_BYTE:18 [ progress_idx#34 progress_idx#12 progress_idx#10 ] 5.75: zp ZP_BYTE:3 [ sin_idx_y#13 sin_idx_y#11 sin_idx_y#3 ] 4.2: zp ZP_BYTE:2 [ sin_idx_x#13 sin_idx_x#11 sin_idx_x#3 ] -Uplift Scope [setMEMtoFAC] 2: zp ZP_WORD:31 [ setMEMtoFAC::mem#5 ] -Uplift Scope [addMEMtoFAC] 2: zp ZP_WORD:21 [ addMEMtoFAC::mem#2 ] -Uplift Scope [divMEMbyFAC] 2: zp ZP_WORD:27 [ divMEMbyFAC::mem#2 ] -Uplift Scope [mulFACbyMEM] 2: zp ZP_WORD:25 [ mulFACbyMEM::mem#2 ] +Uplift Scope [setMEMtoFAC] 2: zp ZP_WORD:29 [ setMEMtoFAC::mem#5 ] +Uplift Scope [divMEMbyFAC] 2: zp ZP_WORD:25 [ divMEMbyFAC::mem#2 ] +Uplift Scope [mulFACbyMEM] 2: zp ZP_WORD:23 [ mulFACbyMEM::mem#2 ] Uplift Scope [setARGtoFAC] +Uplift Scope [addMEMtoFAC] Uplift Scope [subFACfromARG] Uplift Scope [sinFAC] Uplift Scope [main] Uplift Scope [progress_init] Uplift Scope [progress_inc] -Uplifting [gen_chargen_sprite] best 1065134 combination zp ZP_BYTE:40 [ gen_chargen_sprite::s_gen#3 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen#1 ] zp ZP_WORD:43 [ gen_chargen_sprite::sprite#3 gen_chargen_sprite::sprite#10 gen_chargen_sprite::sprite#11 gen_chargen_sprite::sprite#0 gen_chargen_sprite::sprite#2 gen_chargen_sprite::sprite#4 gen_chargen_sprite::sprite#1 ] reg byte y [ gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::s_gen_cnt#1 ] reg byte a [ gen_chargen_sprite::$6 ] reg byte x [ gen_chargen_sprite::b#2 gen_chargen_sprite::b#1 ] reg byte a [ gen_chargen_sprite::$3 ] zp ZP_BYTE:38 [ gen_chargen_sprite::x#6 gen_chargen_sprite::x#1 ] zp ZP_BYTE:37 [ gen_chargen_sprite::bits#2 gen_chargen_sprite::bits#0 gen_chargen_sprite::bits#1 ] zp ZP_BYTE:39 [ gen_chargen_sprite::c#3 ] zp ZP_BYTE:36 [ gen_chargen_sprite::y#2 gen_chargen_sprite::y#1 ] zp ZP_BYTE:64 [ gen_chargen_sprite::ch#0 ] zp ZP_WORD:65 [ gen_chargen_sprite::$0 ] zp ZP_WORD:67 [ gen_chargen_sprite::$1 ] zp ZP_WORD:69 [ gen_chargen_sprite::chargen#0 ] +Uplifting [gen_chargen_sprite] best 1065112 combination zp ZP_BYTE:38 [ gen_chargen_sprite::s_gen#3 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen#1 ] zp ZP_WORD:41 [ gen_chargen_sprite::sprite#3 gen_chargen_sprite::sprite#10 gen_chargen_sprite::sprite#11 gen_chargen_sprite::sprite#0 gen_chargen_sprite::sprite#2 gen_chargen_sprite::sprite#4 gen_chargen_sprite::sprite#1 ] reg byte y [ gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::s_gen_cnt#1 ] reg byte a [ gen_chargen_sprite::$6 ] reg byte x [ gen_chargen_sprite::b#2 gen_chargen_sprite::b#1 ] reg byte a [ gen_chargen_sprite::$3 ] zp ZP_BYTE:36 [ gen_chargen_sprite::x#6 gen_chargen_sprite::x#1 ] zp ZP_BYTE:35 [ gen_chargen_sprite::bits#2 gen_chargen_sprite::bits#0 gen_chargen_sprite::bits#1 ] zp ZP_BYTE:37 [ gen_chargen_sprite::c#3 ] zp ZP_BYTE:34 [ gen_chargen_sprite::y#2 gen_chargen_sprite::y#1 ] zp ZP_BYTE:62 [ gen_chargen_sprite::ch#0 ] zp ZP_WORD:63 [ gen_chargen_sprite::$0 ] zp ZP_WORD:65 [ gen_chargen_sprite::$1 ] zp ZP_WORD:67 [ gen_chargen_sprite::chargen#0 ] Limited combination testing to 100 combinations of 9216 possible. -Uplifting [anim] best 1062931 combination reg byte x [ anim::yidx#3 anim::yidx#0 anim::yidx#6 anim::yidx#1 anim::yidx#2 ] zp ZP_BYTE:4 [ anim::xidx#3 anim::xidx#0 anim::xidx#5 anim::xidx#1 anim::xidx#2 ] reg byte a [ anim::$3 ] reg byte a [ anim::$5 ] zp ZP_BYTE:8 [ anim::j#2 anim::j#1 ] zp ZP_BYTE:5 [ anim::x_msb#2 anim::x_msb#1 ] zp ZP_BYTE:52 [ anim::$2 ] zp ZP_BYTE:6 [ anim::j2#2 anim::j2#1 ] zp ZP_WORD:50 [ anim::x#0 ] +Uplifting [anim] best 1062909 combination reg byte x [ anim::yidx#3 anim::yidx#0 anim::yidx#6 anim::yidx#1 anim::yidx#2 ] zp ZP_BYTE:4 [ anim::xidx#3 anim::xidx#0 anim::xidx#5 anim::xidx#1 anim::xidx#2 ] reg byte a [ anim::$3 ] reg byte a [ anim::$5 ] zp ZP_BYTE:8 [ anim::j#2 anim::j#1 ] zp ZP_BYTE:5 [ anim::x_msb#2 anim::x_msb#1 ] zp ZP_BYTE:50 [ anim::$2 ] zp ZP_BYTE:6 [ anim::j2#2 anim::j2#1 ] zp ZP_WORD:48 [ anim::x#0 ] Limited combination testing to 100 combinations of 19440 possible. -Uplifting [place_sprites] best 1062571 combination reg byte x [ place_sprites::j2#1 ] reg byte y [ place_sprites::j#2 place_sprites::j#1 ] zp ZP_BYTE:45 [ place_sprites::spr_id#2 place_sprites::spr_id#1 ] reg byte x [ place_sprites::j2#3 place_sprites::j2#2 ] zp ZP_BYTE:47 [ place_sprites::spr_x#2 place_sprites::spr_x#1 ] zp ZP_BYTE:49 [ place_sprites::col#2 place_sprites::col#1 ] +Uplifting [place_sprites] best 1062549 combination reg byte x [ place_sprites::j2#1 ] reg byte y [ place_sprites::j#2 place_sprites::j#1 ] zp ZP_BYTE:43 [ place_sprites::spr_id#2 place_sprites::spr_id#1 ] reg byte x [ place_sprites::j2#3 place_sprites::j2#2 ] zp ZP_BYTE:45 [ place_sprites::spr_x#2 place_sprites::spr_x#1 ] zp ZP_BYTE:47 [ place_sprites::col#2 place_sprites::col#1 ] Limited combination testing to 100 combinations of 972 possible. -Uplifting [setFAC] best 1062571 combination zp ZP_WORD:29 [ setFAC::w#5 setFAC::w#0 setFAC::w#3 setFAC::w#4 setFAC::w#1 ] -Uplifting [gen_sintab] best 1062504 combination zp ZP_WORD:57 [ gen_sintab::$23 ] reg byte a [ gen_sintab::$24 ] zp ZP_BYTE:17 [ gen_sintab::i#10 gen_sintab::i#1 ] reg byte x [ gen_sintab::max#2 ] zp ZP_BYTE:14 [ gen_sintab::length#10 ] zp ZP_BYTE:13 [ gen_sintab::min#2 ] zp ZP_WORD:15 [ gen_sintab::sintab#12 ] -Uplifting [gen_sprites] best 1062504 combination zp ZP_BYTE:33 [ gen_sprites::i#2 gen_sprites::i#1 ] zp ZP_WORD:34 [ gen_sprites::spr#2 gen_sprites::spr#1 ] -Uplifting [clear_screen] best 1062504 combination zp ZP_WORD:10 [ clear_screen::sc#2 clear_screen::sc#1 ] -Uplifting [prepareMEM] best 1062492 combination zp ZP_WORD:23 [ prepareMEM::mem#5 prepareMEM::mem#2 prepareMEM::mem#3 prepareMEM::mem#4 prepareMEM::mem#9 prepareMEM::mem#1 ] reg byte a [ prepareMEM::$0 ] reg byte a [ prepareMEM::$1 ] -Uplifting [init] best 1062342 combination reg byte x [ init::i#2 init::i#1 ] -Uplifting [getFAC] best 1062342 combination zp ZP_WORD:55 [ getFAC::return#2 ] zp ZP_WORD:60 [ getFAC::return#0 ] -Uplifting [] best 1062342 combination zp ZP_WORD:19 [ progress_cursor#34 progress_init::line#2 progress_cursor#11 progress_cursor#10 ] zp ZP_BYTE:18 [ progress_idx#34 progress_idx#12 progress_idx#10 ] zp ZP_BYTE:3 [ sin_idx_y#13 sin_idx_y#11 sin_idx_y#3 ] zp ZP_BYTE:2 [ sin_idx_x#13 sin_idx_x#11 sin_idx_x#3 ] -Uplifting [setMEMtoFAC] best 1062342 combination zp ZP_WORD:31 [ setMEMtoFAC::mem#5 ] -Uplifting [addMEMtoFAC] best 1062342 combination zp ZP_WORD:21 [ addMEMtoFAC::mem#2 ] -Uplifting [divMEMbyFAC] best 1062342 combination zp ZP_WORD:27 [ divMEMbyFAC::mem#2 ] -Uplifting [mulFACbyMEM] best 1062342 combination zp ZP_WORD:25 [ mulFACbyMEM::mem#2 ] -Uplifting [setARGtoFAC] best 1062342 combination -Uplifting [subFACfromARG] best 1062342 combination -Uplifting [sinFAC] best 1062342 combination -Uplifting [main] best 1062342 combination -Uplifting [progress_init] best 1062342 combination -Uplifting [progress_inc] best 1062342 combination -Attempting to uplift remaining variables inzp ZP_BYTE:40 [ gen_chargen_sprite::s_gen#3 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen#1 ] -Uplifting [gen_chargen_sprite] best 1062342 combination zp ZP_BYTE:40 [ gen_chargen_sprite::s_gen#3 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen#1 ] -Attempting to uplift remaining variables inzp ZP_BYTE:38 [ gen_chargen_sprite::x#6 gen_chargen_sprite::x#1 ] -Uplifting [gen_chargen_sprite] best 1062342 combination zp ZP_BYTE:38 [ gen_chargen_sprite::x#6 gen_chargen_sprite::x#1 ] -Attempting to uplift remaining variables inzp ZP_BYTE:37 [ gen_chargen_sprite::bits#2 gen_chargen_sprite::bits#0 gen_chargen_sprite::bits#1 ] -Uplifting [gen_chargen_sprite] best 1062342 combination zp ZP_BYTE:37 [ gen_chargen_sprite::bits#2 gen_chargen_sprite::bits#0 gen_chargen_sprite::bits#1 ] -Attempting to uplift remaining variables inzp ZP_BYTE:39 [ gen_chargen_sprite::c#3 ] -Uplifting [gen_chargen_sprite] best 1062342 combination zp ZP_BYTE:39 [ gen_chargen_sprite::c#3 ] +Uplifting [setFAC] best 1062549 combination zp ZP_WORD:27 [ setFAC::w#5 setFAC::w#0 setFAC::w#3 setFAC::w#4 setFAC::w#1 ] +Uplifting [gen_sintab] best 1062482 combination zp ZP_WORD:55 [ gen_sintab::$23 ] reg byte a [ gen_sintab::$24 ] zp ZP_BYTE:17 [ gen_sintab::i#10 gen_sintab::i#1 ] reg byte x [ gen_sintab::max#2 ] zp ZP_BYTE:14 [ gen_sintab::length#10 ] zp ZP_BYTE:13 [ gen_sintab::min#2 ] zp ZP_WORD:15 [ gen_sintab::sintab#12 ] +Uplifting [gen_sprites] best 1062482 combination zp ZP_BYTE:31 [ gen_sprites::i#2 gen_sprites::i#1 ] zp ZP_WORD:32 [ gen_sprites::spr#2 gen_sprites::spr#1 ] +Uplifting [clear_screen] best 1062482 combination zp ZP_WORD:10 [ clear_screen::sc#2 clear_screen::sc#1 ] +Uplifting [init] best 1062332 combination reg byte x [ init::i#2 init::i#1 ] +Uplifting [prepareMEM] best 1062320 combination zp ZP_WORD:21 [ prepareMEM::mem#5 prepareMEM::mem#3 prepareMEM::mem#4 prepareMEM::mem#8 prepareMEM::mem#1 ] reg byte a [ prepareMEM::$0 ] reg byte a [ prepareMEM::$1 ] +Uplifting [getFAC] best 1062320 combination zp ZP_WORD:53 [ getFAC::return#2 ] zp ZP_WORD:58 [ getFAC::return#0 ] +Uplifting [] best 1062320 combination zp ZP_WORD:19 [ progress_cursor#34 progress_init::line#2 progress_cursor#11 progress_cursor#10 ] zp ZP_BYTE:18 [ progress_idx#34 progress_idx#12 progress_idx#10 ] zp ZP_BYTE:3 [ sin_idx_y#13 sin_idx_y#11 sin_idx_y#3 ] zp ZP_BYTE:2 [ sin_idx_x#13 sin_idx_x#11 sin_idx_x#3 ] +Uplifting [setMEMtoFAC] best 1062320 combination zp ZP_WORD:29 [ setMEMtoFAC::mem#5 ] +Uplifting [divMEMbyFAC] best 1062320 combination zp ZP_WORD:25 [ divMEMbyFAC::mem#2 ] +Uplifting [mulFACbyMEM] best 1062320 combination zp ZP_WORD:23 [ mulFACbyMEM::mem#2 ] +Uplifting [setARGtoFAC] best 1062320 combination +Uplifting [addMEMtoFAC] best 1062320 combination +Uplifting [subFACfromARG] best 1062320 combination +Uplifting [sinFAC] best 1062320 combination +Uplifting [main] best 1062320 combination +Uplifting [progress_init] best 1062320 combination +Uplifting [progress_inc] best 1062320 combination +Attempting to uplift remaining variables inzp ZP_BYTE:38 [ gen_chargen_sprite::s_gen#3 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen#1 ] +Uplifting [gen_chargen_sprite] best 1062320 combination zp ZP_BYTE:38 [ gen_chargen_sprite::s_gen#3 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen#1 ] +Attempting to uplift remaining variables inzp ZP_BYTE:36 [ gen_chargen_sprite::x#6 gen_chargen_sprite::x#1 ] +Uplifting [gen_chargen_sprite] best 1062320 combination zp ZP_BYTE:36 [ gen_chargen_sprite::x#6 gen_chargen_sprite::x#1 ] +Attempting to uplift remaining variables inzp ZP_BYTE:35 [ gen_chargen_sprite::bits#2 gen_chargen_sprite::bits#0 gen_chargen_sprite::bits#1 ] +Uplifting [gen_chargen_sprite] best 1062320 combination zp ZP_BYTE:35 [ gen_chargen_sprite::bits#2 gen_chargen_sprite::bits#0 gen_chargen_sprite::bits#1 ] +Attempting to uplift remaining variables inzp ZP_BYTE:37 [ gen_chargen_sprite::c#3 ] +Uplifting [gen_chargen_sprite] best 1062320 combination zp ZP_BYTE:37 [ gen_chargen_sprite::c#3 ] Attempting to uplift remaining variables inzp ZP_BYTE:4 [ anim::xidx#3 anim::xidx#0 anim::xidx#5 anim::xidx#1 anim::xidx#2 ] -Uplifting [anim] best 1062342 combination zp ZP_BYTE:4 [ anim::xidx#3 anim::xidx#0 anim::xidx#5 anim::xidx#1 anim::xidx#2 ] -Attempting to uplift remaining variables inzp ZP_BYTE:36 [ gen_chargen_sprite::y#2 gen_chargen_sprite::y#1 ] -Uplifting [gen_chargen_sprite] best 1062342 combination zp ZP_BYTE:36 [ gen_chargen_sprite::y#2 gen_chargen_sprite::y#1 ] +Uplifting [anim] best 1062320 combination zp ZP_BYTE:4 [ anim::xidx#3 anim::xidx#0 anim::xidx#5 anim::xidx#1 anim::xidx#2 ] +Attempting to uplift remaining variables inzp ZP_BYTE:34 [ gen_chargen_sprite::y#2 gen_chargen_sprite::y#1 ] +Uplifting [gen_chargen_sprite] best 1062320 combination zp ZP_BYTE:34 [ gen_chargen_sprite::y#2 gen_chargen_sprite::y#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:8 [ anim::j#2 anim::j#1 ] -Uplifting [anim] best 1062342 combination zp ZP_BYTE:8 [ anim::j#2 anim::j#1 ] +Uplifting [anim] best 1062320 combination zp ZP_BYTE:8 [ anim::j#2 anim::j#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:5 [ anim::x_msb#2 anim::x_msb#1 ] -Uplifting [anim] best 1062342 combination zp ZP_BYTE:5 [ anim::x_msb#2 anim::x_msb#1 ] -Attempting to uplift remaining variables inzp ZP_BYTE:52 [ anim::$2 ] -Uplifting [anim] best 1062342 combination zp ZP_BYTE:52 [ anim::$2 ] +Uplifting [anim] best 1062320 combination zp ZP_BYTE:5 [ anim::x_msb#2 anim::x_msb#1 ] +Attempting to uplift remaining variables inzp ZP_BYTE:50 [ anim::$2 ] +Uplifting [anim] best 1062320 combination zp ZP_BYTE:50 [ anim::$2 ] Attempting to uplift remaining variables inzp ZP_BYTE:6 [ anim::j2#2 anim::j2#1 ] -Uplifting [anim] best 1062342 combination zp ZP_BYTE:6 [ anim::j2#2 anim::j2#1 ] -Attempting to uplift remaining variables inzp ZP_BYTE:33 [ gen_sprites::i#2 gen_sprites::i#1 ] -Uplifting [gen_sprites] best 1062342 combination zp ZP_BYTE:33 [ gen_sprites::i#2 gen_sprites::i#1 ] -Attempting to uplift remaining variables inzp ZP_BYTE:45 [ place_sprites::spr_id#2 place_sprites::spr_id#1 ] -Uplifting [place_sprites] best 1062342 combination zp ZP_BYTE:45 [ place_sprites::spr_id#2 place_sprites::spr_id#1 ] +Uplifting [anim] best 1062320 combination zp ZP_BYTE:6 [ anim::j2#2 anim::j2#1 ] +Attempting to uplift remaining variables inzp ZP_BYTE:31 [ gen_sprites::i#2 gen_sprites::i#1 ] +Uplifting [gen_sprites] best 1062320 combination zp ZP_BYTE:31 [ gen_sprites::i#2 gen_sprites::i#1 ] +Attempting to uplift remaining variables inzp ZP_BYTE:43 [ place_sprites::spr_id#2 place_sprites::spr_id#1 ] +Uplifting [place_sprites] best 1062320 combination zp ZP_BYTE:43 [ place_sprites::spr_id#2 place_sprites::spr_id#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:17 [ gen_sintab::i#10 gen_sintab::i#1 ] -Uplifting [gen_sintab] best 1062342 combination zp ZP_BYTE:17 [ gen_sintab::i#10 gen_sintab::i#1 ] -Attempting to uplift remaining variables inzp ZP_BYTE:47 [ place_sprites::spr_x#2 place_sprites::spr_x#1 ] -Uplifting [place_sprites] best 1062342 combination zp ZP_BYTE:47 [ place_sprites::spr_x#2 place_sprites::spr_x#1 ] -Attempting to uplift remaining variables inzp ZP_BYTE:49 [ place_sprites::col#2 place_sprites::col#1 ] -Uplifting [place_sprites] best 1062342 combination zp ZP_BYTE:49 [ place_sprites::col#2 place_sprites::col#1 ] -Attempting to uplift remaining variables inzp ZP_BYTE:64 [ gen_chargen_sprite::ch#0 ] -Uplifting [gen_chargen_sprite] best 1062311 combination reg byte y [ gen_chargen_sprite::ch#0 ] +Uplifting [gen_sintab] best 1062320 combination zp ZP_BYTE:17 [ gen_sintab::i#10 gen_sintab::i#1 ] +Attempting to uplift remaining variables inzp ZP_BYTE:45 [ place_sprites::spr_x#2 place_sprites::spr_x#1 ] +Uplifting [place_sprites] best 1062320 combination zp ZP_BYTE:45 [ place_sprites::spr_x#2 place_sprites::spr_x#1 ] +Attempting to uplift remaining variables inzp ZP_BYTE:47 [ place_sprites::col#2 place_sprites::col#1 ] +Uplifting [place_sprites] best 1062320 combination zp ZP_BYTE:47 [ place_sprites::col#2 place_sprites::col#1 ] +Attempting to uplift remaining variables inzp ZP_BYTE:62 [ gen_chargen_sprite::ch#0 ] +Uplifting [gen_chargen_sprite] best 1062289 combination reg byte y [ gen_chargen_sprite::ch#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:18 [ progress_idx#34 progress_idx#12 progress_idx#10 ] -Uplifting [] best 1062311 combination zp ZP_BYTE:18 [ progress_idx#34 progress_idx#12 progress_idx#10 ] +Uplifting [] best 1062289 combination zp ZP_BYTE:18 [ progress_idx#34 progress_idx#12 progress_idx#10 ] Attempting to uplift remaining variables inzp ZP_BYTE:3 [ sin_idx_y#13 sin_idx_y#11 sin_idx_y#3 ] -Uplifting [] best 1062311 combination zp ZP_BYTE:3 [ sin_idx_y#13 sin_idx_y#11 sin_idx_y#3 ] +Uplifting [] best 1062289 combination zp ZP_BYTE:3 [ sin_idx_y#13 sin_idx_y#11 sin_idx_y#3 ] Attempting to uplift remaining variables inzp ZP_BYTE:2 [ sin_idx_x#13 sin_idx_x#11 sin_idx_x#3 ] -Uplifting [] best 1062311 combination zp ZP_BYTE:2 [ sin_idx_x#13 sin_idx_x#11 sin_idx_x#3 ] +Uplifting [] best 1062289 combination zp ZP_BYTE:2 [ sin_idx_x#13 sin_idx_x#11 sin_idx_x#3 ] Attempting to uplift remaining variables inzp ZP_BYTE:14 [ gen_sintab::length#10 ] -Uplifting [gen_sintab] best 1062311 combination zp ZP_BYTE:14 [ gen_sintab::length#10 ] +Uplifting [gen_sintab] best 1062289 combination zp ZP_BYTE:14 [ gen_sintab::length#10 ] Attempting to uplift remaining variables inzp ZP_BYTE:13 [ gen_sintab::min#2 ] -Uplifting [gen_sintab] best 1062311 combination zp ZP_BYTE:13 [ gen_sintab::min#2 ] -Coalescing zero page register with common assignment [ zp ZP_BYTE:5 [ anim::x_msb#2 anim::x_msb#1 ] ] with [ zp ZP_BYTE:52 [ anim::$2 ] ] - score: 2 -Coalescing zero page register with common assignment [ zp ZP_WORD:21 [ addMEMtoFAC::mem#2 ] ] with [ zp ZP_WORD:23 [ prepareMEM::mem#5 prepareMEM::mem#2 prepareMEM::mem#3 prepareMEM::mem#4 prepareMEM::mem#9 prepareMEM::mem#1 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:55 [ getFAC::return#2 ] ] with [ zp ZP_WORD:57 [ gen_sintab::$23 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:55 [ getFAC::return#2 gen_sintab::$23 ] ] with [ zp ZP_WORD:60 [ getFAC::return#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:65 [ gen_chargen_sprite::$0 ] ] with [ zp ZP_WORD:67 [ gen_chargen_sprite::$1 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:21 [ addMEMtoFAC::mem#2 prepareMEM::mem#5 prepareMEM::mem#2 prepareMEM::mem#3 prepareMEM::mem#4 prepareMEM::mem#9 prepareMEM::mem#1 ] ] with [ zp ZP_WORD:25 [ mulFACbyMEM::mem#2 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:21 [ addMEMtoFAC::mem#2 prepareMEM::mem#5 prepareMEM::mem#2 prepareMEM::mem#3 prepareMEM::mem#4 prepareMEM::mem#9 prepareMEM::mem#1 mulFACbyMEM::mem#2 ] ] with [ zp ZP_WORD:27 [ divMEMbyFAC::mem#2 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:21 [ addMEMtoFAC::mem#2 prepareMEM::mem#5 prepareMEM::mem#2 prepareMEM::mem#3 prepareMEM::mem#4 prepareMEM::mem#9 prepareMEM::mem#1 mulFACbyMEM::mem#2 divMEMbyFAC::mem#2 ] ] with [ zp ZP_WORD:29 [ setFAC::w#5 setFAC::w#0 setFAC::w#3 setFAC::w#4 setFAC::w#1 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:21 [ addMEMtoFAC::mem#2 prepareMEM::mem#5 prepareMEM::mem#2 prepareMEM::mem#3 prepareMEM::mem#4 prepareMEM::mem#9 prepareMEM::mem#1 mulFACbyMEM::mem#2 divMEMbyFAC::mem#2 setFAC::w#5 setFAC::w#0 setFAC::w#3 setFAC::w#4 setFAC::w#1 ] ] with [ zp ZP_WORD:31 [ setMEMtoFAC::mem#5 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:65 [ gen_chargen_sprite::$0 gen_chargen_sprite::$1 ] ] with [ zp ZP_WORD:69 [ gen_chargen_sprite::chargen#0 ] ] - score: 1 +Uplifting [gen_sintab] best 1062289 combination zp ZP_BYTE:13 [ gen_sintab::min#2 ] +Coalescing zero page register with common assignment [ zp ZP_BYTE:5 [ anim::x_msb#2 anim::x_msb#1 ] ] with [ zp ZP_BYTE:50 [ anim::$2 ] ] - score: 2 +Coalescing zero page register with common assignment [ zp ZP_WORD:21 [ prepareMEM::mem#5 prepareMEM::mem#3 prepareMEM::mem#4 prepareMEM::mem#8 prepareMEM::mem#1 ] ] with [ zp ZP_WORD:23 [ mulFACbyMEM::mem#2 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:21 [ prepareMEM::mem#5 prepareMEM::mem#3 prepareMEM::mem#4 prepareMEM::mem#8 prepareMEM::mem#1 mulFACbyMEM::mem#2 ] ] with [ zp ZP_WORD:25 [ divMEMbyFAC::mem#2 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:21 [ prepareMEM::mem#5 prepareMEM::mem#3 prepareMEM::mem#4 prepareMEM::mem#8 prepareMEM::mem#1 mulFACbyMEM::mem#2 divMEMbyFAC::mem#2 ] ] with [ zp ZP_WORD:27 [ setFAC::w#5 setFAC::w#0 setFAC::w#3 setFAC::w#4 setFAC::w#1 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:21 [ prepareMEM::mem#5 prepareMEM::mem#3 prepareMEM::mem#4 prepareMEM::mem#8 prepareMEM::mem#1 mulFACbyMEM::mem#2 divMEMbyFAC::mem#2 setFAC::w#5 setFAC::w#0 setFAC::w#3 setFAC::w#4 setFAC::w#1 ] ] with [ zp ZP_WORD:29 [ setMEMtoFAC::mem#5 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:53 [ getFAC::return#2 ] ] with [ zp ZP_WORD:55 [ gen_sintab::$23 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:53 [ getFAC::return#2 gen_sintab::$23 ] ] with [ zp ZP_WORD:58 [ getFAC::return#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:63 [ gen_chargen_sprite::$0 ] ] with [ zp ZP_WORD:65 [ gen_chargen_sprite::$1 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:63 [ gen_chargen_sprite::$0 gen_chargen_sprite::$1 ] ] with [ zp ZP_WORD:67 [ gen_chargen_sprite::chargen#0 ] ] - score: 1 Coalescing zero page register [ zp ZP_BYTE:2 [ sin_idx_x#13 sin_idx_x#11 sin_idx_x#3 ] ] with [ zp ZP_BYTE:13 [ gen_sintab::min#2 ] ] Coalescing zero page register [ zp ZP_BYTE:2 [ sin_idx_x#13 sin_idx_x#11 sin_idx_x#3 gen_sintab::min#2 ] ] with [ zp ZP_BYTE:17 [ gen_sintab::i#10 gen_sintab::i#1 ] ] -Coalescing zero page register [ zp ZP_BYTE:2 [ sin_idx_x#13 sin_idx_x#11 sin_idx_x#3 gen_sintab::min#2 gen_sintab::i#10 gen_sintab::i#1 ] ] with [ zp ZP_BYTE:33 [ gen_sprites::i#2 gen_sprites::i#1 ] ] -Coalescing zero page register [ zp ZP_BYTE:2 [ sin_idx_x#13 sin_idx_x#11 sin_idx_x#3 gen_sintab::min#2 gen_sintab::i#10 gen_sintab::i#1 gen_sprites::i#2 gen_sprites::i#1 ] ] with [ zp ZP_BYTE:45 [ place_sprites::spr_id#2 place_sprites::spr_id#1 ] ] +Coalescing zero page register [ zp ZP_BYTE:2 [ sin_idx_x#13 sin_idx_x#11 sin_idx_x#3 gen_sintab::min#2 gen_sintab::i#10 gen_sintab::i#1 ] ] with [ zp ZP_BYTE:31 [ gen_sprites::i#2 gen_sprites::i#1 ] ] +Coalescing zero page register [ zp ZP_BYTE:2 [ sin_idx_x#13 sin_idx_x#11 sin_idx_x#3 gen_sintab::min#2 gen_sintab::i#10 gen_sintab::i#1 gen_sprites::i#2 gen_sprites::i#1 ] ] with [ zp ZP_BYTE:43 [ place_sprites::spr_id#2 place_sprites::spr_id#1 ] ] Coalescing zero page register [ zp ZP_BYTE:3 [ sin_idx_y#13 sin_idx_y#11 sin_idx_y#3 ] ] with [ zp ZP_BYTE:14 [ gen_sintab::length#10 ] ] -Coalescing zero page register [ zp ZP_BYTE:3 [ sin_idx_y#13 sin_idx_y#11 sin_idx_y#3 gen_sintab::length#10 ] ] with [ zp ZP_BYTE:36 [ gen_chargen_sprite::y#2 gen_chargen_sprite::y#1 ] ] -Coalescing zero page register [ zp ZP_BYTE:3 [ sin_idx_y#13 sin_idx_y#11 sin_idx_y#3 gen_sintab::length#10 gen_chargen_sprite::y#2 gen_chargen_sprite::y#1 ] ] with [ zp ZP_BYTE:47 [ place_sprites::spr_x#2 place_sprites::spr_x#1 ] ] +Coalescing zero page register [ zp ZP_BYTE:3 [ sin_idx_y#13 sin_idx_y#11 sin_idx_y#3 gen_sintab::length#10 ] ] with [ zp ZP_BYTE:34 [ gen_chargen_sprite::y#2 gen_chargen_sprite::y#1 ] ] +Coalescing zero page register [ zp ZP_BYTE:3 [ sin_idx_y#13 sin_idx_y#11 sin_idx_y#3 gen_sintab::length#10 gen_chargen_sprite::y#2 gen_chargen_sprite::y#1 ] ] with [ zp ZP_BYTE:45 [ place_sprites::spr_x#2 place_sprites::spr_x#1 ] ] Coalescing zero page register [ zp ZP_BYTE:4 [ anim::xidx#3 anim::xidx#0 anim::xidx#5 anim::xidx#1 anim::xidx#2 ] ] with [ zp ZP_BYTE:18 [ progress_idx#34 progress_idx#12 progress_idx#10 ] ] -Coalescing zero page register [ zp ZP_BYTE:4 [ anim::xidx#3 anim::xidx#0 anim::xidx#5 anim::xidx#1 anim::xidx#2 progress_idx#34 progress_idx#12 progress_idx#10 ] ] with [ zp ZP_BYTE:37 [ gen_chargen_sprite::bits#2 gen_chargen_sprite::bits#0 gen_chargen_sprite::bits#1 ] ] -Coalescing zero page register [ zp ZP_BYTE:4 [ anim::xidx#3 anim::xidx#0 anim::xidx#5 anim::xidx#1 anim::xidx#2 progress_idx#34 progress_idx#12 progress_idx#10 gen_chargen_sprite::bits#2 gen_chargen_sprite::bits#0 gen_chargen_sprite::bits#1 ] ] with [ zp ZP_BYTE:49 [ place_sprites::col#2 place_sprites::col#1 ] ] -Coalescing zero page register [ zp ZP_BYTE:5 [ anim::x_msb#2 anim::x_msb#1 anim::$2 ] ] with [ zp ZP_BYTE:38 [ gen_chargen_sprite::x#6 gen_chargen_sprite::x#1 ] ] -Coalescing zero page register [ zp ZP_BYTE:6 [ anim::j2#2 anim::j2#1 ] ] with [ zp ZP_BYTE:39 [ gen_chargen_sprite::c#3 ] ] -Coalescing zero page register [ zp ZP_BYTE:8 [ anim::j#2 anim::j#1 ] ] with [ zp ZP_BYTE:40 [ gen_chargen_sprite::s_gen#3 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen#1 ] ] +Coalescing zero page register [ zp ZP_BYTE:4 [ anim::xidx#3 anim::xidx#0 anim::xidx#5 anim::xidx#1 anim::xidx#2 progress_idx#34 progress_idx#12 progress_idx#10 ] ] with [ zp ZP_BYTE:35 [ gen_chargen_sprite::bits#2 gen_chargen_sprite::bits#0 gen_chargen_sprite::bits#1 ] ] +Coalescing zero page register [ zp ZP_BYTE:4 [ anim::xidx#3 anim::xidx#0 anim::xidx#5 anim::xidx#1 anim::xidx#2 progress_idx#34 progress_idx#12 progress_idx#10 gen_chargen_sprite::bits#2 gen_chargen_sprite::bits#0 gen_chargen_sprite::bits#1 ] ] with [ zp ZP_BYTE:47 [ place_sprites::col#2 place_sprites::col#1 ] ] +Coalescing zero page register [ zp ZP_BYTE:5 [ anim::x_msb#2 anim::x_msb#1 anim::$2 ] ] with [ zp ZP_BYTE:36 [ gen_chargen_sprite::x#6 gen_chargen_sprite::x#1 ] ] +Coalescing zero page register [ zp ZP_BYTE:6 [ anim::j2#2 anim::j2#1 ] ] with [ zp ZP_BYTE:37 [ gen_chargen_sprite::c#3 ] ] +Coalescing zero page register [ zp ZP_BYTE:8 [ anim::j#2 anim::j#1 ] ] with [ zp ZP_BYTE:38 [ gen_chargen_sprite::s_gen#3 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen#1 ] ] Coalescing zero page register [ zp ZP_WORD:10 [ clear_screen::sc#2 clear_screen::sc#1 ] ] with [ zp ZP_WORD:15 [ gen_sintab::sintab#12 ] ] -Coalescing zero page register [ zp ZP_WORD:10 [ clear_screen::sc#2 clear_screen::sc#1 gen_sintab::sintab#12 ] ] with [ zp ZP_WORD:34 [ gen_sprites::spr#2 gen_sprites::spr#1 ] ] -Coalescing zero page register [ zp ZP_WORD:10 [ clear_screen::sc#2 clear_screen::sc#1 gen_sintab::sintab#12 gen_sprites::spr#2 gen_sprites::spr#1 ] ] with [ zp ZP_WORD:50 [ anim::x#0 ] ] -Coalescing zero page register [ zp ZP_WORD:19 [ progress_cursor#34 progress_init::line#2 progress_cursor#11 progress_cursor#10 ] ] with [ zp ZP_WORD:43 [ gen_chargen_sprite::sprite#3 gen_chargen_sprite::sprite#10 gen_chargen_sprite::sprite#11 gen_chargen_sprite::sprite#0 gen_chargen_sprite::sprite#2 gen_chargen_sprite::sprite#4 gen_chargen_sprite::sprite#1 ] ] -Coalescing zero page register [ zp ZP_WORD:21 [ addMEMtoFAC::mem#2 prepareMEM::mem#5 prepareMEM::mem#2 prepareMEM::mem#3 prepareMEM::mem#4 prepareMEM::mem#9 prepareMEM::mem#1 mulFACbyMEM::mem#2 divMEMbyFAC::mem#2 setFAC::w#5 setFAC::w#0 setFAC::w#3 setFAC::w#4 setFAC::w#1 setMEMtoFAC::mem#5 ] ] with [ zp ZP_WORD:55 [ getFAC::return#2 gen_sintab::$23 getFAC::return#0 ] ] -Coalescing zero page register [ zp ZP_WORD:21 [ addMEMtoFAC::mem#2 prepareMEM::mem#5 prepareMEM::mem#2 prepareMEM::mem#3 prepareMEM::mem#4 prepareMEM::mem#9 prepareMEM::mem#1 mulFACbyMEM::mem#2 divMEMbyFAC::mem#2 setFAC::w#5 setFAC::w#0 setFAC::w#3 setFAC::w#4 setFAC::w#1 setMEMtoFAC::mem#5 getFAC::return#2 gen_sintab::$23 getFAC::return#0 ] ] with [ zp ZP_WORD:65 [ gen_chargen_sprite::$0 gen_chargen_sprite::$1 gen_chargen_sprite::chargen#0 ] ] +Coalescing zero page register [ zp ZP_WORD:10 [ clear_screen::sc#2 clear_screen::sc#1 gen_sintab::sintab#12 ] ] with [ zp ZP_WORD:32 [ gen_sprites::spr#2 gen_sprites::spr#1 ] ] +Coalescing zero page register [ zp ZP_WORD:10 [ clear_screen::sc#2 clear_screen::sc#1 gen_sintab::sintab#12 gen_sprites::spr#2 gen_sprites::spr#1 ] ] with [ zp ZP_WORD:48 [ anim::x#0 ] ] +Coalescing zero page register [ zp ZP_WORD:19 [ progress_cursor#34 progress_init::line#2 progress_cursor#11 progress_cursor#10 ] ] with [ zp ZP_WORD:41 [ gen_chargen_sprite::sprite#3 gen_chargen_sprite::sprite#10 gen_chargen_sprite::sprite#11 gen_chargen_sprite::sprite#0 gen_chargen_sprite::sprite#2 gen_chargen_sprite::sprite#4 gen_chargen_sprite::sprite#1 ] ] +Coalescing zero page register [ zp ZP_WORD:21 [ prepareMEM::mem#5 prepareMEM::mem#3 prepareMEM::mem#4 prepareMEM::mem#8 prepareMEM::mem#1 mulFACbyMEM::mem#2 divMEMbyFAC::mem#2 setFAC::w#5 setFAC::w#0 setFAC::w#3 setFAC::w#4 setFAC::w#1 setMEMtoFAC::mem#5 ] ] with [ zp ZP_WORD:53 [ getFAC::return#2 gen_sintab::$23 getFAC::return#0 ] ] +Coalescing zero page register [ zp ZP_WORD:21 [ prepareMEM::mem#5 prepareMEM::mem#3 prepareMEM::mem#4 prepareMEM::mem#8 prepareMEM::mem#1 mulFACbyMEM::mem#2 divMEMbyFAC::mem#2 setFAC::w#5 setFAC::w#0 setFAC::w#3 setFAC::w#4 setFAC::w#1 setMEMtoFAC::mem#5 getFAC::return#2 gen_sintab::$23 getFAC::return#0 ] ] with [ zp ZP_WORD:63 [ gen_chargen_sprite::$0 gen_chargen_sprite::$1 gen_chargen_sprite::chargen#0 ] ] Allocated (was zp ZP_BYTE:8) zp ZP_BYTE:7 [ anim::j#2 anim::j#1 gen_chargen_sprite::s_gen#3 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen#1 ] Allocated (was zp ZP_WORD:10) zp ZP_WORD:8 [ clear_screen::sc#2 clear_screen::sc#1 gen_sintab::sintab#12 gen_sprites::spr#2 gen_sprites::spr#1 anim::x#0 ] Allocated (was zp ZP_WORD:19) zp ZP_WORD:10 [ progress_cursor#34 progress_init::line#2 progress_cursor#11 progress_cursor#10 gen_chargen_sprite::sprite#3 gen_chargen_sprite::sprite#10 gen_chargen_sprite::sprite#11 gen_chargen_sprite::sprite#0 gen_chargen_sprite::sprite#2 gen_chargen_sprite::sprite#4 gen_chargen_sprite::sprite#1 ] -Allocated (was zp ZP_WORD:21) zp ZP_WORD:12 [ addMEMtoFAC::mem#2 prepareMEM::mem#5 prepareMEM::mem#2 prepareMEM::mem#3 prepareMEM::mem#4 prepareMEM::mem#9 prepareMEM::mem#1 mulFACbyMEM::mem#2 divMEMbyFAC::mem#2 setFAC::w#5 setFAC::w#0 setFAC::w#3 setFAC::w#4 setFAC::w#1 setMEMtoFAC::mem#5 getFAC::return#2 gen_sintab::$23 getFAC::return#0 gen_chargen_sprite::$0 gen_chargen_sprite::$1 gen_chargen_sprite::chargen#0 ] +Allocated (was zp ZP_WORD:21) zp ZP_WORD:12 [ prepareMEM::mem#5 prepareMEM::mem#3 prepareMEM::mem#4 prepareMEM::mem#8 prepareMEM::mem#1 mulFACbyMEM::mem#2 divMEMbyFAC::mem#2 setFAC::w#5 setFAC::w#0 setFAC::w#3 setFAC::w#4 setFAC::w#1 setMEMtoFAC::mem#5 getFAC::return#2 gen_sintab::$23 getFAC::return#0 gen_chargen_sprite::$0 gen_chargen_sprite::$1 gen_chargen_sprite::chargen#0 ] ASSEMBLER BEFORE OPTIMIZATION //SEG0 Basic Upstart @@ -8237,7 +8208,7 @@ init: { //SEG104 init::@4 b4: //SEG105 [53] call gen_sprites param-assignment [ ] ( main:2::init:5 [ ] ) - //SEG106 [171] phi from init::@4 to gen_sprites [phi:init::@4->gen_sprites] + //SEG106 [170] phi from init::@4 to gen_sprites [phi:init::@4->gen_sprites] gen_sprites_from_b4: jsr gen_sprites //SEG107 [54] phi from init::@4 to init::@5 [phi:init::@4->init::@5] @@ -8246,9 +8217,9 @@ init: { //SEG108 init::@5 b5: //SEG109 [55] call progress_init param-assignment [ progress_init::line#2 ] ( main:2::init:5 [ progress_init::line#2 ] ) - //SEG110 [169] phi from init::@5 to progress_init [phi:init::@5->progress_init] + //SEG110 [168] phi from init::@5 to progress_init [phi:init::@5->progress_init] progress_init_from_b5: - //SEG111 [169] phi (byte*) progress_init::line#2 = (const byte*) SCREEN#0 [phi:init::@5->progress_init#0] -- pbuz1=pbuc1 + //SEG111 [168] phi (byte*) progress_init::line#2 = (const byte*) SCREEN#0 [phi:init::@5->progress_init#0] -- pbuz1=pbuc1 lda #SCREEN @@ -8282,9 +8253,9 @@ init: { //SEG121 init::@7 b7: //SEG122 [59] call progress_init param-assignment [ progress_init::line#2 ] ( main:2::init:5 [ progress_init::line#2 ] ) - //SEG123 [169] phi from init::@7 to progress_init [phi:init::@7->progress_init] + //SEG123 [168] phi from init::@7 to progress_init [phi:init::@7->progress_init] progress_init_from_b7: - //SEG124 [169] phi (byte*) progress_init::line#2 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40 [phi:init::@7->progress_init#0] -- pbuz1=pbuc1 + //SEG124 [168] phi (byte*) progress_init::line#2 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40 [phi:init::@7->progress_init#0] -- pbuz1=pbuc1 lda #SCREEN+$28 @@ -8382,9 +8353,9 @@ gen_sintab: { lda #0 sta setFAC.w+1 //SEG152 [73] call setFAC param-assignment [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ) - //SEG153 [155] phi from gen_sintab to setFAC [phi:gen_sintab->setFAC] + //SEG153 [154] phi from gen_sintab to setFAC [phi:gen_sintab->setFAC] setFAC_from_gen_sintab: - //SEG154 [155] phi (word) setFAC::w#5 = (word) setFAC::w#0 [phi:gen_sintab->setFAC#0] -- register_copy + //SEG154 [154] phi (word) setFAC::w#5 = (word) setFAC::w#0 [phi:gen_sintab->setFAC#0] -- register_copy jsr setFAC //SEG155 [74] phi from gen_sintab to gen_sintab::@3 [phi:gen_sintab->gen_sintab::@3] b3_from_gen_sintab: @@ -8406,9 +8377,9 @@ gen_sintab: { lda #0 sta setFAC.w+1 //SEG161 [78] call setFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ) - //SEG162 [155] phi from gen_sintab::@4 to setFAC [phi:gen_sintab::@4->setFAC] + //SEG162 [154] phi from gen_sintab::@4 to setFAC [phi:gen_sintab::@4->setFAC] setFAC_from_b4: - //SEG163 [155] phi (word) setFAC::w#5 = (word) setFAC::w#1 [phi:gen_sintab::@4->setFAC#0] -- register_copy + //SEG163 [154] phi (word) setFAC::w#5 = (word) setFAC::w#1 [phi:gen_sintab::@4->setFAC#0] -- register_copy jsr setFAC //SEG164 [79] phi from gen_sintab::@4 to gen_sintab::@5 [phi:gen_sintab::@4->gen_sintab::@5] b5_from_b4: @@ -8416,9 +8387,9 @@ gen_sintab: { //SEG165 gen_sintab::@5 b5: //SEG166 [80] call setMEMtoFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ) - //SEG167 [160] phi from gen_sintab::@5 to setMEMtoFAC [phi:gen_sintab::@5->setMEMtoFAC] + //SEG167 [159] phi from gen_sintab::@5 to setMEMtoFAC [phi:gen_sintab::@5->setMEMtoFAC] setMEMtoFAC_from_b5: - //SEG168 [160] phi (byte*) setMEMtoFAC::mem#5 = (const byte[]) gen_sintab::f_min#0 [phi:gen_sintab::@5->setMEMtoFAC#0] -- pbuz1=pbuc1 + //SEG168 [159] phi (byte*) setMEMtoFAC::mem#5 = (const byte[]) gen_sintab::f_min#0 [phi:gen_sintab::@5->setMEMtoFAC#0] -- pbuz1=pbuc1 lda #f_min @@ -8437,9 +8408,9 @@ gen_sintab: { //SEG173 gen_sintab::@7 b7: //SEG174 [84] call setMEMtoFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ) - //SEG175 [160] phi from gen_sintab::@7 to setMEMtoFAC [phi:gen_sintab::@7->setMEMtoFAC] + //SEG175 [159] phi from gen_sintab::@7 to setMEMtoFAC [phi:gen_sintab::@7->setMEMtoFAC] setMEMtoFAC_from_b7: - //SEG176 [160] phi (byte*) setMEMtoFAC::mem#5 = (const byte[]) gen_sintab::f_amp#0 [phi:gen_sintab::@7->setMEMtoFAC#0] -- pbuz1=pbuc1 + //SEG176 [159] phi (byte*) setMEMtoFAC::mem#5 = (const byte[]) gen_sintab::f_amp#0 [phi:gen_sintab::@7->setMEMtoFAC#0] -- pbuz1=pbuc1 lda #f_amp @@ -8451,9 +8422,9 @@ gen_sintab: { //SEG178 gen_sintab::@8 b8: //SEG179 [86] call setFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ) - //SEG180 [155] phi from gen_sintab::@8 to setFAC [phi:gen_sintab::@8->setFAC] + //SEG180 [154] phi from gen_sintab::@8 to setFAC [phi:gen_sintab::@8->setFAC] setFAC_from_b8: - //SEG181 [155] phi (word) setFAC::w#5 = (byte/signed byte/word/signed word/dword/signed dword) 2 [phi:gen_sintab::@8->setFAC#0] -- vwuz1=vbuc1 + //SEG181 [154] phi (word) setFAC::w#5 = (byte/signed byte/word/signed word/dword/signed dword) 2 [phi:gen_sintab::@8->setFAC#0] -- vwuz1=vbuc1 lda #<2 sta setFAC.w lda #>2 @@ -8465,9 +8436,9 @@ gen_sintab: { //SEG183 gen_sintab::@9 b9: //SEG184 [88] call divMEMbyFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ) - //SEG185 [150] phi from gen_sintab::@9 to divMEMbyFAC [phi:gen_sintab::@9->divMEMbyFAC] + //SEG185 [149] phi from gen_sintab::@9 to divMEMbyFAC [phi:gen_sintab::@9->divMEMbyFAC] divMEMbyFAC_from_b9: - //SEG186 [150] phi (byte*) divMEMbyFAC::mem#2 = (const byte[]) gen_sintab::f_amp#0 [phi:gen_sintab::@9->divMEMbyFAC#0] -- pbuz1=pbuc1 + //SEG186 [149] phi (byte*) divMEMbyFAC::mem#2 = (const byte[]) gen_sintab::f_amp#0 [phi:gen_sintab::@9->divMEMbyFAC#0] -- pbuz1=pbuc1 lda #f_amp @@ -8479,9 +8450,9 @@ gen_sintab: { //SEG188 gen_sintab::@10 b10: //SEG189 [90] call setMEMtoFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ) - //SEG190 [160] phi from gen_sintab::@10 to setMEMtoFAC [phi:gen_sintab::@10->setMEMtoFAC] + //SEG190 [159] phi from gen_sintab::@10 to setMEMtoFAC [phi:gen_sintab::@10->setMEMtoFAC] setMEMtoFAC_from_b10: - //SEG191 [160] phi (byte*) setMEMtoFAC::mem#5 = (const byte[]) gen_sintab::f_amp#0 [phi:gen_sintab::@10->setMEMtoFAC#0] -- pbuz1=pbuc1 + //SEG191 [159] phi (byte*) setMEMtoFAC::mem#5 = (const byte[]) gen_sintab::f_amp#0 [phi:gen_sintab::@10->setMEMtoFAC#0] -- pbuz1=pbuc1 lda #f_amp @@ -8495,454 +8466,445 @@ gen_sintab: { //SEG194 [92] call addMEMtoFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ) //SEG195 [132] phi from gen_sintab::@11 to addMEMtoFAC [phi:gen_sintab::@11->addMEMtoFAC] addMEMtoFAC_from_b11: - //SEG196 [132] phi (byte*) addMEMtoFAC::mem#2 = (const byte[]) gen_sintab::f_min#0 [phi:gen_sintab::@11->addMEMtoFAC#0] -- pbuz1=pbuc1 - lda #f_min - sta addMEMtoFAC.mem+1 jsr addMEMtoFAC - //SEG197 [93] phi from gen_sintab::@11 to gen_sintab::@12 [phi:gen_sintab::@11->gen_sintab::@12] + //SEG196 [93] phi from gen_sintab::@11 to gen_sintab::@12 [phi:gen_sintab::@11->gen_sintab::@12] b12_from_b11: jmp b12 - //SEG198 gen_sintab::@12 + //SEG197 gen_sintab::@12 b12: - //SEG199 [94] call setMEMtoFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ) - //SEG200 [160] phi from gen_sintab::@12 to setMEMtoFAC [phi:gen_sintab::@12->setMEMtoFAC] + //SEG198 [94] call setMEMtoFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ) + //SEG199 [159] phi from gen_sintab::@12 to setMEMtoFAC [phi:gen_sintab::@12->setMEMtoFAC] setMEMtoFAC_from_b12: - //SEG201 [160] phi (byte*) setMEMtoFAC::mem#5 = (const byte[]) gen_sintab::f_min#0 [phi:gen_sintab::@12->setMEMtoFAC#0] -- pbuz1=pbuc1 + //SEG200 [159] phi (byte*) setMEMtoFAC::mem#5 = (const byte[]) gen_sintab::f_min#0 [phi:gen_sintab::@12->setMEMtoFAC#0] -- pbuz1=pbuc1 lda #f_min sta setMEMtoFAC.mem+1 jsr setMEMtoFAC - //SEG202 [95] phi from gen_sintab::@12 to gen_sintab::@1 [phi:gen_sintab::@12->gen_sintab::@1] + //SEG201 [95] phi from gen_sintab::@12 to gen_sintab::@1 [phi:gen_sintab::@12->gen_sintab::@1] b1_from_b12: - //SEG203 [95] phi (byte*) progress_cursor#34 = (byte*) progress_init::line#2 [phi:gen_sintab::@12->gen_sintab::@1#0] -- register_copy - //SEG204 [95] phi (byte) progress_idx#34 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gen_sintab::@12->gen_sintab::@1#1] -- vbuz1=vbuc1 + //SEG202 [95] phi (byte*) progress_cursor#34 = (byte*) progress_init::line#2 [phi:gen_sintab::@12->gen_sintab::@1#0] -- register_copy + //SEG203 [95] phi (byte) progress_idx#34 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gen_sintab::@12->gen_sintab::@1#1] -- vbuz1=vbuc1 lda #0 sta progress_idx - //SEG205 [95] phi (byte) gen_sintab::i#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gen_sintab::@12->gen_sintab::@1#2] -- vbuz1=vbuc1 + //SEG204 [95] phi (byte) gen_sintab::i#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gen_sintab::@12->gen_sintab::@1#2] -- vbuz1=vbuc1 lda #0 sta i jmp b1 - //SEG206 [95] phi from gen_sintab::@23 to gen_sintab::@1 [phi:gen_sintab::@23->gen_sintab::@1] + //SEG205 [95] phi from gen_sintab::@23 to gen_sintab::@1 [phi:gen_sintab::@23->gen_sintab::@1] b1_from_b23: - //SEG207 [95] phi (byte*) progress_cursor#34 = (byte*) progress_cursor#11 [phi:gen_sintab::@23->gen_sintab::@1#0] -- register_copy - //SEG208 [95] phi (byte) progress_idx#34 = (byte) progress_idx#12 [phi:gen_sintab::@23->gen_sintab::@1#1] -- register_copy - //SEG209 [95] phi (byte) gen_sintab::i#10 = (byte) gen_sintab::i#1 [phi:gen_sintab::@23->gen_sintab::@1#2] -- register_copy + //SEG206 [95] phi (byte*) progress_cursor#34 = (byte*) progress_cursor#11 [phi:gen_sintab::@23->gen_sintab::@1#0] -- register_copy + //SEG207 [95] phi (byte) progress_idx#34 = (byte) progress_idx#12 [phi:gen_sintab::@23->gen_sintab::@1#1] -- register_copy + //SEG208 [95] phi (byte) gen_sintab::i#10 = (byte) gen_sintab::i#1 [phi:gen_sintab::@23->gen_sintab::@1#2] -- register_copy jmp b1 - //SEG210 gen_sintab::@1 + //SEG209 gen_sintab::@1 b1: - //SEG211 [96] (word) setFAC::w#3 ← ((word)) (byte) gen_sintab::i#10 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 setFAC::w#3 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 setFAC::w#3 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 setFAC::w#3 ] ) -- vwuz1=_word_vbuz2 + //SEG210 [96] (word) setFAC::w#3 ← ((word)) (byte) gen_sintab::i#10 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 setFAC::w#3 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 setFAC::w#3 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 setFAC::w#3 ] ) -- vwuz1=_word_vbuz2 lda i sta setFAC.w lda #0 sta setFAC.w+1 - //SEG212 [97] call setFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) - //SEG213 [155] phi from gen_sintab::@1 to setFAC [phi:gen_sintab::@1->setFAC] + //SEG211 [97] call setFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + //SEG212 [154] phi from gen_sintab::@1 to setFAC [phi:gen_sintab::@1->setFAC] setFAC_from_b1: - //SEG214 [155] phi (word) setFAC::w#5 = (word) setFAC::w#3 [phi:gen_sintab::@1->setFAC#0] -- register_copy + //SEG213 [154] phi (word) setFAC::w#5 = (word) setFAC::w#3 [phi:gen_sintab::@1->setFAC#0] -- register_copy jsr setFAC - //SEG215 [98] phi from gen_sintab::@1 to gen_sintab::@14 [phi:gen_sintab::@1->gen_sintab::@14] + //SEG214 [98] phi from gen_sintab::@1 to gen_sintab::@14 [phi:gen_sintab::@1->gen_sintab::@14] b14_from_b1: jmp b14 - //SEG216 gen_sintab::@14 + //SEG215 gen_sintab::@14 b14: - //SEG217 [99] call mulFACbyMEM param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) - //SEG218 [143] phi from gen_sintab::@14 to mulFACbyMEM [phi:gen_sintab::@14->mulFACbyMEM] + //SEG216 [99] call mulFACbyMEM param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + //SEG217 [142] phi from gen_sintab::@14 to mulFACbyMEM [phi:gen_sintab::@14->mulFACbyMEM] mulFACbyMEM_from_b14: - //SEG219 [143] phi (byte*) mulFACbyMEM::mem#2 = (const byte*) gen_sintab::f_2pi#0 [phi:gen_sintab::@14->mulFACbyMEM#0] -- pbuz1=pbuc1 + //SEG218 [142] phi (byte*) mulFACbyMEM::mem#2 = (const byte*) gen_sintab::f_2pi#0 [phi:gen_sintab::@14->mulFACbyMEM#0] -- pbuz1=pbuc1 lda #f_2pi sta mulFACbyMEM.mem+1 jsr mulFACbyMEM - //SEG220 [100] phi from gen_sintab::@14 to gen_sintab::@15 [phi:gen_sintab::@14->gen_sintab::@15] + //SEG219 [100] phi from gen_sintab::@14 to gen_sintab::@15 [phi:gen_sintab::@14->gen_sintab::@15] b15_from_b14: jmp b15 - //SEG221 gen_sintab::@15 + //SEG220 gen_sintab::@15 b15: - //SEG222 [101] call setMEMtoFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) - //SEG223 [160] phi from gen_sintab::@15 to setMEMtoFAC [phi:gen_sintab::@15->setMEMtoFAC] + //SEG221 [101] call setMEMtoFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + //SEG222 [159] phi from gen_sintab::@15 to setMEMtoFAC [phi:gen_sintab::@15->setMEMtoFAC] setMEMtoFAC_from_b15: - //SEG224 [160] phi (byte*) setMEMtoFAC::mem#5 = (const byte[]) gen_sintab::f_i#0 [phi:gen_sintab::@15->setMEMtoFAC#0] -- pbuz1=pbuc1 + //SEG223 [159] phi (byte*) setMEMtoFAC::mem#5 = (const byte[]) gen_sintab::f_i#0 [phi:gen_sintab::@15->setMEMtoFAC#0] -- pbuz1=pbuc1 lda #f_i sta setMEMtoFAC.mem+1 jsr setMEMtoFAC jmp b16 - //SEG225 gen_sintab::@16 + //SEG224 gen_sintab::@16 b16: - //SEG226 [102] (word) setFAC::w#4 ← ((word)) (byte) gen_sintab::length#10 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 setFAC::w#4 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 setFAC::w#4 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 setFAC::w#4 ] ) -- vwuz1=_word_vbuz2 + //SEG225 [102] (word) setFAC::w#4 ← ((word)) (byte) gen_sintab::length#10 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 setFAC::w#4 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 setFAC::w#4 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 setFAC::w#4 ] ) -- vwuz1=_word_vbuz2 lda length sta setFAC.w lda #0 sta setFAC.w+1 - //SEG227 [103] call setFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) - //SEG228 [155] phi from gen_sintab::@16 to setFAC [phi:gen_sintab::@16->setFAC] + //SEG226 [103] call setFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + //SEG227 [154] phi from gen_sintab::@16 to setFAC [phi:gen_sintab::@16->setFAC] setFAC_from_b16: - //SEG229 [155] phi (word) setFAC::w#5 = (word) setFAC::w#4 [phi:gen_sintab::@16->setFAC#0] -- register_copy + //SEG228 [154] phi (word) setFAC::w#5 = (word) setFAC::w#4 [phi:gen_sintab::@16->setFAC#0] -- register_copy jsr setFAC - //SEG230 [104] phi from gen_sintab::@16 to gen_sintab::@17 [phi:gen_sintab::@16->gen_sintab::@17] + //SEG229 [104] phi from gen_sintab::@16 to gen_sintab::@17 [phi:gen_sintab::@16->gen_sintab::@17] b17_from_b16: jmp b17 - //SEG231 gen_sintab::@17 + //SEG230 gen_sintab::@17 b17: - //SEG232 [105] call divMEMbyFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) - //SEG233 [150] phi from gen_sintab::@17 to divMEMbyFAC [phi:gen_sintab::@17->divMEMbyFAC] + //SEG231 [105] call divMEMbyFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + //SEG232 [149] phi from gen_sintab::@17 to divMEMbyFAC [phi:gen_sintab::@17->divMEMbyFAC] divMEMbyFAC_from_b17: - //SEG234 [150] phi (byte*) divMEMbyFAC::mem#2 = (const byte[]) gen_sintab::f_i#0 [phi:gen_sintab::@17->divMEMbyFAC#0] -- pbuz1=pbuc1 + //SEG233 [149] phi (byte*) divMEMbyFAC::mem#2 = (const byte[]) gen_sintab::f_i#0 [phi:gen_sintab::@17->divMEMbyFAC#0] -- pbuz1=pbuc1 lda #f_i sta divMEMbyFAC.mem+1 jsr divMEMbyFAC - //SEG235 [106] phi from gen_sintab::@17 to gen_sintab::@18 [phi:gen_sintab::@17->gen_sintab::@18] + //SEG234 [106] phi from gen_sintab::@17 to gen_sintab::@18 [phi:gen_sintab::@17->gen_sintab::@18] b18_from_b17: jmp b18 - //SEG236 gen_sintab::@18 + //SEG235 gen_sintab::@18 b18: - //SEG237 [107] call sinFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + //SEG236 [107] call sinFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) jsr sinFAC - //SEG238 [108] phi from gen_sintab::@18 to gen_sintab::@19 [phi:gen_sintab::@18->gen_sintab::@19] + //SEG237 [108] phi from gen_sintab::@18 to gen_sintab::@19 [phi:gen_sintab::@18->gen_sintab::@19] b19_from_b18: jmp b19 - //SEG239 gen_sintab::@19 + //SEG238 gen_sintab::@19 b19: - //SEG240 [109] call mulFACbyMEM param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) - //SEG241 [143] phi from gen_sintab::@19 to mulFACbyMEM [phi:gen_sintab::@19->mulFACbyMEM] + //SEG239 [109] call mulFACbyMEM param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + //SEG240 [142] phi from gen_sintab::@19 to mulFACbyMEM [phi:gen_sintab::@19->mulFACbyMEM] mulFACbyMEM_from_b19: - //SEG242 [143] phi (byte*) mulFACbyMEM::mem#2 = (const byte[]) gen_sintab::f_amp#0 [phi:gen_sintab::@19->mulFACbyMEM#0] -- pbuz1=pbuc1 + //SEG241 [142] phi (byte*) mulFACbyMEM::mem#2 = (const byte[]) gen_sintab::f_amp#0 [phi:gen_sintab::@19->mulFACbyMEM#0] -- pbuz1=pbuc1 lda #f_amp sta mulFACbyMEM.mem+1 jsr mulFACbyMEM - //SEG243 [110] phi from gen_sintab::@19 to gen_sintab::@20 [phi:gen_sintab::@19->gen_sintab::@20] + //SEG242 [110] phi from gen_sintab::@19 to gen_sintab::@20 [phi:gen_sintab::@19->gen_sintab::@20] b20_from_b19: jmp b20 - //SEG244 gen_sintab::@20 + //SEG243 gen_sintab::@20 b20: - //SEG245 [111] call addMEMtoFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) - //SEG246 [132] phi from gen_sintab::@20 to addMEMtoFAC [phi:gen_sintab::@20->addMEMtoFAC] + //SEG244 [111] call addMEMtoFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + //SEG245 [132] phi from gen_sintab::@20 to addMEMtoFAC [phi:gen_sintab::@20->addMEMtoFAC] addMEMtoFAC_from_b20: - //SEG247 [132] phi (byte*) addMEMtoFAC::mem#2 = (const byte[]) gen_sintab::f_min#0 [phi:gen_sintab::@20->addMEMtoFAC#0] -- pbuz1=pbuc1 - lda #f_min - sta addMEMtoFAC.mem+1 jsr addMEMtoFAC - //SEG248 [112] phi from gen_sintab::@20 to gen_sintab::@21 [phi:gen_sintab::@20->gen_sintab::@21] + //SEG246 [112] phi from gen_sintab::@20 to gen_sintab::@21 [phi:gen_sintab::@20->gen_sintab::@21] b21_from_b20: jmp b21 - //SEG249 gen_sintab::@21 + //SEG247 gen_sintab::@21 b21: - //SEG250 [113] call getFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 getFAC::return#0 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 getFAC::return#0 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 getFAC::return#0 ] ) + //SEG248 [113] call getFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 getFAC::return#0 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 getFAC::return#0 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 getFAC::return#0 ] ) jsr getFAC - //SEG251 [114] (word) getFAC::return#2 ← (word) getFAC::return#0 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 getFAC::return#2 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 getFAC::return#2 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 getFAC::return#2 ] ) + //SEG249 [114] (word) getFAC::return#2 ← (word) getFAC::return#0 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 getFAC::return#2 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 getFAC::return#2 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 getFAC::return#2 ] ) // (word) getFAC::return#2 = (word) getFAC::return#0 // register copy zp ZP_WORD:12 jmp b22 - //SEG252 gen_sintab::@22 + //SEG250 gen_sintab::@22 b22: - //SEG253 [115] (word~) gen_sintab::$23 ← (word) getFAC::return#2 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 gen_sintab::$23 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 gen_sintab::$23 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 gen_sintab::$23 ] ) + //SEG251 [115] (word~) gen_sintab::$23 ← (word) getFAC::return#2 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 gen_sintab::$23 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 gen_sintab::$23 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 gen_sintab::$23 ] ) // (word~) gen_sintab::$23 = (word) getFAC::return#2 // register copy zp ZP_WORD:12 - //SEG254 [116] (byte~) gen_sintab::$24 ← ((byte)) (word~) gen_sintab::$23 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 gen_sintab::$24 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 gen_sintab::$24 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 gen_sintab::$24 ] ) -- vbuaa=_byte_vwuz1 + //SEG252 [116] (byte~) gen_sintab::$24 ← ((byte)) (word~) gen_sintab::$23 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 gen_sintab::$24 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 gen_sintab::$24 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 gen_sintab::$24 ] ) -- vbuaa=_byte_vwuz1 lda _23 - //SEG255 [117] *((byte*) gen_sintab::sintab#12 + (byte) gen_sintab::i#10) ← (byte~) gen_sintab::$24 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) -- pbuz1_derefidx_vbuz2=vbuaa + //SEG253 [117] *((byte*) gen_sintab::sintab#12 + (byte) gen_sintab::i#10) ← (byte~) gen_sintab::$24 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) -- pbuz1_derefidx_vbuz2=vbuaa ldy i sta (sintab),y - //SEG256 [118] call progress_inc param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#12 progress_cursor#11 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#12 progress_cursor#11 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#12 progress_cursor#11 ] ) + //SEG254 [118] call progress_inc param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#12 progress_cursor#11 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#12 progress_cursor#11 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#12 progress_cursor#11 ] ) jsr progress_inc jmp b23 - //SEG257 gen_sintab::@23 + //SEG255 gen_sintab::@23 b23: - //SEG258 [119] (byte) gen_sintab::i#1 ← ++ (byte) gen_sintab::i#10 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#1 progress_idx#12 progress_cursor#11 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#1 progress_idx#12 progress_cursor#11 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#1 progress_idx#12 progress_cursor#11 ] ) -- vbuz1=_inc_vbuz1 + //SEG256 [119] (byte) gen_sintab::i#1 ← ++ (byte) gen_sintab::i#10 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#1 progress_idx#12 progress_cursor#11 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#1 progress_idx#12 progress_cursor#11 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#1 progress_idx#12 progress_cursor#11 ] ) -- vbuz1=_inc_vbuz1 inc i - //SEG259 [120] if((byte) gen_sintab::i#1<(byte) gen_sintab::length#10) goto gen_sintab::@1 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#1 progress_idx#12 progress_cursor#11 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#1 progress_idx#12 progress_cursor#11 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#1 progress_idx#12 progress_cursor#11 ] ) -- vbuz1_lt_vbuz2_then_la1 + //SEG257 [120] if((byte) gen_sintab::i#1<(byte) gen_sintab::length#10) goto gen_sintab::@1 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#1 progress_idx#12 progress_cursor#11 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#1 progress_idx#12 progress_cursor#11 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#1 progress_idx#12 progress_cursor#11 ] ) -- vbuz1_lt_vbuz2_then_la1 lda i cmp length bcc b1_from_b23 jmp breturn - //SEG260 gen_sintab::@return + //SEG258 gen_sintab::@return breturn: - //SEG261 [121] return [ ] ( main:2::init:5::gen_sintab:57 [ ] main:2::init:5::gen_sintab:61 [ ] ) + //SEG259 [121] return [ ] ( main:2::init:5::gen_sintab:57 [ ] main:2::init:5::gen_sintab:61 [ ] ) rts f_i: .byte 0, 0, 0, 0, 0 f_min: .byte 0, 0, 0, 0, 0 f_amp: .byte 0, 0, 0, 0, 0 } -//SEG262 progress_inc +//SEG260 progress_inc progress_inc: { - //SEG263 [122] (byte) progress_idx#10 ← ++ (byte) progress_idx#34 [ progress_cursor#34 progress_idx#10 ] ( main:2::init:5::gen_sintab:57::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_cursor#34 progress_idx#10 ] main:2::init:5::gen_sintab:61::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_cursor#34 progress_idx#10 ] ) -- vbuz1=_inc_vbuz1 + //SEG261 [122] (byte) progress_idx#10 ← ++ (byte) progress_idx#34 [ progress_cursor#34 progress_idx#10 ] ( main:2::init:5::gen_sintab:57::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_cursor#34 progress_idx#10 ] main:2::init:5::gen_sintab:61::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_cursor#34 progress_idx#10 ] ) -- vbuz1=_inc_vbuz1 inc progress_idx - //SEG264 [123] if((byte) progress_idx#10!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto progress_inc::@1 [ progress_cursor#34 progress_idx#10 ] ( main:2::init:5::gen_sintab:57::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_cursor#34 progress_idx#10 ] main:2::init:5::gen_sintab:61::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_cursor#34 progress_idx#10 ] ) -- vbuz1_neq_vbuc1_then_la1 + //SEG262 [123] if((byte) progress_idx#10!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto progress_inc::@1 [ progress_cursor#34 progress_idx#10 ] ( main:2::init:5::gen_sintab:57::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_cursor#34 progress_idx#10 ] main:2::init:5::gen_sintab:61::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_cursor#34 progress_idx#10 ] ) -- vbuz1_neq_vbuc1_then_la1 lda progress_idx cmp #8 bne b1_from_progress_inc jmp b2 - //SEG265 progress_inc::@2 + //SEG263 progress_inc::@2 b2: - //SEG266 [124] *((byte*) progress_cursor#34) ← *((const byte[]) progress_inc::progress_chars#0+(byte/signed byte/word/signed word/dword/signed dword) 8) [ progress_cursor#34 ] ( main:2::init:5::gen_sintab:57::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_cursor#34 ] main:2::init:5::gen_sintab:61::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_cursor#34 ] ) -- _deref_pbuz1=_deref_pbuc1 + //SEG264 [124] *((byte*) progress_cursor#34) ← *((const byte[]) progress_inc::progress_chars#0+(byte/signed byte/word/signed word/dword/signed dword) 8) [ progress_cursor#34 ] ( main:2::init:5::gen_sintab:57::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_cursor#34 ] main:2::init:5::gen_sintab:61::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_cursor#34 ] ) -- _deref_pbuz1=_deref_pbuc1 lda progress_chars+8 ldy #0 sta (progress_cursor),y - //SEG267 [125] (byte*) progress_cursor#10 ← ++ (byte*) progress_cursor#34 [ progress_cursor#10 ] ( main:2::init:5::gen_sintab:57::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_cursor#10 ] main:2::init:5::gen_sintab:61::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_cursor#10 ] ) -- pbuz1=_inc_pbuz1 + //SEG265 [125] (byte*) progress_cursor#10 ← ++ (byte*) progress_cursor#34 [ progress_cursor#10 ] ( main:2::init:5::gen_sintab:57::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_cursor#10 ] main:2::init:5::gen_sintab:61::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_cursor#10 ] ) -- pbuz1=_inc_pbuz1 inc progress_cursor bne !+ inc progress_cursor+1 !: - //SEG268 [126] phi from progress_inc::@2 to progress_inc::@1 [phi:progress_inc::@2->progress_inc::@1] + //SEG266 [126] phi from progress_inc::@2 to progress_inc::@1 [phi:progress_inc::@2->progress_inc::@1] b1_from_b2: - //SEG269 [126] phi (byte*) progress_cursor#11 = (byte*) progress_cursor#10 [phi:progress_inc::@2->progress_inc::@1#0] -- register_copy - //SEG270 [126] phi (byte) progress_idx#12 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:progress_inc::@2->progress_inc::@1#1] -- vbuz1=vbuc1 + //SEG267 [126] phi (byte*) progress_cursor#11 = (byte*) progress_cursor#10 [phi:progress_inc::@2->progress_inc::@1#0] -- register_copy + //SEG268 [126] phi (byte) progress_idx#12 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:progress_inc::@2->progress_inc::@1#1] -- vbuz1=vbuc1 lda #0 sta progress_idx jmp b1 - //SEG271 [126] phi from progress_inc to progress_inc::@1 [phi:progress_inc->progress_inc::@1] + //SEG269 [126] phi from progress_inc to progress_inc::@1 [phi:progress_inc->progress_inc::@1] b1_from_progress_inc: - //SEG272 [126] phi (byte*) progress_cursor#11 = (byte*) progress_cursor#34 [phi:progress_inc->progress_inc::@1#0] -- register_copy - //SEG273 [126] phi (byte) progress_idx#12 = (byte) progress_idx#10 [phi:progress_inc->progress_inc::@1#1] -- register_copy + //SEG270 [126] phi (byte*) progress_cursor#11 = (byte*) progress_cursor#34 [phi:progress_inc->progress_inc::@1#0] -- register_copy + //SEG271 [126] phi (byte) progress_idx#12 = (byte) progress_idx#10 [phi:progress_inc->progress_inc::@1#1] -- register_copy jmp b1 - //SEG274 progress_inc::@1 + //SEG272 progress_inc::@1 b1: - //SEG275 [127] *((byte*) progress_cursor#11) ← *((const byte[]) progress_inc::progress_chars#0 + (byte) progress_idx#12) [ progress_idx#12 progress_cursor#11 ] ( main:2::init:5::gen_sintab:57::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#12 progress_cursor#11 ] main:2::init:5::gen_sintab:61::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#12 progress_cursor#11 ] ) -- _deref_pbuz1=pbuc1_derefidx_vbuz2 + //SEG273 [127] *((byte*) progress_cursor#11) ← *((const byte[]) progress_inc::progress_chars#0 + (byte) progress_idx#12) [ progress_idx#12 progress_cursor#11 ] ( main:2::init:5::gen_sintab:57::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#12 progress_cursor#11 ] main:2::init:5::gen_sintab:61::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#12 progress_cursor#11 ] ) -- _deref_pbuz1=pbuc1_derefidx_vbuz2 ldy progress_idx lda progress_chars,y ldy #0 sta (progress_cursor),y jmp breturn - //SEG276 progress_inc::@return + //SEG274 progress_inc::@return breturn: - //SEG277 [128] return [ progress_idx#12 progress_cursor#11 ] ( main:2::init:5::gen_sintab:57::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#12 progress_cursor#11 ] main:2::init:5::gen_sintab:61::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#12 progress_cursor#11 ] ) + //SEG275 [128] return [ progress_idx#12 progress_cursor#11 ] ( main:2::init:5::gen_sintab:57::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#12 progress_cursor#11 ] main:2::init:5::gen_sintab:61::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#12 progress_cursor#11 ] ) rts progress_chars: .byte $20, $65, $74, $75, $61, $f6, $e7, $ea, $e0 } -//SEG278 getFAC +//SEG276 getFAC getFAC: { .label return = $c - //SEG279 asm { jsr$b1aa sty$fe sta$ff } + //SEG277 asm { jsr$b1aa sty$fe sta$ff } jsr $b1aa sty $fe sta $ff - //SEG280 [130] (word) getFAC::return#0 ← *((const byte*) memHi#0) w= *((const byte*) memLo#0) [ getFAC::return#0 ] ( main:2::init:5::gen_sintab:57::getFAC:113 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 getFAC::return#0 ] main:2::init:5::gen_sintab:61::getFAC:113 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 getFAC::return#0 ] ) -- vwuz1=_deref_pbuc1_word__deref_pbuc2 + //SEG278 [130] (word) getFAC::return#0 ← *((const byte*) memHi#0) w= *((const byte*) memLo#0) [ getFAC::return#0 ] ( main:2::init:5::gen_sintab:57::getFAC:113 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 getFAC::return#0 ] main:2::init:5::gen_sintab:61::getFAC:113 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 getFAC::return#0 ] ) -- vwuz1=_deref_pbuc1_word__deref_pbuc2 lda memLo sta return lda memHi sta return+1 jmp breturn - //SEG281 getFAC::@return + //SEG279 getFAC::@return breturn: - //SEG282 [131] return [ getFAC::return#0 ] ( main:2::init:5::gen_sintab:57::getFAC:113 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 getFAC::return#0 ] main:2::init:5::gen_sintab:61::getFAC:113 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 getFAC::return#0 ] ) + //SEG280 [131] return [ getFAC::return#0 ] ( main:2::init:5::gen_sintab:57::getFAC:113 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 getFAC::return#0 ] main:2::init:5::gen_sintab:61::getFAC:113 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 getFAC::return#0 ] ) rts } -//SEG283 addMEMtoFAC +//SEG281 addMEMtoFAC addMEMtoFAC: { - .label mem = $c - //SEG284 [133] (byte*) prepareMEM::mem#2 ← (byte*) addMEMtoFAC::mem#2 [ prepareMEM::mem#2 ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#2 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#2 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#2 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#2 ] ) - // (byte*) prepareMEM::mem#2 = (byte*) addMEMtoFAC::mem#2 // register copy zp ZP_WORD:12 - //SEG285 [134] call prepareMEM param-assignment [ ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) - //SEG286 [137] phi from addMEMtoFAC to prepareMEM [phi:addMEMtoFAC->prepareMEM] + //SEG282 [133] call prepareMEM param-assignment [ ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + //SEG283 [136] phi from addMEMtoFAC to prepareMEM [phi:addMEMtoFAC->prepareMEM] prepareMEM_from_addMEMtoFAC: - //SEG287 [137] phi (byte*) prepareMEM::mem#5 = (byte*) prepareMEM::mem#2 [phi:addMEMtoFAC->prepareMEM#0] -- register_copy + //SEG284 [136] phi (byte*) prepareMEM::mem#5 = (const byte[]) gen_sintab::f_min#0 [phi:addMEMtoFAC->prepareMEM#0] -- pbuz1=pbuc1 + lda #gen_sintab.f_min + sta prepareMEM.mem+1 jsr prepareMEM jmp b1 - //SEG288 addMEMtoFAC::@1 + //SEG285 addMEMtoFAC::@1 b1: - //SEG289 asm { lda$fe ldy$ff jsr$b867 } + //SEG286 asm { lda$fe ldy$ff jsr$b867 } lda $fe ldy $ff jsr $b867 jmp breturn - //SEG290 addMEMtoFAC::@return + //SEG287 addMEMtoFAC::@return breturn: - //SEG291 [136] return [ ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + //SEG288 [135] return [ ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) rts } -//SEG292 prepareMEM +//SEG289 prepareMEM prepareMEM: { .label mem = $c - //SEG293 [138] (byte~) prepareMEM::$0 ← < (byte*) prepareMEM::mem#5 [ prepareMEM::mem#5 prepareMEM::$0 ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:99::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:88::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setFAC:73::prepareMEM:157 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setFAC:73::prepareMEM:157 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setFAC:78::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setFAC:78::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setFAC:86::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setFAC:86::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setFAC:97::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setFAC:97::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setFAC:103::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setFAC:103::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:80::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] ) -- vbuaa=_lo_pbuz1 + //SEG290 [137] (byte~) prepareMEM::$0 ← < (byte*) prepareMEM::mem#5 [ prepareMEM::mem#5 prepareMEM::$0 ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:99::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:88::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setFAC:73::prepareMEM:156 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setFAC:73::prepareMEM:156 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setFAC:78::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setFAC:78::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setFAC:86::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setFAC:86::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setFAC:97::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setFAC:97::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setFAC:103::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setFAC:103::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:80::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] ) -- vbuaa=_lo_pbuz1 lda mem - //SEG294 [139] *((const byte*) memLo#0) ← (byte~) prepareMEM::$0 [ prepareMEM::mem#5 ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:99::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:88::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:73::prepareMEM:157 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:73::prepareMEM:157 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:78::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:78::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:86::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:86::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:97::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:97::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:103::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:103::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:80::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] ) -- _deref_pbuc1=vbuaa + //SEG291 [138] *((const byte*) memLo#0) ← (byte~) prepareMEM::$0 [ prepareMEM::mem#5 ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:99::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:88::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:73::prepareMEM:156 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:73::prepareMEM:156 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:78::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:78::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:86::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:86::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:97::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:97::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:103::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:103::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:80::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] ) -- _deref_pbuc1=vbuaa sta memLo - //SEG295 [140] (byte~) prepareMEM::$1 ← > (byte*) prepareMEM::mem#5 [ prepareMEM::$1 ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:99::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:88::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setFAC:73::prepareMEM:157 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setFAC:73::prepareMEM:157 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setFAC:78::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setFAC:78::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setFAC:86::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setFAC:86::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setFAC:97::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setFAC:97::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setFAC:103::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setFAC:103::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:80::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] ) -- vbuaa=_hi_pbuz1 + //SEG292 [139] (byte~) prepareMEM::$1 ← > (byte*) prepareMEM::mem#5 [ prepareMEM::$1 ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:99::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:88::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setFAC:73::prepareMEM:156 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setFAC:73::prepareMEM:156 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setFAC:78::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setFAC:78::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setFAC:86::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setFAC:86::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setFAC:97::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setFAC:97::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setFAC:103::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setFAC:103::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:80::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] ) -- vbuaa=_hi_pbuz1 lda mem+1 - //SEG296 [141] *((const byte*) memHi#0) ← (byte~) prepareMEM::$1 [ ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:99::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:88::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setFAC:73::prepareMEM:157 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:73::prepareMEM:157 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:78::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:78::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:86::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:86::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:97::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:97::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setFAC:103::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:103::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:80::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) -- _deref_pbuc1=vbuaa + //SEG293 [140] *((const byte*) memHi#0) ← (byte~) prepareMEM::$1 [ ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:99::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:88::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setFAC:73::prepareMEM:156 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:73::prepareMEM:156 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:78::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:78::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:86::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:86::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:97::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:97::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setFAC:103::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:103::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:80::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) -- _deref_pbuc1=vbuaa sta memHi jmp breturn - //SEG297 prepareMEM::@return + //SEG294 prepareMEM::@return breturn: - //SEG298 [142] return [ ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:99::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:88::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setFAC:73::prepareMEM:157 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:73::prepareMEM:157 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:78::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:78::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:86::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:86::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:97::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:97::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setFAC:103::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:103::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:80::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + //SEG295 [141] return [ ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:99::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:88::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setFAC:73::prepareMEM:156 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:73::prepareMEM:156 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:78::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:78::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:86::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:86::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:97::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:97::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setFAC:103::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:103::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:80::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) rts } -//SEG299 mulFACbyMEM +//SEG296 mulFACbyMEM mulFACbyMEM: { .label mem = $c - //SEG300 [144] (byte*) prepareMEM::mem#4 ← (byte*) mulFACbyMEM::mem#2 [ prepareMEM::mem#4 ] ( main:2::init:5::gen_sintab:57::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#4 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#4 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#4 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#4 ] ) + //SEG297 [143] (byte*) prepareMEM::mem#4 ← (byte*) mulFACbyMEM::mem#2 [ prepareMEM::mem#4 ] ( main:2::init:5::gen_sintab:57::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#4 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#4 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#4 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#4 ] ) // (byte*) prepareMEM::mem#4 = (byte*) mulFACbyMEM::mem#2 // register copy zp ZP_WORD:12 - //SEG301 [145] call prepareMEM param-assignment [ ] ( main:2::init:5::gen_sintab:57::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) - //SEG302 [137] phi from mulFACbyMEM to prepareMEM [phi:mulFACbyMEM->prepareMEM] + //SEG298 [144] call prepareMEM param-assignment [ ] ( main:2::init:5::gen_sintab:57::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + //SEG299 [136] phi from mulFACbyMEM to prepareMEM [phi:mulFACbyMEM->prepareMEM] prepareMEM_from_mulFACbyMEM: - //SEG303 [137] phi (byte*) prepareMEM::mem#5 = (byte*) prepareMEM::mem#4 [phi:mulFACbyMEM->prepareMEM#0] -- register_copy + //SEG300 [136] phi (byte*) prepareMEM::mem#5 = (byte*) prepareMEM::mem#4 [phi:mulFACbyMEM->prepareMEM#0] -- register_copy jsr prepareMEM jmp b1 - //SEG304 mulFACbyMEM::@1 + //SEG301 mulFACbyMEM::@1 b1: - //SEG305 asm { lda$fe ldy$ff jsr$ba28 } + //SEG302 asm { lda$fe ldy$ff jsr$ba28 } lda $fe ldy $ff jsr $ba28 jmp breturn - //SEG306 mulFACbyMEM::@return + //SEG303 mulFACbyMEM::@return breturn: - //SEG307 [147] return [ ] ( main:2::init:5::gen_sintab:57::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + //SEG304 [146] return [ ] ( main:2::init:5::gen_sintab:57::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) rts } -//SEG308 sinFAC +//SEG305 sinFAC sinFAC: { - //SEG309 asm { jsr$e26b } + //SEG306 asm { jsr$e26b } jsr $e26b jmp breturn - //SEG310 sinFAC::@return + //SEG307 sinFAC::@return breturn: - //SEG311 [149] return [ ] ( main:2::init:5::gen_sintab:57::sinFAC:107 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::sinFAC:107 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + //SEG308 [148] return [ ] ( main:2::init:5::gen_sintab:57::sinFAC:107 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::sinFAC:107 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) rts } -//SEG312 divMEMbyFAC +//SEG309 divMEMbyFAC divMEMbyFAC: { .label mem = $c - //SEG313 [151] (byte*) prepareMEM::mem#3 ← (byte*) divMEMbyFAC::mem#2 [ prepareMEM::mem#3 ] ( main:2::init:5::gen_sintab:57::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#3 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#3 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#3 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#3 ] ) + //SEG310 [150] (byte*) prepareMEM::mem#3 ← (byte*) divMEMbyFAC::mem#2 [ prepareMEM::mem#3 ] ( main:2::init:5::gen_sintab:57::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#3 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#3 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#3 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#3 ] ) // (byte*) prepareMEM::mem#3 = (byte*) divMEMbyFAC::mem#2 // register copy zp ZP_WORD:12 - //SEG314 [152] call prepareMEM param-assignment [ ] ( main:2::init:5::gen_sintab:57::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) - //SEG315 [137] phi from divMEMbyFAC to prepareMEM [phi:divMEMbyFAC->prepareMEM] + //SEG311 [151] call prepareMEM param-assignment [ ] ( main:2::init:5::gen_sintab:57::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + //SEG312 [136] phi from divMEMbyFAC to prepareMEM [phi:divMEMbyFAC->prepareMEM] prepareMEM_from_divMEMbyFAC: - //SEG316 [137] phi (byte*) prepareMEM::mem#5 = (byte*) prepareMEM::mem#3 [phi:divMEMbyFAC->prepareMEM#0] -- register_copy + //SEG313 [136] phi (byte*) prepareMEM::mem#5 = (byte*) prepareMEM::mem#3 [phi:divMEMbyFAC->prepareMEM#0] -- register_copy jsr prepareMEM jmp b1 - //SEG317 divMEMbyFAC::@1 + //SEG314 divMEMbyFAC::@1 b1: - //SEG318 asm { lda$fe ldy$ff jsr$bb0f } + //SEG315 asm { lda$fe ldy$ff jsr$bb0f } lda $fe ldy $ff jsr $bb0f jmp breturn - //SEG319 divMEMbyFAC::@return + //SEG316 divMEMbyFAC::@return breturn: - //SEG320 [154] return [ ] ( main:2::init:5::gen_sintab:57::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + //SEG317 [153] return [ ] ( main:2::init:5::gen_sintab:57::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) rts } -//SEG321 setFAC +//SEG318 setFAC setFAC: { .label w = $c - //SEG322 [156] (byte*~) prepareMEM::mem#9 ← (byte*)(word) setFAC::w#5 [ prepareMEM::mem#9 ] ( main:2::init:5::gen_sintab:57::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#9 ] main:2::init:5::gen_sintab:61::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#9 ] main:2::init:5::gen_sintab:57::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#9 ] main:2::init:5::gen_sintab:61::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#9 ] main:2::init:5::gen_sintab:57::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#9 ] main:2::init:5::gen_sintab:61::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#9 ] main:2::init:5::gen_sintab:57::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#9 ] main:2::init:5::gen_sintab:61::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#9 ] main:2::init:5::gen_sintab:57::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#9 ] main:2::init:5::gen_sintab:61::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#9 ] ) - // (byte*~) prepareMEM::mem#9 = (byte*)(word) setFAC::w#5 // register copy zp ZP_WORD:12 - //SEG323 [157] call prepareMEM param-assignment [ ] ( main:2::init:5::gen_sintab:57::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) - //SEG324 [137] phi from setFAC to prepareMEM [phi:setFAC->prepareMEM] + //SEG319 [155] (byte*~) prepareMEM::mem#8 ← (byte*)(word) setFAC::w#5 [ prepareMEM::mem#8 ] ( main:2::init:5::gen_sintab:57::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#8 ] main:2::init:5::gen_sintab:61::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#8 ] main:2::init:5::gen_sintab:57::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#8 ] main:2::init:5::gen_sintab:61::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#8 ] main:2::init:5::gen_sintab:57::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#8 ] main:2::init:5::gen_sintab:61::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#8 ] main:2::init:5::gen_sintab:57::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#8 ] main:2::init:5::gen_sintab:61::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#8 ] main:2::init:5::gen_sintab:57::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#8 ] main:2::init:5::gen_sintab:61::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#8 ] ) + // (byte*~) prepareMEM::mem#8 = (byte*)(word) setFAC::w#5 // register copy zp ZP_WORD:12 + //SEG320 [156] call prepareMEM param-assignment [ ] ( main:2::init:5::gen_sintab:57::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + //SEG321 [136] phi from setFAC to prepareMEM [phi:setFAC->prepareMEM] prepareMEM_from_setFAC: - //SEG325 [137] phi (byte*) prepareMEM::mem#5 = (byte*~) prepareMEM::mem#9 [phi:setFAC->prepareMEM#0] -- register_copy + //SEG322 [136] phi (byte*) prepareMEM::mem#5 = (byte*~) prepareMEM::mem#8 [phi:setFAC->prepareMEM#0] -- register_copy jsr prepareMEM jmp b1 - //SEG326 setFAC::@1 + //SEG323 setFAC::@1 b1: - //SEG327 asm { ldy$fe lda$ff jsr$b391 } + //SEG324 asm { ldy$fe lda$ff jsr$b391 } ldy $fe lda $ff jsr $b391 jmp breturn - //SEG328 setFAC::@return + //SEG325 setFAC::@return breturn: - //SEG329 [159] return [ ] ( main:2::init:5::gen_sintab:57::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + //SEG326 [158] return [ ] ( main:2::init:5::gen_sintab:57::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) rts } -//SEG330 setMEMtoFAC +//SEG327 setMEMtoFAC setMEMtoFAC: { .label mem = $c - //SEG331 [161] (byte*) prepareMEM::mem#1 ← (byte*) setMEMtoFAC::mem#5 [ prepareMEM::mem#1 ] ( main:2::init:5::gen_sintab:57::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#1 ] ) + //SEG328 [160] (byte*) prepareMEM::mem#1 ← (byte*) setMEMtoFAC::mem#5 [ prepareMEM::mem#1 ] ( main:2::init:5::gen_sintab:57::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#1 ] ) // (byte*) prepareMEM::mem#1 = (byte*) setMEMtoFAC::mem#5 // register copy zp ZP_WORD:12 - //SEG332 [162] call prepareMEM param-assignment [ ] ( main:2::init:5::gen_sintab:57::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) - //SEG333 [137] phi from setMEMtoFAC to prepareMEM [phi:setMEMtoFAC->prepareMEM] + //SEG329 [161] call prepareMEM param-assignment [ ] ( main:2::init:5::gen_sintab:57::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + //SEG330 [136] phi from setMEMtoFAC to prepareMEM [phi:setMEMtoFAC->prepareMEM] prepareMEM_from_setMEMtoFAC: - //SEG334 [137] phi (byte*) prepareMEM::mem#5 = (byte*) prepareMEM::mem#1 [phi:setMEMtoFAC->prepareMEM#0] -- register_copy + //SEG331 [136] phi (byte*) prepareMEM::mem#5 = (byte*) prepareMEM::mem#1 [phi:setMEMtoFAC->prepareMEM#0] -- register_copy jsr prepareMEM jmp b1 - //SEG335 setMEMtoFAC::@1 + //SEG332 setMEMtoFAC::@1 b1: - //SEG336 asm { ldx$fe ldy$ff jsr$bbd4 } + //SEG333 asm { ldx$fe ldy$ff jsr$bbd4 } ldx $fe ldy $ff jsr $bbd4 jmp breturn - //SEG337 setMEMtoFAC::@return + //SEG334 setMEMtoFAC::@return breturn: - //SEG338 [164] return [ ] ( main:2::init:5::gen_sintab:57::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + //SEG335 [163] return [ ] ( main:2::init:5::gen_sintab:57::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) rts } -//SEG339 subFACfromARG +//SEG336 subFACfromARG subFACfromARG: { - //SEG340 asm { jsr$b853 } + //SEG337 asm { jsr$b853 } jsr $b853 jmp breturn - //SEG341 subFACfromARG::@return + //SEG338 subFACfromARG::@return breturn: - //SEG342 [166] return [ ] ( main:2::init:5::gen_sintab:57::subFACfromARG:82 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::subFACfromARG:82 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ) + //SEG339 [165] return [ ] ( main:2::init:5::gen_sintab:57::subFACfromARG:82 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::subFACfromARG:82 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ) rts } -//SEG343 setARGtoFAC +//SEG340 setARGtoFAC setARGtoFAC: { - //SEG344 asm { jsr$bc0f } + //SEG341 asm { jsr$bc0f } jsr $bc0f jmp breturn - //SEG345 setARGtoFAC::@return + //SEG342 setARGtoFAC::@return breturn: - //SEG346 [168] return [ ] ( main:2::init:5::gen_sintab:57::setARGtoFAC:75 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setARGtoFAC:75 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ) + //SEG343 [167] return [ ] ( main:2::init:5::gen_sintab:57::setARGtoFAC:75 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setARGtoFAC:75 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ) rts } -//SEG347 progress_init +//SEG344 progress_init progress_init: { .label line = $a jmp breturn - //SEG348 progress_init::@return + //SEG345 progress_init::@return breturn: - //SEG349 [170] return [ progress_init::line#2 ] ( main:2::init:5::progress_init:55 [ progress_init::line#2 ] main:2::init:5::progress_init:59 [ progress_init::line#2 ] ) + //SEG346 [169] return [ progress_init::line#2 ] ( main:2::init:5::progress_init:55 [ progress_init::line#2 ] main:2::init:5::progress_init:59 [ progress_init::line#2 ] ) rts } -//SEG350 gen_sprites +//SEG347 gen_sprites gen_sprites: { .label spr = 8 .label i = 2 - //SEG351 [172] phi from gen_sprites to gen_sprites::@1 [phi:gen_sprites->gen_sprites::@1] + //SEG348 [171] phi from gen_sprites to gen_sprites::@1 [phi:gen_sprites->gen_sprites::@1] b1_from_gen_sprites: - //SEG352 [172] phi (byte*) gen_sprites::spr#2 = (const byte*) sprites#0 [phi:gen_sprites->gen_sprites::@1#0] -- pbuz1=pbuc1 + //SEG349 [171] phi (byte*) gen_sprites::spr#2 = (const byte*) sprites#0 [phi:gen_sprites->gen_sprites::@1#0] -- pbuz1=pbuc1 lda #sprites sta spr+1 - //SEG353 [172] phi (byte) gen_sprites::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gen_sprites->gen_sprites::@1#1] -- vbuz1=vbuc1 + //SEG350 [171] phi (byte) gen_sprites::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gen_sprites->gen_sprites::@1#1] -- vbuz1=vbuc1 lda #0 sta i jmp b1 - //SEG354 [172] phi from gen_sprites::@3 to gen_sprites::@1 [phi:gen_sprites::@3->gen_sprites::@1] + //SEG351 [171] phi from gen_sprites::@3 to gen_sprites::@1 [phi:gen_sprites::@3->gen_sprites::@1] b1_from_b3: - //SEG355 [172] phi (byte*) gen_sprites::spr#2 = (byte*) gen_sprites::spr#1 [phi:gen_sprites::@3->gen_sprites::@1#0] -- register_copy - //SEG356 [172] phi (byte) gen_sprites::i#2 = (byte) gen_sprites::i#1 [phi:gen_sprites::@3->gen_sprites::@1#1] -- register_copy + //SEG352 [171] phi (byte*) gen_sprites::spr#2 = (byte*) gen_sprites::spr#1 [phi:gen_sprites::@3->gen_sprites::@1#0] -- register_copy + //SEG353 [171] phi (byte) gen_sprites::i#2 = (byte) gen_sprites::i#1 [phi:gen_sprites::@3->gen_sprites::@1#1] -- register_copy jmp b1 - //SEG357 gen_sprites::@1 + //SEG354 gen_sprites::@1 b1: - //SEG358 [173] (byte) gen_chargen_sprite::ch#0 ← *((const string) gen_sprites::cml#0 + (byte) gen_sprites::i#2) [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::ch#0 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::ch#0 ] ) -- vbuyy=pbuc1_derefidx_vbuz1 + //SEG355 [172] (byte) gen_chargen_sprite::ch#0 ← *((const string) gen_sprites::cml#0 + (byte) gen_sprites::i#2) [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::ch#0 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::ch#0 ] ) -- vbuyy=pbuc1_derefidx_vbuz1 ldx i ldy cml,x - //SEG359 [174] (byte*) gen_chargen_sprite::sprite#0 ← (byte*) gen_sprites::spr#2 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::ch#0 gen_chargen_sprite::sprite#0 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::ch#0 gen_chargen_sprite::sprite#0 ] ) -- pbuz1=pbuz2 + //SEG356 [173] (byte*) gen_chargen_sprite::sprite#0 ← (byte*) gen_sprites::spr#2 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::ch#0 gen_chargen_sprite::sprite#0 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::ch#0 gen_chargen_sprite::sprite#0 ] ) -- pbuz1=pbuz2 lda spr sta gen_chargen_sprite.sprite lda spr+1 sta gen_chargen_sprite.sprite+1 - //SEG360 [175] call gen_chargen_sprite param-assignment [ gen_sprites::i#2 gen_sprites::spr#2 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#2 gen_sprites::spr#2 ] ) + //SEG357 [174] call gen_chargen_sprite param-assignment [ gen_sprites::i#2 gen_sprites::spr#2 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#2 gen_sprites::spr#2 ] ) jsr gen_chargen_sprite jmp b3 - //SEG361 gen_sprites::@3 + //SEG358 gen_sprites::@3 b3: - //SEG362 [176] (byte*) gen_sprites::spr#1 ← (byte*) gen_sprites::spr#2 + (byte/signed byte/word/signed word/dword/signed dword) 64 [ gen_sprites::i#2 gen_sprites::spr#1 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#2 gen_sprites::spr#1 ] ) -- pbuz1=pbuz1_plus_vbuc1 + //SEG359 [175] (byte*) gen_sprites::spr#1 ← (byte*) gen_sprites::spr#2 + (byte/signed byte/word/signed word/dword/signed dword) 64 [ gen_sprites::i#2 gen_sprites::spr#1 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#2 gen_sprites::spr#1 ] ) -- pbuz1=pbuz1_plus_vbuc1 lda spr clc adc #$40 @@ -8950,20 +8912,20 @@ gen_sprites: { bcc !+ inc spr+1 !: - //SEG363 [177] (byte) gen_sprites::i#1 ← ++ (byte) gen_sprites::i#2 [ gen_sprites::i#1 gen_sprites::spr#1 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#1 gen_sprites::spr#1 ] ) -- vbuz1=_inc_vbuz1 + //SEG360 [176] (byte) gen_sprites::i#1 ← ++ (byte) gen_sprites::i#2 [ gen_sprites::i#1 gen_sprites::spr#1 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#1 gen_sprites::spr#1 ] ) -- vbuz1=_inc_vbuz1 inc i - //SEG364 [178] if((byte) gen_sprites::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 7) goto gen_sprites::@1 [ gen_sprites::i#1 gen_sprites::spr#1 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#1 gen_sprites::spr#1 ] ) -- vbuz1_neq_vbuc1_then_la1 + //SEG361 [177] if((byte) gen_sprites::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 7) goto gen_sprites::@1 [ gen_sprites::i#1 gen_sprites::spr#1 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#1 gen_sprites::spr#1 ] ) -- vbuz1_neq_vbuc1_then_la1 lda i cmp #7 bne b1_from_b3 jmp breturn - //SEG365 gen_sprites::@return + //SEG362 gen_sprites::@return breturn: - //SEG366 [179] return [ ] ( main:2::init:5::gen_sprites:53 [ ] ) + //SEG363 [178] return [ ] ( main:2::init:5::gen_sprites:53 [ ] ) rts cml: .text "camelot" } -//SEG367 gen_chargen_sprite +//SEG364 gen_chargen_sprite gen_chargen_sprite: { .label _0 = $c .label _1 = $c @@ -8974,19 +8936,19 @@ gen_chargen_sprite: { .label x = 5 .label y = 3 .label c = 6 - //SEG368 [180] (word~) gen_chargen_sprite::$0 ← ((word)) (byte) gen_chargen_sprite::ch#0 [ gen_chargen_sprite::sprite#0 gen_chargen_sprite::$0 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::sprite#0 gen_chargen_sprite::$0 ] ) -- vwuz1=_word_vbuyy + //SEG365 [179] (word~) gen_chargen_sprite::$0 ← ((word)) (byte) gen_chargen_sprite::ch#0 [ gen_chargen_sprite::sprite#0 gen_chargen_sprite::$0 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::sprite#0 gen_chargen_sprite::$0 ] ) -- vwuz1=_word_vbuyy tya sta _0 lda #0 sta _0+1 - //SEG369 [181] (word~) gen_chargen_sprite::$1 ← (word~) gen_chargen_sprite::$0 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ gen_chargen_sprite::sprite#0 gen_chargen_sprite::$1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::sprite#0 gen_chargen_sprite::$1 ] ) -- vwuz1=vwuz1_rol_3 + //SEG366 [180] (word~) gen_chargen_sprite::$1 ← (word~) gen_chargen_sprite::$0 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ gen_chargen_sprite::sprite#0 gen_chargen_sprite::$1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::sprite#0 gen_chargen_sprite::$1 ] ) -- vwuz1=vwuz1_rol_3 asl _1 rol _1+1 asl _1 rol _1+1 asl _1 rol _1+1 - //SEG370 [182] (byte*) gen_chargen_sprite::chargen#0 ← (const byte*) CHARGEN#0 + (word~) gen_chargen_sprite::$1 [ gen_chargen_sprite::sprite#0 gen_chargen_sprite::chargen#0 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::sprite#0 gen_chargen_sprite::chargen#0 ] ) -- pbuz1=pbuc1_plus_vwuz1 + //SEG367 [181] (byte*) gen_chargen_sprite::chargen#0 ← (const byte*) CHARGEN#0 + (word~) gen_chargen_sprite::$1 [ gen_chargen_sprite::sprite#0 gen_chargen_sprite::chargen#0 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::sprite#0 gen_chargen_sprite::chargen#0 ] ) -- pbuz1=pbuc1_plus_vwuz1 clc lda chargen adc #CHARGEN sta chargen+1 - //SEG371 asm { sei } + //SEG368 asm { sei } sei - //SEG372 [184] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) 50 [ gen_chargen_sprite::sprite#0 gen_chargen_sprite::chargen#0 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::sprite#0 gen_chargen_sprite::chargen#0 ] ) -- _deref_pbuc1=vbuc2 + //SEG369 [183] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) 50 [ gen_chargen_sprite::sprite#0 gen_chargen_sprite::chargen#0 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::sprite#0 gen_chargen_sprite::chargen#0 ] ) -- _deref_pbuc1=vbuc2 lda #$32 sta PROCPORT - //SEG373 [185] phi from gen_chargen_sprite to gen_chargen_sprite::@1 [phi:gen_chargen_sprite->gen_chargen_sprite::@1] + //SEG370 [184] phi from gen_chargen_sprite to gen_chargen_sprite::@1 [phi:gen_chargen_sprite->gen_chargen_sprite::@1] b1_from_gen_chargen_sprite: - //SEG374 [185] phi (byte*) gen_chargen_sprite::sprite#11 = (byte*) gen_chargen_sprite::sprite#0 [phi:gen_chargen_sprite->gen_chargen_sprite::@1#0] -- register_copy - //SEG375 [185] phi (byte) gen_chargen_sprite::y#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gen_chargen_sprite->gen_chargen_sprite::@1#1] -- vbuz1=vbuc1 + //SEG371 [184] phi (byte*) gen_chargen_sprite::sprite#11 = (byte*) gen_chargen_sprite::sprite#0 [phi:gen_chargen_sprite->gen_chargen_sprite::@1#0] -- register_copy + //SEG372 [184] phi (byte) gen_chargen_sprite::y#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gen_chargen_sprite->gen_chargen_sprite::@1#1] -- vbuz1=vbuc1 lda #0 sta y jmp b1 - //SEG376 [185] phi from gen_chargen_sprite::@9 to gen_chargen_sprite::@1 [phi:gen_chargen_sprite::@9->gen_chargen_sprite::@1] + //SEG373 [184] phi from gen_chargen_sprite::@9 to gen_chargen_sprite::@1 [phi:gen_chargen_sprite::@9->gen_chargen_sprite::@1] b1_from_b9: - //SEG377 [185] phi (byte*) gen_chargen_sprite::sprite#11 = (byte*) gen_chargen_sprite::sprite#2 [phi:gen_chargen_sprite::@9->gen_chargen_sprite::@1#0] -- register_copy - //SEG378 [185] phi (byte) gen_chargen_sprite::y#2 = (byte) gen_chargen_sprite::y#1 [phi:gen_chargen_sprite::@9->gen_chargen_sprite::@1#1] -- register_copy + //SEG374 [184] phi (byte*) gen_chargen_sprite::sprite#11 = (byte*) gen_chargen_sprite::sprite#2 [phi:gen_chargen_sprite::@9->gen_chargen_sprite::@1#0] -- register_copy + //SEG375 [184] phi (byte) gen_chargen_sprite::y#2 = (byte) gen_chargen_sprite::y#1 [phi:gen_chargen_sprite::@9->gen_chargen_sprite::@1#1] -- register_copy jmp b1 - //SEG379 gen_chargen_sprite::@1 + //SEG376 gen_chargen_sprite::@1 b1: - //SEG380 [186] (byte) gen_chargen_sprite::bits#0 ← *((byte*) gen_chargen_sprite::chargen#0 + (byte) gen_chargen_sprite::y#2) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#11 gen_chargen_sprite::bits#0 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#11 gen_chargen_sprite::bits#0 ] ) -- vbuz1=pbuz2_derefidx_vbuz3 + //SEG377 [185] (byte) gen_chargen_sprite::bits#0 ← *((byte*) gen_chargen_sprite::chargen#0 + (byte) gen_chargen_sprite::y#2) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#11 gen_chargen_sprite::bits#0 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#11 gen_chargen_sprite::bits#0 ] ) -- vbuz1=pbuz2_derefidx_vbuz3 ldy y lda (chargen),y sta bits - //SEG381 [187] phi from gen_chargen_sprite::@1 to gen_chargen_sprite::@2 [phi:gen_chargen_sprite::@1->gen_chargen_sprite::@2] + //SEG378 [186] phi from gen_chargen_sprite::@1 to gen_chargen_sprite::@2 [phi:gen_chargen_sprite::@1->gen_chargen_sprite::@2] b2_from_b1: - //SEG382 [187] phi (byte) gen_chargen_sprite::x#6 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gen_chargen_sprite::@1->gen_chargen_sprite::@2#0] -- vbuz1=vbuc1 + //SEG379 [186] phi (byte) gen_chargen_sprite::x#6 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gen_chargen_sprite::@1->gen_chargen_sprite::@2#0] -- vbuz1=vbuc1 lda #0 sta x - //SEG383 [187] phi (byte*) gen_chargen_sprite::sprite#10 = (byte*) gen_chargen_sprite::sprite#11 [phi:gen_chargen_sprite::@1->gen_chargen_sprite::@2#1] -- register_copy - //SEG384 [187] phi (byte) gen_chargen_sprite::s_gen_cnt#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gen_chargen_sprite::@1->gen_chargen_sprite::@2#2] -- vbuyy=vbuc1 + //SEG380 [186] phi (byte*) gen_chargen_sprite::sprite#10 = (byte*) gen_chargen_sprite::sprite#11 [phi:gen_chargen_sprite::@1->gen_chargen_sprite::@2#1] -- register_copy + //SEG381 [186] phi (byte) gen_chargen_sprite::s_gen_cnt#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gen_chargen_sprite::@1->gen_chargen_sprite::@2#2] -- vbuyy=vbuc1 ldy #0 - //SEG385 [187] phi (byte) gen_chargen_sprite::s_gen#5 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gen_chargen_sprite::@1->gen_chargen_sprite::@2#3] -- vbuz1=vbuc1 + //SEG382 [186] phi (byte) gen_chargen_sprite::s_gen#5 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gen_chargen_sprite::@1->gen_chargen_sprite::@2#3] -- vbuz1=vbuc1 lda #0 sta s_gen - //SEG386 [187] phi (byte) gen_chargen_sprite::bits#2 = (byte) gen_chargen_sprite::bits#0 [phi:gen_chargen_sprite::@1->gen_chargen_sprite::@2#4] -- register_copy + //SEG383 [186] phi (byte) gen_chargen_sprite::bits#2 = (byte) gen_chargen_sprite::bits#0 [phi:gen_chargen_sprite::@1->gen_chargen_sprite::@2#4] -- register_copy jmp b2 - //SEG387 [187] phi from gen_chargen_sprite::@8 to gen_chargen_sprite::@2 [phi:gen_chargen_sprite::@8->gen_chargen_sprite::@2] + //SEG384 [186] phi from gen_chargen_sprite::@8 to gen_chargen_sprite::@2 [phi:gen_chargen_sprite::@8->gen_chargen_sprite::@2] b2_from_b8: - //SEG388 [187] phi (byte) gen_chargen_sprite::x#6 = (byte) gen_chargen_sprite::x#1 [phi:gen_chargen_sprite::@8->gen_chargen_sprite::@2#0] -- register_copy - //SEG389 [187] phi (byte*) gen_chargen_sprite::sprite#10 = (byte*) gen_chargen_sprite::sprite#4 [phi:gen_chargen_sprite::@8->gen_chargen_sprite::@2#1] -- register_copy - //SEG390 [187] phi (byte) gen_chargen_sprite::s_gen_cnt#4 = (byte) gen_chargen_sprite::s_gen_cnt#5 [phi:gen_chargen_sprite::@8->gen_chargen_sprite::@2#2] -- register_copy - //SEG391 [187] phi (byte) gen_chargen_sprite::s_gen#5 = (byte) gen_chargen_sprite::s_gen#6 [phi:gen_chargen_sprite::@8->gen_chargen_sprite::@2#3] -- register_copy - //SEG392 [187] phi (byte) gen_chargen_sprite::bits#2 = (byte) gen_chargen_sprite::bits#1 [phi:gen_chargen_sprite::@8->gen_chargen_sprite::@2#4] -- register_copy + //SEG385 [186] phi (byte) gen_chargen_sprite::x#6 = (byte) gen_chargen_sprite::x#1 [phi:gen_chargen_sprite::@8->gen_chargen_sprite::@2#0] -- register_copy + //SEG386 [186] phi (byte*) gen_chargen_sprite::sprite#10 = (byte*) gen_chargen_sprite::sprite#4 [phi:gen_chargen_sprite::@8->gen_chargen_sprite::@2#1] -- register_copy + //SEG387 [186] phi (byte) gen_chargen_sprite::s_gen_cnt#4 = (byte) gen_chargen_sprite::s_gen_cnt#5 [phi:gen_chargen_sprite::@8->gen_chargen_sprite::@2#2] -- register_copy + //SEG388 [186] phi (byte) gen_chargen_sprite::s_gen#5 = (byte) gen_chargen_sprite::s_gen#6 [phi:gen_chargen_sprite::@8->gen_chargen_sprite::@2#3] -- register_copy + //SEG389 [186] phi (byte) gen_chargen_sprite::bits#2 = (byte) gen_chargen_sprite::bits#1 [phi:gen_chargen_sprite::@8->gen_chargen_sprite::@2#4] -- register_copy jmp b2 - //SEG393 gen_chargen_sprite::@2 + //SEG390 gen_chargen_sprite::@2 b2: - //SEG394 [188] (byte~) gen_chargen_sprite::$3 ← (byte) gen_chargen_sprite::bits#2 & (byte/word/signed word/dword/signed dword) 128 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 gen_chargen_sprite::$3 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 gen_chargen_sprite::$3 ] ) -- vbuaa=vbuz1_band_vbuc1 + //SEG391 [187] (byte~) gen_chargen_sprite::$3 ← (byte) gen_chargen_sprite::bits#2 & (byte/word/signed word/dword/signed dword) 128 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 gen_chargen_sprite::$3 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 gen_chargen_sprite::$3 ] ) -- vbuaa=vbuz1_band_vbuc1 lda #$80 and bits - //SEG395 [189] if((byte~) gen_chargen_sprite::$3==(byte/signed byte/word/signed word/dword/signed dword) 0) goto gen_chargen_sprite::@3 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 ] ) -- vbuaa_eq_0_then_la1 + //SEG392 [188] if((byte~) gen_chargen_sprite::$3==(byte/signed byte/word/signed word/dword/signed dword) 0) goto gen_chargen_sprite::@3 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 ] ) -- vbuaa_eq_0_then_la1 cmp #0 beq b3_from_b2 - //SEG396 [190] phi from gen_chargen_sprite::@2 to gen_chargen_sprite::@6 [phi:gen_chargen_sprite::@2->gen_chargen_sprite::@6] + //SEG393 [189] phi from gen_chargen_sprite::@2 to gen_chargen_sprite::@6 [phi:gen_chargen_sprite::@2->gen_chargen_sprite::@6] b6_from_b2: jmp b6 - //SEG397 gen_chargen_sprite::@6 + //SEG394 gen_chargen_sprite::@6 b6: - //SEG398 [191] phi from gen_chargen_sprite::@6 to gen_chargen_sprite::@3 [phi:gen_chargen_sprite::@6->gen_chargen_sprite::@3] + //SEG395 [190] phi from gen_chargen_sprite::@6 to gen_chargen_sprite::@3 [phi:gen_chargen_sprite::@6->gen_chargen_sprite::@3] b3_from_b6: - //SEG399 [191] phi (byte) gen_chargen_sprite::c#3 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:gen_chargen_sprite::@6->gen_chargen_sprite::@3#0] -- vbuz1=vbuc1 + //SEG396 [190] phi (byte) gen_chargen_sprite::c#3 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:gen_chargen_sprite::@6->gen_chargen_sprite::@3#0] -- vbuz1=vbuc1 lda #1 sta c jmp b3 - //SEG400 [191] phi from gen_chargen_sprite::@2 to gen_chargen_sprite::@3 [phi:gen_chargen_sprite::@2->gen_chargen_sprite::@3] + //SEG397 [190] phi from gen_chargen_sprite::@2 to gen_chargen_sprite::@3 [phi:gen_chargen_sprite::@2->gen_chargen_sprite::@3] b3_from_b2: - //SEG401 [191] phi (byte) gen_chargen_sprite::c#3 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gen_chargen_sprite::@2->gen_chargen_sprite::@3#0] -- vbuz1=vbuc1 + //SEG398 [190] phi (byte) gen_chargen_sprite::c#3 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gen_chargen_sprite::@2->gen_chargen_sprite::@3#0] -- vbuz1=vbuc1 lda #0 sta c jmp b3 - //SEG402 gen_chargen_sprite::@3 + //SEG399 gen_chargen_sprite::@3 b3: - //SEG403 [192] phi from gen_chargen_sprite::@3 to gen_chargen_sprite::@4 [phi:gen_chargen_sprite::@3->gen_chargen_sprite::@4] + //SEG400 [191] phi from gen_chargen_sprite::@3 to gen_chargen_sprite::@4 [phi:gen_chargen_sprite::@3->gen_chargen_sprite::@4] b4_from_b3: - //SEG404 [192] phi (byte*) gen_chargen_sprite::sprite#3 = (byte*) gen_chargen_sprite::sprite#10 [phi:gen_chargen_sprite::@3->gen_chargen_sprite::@4#0] -- register_copy - //SEG405 [192] phi (byte) gen_chargen_sprite::b#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gen_chargen_sprite::@3->gen_chargen_sprite::@4#1] -- vbuxx=vbuc1 + //SEG401 [191] phi (byte*) gen_chargen_sprite::sprite#3 = (byte*) gen_chargen_sprite::sprite#10 [phi:gen_chargen_sprite::@3->gen_chargen_sprite::@4#0] -- register_copy + //SEG402 [191] phi (byte) gen_chargen_sprite::b#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gen_chargen_sprite::@3->gen_chargen_sprite::@4#1] -- vbuxx=vbuc1 ldx #0 - //SEG406 [192] phi (byte) gen_chargen_sprite::s_gen_cnt#3 = (byte) gen_chargen_sprite::s_gen_cnt#4 [phi:gen_chargen_sprite::@3->gen_chargen_sprite::@4#2] -- register_copy - //SEG407 [192] phi (byte) gen_chargen_sprite::s_gen#3 = (byte) gen_chargen_sprite::s_gen#5 [phi:gen_chargen_sprite::@3->gen_chargen_sprite::@4#3] -- register_copy + //SEG403 [191] phi (byte) gen_chargen_sprite::s_gen_cnt#3 = (byte) gen_chargen_sprite::s_gen_cnt#4 [phi:gen_chargen_sprite::@3->gen_chargen_sprite::@4#2] -- register_copy + //SEG404 [191] phi (byte) gen_chargen_sprite::s_gen#3 = (byte) gen_chargen_sprite::s_gen#5 [phi:gen_chargen_sprite::@3->gen_chargen_sprite::@4#3] -- register_copy jmp b4 - //SEG408 [192] phi from gen_chargen_sprite::@5 to gen_chargen_sprite::@4 [phi:gen_chargen_sprite::@5->gen_chargen_sprite::@4] + //SEG405 [191] phi from gen_chargen_sprite::@5 to gen_chargen_sprite::@4 [phi:gen_chargen_sprite::@5->gen_chargen_sprite::@4] b4_from_b5: - //SEG409 [192] phi (byte*) gen_chargen_sprite::sprite#3 = (byte*) gen_chargen_sprite::sprite#4 [phi:gen_chargen_sprite::@5->gen_chargen_sprite::@4#0] -- register_copy - //SEG410 [192] phi (byte) gen_chargen_sprite::b#2 = (byte) gen_chargen_sprite::b#1 [phi:gen_chargen_sprite::@5->gen_chargen_sprite::@4#1] -- register_copy - //SEG411 [192] phi (byte) gen_chargen_sprite::s_gen_cnt#3 = (byte) gen_chargen_sprite::s_gen_cnt#5 [phi:gen_chargen_sprite::@5->gen_chargen_sprite::@4#2] -- register_copy - //SEG412 [192] phi (byte) gen_chargen_sprite::s_gen#3 = (byte) gen_chargen_sprite::s_gen#6 [phi:gen_chargen_sprite::@5->gen_chargen_sprite::@4#3] -- register_copy + //SEG406 [191] phi (byte*) gen_chargen_sprite::sprite#3 = (byte*) gen_chargen_sprite::sprite#4 [phi:gen_chargen_sprite::@5->gen_chargen_sprite::@4#0] -- register_copy + //SEG407 [191] phi (byte) gen_chargen_sprite::b#2 = (byte) gen_chargen_sprite::b#1 [phi:gen_chargen_sprite::@5->gen_chargen_sprite::@4#1] -- register_copy + //SEG408 [191] phi (byte) gen_chargen_sprite::s_gen_cnt#3 = (byte) gen_chargen_sprite::s_gen_cnt#5 [phi:gen_chargen_sprite::@5->gen_chargen_sprite::@4#2] -- register_copy + //SEG409 [191] phi (byte) gen_chargen_sprite::s_gen#3 = (byte) gen_chargen_sprite::s_gen#6 [phi:gen_chargen_sprite::@5->gen_chargen_sprite::@4#3] -- register_copy jmp b4 - //SEG413 gen_chargen_sprite::@4 + //SEG410 gen_chargen_sprite::@4 b4: - //SEG414 [193] (byte~) gen_chargen_sprite::$6 ← (byte) gen_chargen_sprite::s_gen#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::$6 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::$6 ] ) -- vbuaa=vbuz1_rol_1 + //SEG411 [192] (byte~) gen_chargen_sprite::$6 ← (byte) gen_chargen_sprite::s_gen#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::$6 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::$6 ] ) -- vbuaa=vbuz1_rol_1 lda s_gen asl - //SEG415 [194] (byte) gen_chargen_sprite::s_gen#1 ← (byte~) gen_chargen_sprite::$6 | (byte) gen_chargen_sprite::c#3 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ) -- vbuz1=vbuaa_bor_vbuz2 + //SEG412 [193] (byte) gen_chargen_sprite::s_gen#1 ← (byte~) gen_chargen_sprite::$6 | (byte) gen_chargen_sprite::c#3 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ) -- vbuz1=vbuaa_bor_vbuz2 ora c sta s_gen - //SEG416 [195] (byte) gen_chargen_sprite::s_gen_cnt#1 ← ++ (byte) gen_chargen_sprite::s_gen_cnt#3 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 gen_chargen_sprite::s_gen_cnt#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 gen_chargen_sprite::s_gen_cnt#1 ] ) -- vbuyy=_inc_vbuyy + //SEG413 [194] (byte) gen_chargen_sprite::s_gen_cnt#1 ← ++ (byte) gen_chargen_sprite::s_gen_cnt#3 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 gen_chargen_sprite::s_gen_cnt#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 gen_chargen_sprite::s_gen_cnt#1 ] ) -- vbuyy=_inc_vbuyy iny - //SEG417 [196] if((byte) gen_chargen_sprite::s_gen_cnt#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto gen_chargen_sprite::@5 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 gen_chargen_sprite::s_gen_cnt#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 gen_chargen_sprite::s_gen_cnt#1 ] ) -- vbuyy_neq_vbuc1_then_la1 + //SEG414 [195] if((byte) gen_chargen_sprite::s_gen_cnt#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto gen_chargen_sprite::@5 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 gen_chargen_sprite::s_gen_cnt#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 gen_chargen_sprite::s_gen_cnt#1 ] ) -- vbuyy_neq_vbuc1_then_la1 cpy #8 bne b5_from_b4 jmp b7 - //SEG418 gen_chargen_sprite::@7 + //SEG415 gen_chargen_sprite::@7 b7: - //SEG419 [197] *((byte*) gen_chargen_sprite::sprite#3 + (byte/signed byte/word/signed word/dword/signed dword) 0) ← (byte) gen_chargen_sprite::s_gen#1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ) -- pbuz1_derefidx_vbuc1=vbuz2 + //SEG416 [196] *((byte*) gen_chargen_sprite::sprite#3 + (byte/signed byte/word/signed word/dword/signed dword) 0) ← (byte) gen_chargen_sprite::s_gen#1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ) -- pbuz1_derefidx_vbuc1=vbuz2 lda s_gen ldy #0 sta (sprite),y - //SEG420 [198] *((byte*) gen_chargen_sprite::sprite#3 + (byte/signed byte/word/signed word/dword/signed dword) 3) ← (byte) gen_chargen_sprite::s_gen#1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ) -- pbuz1_derefidx_vbuc1=vbuz2 + //SEG417 [197] *((byte*) gen_chargen_sprite::sprite#3 + (byte/signed byte/word/signed word/dword/signed dword) 3) ← (byte) gen_chargen_sprite::s_gen#1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ) -- pbuz1_derefidx_vbuc1=vbuz2 lda s_gen ldy #3 sta (sprite),y - //SEG421 [199] *((byte*) gen_chargen_sprite::sprite#3 + (byte/signed byte/word/signed word/dword/signed dword) 6) ← (byte) gen_chargen_sprite::s_gen#1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 ] ) -- pbuz1_derefidx_vbuc1=vbuz2 + //SEG418 [198] *((byte*) gen_chargen_sprite::sprite#3 + (byte/signed byte/word/signed word/dword/signed dword) 6) ← (byte) gen_chargen_sprite::s_gen#1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 ] ) -- pbuz1_derefidx_vbuc1=vbuz2 lda s_gen ldy #6 sta (sprite),y - //SEG422 [200] (byte*) gen_chargen_sprite::sprite#1 ← ++ (byte*) gen_chargen_sprite::sprite#3 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#1 ] ) -- pbuz1=_inc_pbuz1 + //SEG419 [199] (byte*) gen_chargen_sprite::sprite#1 ← ++ (byte*) gen_chargen_sprite::sprite#3 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#1 ] ) -- pbuz1=_inc_pbuz1 inc sprite bne !+ inc sprite+1 !: - //SEG423 [201] phi from gen_chargen_sprite::@7 to gen_chargen_sprite::@5 [phi:gen_chargen_sprite::@7->gen_chargen_sprite::@5] + //SEG420 [200] phi from gen_chargen_sprite::@7 to gen_chargen_sprite::@5 [phi:gen_chargen_sprite::@7->gen_chargen_sprite::@5] b5_from_b7: - //SEG424 [201] phi (byte*) gen_chargen_sprite::sprite#4 = (byte*) gen_chargen_sprite::sprite#1 [phi:gen_chargen_sprite::@7->gen_chargen_sprite::@5#0] -- register_copy - //SEG425 [201] phi (byte) gen_chargen_sprite::s_gen_cnt#5 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gen_chargen_sprite::@7->gen_chargen_sprite::@5#1] -- vbuyy=vbuc1 + //SEG421 [200] phi (byte*) gen_chargen_sprite::sprite#4 = (byte*) gen_chargen_sprite::sprite#1 [phi:gen_chargen_sprite::@7->gen_chargen_sprite::@5#0] -- register_copy + //SEG422 [200] phi (byte) gen_chargen_sprite::s_gen_cnt#5 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gen_chargen_sprite::@7->gen_chargen_sprite::@5#1] -- vbuyy=vbuc1 ldy #0 - //SEG426 [201] phi (byte) gen_chargen_sprite::s_gen#6 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gen_chargen_sprite::@7->gen_chargen_sprite::@5#2] -- vbuz1=vbuc1 + //SEG423 [200] phi (byte) gen_chargen_sprite::s_gen#6 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gen_chargen_sprite::@7->gen_chargen_sprite::@5#2] -- vbuz1=vbuc1 lda #0 sta s_gen jmp b5 - //SEG427 [201] phi from gen_chargen_sprite::@4 to gen_chargen_sprite::@5 [phi:gen_chargen_sprite::@4->gen_chargen_sprite::@5] + //SEG424 [200] phi from gen_chargen_sprite::@4 to gen_chargen_sprite::@5 [phi:gen_chargen_sprite::@4->gen_chargen_sprite::@5] b5_from_b4: - //SEG428 [201] phi (byte*) gen_chargen_sprite::sprite#4 = (byte*) gen_chargen_sprite::sprite#3 [phi:gen_chargen_sprite::@4->gen_chargen_sprite::@5#0] -- register_copy - //SEG429 [201] phi (byte) gen_chargen_sprite::s_gen_cnt#5 = (byte) gen_chargen_sprite::s_gen_cnt#1 [phi:gen_chargen_sprite::@4->gen_chargen_sprite::@5#1] -- register_copy - //SEG430 [201] phi (byte) gen_chargen_sprite::s_gen#6 = (byte) gen_chargen_sprite::s_gen#1 [phi:gen_chargen_sprite::@4->gen_chargen_sprite::@5#2] -- register_copy + //SEG425 [200] phi (byte*) gen_chargen_sprite::sprite#4 = (byte*) gen_chargen_sprite::sprite#3 [phi:gen_chargen_sprite::@4->gen_chargen_sprite::@5#0] -- register_copy + //SEG426 [200] phi (byte) gen_chargen_sprite::s_gen_cnt#5 = (byte) gen_chargen_sprite::s_gen_cnt#1 [phi:gen_chargen_sprite::@4->gen_chargen_sprite::@5#1] -- register_copy + //SEG427 [200] phi (byte) gen_chargen_sprite::s_gen#6 = (byte) gen_chargen_sprite::s_gen#1 [phi:gen_chargen_sprite::@4->gen_chargen_sprite::@5#2] -- register_copy jmp b5 - //SEG431 gen_chargen_sprite::@5 + //SEG428 gen_chargen_sprite::@5 b5: - //SEG432 [202] (byte) gen_chargen_sprite::b#1 ← ++ (byte) gen_chargen_sprite::b#2 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::c#3 gen_chargen_sprite::b#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::c#3 gen_chargen_sprite::b#1 ] ) -- vbuxx=_inc_vbuxx + //SEG429 [201] (byte) gen_chargen_sprite::b#1 ← ++ (byte) gen_chargen_sprite::b#2 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::c#3 gen_chargen_sprite::b#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::c#3 gen_chargen_sprite::b#1 ] ) -- vbuxx=_inc_vbuxx inx - //SEG433 [203] if((byte) gen_chargen_sprite::b#1!=(byte/signed byte/word/signed word/dword/signed dword) 3) goto gen_chargen_sprite::@4 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::c#3 gen_chargen_sprite::b#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::c#3 gen_chargen_sprite::b#1 ] ) -- vbuxx_neq_vbuc1_then_la1 + //SEG430 [202] if((byte) gen_chargen_sprite::b#1!=(byte/signed byte/word/signed word/dword/signed dword) 3) goto gen_chargen_sprite::@4 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::c#3 gen_chargen_sprite::b#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::c#3 gen_chargen_sprite::b#1 ] ) -- vbuxx_neq_vbuc1_then_la1 cpx #3 bne b4_from_b5 jmp b8 - //SEG434 gen_chargen_sprite::@8 + //SEG431 gen_chargen_sprite::@8 b8: - //SEG435 [204] (byte) gen_chargen_sprite::bits#1 ← (byte) gen_chargen_sprite::bits#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::x#6 gen_chargen_sprite::bits#1 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::x#6 gen_chargen_sprite::bits#1 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 ] ) -- vbuz1=vbuz1_rol_1 + //SEG432 [203] (byte) gen_chargen_sprite::bits#1 ← (byte) gen_chargen_sprite::bits#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::x#6 gen_chargen_sprite::bits#1 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::x#6 gen_chargen_sprite::bits#1 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 ] ) -- vbuz1=vbuz1_rol_1 asl bits - //SEG436 [205] (byte) gen_chargen_sprite::x#1 ← ++ (byte) gen_chargen_sprite::x#6 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#1 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::x#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#1 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::x#1 ] ) -- vbuz1=_inc_vbuz1 + //SEG433 [204] (byte) gen_chargen_sprite::x#1 ← ++ (byte) gen_chargen_sprite::x#6 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#1 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::x#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#1 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::x#1 ] ) -- vbuz1=_inc_vbuz1 inc x - //SEG437 [206] if((byte) gen_chargen_sprite::x#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto gen_chargen_sprite::@2 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#1 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::x#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#1 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::x#1 ] ) -- vbuz1_neq_vbuc1_then_la1 + //SEG434 [205] if((byte) gen_chargen_sprite::x#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto gen_chargen_sprite::@2 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#1 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::x#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#1 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::x#1 ] ) -- vbuz1_neq_vbuc1_then_la1 lda x cmp #8 bne b2_from_b8 jmp b9 - //SEG438 gen_chargen_sprite::@9 + //SEG435 gen_chargen_sprite::@9 b9: - //SEG439 [207] (byte*) gen_chargen_sprite::sprite#2 ← (byte*) gen_chargen_sprite::sprite#4 + (byte/signed byte/word/signed word/dword/signed dword) 6 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#2 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#2 ] ) -- pbuz1=pbuz1_plus_vbuc1 + //SEG436 [206] (byte*) gen_chargen_sprite::sprite#2 ← (byte*) gen_chargen_sprite::sprite#4 + (byte/signed byte/word/signed word/dword/signed dword) 6 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#2 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#2 ] ) -- pbuz1=pbuz1_plus_vbuc1 lda sprite clc adc #6 @@ -9157,103 +9119,103 @@ gen_chargen_sprite: { bcc !+ inc sprite+1 !: - //SEG440 [208] (byte) gen_chargen_sprite::y#1 ← ++ (byte) gen_chargen_sprite::y#2 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#1 gen_chargen_sprite::sprite#2 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#1 gen_chargen_sprite::sprite#2 ] ) -- vbuz1=_inc_vbuz1 + //SEG437 [207] (byte) gen_chargen_sprite::y#1 ← ++ (byte) gen_chargen_sprite::y#2 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#1 gen_chargen_sprite::sprite#2 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#1 gen_chargen_sprite::sprite#2 ] ) -- vbuz1=_inc_vbuz1 inc y - //SEG441 [209] if((byte) gen_chargen_sprite::y#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto gen_chargen_sprite::@1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#1 gen_chargen_sprite::sprite#2 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#1 gen_chargen_sprite::sprite#2 ] ) -- vbuz1_neq_vbuc1_then_la1 + //SEG438 [208] if((byte) gen_chargen_sprite::y#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto gen_chargen_sprite::@1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#1 gen_chargen_sprite::sprite#2 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#1 gen_chargen_sprite::sprite#2 ] ) -- vbuz1_neq_vbuc1_then_la1 lda y cmp #8 bne b1_from_b9 jmp b10 - //SEG442 gen_chargen_sprite::@10 + //SEG439 gen_chargen_sprite::@10 b10: - //SEG443 [210] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) 55 [ ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 ] ) -- _deref_pbuc1=vbuc2 + //SEG440 [209] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) 55 [ ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 ] ) -- _deref_pbuc1=vbuc2 lda #$37 sta PROCPORT - //SEG444 asm { cli } + //SEG441 asm { cli } cli jmp breturn - //SEG445 gen_chargen_sprite::@return + //SEG442 gen_chargen_sprite::@return breturn: - //SEG446 [212] return [ ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 ] ) + //SEG443 [211] return [ ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 ] ) rts } -//SEG447 place_sprites +//SEG444 place_sprites place_sprites: { .label sprites_ptr = SCREEN+$3f8 .label spr_id = 2 .label spr_x = 3 .label col = 4 - //SEG448 [213] *((const byte*) SPRITES_ENABLE#0) ← (byte/signed byte/word/signed word/dword/signed dword) 127 [ ] ( main:2::init:5::place_sprites:51 [ ] ) -- _deref_pbuc1=vbuc2 + //SEG445 [212] *((const byte*) SPRITES_ENABLE#0) ← (byte/signed byte/word/signed word/dword/signed dword) 127 [ ] ( main:2::init:5::place_sprites:51 [ ] ) -- _deref_pbuc1=vbuc2 lda #$7f sta SPRITES_ENABLE - //SEG449 [214] *((const byte*) SPRITES_EXPAND_X#0) ← (byte/signed byte/word/signed word/dword/signed dword) 127 [ ] ( main:2::init:5::place_sprites:51 [ ] ) -- _deref_pbuc1=vbuc2 + //SEG446 [213] *((const byte*) SPRITES_EXPAND_X#0) ← (byte/signed byte/word/signed word/dword/signed dword) 127 [ ] ( main:2::init:5::place_sprites:51 [ ] ) -- _deref_pbuc1=vbuc2 lda #$7f sta SPRITES_EXPAND_X - //SEG450 [215] *((const byte*) SPRITES_EXPAND_Y#0) ← (byte/signed byte/word/signed word/dword/signed dword) 127 [ ] ( main:2::init:5::place_sprites:51 [ ] ) -- _deref_pbuc1=vbuc2 + //SEG447 [214] *((const byte*) SPRITES_EXPAND_Y#0) ← (byte/signed byte/word/signed word/dword/signed dword) 127 [ ] ( main:2::init:5::place_sprites:51 [ ] ) -- _deref_pbuc1=vbuc2 lda #$7f sta SPRITES_EXPAND_Y - //SEG451 [216] phi from place_sprites to place_sprites::@1 [phi:place_sprites->place_sprites::@1] + //SEG448 [215] phi from place_sprites to place_sprites::@1 [phi:place_sprites->place_sprites::@1] b1_from_place_sprites: - //SEG452 [216] phi (byte) place_sprites::col#2 = (byte/signed byte/word/signed word/dword/signed dword) 5 [phi:place_sprites->place_sprites::@1#0] -- vbuz1=vbuc1 + //SEG449 [215] phi (byte) place_sprites::col#2 = (byte/signed byte/word/signed word/dword/signed dword) 5 [phi:place_sprites->place_sprites::@1#0] -- vbuz1=vbuc1 lda #5 sta col - //SEG453 [216] phi (byte) place_sprites::j2#3 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:place_sprites->place_sprites::@1#1] -- vbuxx=vbuc1 + //SEG450 [215] phi (byte) place_sprites::j2#3 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:place_sprites->place_sprites::@1#1] -- vbuxx=vbuc1 ldx #0 - //SEG454 [216] phi (byte) place_sprites::spr_x#2 = (byte/signed byte/word/signed word/dword/signed dword) 60 [phi:place_sprites->place_sprites::@1#2] -- vbuz1=vbuc1 + //SEG451 [215] phi (byte) place_sprites::spr_x#2 = (byte/signed byte/word/signed word/dword/signed dword) 60 [phi:place_sprites->place_sprites::@1#2] -- vbuz1=vbuc1 lda #$3c sta spr_x - //SEG455 [216] phi (byte) place_sprites::j#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:place_sprites->place_sprites::@1#3] -- vbuyy=vbuc1 + //SEG452 [215] phi (byte) place_sprites::j#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:place_sprites->place_sprites::@1#3] -- vbuyy=vbuc1 ldy #0 - //SEG456 [216] phi (byte) place_sprites::spr_id#2 = ((byte))(const byte*) sprites#0/(byte/signed byte/word/signed word/dword/signed dword) 64 [phi:place_sprites->place_sprites::@1#4] -- vbuz1=vbuc1 + //SEG453 [215] phi (byte) place_sprites::spr_id#2 = ((byte))(const byte*) sprites#0/(byte/signed byte/word/signed word/dword/signed dword) 64 [phi:place_sprites->place_sprites::@1#4] -- vbuz1=vbuc1 lda #$ff&sprites/$40 sta spr_id jmp b1 - //SEG457 [216] phi from place_sprites::@1 to place_sprites::@1 [phi:place_sprites::@1->place_sprites::@1] + //SEG454 [215] phi from place_sprites::@1 to place_sprites::@1 [phi:place_sprites::@1->place_sprites::@1] b1_from_b1: - //SEG458 [216] phi (byte) place_sprites::col#2 = (byte) place_sprites::col#1 [phi:place_sprites::@1->place_sprites::@1#0] -- register_copy - //SEG459 [216] phi (byte) place_sprites::j2#3 = (byte) place_sprites::j2#2 [phi:place_sprites::@1->place_sprites::@1#1] -- register_copy - //SEG460 [216] phi (byte) place_sprites::spr_x#2 = (byte) place_sprites::spr_x#1 [phi:place_sprites::@1->place_sprites::@1#2] -- register_copy - //SEG461 [216] phi (byte) place_sprites::j#2 = (byte) place_sprites::j#1 [phi:place_sprites::@1->place_sprites::@1#3] -- register_copy - //SEG462 [216] phi (byte) place_sprites::spr_id#2 = (byte) place_sprites::spr_id#1 [phi:place_sprites::@1->place_sprites::@1#4] -- register_copy + //SEG455 [215] phi (byte) place_sprites::col#2 = (byte) place_sprites::col#1 [phi:place_sprites::@1->place_sprites::@1#0] -- register_copy + //SEG456 [215] phi (byte) place_sprites::j2#3 = (byte) place_sprites::j2#2 [phi:place_sprites::@1->place_sprites::@1#1] -- register_copy + //SEG457 [215] phi (byte) place_sprites::spr_x#2 = (byte) place_sprites::spr_x#1 [phi:place_sprites::@1->place_sprites::@1#2] -- register_copy + //SEG458 [215] phi (byte) place_sprites::j#2 = (byte) place_sprites::j#1 [phi:place_sprites::@1->place_sprites::@1#3] -- register_copy + //SEG459 [215] phi (byte) place_sprites::spr_id#2 = (byte) place_sprites::spr_id#1 [phi:place_sprites::@1->place_sprites::@1#4] -- register_copy jmp b1 - //SEG463 place_sprites::@1 + //SEG460 place_sprites::@1 b1: - //SEG464 [217] *((const byte*) place_sprites::sprites_ptr#0 + (byte) place_sprites::j#2) ← (byte) place_sprites::spr_id#2 [ place_sprites::spr_id#2 place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 ] ( main:2::init:5::place_sprites:51 [ place_sprites::spr_id#2 place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 ] ) -- pbuc1_derefidx_vbuyy=vbuz1 + //SEG461 [216] *((const byte*) place_sprites::sprites_ptr#0 + (byte) place_sprites::j#2) ← (byte) place_sprites::spr_id#2 [ place_sprites::spr_id#2 place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 ] ( main:2::init:5::place_sprites:51 [ place_sprites::spr_id#2 place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 ] ) -- pbuc1_derefidx_vbuyy=vbuz1 lda spr_id sta sprites_ptr,y - //SEG465 [218] (byte) place_sprites::spr_id#1 ← ++ (byte) place_sprites::spr_id#2 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ) -- vbuz1=_inc_vbuz1 + //SEG462 [217] (byte) place_sprites::spr_id#1 ← ++ (byte) place_sprites::spr_id#2 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ) -- vbuz1=_inc_vbuz1 inc spr_id - //SEG466 [219] *((const byte*) SPRITES_XPOS#0 + (byte) place_sprites::j2#3) ← (byte) place_sprites::spr_x#2 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ) -- pbuc1_derefidx_vbuxx=vbuz1 + //SEG463 [218] *((const byte*) SPRITES_XPOS#0 + (byte) place_sprites::j2#3) ← (byte) place_sprites::spr_x#2 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ) -- pbuc1_derefidx_vbuxx=vbuz1 lda spr_x sta SPRITES_XPOS,x - //SEG467 [220] *((const byte*) SPRITES_YPOS#0 + (byte) place_sprites::j2#3) ← (byte/signed byte/word/signed word/dword/signed dword) 80 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ) -- pbuc1_derefidx_vbuxx=vbuc2 + //SEG464 [219] *((const byte*) SPRITES_YPOS#0 + (byte) place_sprites::j2#3) ← (byte/signed byte/word/signed word/dword/signed dword) 80 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ) -- pbuc1_derefidx_vbuxx=vbuc2 lda #$50 sta SPRITES_YPOS,x - //SEG468 [221] *((const byte*) SPRITES_COLS#0 + (byte) place_sprites::j#2) ← (byte) place_sprites::col#2 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ) -- pbuc1_derefidx_vbuyy=vbuz1 + //SEG465 [220] *((const byte*) SPRITES_COLS#0 + (byte) place_sprites::j#2) ← (byte) place_sprites::col#2 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ) -- pbuc1_derefidx_vbuyy=vbuz1 lda col sta SPRITES_COLS,y - //SEG469 [222] (byte) place_sprites::spr_x#1 ← (byte) place_sprites::spr_x#2 + (byte/signed byte/word/signed word/dword/signed dword) 32 [ place_sprites::j#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 place_sprites::spr_x#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 place_sprites::spr_x#1 ] ) -- vbuz1=vbuz1_plus_vbuc1 + //SEG466 [221] (byte) place_sprites::spr_x#1 ← (byte) place_sprites::spr_x#2 + (byte/signed byte/word/signed word/dword/signed dword) 32 [ place_sprites::j#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 place_sprites::spr_x#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 place_sprites::spr_x#1 ] ) -- vbuz1=vbuz1_plus_vbuc1 lda #$20 clc adc spr_x sta spr_x - //SEG470 [223] (byte) place_sprites::col#1 ← (byte) place_sprites::col#2 ^ (byte/signed byte/word/signed word/dword/signed dword) 7^(byte/signed byte/word/signed word/dword/signed dword) 5 [ place_sprites::j#2 place_sprites::j2#3 place_sprites::spr_id#1 place_sprites::spr_x#1 place_sprites::col#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::j2#3 place_sprites::spr_id#1 place_sprites::spr_x#1 place_sprites::col#1 ] ) -- vbuz1=vbuz1_bxor_vbuc1 + //SEG467 [222] (byte) place_sprites::col#1 ← (byte) place_sprites::col#2 ^ (byte/signed byte/word/signed word/dword/signed dword) 7^(byte/signed byte/word/signed word/dword/signed dword) 5 [ place_sprites::j#2 place_sprites::j2#3 place_sprites::spr_id#1 place_sprites::spr_x#1 place_sprites::col#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::j2#3 place_sprites::spr_id#1 place_sprites::spr_x#1 place_sprites::col#1 ] ) -- vbuz1=vbuz1_bxor_vbuc1 lda col eor #7^5 sta col - //SEG471 [224] (byte) place_sprites::j2#1 ← ++ (byte) place_sprites::j2#3 [ place_sprites::j#2 place_sprites::spr_id#1 place_sprites::spr_x#1 place_sprites::col#1 place_sprites::j2#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_id#1 place_sprites::spr_x#1 place_sprites::col#1 place_sprites::j2#1 ] ) -- vbuxx=_inc_vbuxx + //SEG468 [223] (byte) place_sprites::j2#1 ← ++ (byte) place_sprites::j2#3 [ place_sprites::j#2 place_sprites::spr_id#1 place_sprites::spr_x#1 place_sprites::col#1 place_sprites::j2#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_id#1 place_sprites::spr_x#1 place_sprites::col#1 place_sprites::j2#1 ] ) -- vbuxx=_inc_vbuxx inx - //SEG472 [225] (byte) place_sprites::j2#2 ← ++ (byte) place_sprites::j2#1 [ place_sprites::j#2 place_sprites::spr_id#1 place_sprites::spr_x#1 place_sprites::j2#2 place_sprites::col#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_id#1 place_sprites::spr_x#1 place_sprites::j2#2 place_sprites::col#1 ] ) -- vbuxx=_inc_vbuxx + //SEG469 [224] (byte) place_sprites::j2#2 ← ++ (byte) place_sprites::j2#1 [ place_sprites::j#2 place_sprites::spr_id#1 place_sprites::spr_x#1 place_sprites::j2#2 place_sprites::col#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_id#1 place_sprites::spr_x#1 place_sprites::j2#2 place_sprites::col#1 ] ) -- vbuxx=_inc_vbuxx inx - //SEG473 [226] (byte) place_sprites::j#1 ← ++ (byte) place_sprites::j#2 [ place_sprites::spr_id#1 place_sprites::j#1 place_sprites::spr_x#1 place_sprites::j2#2 place_sprites::col#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::spr_id#1 place_sprites::j#1 place_sprites::spr_x#1 place_sprites::j2#2 place_sprites::col#1 ] ) -- vbuyy=_inc_vbuyy + //SEG470 [225] (byte) place_sprites::j#1 ← ++ (byte) place_sprites::j#2 [ place_sprites::spr_id#1 place_sprites::j#1 place_sprites::spr_x#1 place_sprites::j2#2 place_sprites::col#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::spr_id#1 place_sprites::j#1 place_sprites::spr_x#1 place_sprites::j2#2 place_sprites::col#1 ] ) -- vbuyy=_inc_vbuyy iny - //SEG474 [227] if((byte) place_sprites::j#1!=(byte/signed byte/word/signed word/dword/signed dword) 7) goto place_sprites::@1 [ place_sprites::spr_id#1 place_sprites::j#1 place_sprites::spr_x#1 place_sprites::j2#2 place_sprites::col#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::spr_id#1 place_sprites::j#1 place_sprites::spr_x#1 place_sprites::j2#2 place_sprites::col#1 ] ) -- vbuyy_neq_vbuc1_then_la1 + //SEG471 [226] if((byte) place_sprites::j#1!=(byte/signed byte/word/signed word/dword/signed dword) 7) goto place_sprites::@1 [ place_sprites::spr_id#1 place_sprites::j#1 place_sprites::spr_x#1 place_sprites::j2#2 place_sprites::col#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::spr_id#1 place_sprites::j#1 place_sprites::spr_x#1 place_sprites::j2#2 place_sprites::col#1 ] ) -- vbuyy_neq_vbuc1_then_la1 cpy #7 bne b1_from_b1 jmp breturn - //SEG475 place_sprites::@return + //SEG472 place_sprites::@return breturn: - //SEG476 [228] return [ ] ( main:2::init:5::place_sprites:51 [ ] ) + //SEG473 [227] return [ ] ( main:2::init:5::place_sprites:51 [ ] ) rts } sintab_x: .fill $dd, 0 @@ -9599,7 +9561,6 @@ FINAL SYMBOL TABLE (label) addMEMtoFAC::@1 (label) addMEMtoFAC::@return (byte*) addMEMtoFAC::mem -(byte*) addMEMtoFAC::mem#2 mem zp ZP_WORD:12 2.0 (void()) anim() (byte~) anim::$2 $2 zp ZP_BYTE:5 101.0 (byte~) anim::$3 reg byte a 202.0 @@ -9816,11 +9777,10 @@ FINAL SYMBOL TABLE (label) prepareMEM::@return (byte*) prepareMEM::mem (byte*) prepareMEM::mem#1 mem zp ZP_WORD:12 4.0 -(byte*) prepareMEM::mem#2 mem zp ZP_WORD:12 4.0 (byte*) prepareMEM::mem#3 mem zp ZP_WORD:12 4.0 (byte*) prepareMEM::mem#4 mem zp ZP_WORD:12 4.0 -(byte*) prepareMEM::mem#5 mem zp ZP_WORD:12 4.666666666666666 -(byte*~) prepareMEM::mem#9 mem zp ZP_WORD:12 4.0 +(byte*) prepareMEM::mem#5 mem zp ZP_WORD:12 3.9999999999999996 +(byte*~) prepareMEM::mem#8 mem zp ZP_WORD:12 4.0 (byte*) progress_cursor (byte*) progress_cursor#10 progress_cursor zp ZP_WORD:10 4.0 (byte*) progress_cursor#11 progress_cursor zp ZP_WORD:10 2.8333333333333335 @@ -9889,7 +9849,7 @@ reg byte x [ init::i#2 init::i#1 ] zp ZP_WORD:8 [ clear_screen::sc#2 clear_screen::sc#1 gen_sintab::sintab#12 gen_sprites::spr#2 gen_sprites::spr#1 anim::x#0 ] reg byte x [ gen_sintab::max#2 ] zp ZP_WORD:10 [ progress_cursor#34 progress_init::line#2 progress_cursor#11 progress_cursor#10 gen_chargen_sprite::sprite#3 gen_chargen_sprite::sprite#10 gen_chargen_sprite::sprite#11 gen_chargen_sprite::sprite#0 gen_chargen_sprite::sprite#2 gen_chargen_sprite::sprite#4 gen_chargen_sprite::sprite#1 ] -zp ZP_WORD:12 [ addMEMtoFAC::mem#2 prepareMEM::mem#5 prepareMEM::mem#2 prepareMEM::mem#3 prepareMEM::mem#4 prepareMEM::mem#9 prepareMEM::mem#1 mulFACbyMEM::mem#2 divMEMbyFAC::mem#2 setFAC::w#5 setFAC::w#0 setFAC::w#3 setFAC::w#4 setFAC::w#1 setMEMtoFAC::mem#5 getFAC::return#2 gen_sintab::$23 getFAC::return#0 gen_chargen_sprite::$0 gen_chargen_sprite::$1 gen_chargen_sprite::chargen#0 ] +zp ZP_WORD:12 [ prepareMEM::mem#5 prepareMEM::mem#3 prepareMEM::mem#4 prepareMEM::mem#8 prepareMEM::mem#1 mulFACbyMEM::mem#2 divMEMbyFAC::mem#2 setFAC::w#5 setFAC::w#0 setFAC::w#3 setFAC::w#4 setFAC::w#1 setMEMtoFAC::mem#5 getFAC::return#2 gen_sintab::$23 getFAC::return#0 gen_chargen_sprite::$0 gen_chargen_sprite::$1 gen_chargen_sprite::chargen#0 ] reg byte y [ gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::s_gen_cnt#1 ] reg byte x [ gen_chargen_sprite::b#2 gen_chargen_sprite::b#1 ] reg byte y [ place_sprites::j#2 place_sprites::j#1 ] @@ -9906,7 +9866,7 @@ reg byte x [ place_sprites::j2#1 ] FINAL ASSEMBLER -Score: 768757 +Score: 768747 //SEG0 Basic Upstart .pc = $801 "Basic" @@ -10144,13 +10104,13 @@ init: { //SEG103 [52] phi from init::@2 to init::@4 [phi:init::@2->init::@4] //SEG104 init::@4 //SEG105 [53] call gen_sprites param-assignment [ ] ( main:2::init:5 [ ] ) - //SEG106 [171] phi from init::@4 to gen_sprites [phi:init::@4->gen_sprites] + //SEG106 [170] phi from init::@4 to gen_sprites [phi:init::@4->gen_sprites] jsr gen_sprites //SEG107 [54] phi from init::@4 to init::@5 [phi:init::@4->init::@5] //SEG108 init::@5 //SEG109 [55] call progress_init param-assignment [ progress_init::line#2 ] ( main:2::init:5 [ progress_init::line#2 ] ) - //SEG110 [169] phi from init::@5 to progress_init [phi:init::@5->progress_init] - //SEG111 [169] phi (byte*) progress_init::line#2 = (const byte*) SCREEN#0 [phi:init::@5->progress_init#0] -- pbuz1=pbuc1 + //SEG110 [168] phi from init::@5 to progress_init [phi:init::@5->progress_init] + //SEG111 [168] phi (byte*) progress_init::line#2 = (const byte*) SCREEN#0 [phi:init::@5->progress_init#0] -- pbuz1=pbuc1 lda #SCREEN @@ -10177,8 +10137,8 @@ init: { //SEG120 [58] phi from init::@6 to init::@7 [phi:init::@6->init::@7] //SEG121 init::@7 //SEG122 [59] call progress_init param-assignment [ progress_init::line#2 ] ( main:2::init:5 [ progress_init::line#2 ] ) - //SEG123 [169] phi from init::@7 to progress_init [phi:init::@7->progress_init] - //SEG124 [169] phi (byte*) progress_init::line#2 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40 [phi:init::@7->progress_init#0] -- pbuz1=pbuc1 + //SEG123 [168] phi from init::@7 to progress_init [phi:init::@7->progress_init] + //SEG124 [168] phi (byte*) progress_init::line#2 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40 [phi:init::@7->progress_init#0] -- pbuz1=pbuc1 lda #SCREEN+$28 @@ -10260,8 +10220,8 @@ gen_sintab: { lda #0 sta setFAC.w+1 //SEG152 [73] call setFAC param-assignment [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ) - //SEG153 [155] phi from gen_sintab to setFAC [phi:gen_sintab->setFAC] - //SEG154 [155] phi (word) setFAC::w#5 = (word) setFAC::w#0 [phi:gen_sintab->setFAC#0] -- register_copy + //SEG153 [154] phi from gen_sintab to setFAC [phi:gen_sintab->setFAC] + //SEG154 [154] phi (word) setFAC::w#5 = (word) setFAC::w#0 [phi:gen_sintab->setFAC#0] -- register_copy jsr setFAC //SEG155 [74] phi from gen_sintab to gen_sintab::@3 [phi:gen_sintab->gen_sintab::@3] //SEG156 gen_sintab::@3 @@ -10278,14 +10238,14 @@ gen_sintab: { txa sta setFAC.w+1 //SEG161 [78] call setFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ) - //SEG162 [155] phi from gen_sintab::@4 to setFAC [phi:gen_sintab::@4->setFAC] - //SEG163 [155] phi (word) setFAC::w#5 = (word) setFAC::w#1 [phi:gen_sintab::@4->setFAC#0] -- register_copy + //SEG162 [154] phi from gen_sintab::@4 to setFAC [phi:gen_sintab::@4->setFAC] + //SEG163 [154] phi (word) setFAC::w#5 = (word) setFAC::w#1 [phi:gen_sintab::@4->setFAC#0] -- register_copy jsr setFAC //SEG164 [79] phi from gen_sintab::@4 to gen_sintab::@5 [phi:gen_sintab::@4->gen_sintab::@5] //SEG165 gen_sintab::@5 //SEG166 [80] call setMEMtoFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ) - //SEG167 [160] phi from gen_sintab::@5 to setMEMtoFAC [phi:gen_sintab::@5->setMEMtoFAC] - //SEG168 [160] phi (byte*) setMEMtoFAC::mem#5 = (const byte[]) gen_sintab::f_min#0 [phi:gen_sintab::@5->setMEMtoFAC#0] -- pbuz1=pbuc1 + //SEG167 [159] phi from gen_sintab::@5 to setMEMtoFAC [phi:gen_sintab::@5->setMEMtoFAC] + //SEG168 [159] phi (byte*) setMEMtoFAC::mem#5 = (const byte[]) gen_sintab::f_min#0 [phi:gen_sintab::@5->setMEMtoFAC#0] -- pbuz1=pbuc1 lda #f_min @@ -10298,8 +10258,8 @@ gen_sintab: { //SEG172 [83] phi from gen_sintab::@6 to gen_sintab::@7 [phi:gen_sintab::@6->gen_sintab::@7] //SEG173 gen_sintab::@7 //SEG174 [84] call setMEMtoFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ) - //SEG175 [160] phi from gen_sintab::@7 to setMEMtoFAC [phi:gen_sintab::@7->setMEMtoFAC] - //SEG176 [160] phi (byte*) setMEMtoFAC::mem#5 = (const byte[]) gen_sintab::f_amp#0 [phi:gen_sintab::@7->setMEMtoFAC#0] -- pbuz1=pbuc1 + //SEG175 [159] phi from gen_sintab::@7 to setMEMtoFAC [phi:gen_sintab::@7->setMEMtoFAC] + //SEG176 [159] phi (byte*) setMEMtoFAC::mem#5 = (const byte[]) gen_sintab::f_amp#0 [phi:gen_sintab::@7->setMEMtoFAC#0] -- pbuz1=pbuc1 lda #f_amp @@ -10308,8 +10268,8 @@ gen_sintab: { //SEG177 [85] phi from gen_sintab::@7 to gen_sintab::@8 [phi:gen_sintab::@7->gen_sintab::@8] //SEG178 gen_sintab::@8 //SEG179 [86] call setFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ) - //SEG180 [155] phi from gen_sintab::@8 to setFAC [phi:gen_sintab::@8->setFAC] - //SEG181 [155] phi (word) setFAC::w#5 = (byte/signed byte/word/signed word/dword/signed dword) 2 [phi:gen_sintab::@8->setFAC#0] -- vwuz1=vbuc1 + //SEG180 [154] phi from gen_sintab::@8 to setFAC [phi:gen_sintab::@8->setFAC] + //SEG181 [154] phi (word) setFAC::w#5 = (byte/signed byte/word/signed word/dword/signed dword) 2 [phi:gen_sintab::@8->setFAC#0] -- vwuz1=vbuc1 lda #<2 sta setFAC.w lda #>2 @@ -10318,8 +10278,8 @@ gen_sintab: { //SEG182 [87] phi from gen_sintab::@8 to gen_sintab::@9 [phi:gen_sintab::@8->gen_sintab::@9] //SEG183 gen_sintab::@9 //SEG184 [88] call divMEMbyFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ) - //SEG185 [150] phi from gen_sintab::@9 to divMEMbyFAC [phi:gen_sintab::@9->divMEMbyFAC] - //SEG186 [150] phi (byte*) divMEMbyFAC::mem#2 = (const byte[]) gen_sintab::f_amp#0 [phi:gen_sintab::@9->divMEMbyFAC#0] -- pbuz1=pbuc1 + //SEG185 [149] phi from gen_sintab::@9 to divMEMbyFAC [phi:gen_sintab::@9->divMEMbyFAC] + //SEG186 [149] phi (byte*) divMEMbyFAC::mem#2 = (const byte[]) gen_sintab::f_amp#0 [phi:gen_sintab::@9->divMEMbyFAC#0] -- pbuz1=pbuc1 lda #f_amp @@ -10328,8 +10288,8 @@ gen_sintab: { //SEG187 [89] phi from gen_sintab::@9 to gen_sintab::@10 [phi:gen_sintab::@9->gen_sintab::@10] //SEG188 gen_sintab::@10 //SEG189 [90] call setMEMtoFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ) - //SEG190 [160] phi from gen_sintab::@10 to setMEMtoFAC [phi:gen_sintab::@10->setMEMtoFAC] - //SEG191 [160] phi (byte*) setMEMtoFAC::mem#5 = (const byte[]) gen_sintab::f_amp#0 [phi:gen_sintab::@10->setMEMtoFAC#0] -- pbuz1=pbuc1 + //SEG190 [159] phi from gen_sintab::@10 to setMEMtoFAC [phi:gen_sintab::@10->setMEMtoFAC] + //SEG191 [159] phi (byte*) setMEMtoFAC::mem#5 = (const byte[]) gen_sintab::f_amp#0 [phi:gen_sintab::@10->setMEMtoFAC#0] -- pbuz1=pbuc1 lda #f_amp @@ -10339,358 +10299,349 @@ gen_sintab: { //SEG193 gen_sintab::@11 //SEG194 [92] call addMEMtoFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ) //SEG195 [132] phi from gen_sintab::@11 to addMEMtoFAC [phi:gen_sintab::@11->addMEMtoFAC] - //SEG196 [132] phi (byte*) addMEMtoFAC::mem#2 = (const byte[]) gen_sintab::f_min#0 [phi:gen_sintab::@11->addMEMtoFAC#0] -- pbuz1=pbuc1 - lda #f_min - sta addMEMtoFAC.mem+1 jsr addMEMtoFAC - //SEG197 [93] phi from gen_sintab::@11 to gen_sintab::@12 [phi:gen_sintab::@11->gen_sintab::@12] - //SEG198 gen_sintab::@12 - //SEG199 [94] call setMEMtoFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ) - //SEG200 [160] phi from gen_sintab::@12 to setMEMtoFAC [phi:gen_sintab::@12->setMEMtoFAC] - //SEG201 [160] phi (byte*) setMEMtoFAC::mem#5 = (const byte[]) gen_sintab::f_min#0 [phi:gen_sintab::@12->setMEMtoFAC#0] -- pbuz1=pbuc1 + //SEG196 [93] phi from gen_sintab::@11 to gen_sintab::@12 [phi:gen_sintab::@11->gen_sintab::@12] + //SEG197 gen_sintab::@12 + //SEG198 [94] call setMEMtoFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ) + //SEG199 [159] phi from gen_sintab::@12 to setMEMtoFAC [phi:gen_sintab::@12->setMEMtoFAC] + //SEG200 [159] phi (byte*) setMEMtoFAC::mem#5 = (const byte[]) gen_sintab::f_min#0 [phi:gen_sintab::@12->setMEMtoFAC#0] -- pbuz1=pbuc1 lda #f_min sta setMEMtoFAC.mem+1 jsr setMEMtoFAC - //SEG202 [95] phi from gen_sintab::@12 to gen_sintab::@1 [phi:gen_sintab::@12->gen_sintab::@1] - //SEG203 [95] phi (byte*) progress_cursor#34 = (byte*) progress_init::line#2 [phi:gen_sintab::@12->gen_sintab::@1#0] -- register_copy - //SEG204 [95] phi (byte) progress_idx#34 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gen_sintab::@12->gen_sintab::@1#1] -- vbuz1=vbuc1 + //SEG201 [95] phi from gen_sintab::@12 to gen_sintab::@1 [phi:gen_sintab::@12->gen_sintab::@1] + //SEG202 [95] phi (byte*) progress_cursor#34 = (byte*) progress_init::line#2 [phi:gen_sintab::@12->gen_sintab::@1#0] -- register_copy + //SEG203 [95] phi (byte) progress_idx#34 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gen_sintab::@12->gen_sintab::@1#1] -- vbuz1=vbuc1 lda #0 sta progress_idx - //SEG205 [95] phi (byte) gen_sintab::i#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gen_sintab::@12->gen_sintab::@1#2] -- vbuz1=vbuc1 + //SEG204 [95] phi (byte) gen_sintab::i#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gen_sintab::@12->gen_sintab::@1#2] -- vbuz1=vbuc1 sta i - //SEG206 [95] phi from gen_sintab::@23 to gen_sintab::@1 [phi:gen_sintab::@23->gen_sintab::@1] - //SEG207 [95] phi (byte*) progress_cursor#34 = (byte*) progress_cursor#11 [phi:gen_sintab::@23->gen_sintab::@1#0] -- register_copy - //SEG208 [95] phi (byte) progress_idx#34 = (byte) progress_idx#12 [phi:gen_sintab::@23->gen_sintab::@1#1] -- register_copy - //SEG209 [95] phi (byte) gen_sintab::i#10 = (byte) gen_sintab::i#1 [phi:gen_sintab::@23->gen_sintab::@1#2] -- register_copy - //SEG210 gen_sintab::@1 + //SEG205 [95] phi from gen_sintab::@23 to gen_sintab::@1 [phi:gen_sintab::@23->gen_sintab::@1] + //SEG206 [95] phi (byte*) progress_cursor#34 = (byte*) progress_cursor#11 [phi:gen_sintab::@23->gen_sintab::@1#0] -- register_copy + //SEG207 [95] phi (byte) progress_idx#34 = (byte) progress_idx#12 [phi:gen_sintab::@23->gen_sintab::@1#1] -- register_copy + //SEG208 [95] phi (byte) gen_sintab::i#10 = (byte) gen_sintab::i#1 [phi:gen_sintab::@23->gen_sintab::@1#2] -- register_copy + //SEG209 gen_sintab::@1 b1: - //SEG211 [96] (word) setFAC::w#3 ← ((word)) (byte) gen_sintab::i#10 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 setFAC::w#3 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 setFAC::w#3 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 setFAC::w#3 ] ) -- vwuz1=_word_vbuz2 + //SEG210 [96] (word) setFAC::w#3 ← ((word)) (byte) gen_sintab::i#10 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 setFAC::w#3 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 setFAC::w#3 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 setFAC::w#3 ] ) -- vwuz1=_word_vbuz2 lda i sta setFAC.w lda #0 sta setFAC.w+1 - //SEG212 [97] call setFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) - //SEG213 [155] phi from gen_sintab::@1 to setFAC [phi:gen_sintab::@1->setFAC] - //SEG214 [155] phi (word) setFAC::w#5 = (word) setFAC::w#3 [phi:gen_sintab::@1->setFAC#0] -- register_copy + //SEG211 [97] call setFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + //SEG212 [154] phi from gen_sintab::@1 to setFAC [phi:gen_sintab::@1->setFAC] + //SEG213 [154] phi (word) setFAC::w#5 = (word) setFAC::w#3 [phi:gen_sintab::@1->setFAC#0] -- register_copy jsr setFAC - //SEG215 [98] phi from gen_sintab::@1 to gen_sintab::@14 [phi:gen_sintab::@1->gen_sintab::@14] - //SEG216 gen_sintab::@14 - //SEG217 [99] call mulFACbyMEM param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) - //SEG218 [143] phi from gen_sintab::@14 to mulFACbyMEM [phi:gen_sintab::@14->mulFACbyMEM] - //SEG219 [143] phi (byte*) mulFACbyMEM::mem#2 = (const byte*) gen_sintab::f_2pi#0 [phi:gen_sintab::@14->mulFACbyMEM#0] -- pbuz1=pbuc1 + //SEG214 [98] phi from gen_sintab::@1 to gen_sintab::@14 [phi:gen_sintab::@1->gen_sintab::@14] + //SEG215 gen_sintab::@14 + //SEG216 [99] call mulFACbyMEM param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + //SEG217 [142] phi from gen_sintab::@14 to mulFACbyMEM [phi:gen_sintab::@14->mulFACbyMEM] + //SEG218 [142] phi (byte*) mulFACbyMEM::mem#2 = (const byte*) gen_sintab::f_2pi#0 [phi:gen_sintab::@14->mulFACbyMEM#0] -- pbuz1=pbuc1 lda #f_2pi sta mulFACbyMEM.mem+1 jsr mulFACbyMEM - //SEG220 [100] phi from gen_sintab::@14 to gen_sintab::@15 [phi:gen_sintab::@14->gen_sintab::@15] - //SEG221 gen_sintab::@15 - //SEG222 [101] call setMEMtoFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) - //SEG223 [160] phi from gen_sintab::@15 to setMEMtoFAC [phi:gen_sintab::@15->setMEMtoFAC] - //SEG224 [160] phi (byte*) setMEMtoFAC::mem#5 = (const byte[]) gen_sintab::f_i#0 [phi:gen_sintab::@15->setMEMtoFAC#0] -- pbuz1=pbuc1 + //SEG219 [100] phi from gen_sintab::@14 to gen_sintab::@15 [phi:gen_sintab::@14->gen_sintab::@15] + //SEG220 gen_sintab::@15 + //SEG221 [101] call setMEMtoFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + //SEG222 [159] phi from gen_sintab::@15 to setMEMtoFAC [phi:gen_sintab::@15->setMEMtoFAC] + //SEG223 [159] phi (byte*) setMEMtoFAC::mem#5 = (const byte[]) gen_sintab::f_i#0 [phi:gen_sintab::@15->setMEMtoFAC#0] -- pbuz1=pbuc1 lda #f_i sta setMEMtoFAC.mem+1 jsr setMEMtoFAC - //SEG225 gen_sintab::@16 - //SEG226 [102] (word) setFAC::w#4 ← ((word)) (byte) gen_sintab::length#10 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 setFAC::w#4 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 setFAC::w#4 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 setFAC::w#4 ] ) -- vwuz1=_word_vbuz2 + //SEG224 gen_sintab::@16 + //SEG225 [102] (word) setFAC::w#4 ← ((word)) (byte) gen_sintab::length#10 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 setFAC::w#4 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 setFAC::w#4 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 setFAC::w#4 ] ) -- vwuz1=_word_vbuz2 lda length sta setFAC.w lda #0 sta setFAC.w+1 - //SEG227 [103] call setFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) - //SEG228 [155] phi from gen_sintab::@16 to setFAC [phi:gen_sintab::@16->setFAC] - //SEG229 [155] phi (word) setFAC::w#5 = (word) setFAC::w#4 [phi:gen_sintab::@16->setFAC#0] -- register_copy + //SEG226 [103] call setFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + //SEG227 [154] phi from gen_sintab::@16 to setFAC [phi:gen_sintab::@16->setFAC] + //SEG228 [154] phi (word) setFAC::w#5 = (word) setFAC::w#4 [phi:gen_sintab::@16->setFAC#0] -- register_copy jsr setFAC - //SEG230 [104] phi from gen_sintab::@16 to gen_sintab::@17 [phi:gen_sintab::@16->gen_sintab::@17] - //SEG231 gen_sintab::@17 - //SEG232 [105] call divMEMbyFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) - //SEG233 [150] phi from gen_sintab::@17 to divMEMbyFAC [phi:gen_sintab::@17->divMEMbyFAC] - //SEG234 [150] phi (byte*) divMEMbyFAC::mem#2 = (const byte[]) gen_sintab::f_i#0 [phi:gen_sintab::@17->divMEMbyFAC#0] -- pbuz1=pbuc1 + //SEG229 [104] phi from gen_sintab::@16 to gen_sintab::@17 [phi:gen_sintab::@16->gen_sintab::@17] + //SEG230 gen_sintab::@17 + //SEG231 [105] call divMEMbyFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + //SEG232 [149] phi from gen_sintab::@17 to divMEMbyFAC [phi:gen_sintab::@17->divMEMbyFAC] + //SEG233 [149] phi (byte*) divMEMbyFAC::mem#2 = (const byte[]) gen_sintab::f_i#0 [phi:gen_sintab::@17->divMEMbyFAC#0] -- pbuz1=pbuc1 lda #f_i sta divMEMbyFAC.mem+1 jsr divMEMbyFAC - //SEG235 [106] phi from gen_sintab::@17 to gen_sintab::@18 [phi:gen_sintab::@17->gen_sintab::@18] - //SEG236 gen_sintab::@18 - //SEG237 [107] call sinFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + //SEG234 [106] phi from gen_sintab::@17 to gen_sintab::@18 [phi:gen_sintab::@17->gen_sintab::@18] + //SEG235 gen_sintab::@18 + //SEG236 [107] call sinFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) jsr sinFAC - //SEG238 [108] phi from gen_sintab::@18 to gen_sintab::@19 [phi:gen_sintab::@18->gen_sintab::@19] - //SEG239 gen_sintab::@19 - //SEG240 [109] call mulFACbyMEM param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) - //SEG241 [143] phi from gen_sintab::@19 to mulFACbyMEM [phi:gen_sintab::@19->mulFACbyMEM] - //SEG242 [143] phi (byte*) mulFACbyMEM::mem#2 = (const byte[]) gen_sintab::f_amp#0 [phi:gen_sintab::@19->mulFACbyMEM#0] -- pbuz1=pbuc1 + //SEG237 [108] phi from gen_sintab::@18 to gen_sintab::@19 [phi:gen_sintab::@18->gen_sintab::@19] + //SEG238 gen_sintab::@19 + //SEG239 [109] call mulFACbyMEM param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + //SEG240 [142] phi from gen_sintab::@19 to mulFACbyMEM [phi:gen_sintab::@19->mulFACbyMEM] + //SEG241 [142] phi (byte*) mulFACbyMEM::mem#2 = (const byte[]) gen_sintab::f_amp#0 [phi:gen_sintab::@19->mulFACbyMEM#0] -- pbuz1=pbuc1 lda #f_amp sta mulFACbyMEM.mem+1 jsr mulFACbyMEM - //SEG243 [110] phi from gen_sintab::@19 to gen_sintab::@20 [phi:gen_sintab::@19->gen_sintab::@20] - //SEG244 gen_sintab::@20 - //SEG245 [111] call addMEMtoFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) - //SEG246 [132] phi from gen_sintab::@20 to addMEMtoFAC [phi:gen_sintab::@20->addMEMtoFAC] - //SEG247 [132] phi (byte*) addMEMtoFAC::mem#2 = (const byte[]) gen_sintab::f_min#0 [phi:gen_sintab::@20->addMEMtoFAC#0] -- pbuz1=pbuc1 - lda #f_min - sta addMEMtoFAC.mem+1 + //SEG242 [110] phi from gen_sintab::@19 to gen_sintab::@20 [phi:gen_sintab::@19->gen_sintab::@20] + //SEG243 gen_sintab::@20 + //SEG244 [111] call addMEMtoFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + //SEG245 [132] phi from gen_sintab::@20 to addMEMtoFAC [phi:gen_sintab::@20->addMEMtoFAC] jsr addMEMtoFAC - //SEG248 [112] phi from gen_sintab::@20 to gen_sintab::@21 [phi:gen_sintab::@20->gen_sintab::@21] - //SEG249 gen_sintab::@21 - //SEG250 [113] call getFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 getFAC::return#0 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 getFAC::return#0 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 getFAC::return#0 ] ) + //SEG246 [112] phi from gen_sintab::@20 to gen_sintab::@21 [phi:gen_sintab::@20->gen_sintab::@21] + //SEG247 gen_sintab::@21 + //SEG248 [113] call getFAC param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 getFAC::return#0 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 getFAC::return#0 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 getFAC::return#0 ] ) jsr getFAC - //SEG251 [114] (word) getFAC::return#2 ← (word) getFAC::return#0 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 getFAC::return#2 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 getFAC::return#2 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 getFAC::return#2 ] ) + //SEG249 [114] (word) getFAC::return#2 ← (word) getFAC::return#0 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 getFAC::return#2 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 getFAC::return#2 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 getFAC::return#2 ] ) // (word) getFAC::return#2 = (word) getFAC::return#0 // register copy zp ZP_WORD:12 - //SEG252 gen_sintab::@22 - //SEG253 [115] (word~) gen_sintab::$23 ← (word) getFAC::return#2 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 gen_sintab::$23 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 gen_sintab::$23 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 gen_sintab::$23 ] ) + //SEG250 gen_sintab::@22 + //SEG251 [115] (word~) gen_sintab::$23 ← (word) getFAC::return#2 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 gen_sintab::$23 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 gen_sintab::$23 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 gen_sintab::$23 ] ) // (word~) gen_sintab::$23 = (word) getFAC::return#2 // register copy zp ZP_WORD:12 - //SEG254 [116] (byte~) gen_sintab::$24 ← ((byte)) (word~) gen_sintab::$23 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 gen_sintab::$24 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 gen_sintab::$24 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 gen_sintab::$24 ] ) -- vbuaa=_byte_vwuz1 + //SEG252 [116] (byte~) gen_sintab::$24 ← ((byte)) (word~) gen_sintab::$23 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 gen_sintab::$24 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 gen_sintab::$24 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 gen_sintab::$24 ] ) -- vbuaa=_byte_vwuz1 lda _23 - //SEG255 [117] *((byte*) gen_sintab::sintab#12 + (byte) gen_sintab::i#10) ← (byte~) gen_sintab::$24 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) -- pbuz1_derefidx_vbuz2=vbuaa + //SEG253 [117] *((byte*) gen_sintab::sintab#12 + (byte) gen_sintab::i#10) ← (byte~) gen_sintab::$24 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) -- pbuz1_derefidx_vbuz2=vbuaa ldy i sta (sintab),y - //SEG256 [118] call progress_inc param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#12 progress_cursor#11 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#12 progress_cursor#11 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#12 progress_cursor#11 ] ) + //SEG254 [118] call progress_inc param-assignment [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#12 progress_cursor#11 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#12 progress_cursor#11 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#12 progress_cursor#11 ] ) jsr progress_inc - //SEG257 gen_sintab::@23 - //SEG258 [119] (byte) gen_sintab::i#1 ← ++ (byte) gen_sintab::i#10 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#1 progress_idx#12 progress_cursor#11 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#1 progress_idx#12 progress_cursor#11 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#1 progress_idx#12 progress_cursor#11 ] ) -- vbuz1=_inc_vbuz1 + //SEG255 gen_sintab::@23 + //SEG256 [119] (byte) gen_sintab::i#1 ← ++ (byte) gen_sintab::i#10 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#1 progress_idx#12 progress_cursor#11 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#1 progress_idx#12 progress_cursor#11 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#1 progress_idx#12 progress_cursor#11 ] ) -- vbuz1=_inc_vbuz1 inc i - //SEG259 [120] if((byte) gen_sintab::i#1<(byte) gen_sintab::length#10) goto gen_sintab::@1 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#1 progress_idx#12 progress_cursor#11 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#1 progress_idx#12 progress_cursor#11 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#1 progress_idx#12 progress_cursor#11 ] ) -- vbuz1_lt_vbuz2_then_la1 + //SEG257 [120] if((byte) gen_sintab::i#1<(byte) gen_sintab::length#10) goto gen_sintab::@1 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#1 progress_idx#12 progress_cursor#11 ] ( main:2::init:5::gen_sintab:57 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#1 progress_idx#12 progress_cursor#11 ] main:2::init:5::gen_sintab:61 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#1 progress_idx#12 progress_cursor#11 ] ) -- vbuz1_lt_vbuz2_then_la1 lda i cmp length bcc b1 - //SEG260 gen_sintab::@return - //SEG261 [121] return [ ] ( main:2::init:5::gen_sintab:57 [ ] main:2::init:5::gen_sintab:61 [ ] ) + //SEG258 gen_sintab::@return + //SEG259 [121] return [ ] ( main:2::init:5::gen_sintab:57 [ ] main:2::init:5::gen_sintab:61 [ ] ) rts f_i: .byte 0, 0, 0, 0, 0 f_min: .byte 0, 0, 0, 0, 0 f_amp: .byte 0, 0, 0, 0, 0 } -//SEG262 progress_inc +//SEG260 progress_inc progress_inc: { - //SEG263 [122] (byte) progress_idx#10 ← ++ (byte) progress_idx#34 [ progress_cursor#34 progress_idx#10 ] ( main:2::init:5::gen_sintab:57::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_cursor#34 progress_idx#10 ] main:2::init:5::gen_sintab:61::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_cursor#34 progress_idx#10 ] ) -- vbuz1=_inc_vbuz1 + //SEG261 [122] (byte) progress_idx#10 ← ++ (byte) progress_idx#34 [ progress_cursor#34 progress_idx#10 ] ( main:2::init:5::gen_sintab:57::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_cursor#34 progress_idx#10 ] main:2::init:5::gen_sintab:61::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_cursor#34 progress_idx#10 ] ) -- vbuz1=_inc_vbuz1 inc progress_idx - //SEG264 [123] if((byte) progress_idx#10!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto progress_inc::@1 [ progress_cursor#34 progress_idx#10 ] ( main:2::init:5::gen_sintab:57::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_cursor#34 progress_idx#10 ] main:2::init:5::gen_sintab:61::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_cursor#34 progress_idx#10 ] ) -- vbuz1_neq_vbuc1_then_la1 + //SEG262 [123] if((byte) progress_idx#10!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto progress_inc::@1 [ progress_cursor#34 progress_idx#10 ] ( main:2::init:5::gen_sintab:57::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_cursor#34 progress_idx#10 ] main:2::init:5::gen_sintab:61::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_cursor#34 progress_idx#10 ] ) -- vbuz1_neq_vbuc1_then_la1 lda progress_idx cmp #8 bne b1 - //SEG265 progress_inc::@2 - //SEG266 [124] *((byte*) progress_cursor#34) ← *((const byte[]) progress_inc::progress_chars#0+(byte/signed byte/word/signed word/dword/signed dword) 8) [ progress_cursor#34 ] ( main:2::init:5::gen_sintab:57::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_cursor#34 ] main:2::init:5::gen_sintab:61::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_cursor#34 ] ) -- _deref_pbuz1=_deref_pbuc1 + //SEG263 progress_inc::@2 + //SEG264 [124] *((byte*) progress_cursor#34) ← *((const byte[]) progress_inc::progress_chars#0+(byte/signed byte/word/signed word/dword/signed dword) 8) [ progress_cursor#34 ] ( main:2::init:5::gen_sintab:57::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_cursor#34 ] main:2::init:5::gen_sintab:61::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_cursor#34 ] ) -- _deref_pbuz1=_deref_pbuc1 lda progress_chars+8 ldy #0 sta (progress_cursor),y - //SEG267 [125] (byte*) progress_cursor#10 ← ++ (byte*) progress_cursor#34 [ progress_cursor#10 ] ( main:2::init:5::gen_sintab:57::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_cursor#10 ] main:2::init:5::gen_sintab:61::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_cursor#10 ] ) -- pbuz1=_inc_pbuz1 + //SEG265 [125] (byte*) progress_cursor#10 ← ++ (byte*) progress_cursor#34 [ progress_cursor#10 ] ( main:2::init:5::gen_sintab:57::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_cursor#10 ] main:2::init:5::gen_sintab:61::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_cursor#10 ] ) -- pbuz1=_inc_pbuz1 inc progress_cursor bne !+ inc progress_cursor+1 !: - //SEG268 [126] phi from progress_inc::@2 to progress_inc::@1 [phi:progress_inc::@2->progress_inc::@1] - //SEG269 [126] phi (byte*) progress_cursor#11 = (byte*) progress_cursor#10 [phi:progress_inc::@2->progress_inc::@1#0] -- register_copy - //SEG270 [126] phi (byte) progress_idx#12 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:progress_inc::@2->progress_inc::@1#1] -- vbuz1=vbuc1 + //SEG266 [126] phi from progress_inc::@2 to progress_inc::@1 [phi:progress_inc::@2->progress_inc::@1] + //SEG267 [126] phi (byte*) progress_cursor#11 = (byte*) progress_cursor#10 [phi:progress_inc::@2->progress_inc::@1#0] -- register_copy + //SEG268 [126] phi (byte) progress_idx#12 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:progress_inc::@2->progress_inc::@1#1] -- vbuz1=vbuc1 lda #0 sta progress_idx - //SEG271 [126] phi from progress_inc to progress_inc::@1 [phi:progress_inc->progress_inc::@1] - //SEG272 [126] phi (byte*) progress_cursor#11 = (byte*) progress_cursor#34 [phi:progress_inc->progress_inc::@1#0] -- register_copy - //SEG273 [126] phi (byte) progress_idx#12 = (byte) progress_idx#10 [phi:progress_inc->progress_inc::@1#1] -- register_copy - //SEG274 progress_inc::@1 + //SEG269 [126] phi from progress_inc to progress_inc::@1 [phi:progress_inc->progress_inc::@1] + //SEG270 [126] phi (byte*) progress_cursor#11 = (byte*) progress_cursor#34 [phi:progress_inc->progress_inc::@1#0] -- register_copy + //SEG271 [126] phi (byte) progress_idx#12 = (byte) progress_idx#10 [phi:progress_inc->progress_inc::@1#1] -- register_copy + //SEG272 progress_inc::@1 b1: - //SEG275 [127] *((byte*) progress_cursor#11) ← *((const byte[]) progress_inc::progress_chars#0 + (byte) progress_idx#12) [ progress_idx#12 progress_cursor#11 ] ( main:2::init:5::gen_sintab:57::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#12 progress_cursor#11 ] main:2::init:5::gen_sintab:61::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#12 progress_cursor#11 ] ) -- _deref_pbuz1=pbuc1_derefidx_vbuz2 + //SEG273 [127] *((byte*) progress_cursor#11) ← *((const byte[]) progress_inc::progress_chars#0 + (byte) progress_idx#12) [ progress_idx#12 progress_cursor#11 ] ( main:2::init:5::gen_sintab:57::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#12 progress_cursor#11 ] main:2::init:5::gen_sintab:61::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#12 progress_cursor#11 ] ) -- _deref_pbuz1=pbuc1_derefidx_vbuz2 ldy progress_idx lda progress_chars,y ldy #0 sta (progress_cursor),y - //SEG276 progress_inc::@return - //SEG277 [128] return [ progress_idx#12 progress_cursor#11 ] ( main:2::init:5::gen_sintab:57::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#12 progress_cursor#11 ] main:2::init:5::gen_sintab:61::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#12 progress_cursor#11 ] ) + //SEG274 progress_inc::@return + //SEG275 [128] return [ progress_idx#12 progress_cursor#11 ] ( main:2::init:5::gen_sintab:57::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#12 progress_cursor#11 ] main:2::init:5::gen_sintab:61::progress_inc:118 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#12 progress_cursor#11 ] ) rts progress_chars: .byte $20, $65, $74, $75, $61, $f6, $e7, $ea, $e0 } -//SEG278 getFAC +//SEG276 getFAC getFAC: { .label return = $c - //SEG279 asm { jsr$b1aa sty$fe sta$ff } + //SEG277 asm { jsr$b1aa sty$fe sta$ff } jsr $b1aa sty $fe sta $ff - //SEG280 [130] (word) getFAC::return#0 ← *((const byte*) memHi#0) w= *((const byte*) memLo#0) [ getFAC::return#0 ] ( main:2::init:5::gen_sintab:57::getFAC:113 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 getFAC::return#0 ] main:2::init:5::gen_sintab:61::getFAC:113 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 getFAC::return#0 ] ) -- vwuz1=_deref_pbuc1_word__deref_pbuc2 + //SEG278 [130] (word) getFAC::return#0 ← *((const byte*) memHi#0) w= *((const byte*) memLo#0) [ getFAC::return#0 ] ( main:2::init:5::gen_sintab:57::getFAC:113 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 getFAC::return#0 ] main:2::init:5::gen_sintab:61::getFAC:113 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 getFAC::return#0 ] ) -- vwuz1=_deref_pbuc1_word__deref_pbuc2 lda memLo sta return lda memHi sta return+1 - //SEG281 getFAC::@return - //SEG282 [131] return [ getFAC::return#0 ] ( main:2::init:5::gen_sintab:57::getFAC:113 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 getFAC::return#0 ] main:2::init:5::gen_sintab:61::getFAC:113 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 getFAC::return#0 ] ) + //SEG279 getFAC::@return + //SEG280 [131] return [ getFAC::return#0 ] ( main:2::init:5::gen_sintab:57::getFAC:113 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 getFAC::return#0 ] main:2::init:5::gen_sintab:61::getFAC:113 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 getFAC::return#0 ] ) rts } -//SEG283 addMEMtoFAC +//SEG281 addMEMtoFAC addMEMtoFAC: { - .label mem = $c - //SEG284 [133] (byte*) prepareMEM::mem#2 ← (byte*) addMEMtoFAC::mem#2 [ prepareMEM::mem#2 ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#2 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#2 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#2 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#2 ] ) - // (byte*) prepareMEM::mem#2 = (byte*) addMEMtoFAC::mem#2 // register copy zp ZP_WORD:12 - //SEG285 [134] call prepareMEM param-assignment [ ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) - //SEG286 [137] phi from addMEMtoFAC to prepareMEM [phi:addMEMtoFAC->prepareMEM] - //SEG287 [137] phi (byte*) prepareMEM::mem#5 = (byte*) prepareMEM::mem#2 [phi:addMEMtoFAC->prepareMEM#0] -- register_copy + //SEG282 [133] call prepareMEM param-assignment [ ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + //SEG283 [136] phi from addMEMtoFAC to prepareMEM [phi:addMEMtoFAC->prepareMEM] + //SEG284 [136] phi (byte*) prepareMEM::mem#5 = (const byte[]) gen_sintab::f_min#0 [phi:addMEMtoFAC->prepareMEM#0] -- pbuz1=pbuc1 + lda #gen_sintab.f_min + sta prepareMEM.mem+1 jsr prepareMEM - //SEG288 addMEMtoFAC::@1 - //SEG289 asm { lda$fe ldy$ff jsr$b867 } + //SEG285 addMEMtoFAC::@1 + //SEG286 asm { lda$fe ldy$ff jsr$b867 } lda $fe ldy $ff jsr $b867 - //SEG290 addMEMtoFAC::@return - //SEG291 [136] return [ ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + //SEG287 addMEMtoFAC::@return + //SEG288 [135] return [ ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) rts } -//SEG292 prepareMEM +//SEG289 prepareMEM prepareMEM: { .label mem = $c - //SEG293 [138] (byte~) prepareMEM::$0 ← < (byte*) prepareMEM::mem#5 [ prepareMEM::mem#5 prepareMEM::$0 ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:99::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:88::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setFAC:73::prepareMEM:157 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setFAC:73::prepareMEM:157 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setFAC:78::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setFAC:78::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setFAC:86::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setFAC:86::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setFAC:97::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setFAC:97::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setFAC:103::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setFAC:103::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:80::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] ) -- vbuaa=_lo_pbuz1 + //SEG290 [137] (byte~) prepareMEM::$0 ← < (byte*) prepareMEM::mem#5 [ prepareMEM::mem#5 prepareMEM::$0 ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:99::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:88::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setFAC:73::prepareMEM:156 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setFAC:73::prepareMEM:156 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setFAC:78::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setFAC:78::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setFAC:86::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setFAC:86::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setFAC:97::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setFAC:97::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setFAC:103::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setFAC:103::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:80::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 prepareMEM::$0 ] ) -- vbuaa=_lo_pbuz1 lda mem - //SEG294 [139] *((const byte*) memLo#0) ← (byte~) prepareMEM::$0 [ prepareMEM::mem#5 ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:99::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:88::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:73::prepareMEM:157 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:73::prepareMEM:157 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:78::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:78::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:86::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:86::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:97::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:97::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:103::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:103::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:80::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] ) -- _deref_pbuc1=vbuaa + //SEG291 [138] *((const byte*) memLo#0) ← (byte~) prepareMEM::$0 [ prepareMEM::mem#5 ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:99::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:88::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:73::prepareMEM:156 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:73::prepareMEM:156 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:78::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:78::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:86::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:86::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:97::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:97::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setFAC:103::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setFAC:103::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:80::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#5 ] ) -- _deref_pbuc1=vbuaa sta memLo - //SEG295 [140] (byte~) prepareMEM::$1 ← > (byte*) prepareMEM::mem#5 [ prepareMEM::$1 ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:99::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:88::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setFAC:73::prepareMEM:157 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setFAC:73::prepareMEM:157 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setFAC:78::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setFAC:78::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setFAC:86::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setFAC:86::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setFAC:97::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setFAC:97::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setFAC:103::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setFAC:103::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:80::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] ) -- vbuaa=_hi_pbuz1 + //SEG292 [139] (byte~) prepareMEM::$1 ← > (byte*) prepareMEM::mem#5 [ prepareMEM::$1 ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:99::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:88::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setFAC:73::prepareMEM:156 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setFAC:73::prepareMEM:156 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setFAC:78::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setFAC:78::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setFAC:86::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setFAC:86::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setFAC:97::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setFAC:97::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setFAC:103::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setFAC:103::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:80::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::$1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::$1 ] ) -- vbuaa=_hi_pbuz1 lda mem+1 - //SEG296 [141] *((const byte*) memHi#0) ← (byte~) prepareMEM::$1 [ ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:99::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:88::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setFAC:73::prepareMEM:157 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:73::prepareMEM:157 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:78::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:78::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:86::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:86::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:97::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:97::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setFAC:103::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:103::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:80::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) -- _deref_pbuc1=vbuaa + //SEG293 [140] *((const byte*) memHi#0) ← (byte~) prepareMEM::$1 [ ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:99::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:88::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setFAC:73::prepareMEM:156 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:73::prepareMEM:156 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:78::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:78::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:86::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:86::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:97::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:97::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setFAC:103::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:103::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:80::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) -- _deref_pbuc1=vbuaa sta memHi - //SEG297 prepareMEM::@return - //SEG298 [142] return [ ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111::prepareMEM:134 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:99::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109::prepareMEM:145 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:88::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105::prepareMEM:152 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setFAC:73::prepareMEM:157 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:73::prepareMEM:157 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:78::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:78::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:86::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:86::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:97::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:97::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setFAC:103::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:103::prepareMEM:157 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:80::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101::prepareMEM:162 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + //SEG294 prepareMEM::@return + //SEG295 [141] return [ ] ( main:2::init:5::gen_sintab:57::addMEMtoFAC:92::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:92::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::addMEMtoFAC:111::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::addMEMtoFAC:111::prepareMEM:133 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:99::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109::prepareMEM:144 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:88::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105::prepareMEM:151 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setFAC:73::prepareMEM:156 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:73::prepareMEM:156 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:78::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:78::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:86::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:86::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:97::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:97::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setFAC:103::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:103::prepareMEM:156 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:80::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101::prepareMEM:161 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) rts } -//SEG299 mulFACbyMEM +//SEG296 mulFACbyMEM mulFACbyMEM: { .label mem = $c - //SEG300 [144] (byte*) prepareMEM::mem#4 ← (byte*) mulFACbyMEM::mem#2 [ prepareMEM::mem#4 ] ( main:2::init:5::gen_sintab:57::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#4 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#4 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#4 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#4 ] ) + //SEG297 [143] (byte*) prepareMEM::mem#4 ← (byte*) mulFACbyMEM::mem#2 [ prepareMEM::mem#4 ] ( main:2::init:5::gen_sintab:57::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#4 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#4 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#4 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#4 ] ) // (byte*) prepareMEM::mem#4 = (byte*) mulFACbyMEM::mem#2 // register copy zp ZP_WORD:12 - //SEG301 [145] call prepareMEM param-assignment [ ] ( main:2::init:5::gen_sintab:57::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) - //SEG302 [137] phi from mulFACbyMEM to prepareMEM [phi:mulFACbyMEM->prepareMEM] - //SEG303 [137] phi (byte*) prepareMEM::mem#5 = (byte*) prepareMEM::mem#4 [phi:mulFACbyMEM->prepareMEM#0] -- register_copy + //SEG298 [144] call prepareMEM param-assignment [ ] ( main:2::init:5::gen_sintab:57::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + //SEG299 [136] phi from mulFACbyMEM to prepareMEM [phi:mulFACbyMEM->prepareMEM] + //SEG300 [136] phi (byte*) prepareMEM::mem#5 = (byte*) prepareMEM::mem#4 [phi:mulFACbyMEM->prepareMEM#0] -- register_copy jsr prepareMEM - //SEG304 mulFACbyMEM::@1 - //SEG305 asm { lda$fe ldy$ff jsr$ba28 } + //SEG301 mulFACbyMEM::@1 + //SEG302 asm { lda$fe ldy$ff jsr$ba28 } lda $fe ldy $ff jsr $ba28 - //SEG306 mulFACbyMEM::@return - //SEG307 [147] return [ ] ( main:2::init:5::gen_sintab:57::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + //SEG303 mulFACbyMEM::@return + //SEG304 [146] return [ ] ( main:2::init:5::gen_sintab:57::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:99 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::mulFACbyMEM:109 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) rts } -//SEG308 sinFAC +//SEG305 sinFAC sinFAC: { - //SEG309 asm { jsr$e26b } + //SEG306 asm { jsr$e26b } jsr $e26b - //SEG310 sinFAC::@return - //SEG311 [149] return [ ] ( main:2::init:5::gen_sintab:57::sinFAC:107 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::sinFAC:107 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + //SEG307 sinFAC::@return + //SEG308 [148] return [ ] ( main:2::init:5::gen_sintab:57::sinFAC:107 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::sinFAC:107 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) rts } -//SEG312 divMEMbyFAC +//SEG309 divMEMbyFAC divMEMbyFAC: { .label mem = $c - //SEG313 [151] (byte*) prepareMEM::mem#3 ← (byte*) divMEMbyFAC::mem#2 [ prepareMEM::mem#3 ] ( main:2::init:5::gen_sintab:57::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#3 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#3 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#3 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#3 ] ) + //SEG310 [150] (byte*) prepareMEM::mem#3 ← (byte*) divMEMbyFAC::mem#2 [ prepareMEM::mem#3 ] ( main:2::init:5::gen_sintab:57::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#3 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#3 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#3 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#3 ] ) // (byte*) prepareMEM::mem#3 = (byte*) divMEMbyFAC::mem#2 // register copy zp ZP_WORD:12 - //SEG314 [152] call prepareMEM param-assignment [ ] ( main:2::init:5::gen_sintab:57::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) - //SEG315 [137] phi from divMEMbyFAC to prepareMEM [phi:divMEMbyFAC->prepareMEM] - //SEG316 [137] phi (byte*) prepareMEM::mem#5 = (byte*) prepareMEM::mem#3 [phi:divMEMbyFAC->prepareMEM#0] -- register_copy + //SEG311 [151] call prepareMEM param-assignment [ ] ( main:2::init:5::gen_sintab:57::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + //SEG312 [136] phi from divMEMbyFAC to prepareMEM [phi:divMEMbyFAC->prepareMEM] + //SEG313 [136] phi (byte*) prepareMEM::mem#5 = (byte*) prepareMEM::mem#3 [phi:divMEMbyFAC->prepareMEM#0] -- register_copy jsr prepareMEM - //SEG317 divMEMbyFAC::@1 - //SEG318 asm { lda$fe ldy$ff jsr$bb0f } + //SEG314 divMEMbyFAC::@1 + //SEG315 asm { lda$fe ldy$ff jsr$bb0f } lda $fe ldy $ff jsr $bb0f - //SEG319 divMEMbyFAC::@return - //SEG320 [154] return [ ] ( main:2::init:5::gen_sintab:57::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + //SEG316 divMEMbyFAC::@return + //SEG317 [153] return [ ] ( main:2::init:5::gen_sintab:57::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:88 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::divMEMbyFAC:105 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) rts } -//SEG321 setFAC +//SEG318 setFAC setFAC: { .label w = $c - //SEG322 [156] (byte*~) prepareMEM::mem#9 ← (byte*)(word) setFAC::w#5 [ prepareMEM::mem#9 ] ( main:2::init:5::gen_sintab:57::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#9 ] main:2::init:5::gen_sintab:61::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#9 ] main:2::init:5::gen_sintab:57::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#9 ] main:2::init:5::gen_sintab:61::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#9 ] main:2::init:5::gen_sintab:57::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#9 ] main:2::init:5::gen_sintab:61::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#9 ] main:2::init:5::gen_sintab:57::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#9 ] main:2::init:5::gen_sintab:61::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#9 ] main:2::init:5::gen_sintab:57::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#9 ] main:2::init:5::gen_sintab:61::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#9 ] ) - // (byte*~) prepareMEM::mem#9 = (byte*)(word) setFAC::w#5 // register copy zp ZP_WORD:12 - //SEG323 [157] call prepareMEM param-assignment [ ] ( main:2::init:5::gen_sintab:57::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) - //SEG324 [137] phi from setFAC to prepareMEM [phi:setFAC->prepareMEM] - //SEG325 [137] phi (byte*) prepareMEM::mem#5 = (byte*~) prepareMEM::mem#9 [phi:setFAC->prepareMEM#0] -- register_copy + //SEG319 [155] (byte*~) prepareMEM::mem#8 ← (byte*)(word) setFAC::w#5 [ prepareMEM::mem#8 ] ( main:2::init:5::gen_sintab:57::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#8 ] main:2::init:5::gen_sintab:61::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#8 ] main:2::init:5::gen_sintab:57::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#8 ] main:2::init:5::gen_sintab:61::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#8 ] main:2::init:5::gen_sintab:57::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#8 ] main:2::init:5::gen_sintab:61::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#8 ] main:2::init:5::gen_sintab:57::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#8 ] main:2::init:5::gen_sintab:61::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#8 ] main:2::init:5::gen_sintab:57::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#8 ] main:2::init:5::gen_sintab:61::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#8 ] ) + // (byte*~) prepareMEM::mem#8 = (byte*)(word) setFAC::w#5 // register copy zp ZP_WORD:12 + //SEG320 [156] call prepareMEM param-assignment [ ] ( main:2::init:5::gen_sintab:57::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + //SEG321 [136] phi from setFAC to prepareMEM [phi:setFAC->prepareMEM] + //SEG322 [136] phi (byte*) prepareMEM::mem#5 = (byte*~) prepareMEM::mem#8 [phi:setFAC->prepareMEM#0] -- register_copy jsr prepareMEM - //SEG326 setFAC::@1 - //SEG327 asm { ldy$fe lda$ff jsr$b391 } + //SEG323 setFAC::@1 + //SEG324 asm { ldy$fe lda$ff jsr$b391 } ldy $fe lda $ff jsr $b391 - //SEG328 setFAC::@return - //SEG329 [159] return [ ] ( main:2::init:5::gen_sintab:57::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + //SEG325 setFAC::@return + //SEG326 [158] return [ ] ( main:2::init:5::gen_sintab:57::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:73 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:78 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setFAC:86 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:97 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:57::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setFAC:103 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) rts } -//SEG330 setMEMtoFAC +//SEG327 setMEMtoFAC setMEMtoFAC: { .label mem = $c - //SEG331 [161] (byte*) prepareMEM::mem#1 ← (byte*) setMEMtoFAC::mem#5 [ prepareMEM::mem#1 ] ( main:2::init:5::gen_sintab:57::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#1 ] ) + //SEG328 [160] (byte*) prepareMEM::mem#1 ← (byte*) setMEMtoFAC::mem#5 [ prepareMEM::mem#1 ] ( main:2::init:5::gen_sintab:57::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#1 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 prepareMEM::mem#1 ] ) // (byte*) prepareMEM::mem#1 = (byte*) setMEMtoFAC::mem#5 // register copy zp ZP_WORD:12 - //SEG332 [162] call prepareMEM param-assignment [ ] ( main:2::init:5::gen_sintab:57::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) - //SEG333 [137] phi from setMEMtoFAC to prepareMEM [phi:setMEMtoFAC->prepareMEM] - //SEG334 [137] phi (byte*) prepareMEM::mem#5 = (byte*) prepareMEM::mem#1 [phi:setMEMtoFAC->prepareMEM#0] -- register_copy + //SEG329 [161] call prepareMEM param-assignment [ ] ( main:2::init:5::gen_sintab:57::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + //SEG330 [136] phi from setMEMtoFAC to prepareMEM [phi:setMEMtoFAC->prepareMEM] + //SEG331 [136] phi (byte*) prepareMEM::mem#5 = (byte*) prepareMEM::mem#1 [phi:setMEMtoFAC->prepareMEM#0] -- register_copy jsr prepareMEM - //SEG335 setMEMtoFAC::@1 - //SEG336 asm { ldx$fe ldy$ff jsr$bbd4 } + //SEG332 setMEMtoFAC::@1 + //SEG333 asm { ldx$fe ldy$ff jsr$bbd4 } ldx $fe ldy $ff jsr $bbd4 - //SEG337 setMEMtoFAC::@return - //SEG338 [164] return [ ] ( main:2::init:5::gen_sintab:57::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) + //SEG334 setMEMtoFAC::@return + //SEG335 [163] return [ ] ( main:2::init:5::gen_sintab:57::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:80 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:84 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:90 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:94 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:57::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] main:2::init:5::gen_sintab:61::setMEMtoFAC:101 [ gen_sintab::length#10 gen_sintab::sintab#12 gen_sintab::i#10 progress_idx#34 progress_cursor#34 ] ) rts } -//SEG339 subFACfromARG +//SEG336 subFACfromARG subFACfromARG: { - //SEG340 asm { jsr$b853 } + //SEG337 asm { jsr$b853 } jsr $b853 - //SEG341 subFACfromARG::@return - //SEG342 [166] return [ ] ( main:2::init:5::gen_sintab:57::subFACfromARG:82 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::subFACfromARG:82 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ) + //SEG338 subFACfromARG::@return + //SEG339 [165] return [ ] ( main:2::init:5::gen_sintab:57::subFACfromARG:82 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::subFACfromARG:82 [ gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ) rts } -//SEG343 setARGtoFAC +//SEG340 setARGtoFAC setARGtoFAC: { - //SEG344 asm { jsr$bc0f } + //SEG341 asm { jsr$bc0f } jsr $bc0f - //SEG345 setARGtoFAC::@return - //SEG346 [168] return [ ] ( main:2::init:5::gen_sintab:57::setARGtoFAC:75 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setARGtoFAC:75 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ) + //SEG342 setARGtoFAC::@return + //SEG343 [167] return [ ] ( main:2::init:5::gen_sintab:57::setARGtoFAC:75 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] main:2::init:5::gen_sintab:61::setARGtoFAC:75 [ gen_sintab::min#2 gen_sintab::length#10 gen_sintab::sintab#12 progress_init::line#2 ] ) rts } -//SEG347 progress_init +//SEG344 progress_init progress_init: { .label line = $a - //SEG348 progress_init::@return - //SEG349 [170] return [ progress_init::line#2 ] ( main:2::init:5::progress_init:55 [ progress_init::line#2 ] main:2::init:5::progress_init:59 [ progress_init::line#2 ] ) + //SEG345 progress_init::@return + //SEG346 [169] return [ progress_init::line#2 ] ( main:2::init:5::progress_init:55 [ progress_init::line#2 ] main:2::init:5::progress_init:59 [ progress_init::line#2 ] ) rts } -//SEG350 gen_sprites +//SEG347 gen_sprites gen_sprites: { .label spr = 8 .label i = 2 - //SEG351 [172] phi from gen_sprites to gen_sprites::@1 [phi:gen_sprites->gen_sprites::@1] - //SEG352 [172] phi (byte*) gen_sprites::spr#2 = (const byte*) sprites#0 [phi:gen_sprites->gen_sprites::@1#0] -- pbuz1=pbuc1 + //SEG348 [171] phi from gen_sprites to gen_sprites::@1 [phi:gen_sprites->gen_sprites::@1] + //SEG349 [171] phi (byte*) gen_sprites::spr#2 = (const byte*) sprites#0 [phi:gen_sprites->gen_sprites::@1#0] -- pbuz1=pbuc1 lda #sprites sta spr+1 - //SEG353 [172] phi (byte) gen_sprites::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gen_sprites->gen_sprites::@1#1] -- vbuz1=vbuc1 + //SEG350 [171] phi (byte) gen_sprites::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gen_sprites->gen_sprites::@1#1] -- vbuz1=vbuc1 lda #0 sta i - //SEG354 [172] phi from gen_sprites::@3 to gen_sprites::@1 [phi:gen_sprites::@3->gen_sprites::@1] - //SEG355 [172] phi (byte*) gen_sprites::spr#2 = (byte*) gen_sprites::spr#1 [phi:gen_sprites::@3->gen_sprites::@1#0] -- register_copy - //SEG356 [172] phi (byte) gen_sprites::i#2 = (byte) gen_sprites::i#1 [phi:gen_sprites::@3->gen_sprites::@1#1] -- register_copy - //SEG357 gen_sprites::@1 + //SEG351 [171] phi from gen_sprites::@3 to gen_sprites::@1 [phi:gen_sprites::@3->gen_sprites::@1] + //SEG352 [171] phi (byte*) gen_sprites::spr#2 = (byte*) gen_sprites::spr#1 [phi:gen_sprites::@3->gen_sprites::@1#0] -- register_copy + //SEG353 [171] phi (byte) gen_sprites::i#2 = (byte) gen_sprites::i#1 [phi:gen_sprites::@3->gen_sprites::@1#1] -- register_copy + //SEG354 gen_sprites::@1 b1: - //SEG358 [173] (byte) gen_chargen_sprite::ch#0 ← *((const string) gen_sprites::cml#0 + (byte) gen_sprites::i#2) [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::ch#0 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::ch#0 ] ) -- vbuyy=pbuc1_derefidx_vbuz1 + //SEG355 [172] (byte) gen_chargen_sprite::ch#0 ← *((const string) gen_sprites::cml#0 + (byte) gen_sprites::i#2) [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::ch#0 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::ch#0 ] ) -- vbuyy=pbuc1_derefidx_vbuz1 ldx i ldy cml,x - //SEG359 [174] (byte*) gen_chargen_sprite::sprite#0 ← (byte*) gen_sprites::spr#2 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::ch#0 gen_chargen_sprite::sprite#0 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::ch#0 gen_chargen_sprite::sprite#0 ] ) -- pbuz1=pbuz2 + //SEG356 [173] (byte*) gen_chargen_sprite::sprite#0 ← (byte*) gen_sprites::spr#2 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::ch#0 gen_chargen_sprite::sprite#0 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::ch#0 gen_chargen_sprite::sprite#0 ] ) -- pbuz1=pbuz2 lda spr sta gen_chargen_sprite.sprite lda spr+1 sta gen_chargen_sprite.sprite+1 - //SEG360 [175] call gen_chargen_sprite param-assignment [ gen_sprites::i#2 gen_sprites::spr#2 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#2 gen_sprites::spr#2 ] ) + //SEG357 [174] call gen_chargen_sprite param-assignment [ gen_sprites::i#2 gen_sprites::spr#2 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#2 gen_sprites::spr#2 ] ) jsr gen_chargen_sprite - //SEG361 gen_sprites::@3 - //SEG362 [176] (byte*) gen_sprites::spr#1 ← (byte*) gen_sprites::spr#2 + (byte/signed byte/word/signed word/dword/signed dword) 64 [ gen_sprites::i#2 gen_sprites::spr#1 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#2 gen_sprites::spr#1 ] ) -- pbuz1=pbuz1_plus_vbuc1 + //SEG358 gen_sprites::@3 + //SEG359 [175] (byte*) gen_sprites::spr#1 ← (byte*) gen_sprites::spr#2 + (byte/signed byte/word/signed word/dword/signed dword) 64 [ gen_sprites::i#2 gen_sprites::spr#1 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#2 gen_sprites::spr#1 ] ) -- pbuz1=pbuz1_plus_vbuc1 lda spr clc adc #$40 @@ -10698,18 +10649,18 @@ gen_sprites: { bcc !+ inc spr+1 !: - //SEG363 [177] (byte) gen_sprites::i#1 ← ++ (byte) gen_sprites::i#2 [ gen_sprites::i#1 gen_sprites::spr#1 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#1 gen_sprites::spr#1 ] ) -- vbuz1=_inc_vbuz1 + //SEG360 [176] (byte) gen_sprites::i#1 ← ++ (byte) gen_sprites::i#2 [ gen_sprites::i#1 gen_sprites::spr#1 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#1 gen_sprites::spr#1 ] ) -- vbuz1=_inc_vbuz1 inc i - //SEG364 [178] if((byte) gen_sprites::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 7) goto gen_sprites::@1 [ gen_sprites::i#1 gen_sprites::spr#1 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#1 gen_sprites::spr#1 ] ) -- vbuz1_neq_vbuc1_then_la1 + //SEG361 [177] if((byte) gen_sprites::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 7) goto gen_sprites::@1 [ gen_sprites::i#1 gen_sprites::spr#1 ] ( main:2::init:5::gen_sprites:53 [ gen_sprites::i#1 gen_sprites::spr#1 ] ) -- vbuz1_neq_vbuc1_then_la1 lda i cmp #7 bne b1 - //SEG365 gen_sprites::@return - //SEG366 [179] return [ ] ( main:2::init:5::gen_sprites:53 [ ] ) + //SEG362 gen_sprites::@return + //SEG363 [178] return [ ] ( main:2::init:5::gen_sprites:53 [ ] ) rts cml: .text "camelot" } -//SEG367 gen_chargen_sprite +//SEG364 gen_chargen_sprite gen_chargen_sprite: { .label _0 = $c .label _1 = $c @@ -10720,19 +10671,19 @@ gen_chargen_sprite: { .label x = 5 .label y = 3 .label c = 6 - //SEG368 [180] (word~) gen_chargen_sprite::$0 ← ((word)) (byte) gen_chargen_sprite::ch#0 [ gen_chargen_sprite::sprite#0 gen_chargen_sprite::$0 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::sprite#0 gen_chargen_sprite::$0 ] ) -- vwuz1=_word_vbuyy + //SEG365 [179] (word~) gen_chargen_sprite::$0 ← ((word)) (byte) gen_chargen_sprite::ch#0 [ gen_chargen_sprite::sprite#0 gen_chargen_sprite::$0 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::sprite#0 gen_chargen_sprite::$0 ] ) -- vwuz1=_word_vbuyy tya sta _0 lda #0 sta _0+1 - //SEG369 [181] (word~) gen_chargen_sprite::$1 ← (word~) gen_chargen_sprite::$0 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ gen_chargen_sprite::sprite#0 gen_chargen_sprite::$1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::sprite#0 gen_chargen_sprite::$1 ] ) -- vwuz1=vwuz1_rol_3 + //SEG366 [180] (word~) gen_chargen_sprite::$1 ← (word~) gen_chargen_sprite::$0 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ gen_chargen_sprite::sprite#0 gen_chargen_sprite::$1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::sprite#0 gen_chargen_sprite::$1 ] ) -- vwuz1=vwuz1_rol_3 asl _1 rol _1+1 asl _1 rol _1+1 asl _1 rol _1+1 - //SEG370 [182] (byte*) gen_chargen_sprite::chargen#0 ← (const byte*) CHARGEN#0 + (word~) gen_chargen_sprite::$1 [ gen_chargen_sprite::sprite#0 gen_chargen_sprite::chargen#0 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::sprite#0 gen_chargen_sprite::chargen#0 ] ) -- pbuz1=pbuc1_plus_vwuz1 + //SEG367 [181] (byte*) gen_chargen_sprite::chargen#0 ← (const byte*) CHARGEN#0 + (word~) gen_chargen_sprite::$1 [ gen_chargen_sprite::sprite#0 gen_chargen_sprite::chargen#0 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::sprite#0 gen_chargen_sprite::chargen#0 ] ) -- pbuz1=pbuc1_plus_vwuz1 clc lda chargen adc #CHARGEN sta chargen+1 - //SEG371 asm { sei } + //SEG368 asm { sei } sei - //SEG372 [184] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) 50 [ gen_chargen_sprite::sprite#0 gen_chargen_sprite::chargen#0 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::sprite#0 gen_chargen_sprite::chargen#0 ] ) -- _deref_pbuc1=vbuc2 + //SEG369 [183] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) 50 [ gen_chargen_sprite::sprite#0 gen_chargen_sprite::chargen#0 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::sprite#0 gen_chargen_sprite::chargen#0 ] ) -- _deref_pbuc1=vbuc2 lda #$32 sta PROCPORT - //SEG373 [185] phi from gen_chargen_sprite to gen_chargen_sprite::@1 [phi:gen_chargen_sprite->gen_chargen_sprite::@1] - //SEG374 [185] phi (byte*) gen_chargen_sprite::sprite#11 = (byte*) gen_chargen_sprite::sprite#0 [phi:gen_chargen_sprite->gen_chargen_sprite::@1#0] -- register_copy - //SEG375 [185] phi (byte) gen_chargen_sprite::y#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gen_chargen_sprite->gen_chargen_sprite::@1#1] -- vbuz1=vbuc1 + //SEG370 [184] phi from gen_chargen_sprite to gen_chargen_sprite::@1 [phi:gen_chargen_sprite->gen_chargen_sprite::@1] + //SEG371 [184] phi (byte*) gen_chargen_sprite::sprite#11 = (byte*) gen_chargen_sprite::sprite#0 [phi:gen_chargen_sprite->gen_chargen_sprite::@1#0] -- register_copy + //SEG372 [184] phi (byte) gen_chargen_sprite::y#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gen_chargen_sprite->gen_chargen_sprite::@1#1] -- vbuz1=vbuc1 lda #0 sta y - //SEG376 [185] phi from gen_chargen_sprite::@9 to gen_chargen_sprite::@1 [phi:gen_chargen_sprite::@9->gen_chargen_sprite::@1] - //SEG377 [185] phi (byte*) gen_chargen_sprite::sprite#11 = (byte*) gen_chargen_sprite::sprite#2 [phi:gen_chargen_sprite::@9->gen_chargen_sprite::@1#0] -- register_copy - //SEG378 [185] phi (byte) gen_chargen_sprite::y#2 = (byte) gen_chargen_sprite::y#1 [phi:gen_chargen_sprite::@9->gen_chargen_sprite::@1#1] -- register_copy - //SEG379 gen_chargen_sprite::@1 + //SEG373 [184] phi from gen_chargen_sprite::@9 to gen_chargen_sprite::@1 [phi:gen_chargen_sprite::@9->gen_chargen_sprite::@1] + //SEG374 [184] phi (byte*) gen_chargen_sprite::sprite#11 = (byte*) gen_chargen_sprite::sprite#2 [phi:gen_chargen_sprite::@9->gen_chargen_sprite::@1#0] -- register_copy + //SEG375 [184] phi (byte) gen_chargen_sprite::y#2 = (byte) gen_chargen_sprite::y#1 [phi:gen_chargen_sprite::@9->gen_chargen_sprite::@1#1] -- register_copy + //SEG376 gen_chargen_sprite::@1 b1: - //SEG380 [186] (byte) gen_chargen_sprite::bits#0 ← *((byte*) gen_chargen_sprite::chargen#0 + (byte) gen_chargen_sprite::y#2) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#11 gen_chargen_sprite::bits#0 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#11 gen_chargen_sprite::bits#0 ] ) -- vbuz1=pbuz2_derefidx_vbuz3 + //SEG377 [185] (byte) gen_chargen_sprite::bits#0 ← *((byte*) gen_chargen_sprite::chargen#0 + (byte) gen_chargen_sprite::y#2) [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#11 gen_chargen_sprite::bits#0 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#11 gen_chargen_sprite::bits#0 ] ) -- vbuz1=pbuz2_derefidx_vbuz3 ldy y lda (chargen),y sta bits - //SEG381 [187] phi from gen_chargen_sprite::@1 to gen_chargen_sprite::@2 [phi:gen_chargen_sprite::@1->gen_chargen_sprite::@2] - //SEG382 [187] phi (byte) gen_chargen_sprite::x#6 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gen_chargen_sprite::@1->gen_chargen_sprite::@2#0] -- vbuz1=vbuc1 + //SEG378 [186] phi from gen_chargen_sprite::@1 to gen_chargen_sprite::@2 [phi:gen_chargen_sprite::@1->gen_chargen_sprite::@2] + //SEG379 [186] phi (byte) gen_chargen_sprite::x#6 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gen_chargen_sprite::@1->gen_chargen_sprite::@2#0] -- vbuz1=vbuc1 lda #0 sta x - //SEG383 [187] phi (byte*) gen_chargen_sprite::sprite#10 = (byte*) gen_chargen_sprite::sprite#11 [phi:gen_chargen_sprite::@1->gen_chargen_sprite::@2#1] -- register_copy - //SEG384 [187] phi (byte) gen_chargen_sprite::s_gen_cnt#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gen_chargen_sprite::@1->gen_chargen_sprite::@2#2] -- vbuyy=vbuc1 + //SEG380 [186] phi (byte*) gen_chargen_sprite::sprite#10 = (byte*) gen_chargen_sprite::sprite#11 [phi:gen_chargen_sprite::@1->gen_chargen_sprite::@2#1] -- register_copy + //SEG381 [186] phi (byte) gen_chargen_sprite::s_gen_cnt#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gen_chargen_sprite::@1->gen_chargen_sprite::@2#2] -- vbuyy=vbuc1 tay - //SEG385 [187] phi (byte) gen_chargen_sprite::s_gen#5 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gen_chargen_sprite::@1->gen_chargen_sprite::@2#3] -- vbuz1=vbuc1 + //SEG382 [186] phi (byte) gen_chargen_sprite::s_gen#5 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gen_chargen_sprite::@1->gen_chargen_sprite::@2#3] -- vbuz1=vbuc1 sta s_gen - //SEG386 [187] phi (byte) gen_chargen_sprite::bits#2 = (byte) gen_chargen_sprite::bits#0 [phi:gen_chargen_sprite::@1->gen_chargen_sprite::@2#4] -- register_copy - //SEG387 [187] phi from gen_chargen_sprite::@8 to gen_chargen_sprite::@2 [phi:gen_chargen_sprite::@8->gen_chargen_sprite::@2] - //SEG388 [187] phi (byte) gen_chargen_sprite::x#6 = (byte) gen_chargen_sprite::x#1 [phi:gen_chargen_sprite::@8->gen_chargen_sprite::@2#0] -- register_copy - //SEG389 [187] phi (byte*) gen_chargen_sprite::sprite#10 = (byte*) gen_chargen_sprite::sprite#4 [phi:gen_chargen_sprite::@8->gen_chargen_sprite::@2#1] -- register_copy - //SEG390 [187] phi (byte) gen_chargen_sprite::s_gen_cnt#4 = (byte) gen_chargen_sprite::s_gen_cnt#5 [phi:gen_chargen_sprite::@8->gen_chargen_sprite::@2#2] -- register_copy - //SEG391 [187] phi (byte) gen_chargen_sprite::s_gen#5 = (byte) gen_chargen_sprite::s_gen#6 [phi:gen_chargen_sprite::@8->gen_chargen_sprite::@2#3] -- register_copy - //SEG392 [187] phi (byte) gen_chargen_sprite::bits#2 = (byte) gen_chargen_sprite::bits#1 [phi:gen_chargen_sprite::@8->gen_chargen_sprite::@2#4] -- register_copy - //SEG393 gen_chargen_sprite::@2 + //SEG383 [186] phi (byte) gen_chargen_sprite::bits#2 = (byte) gen_chargen_sprite::bits#0 [phi:gen_chargen_sprite::@1->gen_chargen_sprite::@2#4] -- register_copy + //SEG384 [186] phi from gen_chargen_sprite::@8 to gen_chargen_sprite::@2 [phi:gen_chargen_sprite::@8->gen_chargen_sprite::@2] + //SEG385 [186] phi (byte) gen_chargen_sprite::x#6 = (byte) gen_chargen_sprite::x#1 [phi:gen_chargen_sprite::@8->gen_chargen_sprite::@2#0] -- register_copy + //SEG386 [186] phi (byte*) gen_chargen_sprite::sprite#10 = (byte*) gen_chargen_sprite::sprite#4 [phi:gen_chargen_sprite::@8->gen_chargen_sprite::@2#1] -- register_copy + //SEG387 [186] phi (byte) gen_chargen_sprite::s_gen_cnt#4 = (byte) gen_chargen_sprite::s_gen_cnt#5 [phi:gen_chargen_sprite::@8->gen_chargen_sprite::@2#2] -- register_copy + //SEG388 [186] phi (byte) gen_chargen_sprite::s_gen#5 = (byte) gen_chargen_sprite::s_gen#6 [phi:gen_chargen_sprite::@8->gen_chargen_sprite::@2#3] -- register_copy + //SEG389 [186] phi (byte) gen_chargen_sprite::bits#2 = (byte) gen_chargen_sprite::bits#1 [phi:gen_chargen_sprite::@8->gen_chargen_sprite::@2#4] -- register_copy + //SEG390 gen_chargen_sprite::@2 b2: - //SEG394 [188] (byte~) gen_chargen_sprite::$3 ← (byte) gen_chargen_sprite::bits#2 & (byte/word/signed word/dword/signed dword) 128 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 gen_chargen_sprite::$3 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 gen_chargen_sprite::$3 ] ) -- vbuaa=vbuz1_band_vbuc1 + //SEG391 [187] (byte~) gen_chargen_sprite::$3 ← (byte) gen_chargen_sprite::bits#2 & (byte/word/signed word/dword/signed dword) 128 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 gen_chargen_sprite::$3 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 gen_chargen_sprite::$3 ] ) -- vbuaa=vbuz1_band_vbuc1 lda #$80 and bits - //SEG395 [189] if((byte~) gen_chargen_sprite::$3==(byte/signed byte/word/signed word/dword/signed dword) 0) goto gen_chargen_sprite::@3 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 ] ) -- vbuaa_eq_0_then_la1 + //SEG392 [188] if((byte~) gen_chargen_sprite::$3==(byte/signed byte/word/signed word/dword/signed dword) 0) goto gen_chargen_sprite::@3 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::sprite#10 gen_chargen_sprite::x#6 ] ) -- vbuaa_eq_0_then_la1 cmp #0 beq b6 - //SEG396 [190] phi from gen_chargen_sprite::@2 to gen_chargen_sprite::@6 [phi:gen_chargen_sprite::@2->gen_chargen_sprite::@6] - //SEG397 gen_chargen_sprite::@6 - //SEG398 [191] phi from gen_chargen_sprite::@6 to gen_chargen_sprite::@3 [phi:gen_chargen_sprite::@6->gen_chargen_sprite::@3] - //SEG399 [191] phi (byte) gen_chargen_sprite::c#3 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:gen_chargen_sprite::@6->gen_chargen_sprite::@3#0] -- vbuz1=vbuc1 + //SEG393 [189] phi from gen_chargen_sprite::@2 to gen_chargen_sprite::@6 [phi:gen_chargen_sprite::@2->gen_chargen_sprite::@6] + //SEG394 gen_chargen_sprite::@6 + //SEG395 [190] phi from gen_chargen_sprite::@6 to gen_chargen_sprite::@3 [phi:gen_chargen_sprite::@6->gen_chargen_sprite::@3] + //SEG396 [190] phi (byte) gen_chargen_sprite::c#3 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:gen_chargen_sprite::@6->gen_chargen_sprite::@3#0] -- vbuz1=vbuc1 lda #1 sta c jmp b3 - //SEG400 [191] phi from gen_chargen_sprite::@2 to gen_chargen_sprite::@3 [phi:gen_chargen_sprite::@2->gen_chargen_sprite::@3] + //SEG397 [190] phi from gen_chargen_sprite::@2 to gen_chargen_sprite::@3 [phi:gen_chargen_sprite::@2->gen_chargen_sprite::@3] b6: - //SEG401 [191] phi (byte) gen_chargen_sprite::c#3 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gen_chargen_sprite::@2->gen_chargen_sprite::@3#0] -- vbuz1=vbuc1 + //SEG398 [190] phi (byte) gen_chargen_sprite::c#3 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gen_chargen_sprite::@2->gen_chargen_sprite::@3#0] -- vbuz1=vbuc1 lda #0 sta c - //SEG402 gen_chargen_sprite::@3 + //SEG399 gen_chargen_sprite::@3 b3: - //SEG403 [192] phi from gen_chargen_sprite::@3 to gen_chargen_sprite::@4 [phi:gen_chargen_sprite::@3->gen_chargen_sprite::@4] - //SEG404 [192] phi (byte*) gen_chargen_sprite::sprite#3 = (byte*) gen_chargen_sprite::sprite#10 [phi:gen_chargen_sprite::@3->gen_chargen_sprite::@4#0] -- register_copy - //SEG405 [192] phi (byte) gen_chargen_sprite::b#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gen_chargen_sprite::@3->gen_chargen_sprite::@4#1] -- vbuxx=vbuc1 + //SEG400 [191] phi from gen_chargen_sprite::@3 to gen_chargen_sprite::@4 [phi:gen_chargen_sprite::@3->gen_chargen_sprite::@4] + //SEG401 [191] phi (byte*) gen_chargen_sprite::sprite#3 = (byte*) gen_chargen_sprite::sprite#10 [phi:gen_chargen_sprite::@3->gen_chargen_sprite::@4#0] -- register_copy + //SEG402 [191] phi (byte) gen_chargen_sprite::b#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gen_chargen_sprite::@3->gen_chargen_sprite::@4#1] -- vbuxx=vbuc1 ldx #0 - //SEG406 [192] phi (byte) gen_chargen_sprite::s_gen_cnt#3 = (byte) gen_chargen_sprite::s_gen_cnt#4 [phi:gen_chargen_sprite::@3->gen_chargen_sprite::@4#2] -- register_copy - //SEG407 [192] phi (byte) gen_chargen_sprite::s_gen#3 = (byte) gen_chargen_sprite::s_gen#5 [phi:gen_chargen_sprite::@3->gen_chargen_sprite::@4#3] -- register_copy - //SEG408 [192] phi from gen_chargen_sprite::@5 to gen_chargen_sprite::@4 [phi:gen_chargen_sprite::@5->gen_chargen_sprite::@4] - //SEG409 [192] phi (byte*) gen_chargen_sprite::sprite#3 = (byte*) gen_chargen_sprite::sprite#4 [phi:gen_chargen_sprite::@5->gen_chargen_sprite::@4#0] -- register_copy - //SEG410 [192] phi (byte) gen_chargen_sprite::b#2 = (byte) gen_chargen_sprite::b#1 [phi:gen_chargen_sprite::@5->gen_chargen_sprite::@4#1] -- register_copy - //SEG411 [192] phi (byte) gen_chargen_sprite::s_gen_cnt#3 = (byte) gen_chargen_sprite::s_gen_cnt#5 [phi:gen_chargen_sprite::@5->gen_chargen_sprite::@4#2] -- register_copy - //SEG412 [192] phi (byte) gen_chargen_sprite::s_gen#3 = (byte) gen_chargen_sprite::s_gen#6 [phi:gen_chargen_sprite::@5->gen_chargen_sprite::@4#3] -- register_copy - //SEG413 gen_chargen_sprite::@4 + //SEG403 [191] phi (byte) gen_chargen_sprite::s_gen_cnt#3 = (byte) gen_chargen_sprite::s_gen_cnt#4 [phi:gen_chargen_sprite::@3->gen_chargen_sprite::@4#2] -- register_copy + //SEG404 [191] phi (byte) gen_chargen_sprite::s_gen#3 = (byte) gen_chargen_sprite::s_gen#5 [phi:gen_chargen_sprite::@3->gen_chargen_sprite::@4#3] -- register_copy + //SEG405 [191] phi from gen_chargen_sprite::@5 to gen_chargen_sprite::@4 [phi:gen_chargen_sprite::@5->gen_chargen_sprite::@4] + //SEG406 [191] phi (byte*) gen_chargen_sprite::sprite#3 = (byte*) gen_chargen_sprite::sprite#4 [phi:gen_chargen_sprite::@5->gen_chargen_sprite::@4#0] -- register_copy + //SEG407 [191] phi (byte) gen_chargen_sprite::b#2 = (byte) gen_chargen_sprite::b#1 [phi:gen_chargen_sprite::@5->gen_chargen_sprite::@4#1] -- register_copy + //SEG408 [191] phi (byte) gen_chargen_sprite::s_gen_cnt#3 = (byte) gen_chargen_sprite::s_gen_cnt#5 [phi:gen_chargen_sprite::@5->gen_chargen_sprite::@4#2] -- register_copy + //SEG409 [191] phi (byte) gen_chargen_sprite::s_gen#3 = (byte) gen_chargen_sprite::s_gen#6 [phi:gen_chargen_sprite::@5->gen_chargen_sprite::@4#3] -- register_copy + //SEG410 gen_chargen_sprite::@4 b4: - //SEG414 [193] (byte~) gen_chargen_sprite::$6 ← (byte) gen_chargen_sprite::s_gen#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::$6 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::$6 ] ) -- vbuaa=vbuz1_rol_1 + //SEG411 [192] (byte~) gen_chargen_sprite::$6 ← (byte) gen_chargen_sprite::s_gen#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::$6 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::$6 ] ) -- vbuaa=vbuz1_rol_1 lda s_gen asl - //SEG415 [194] (byte) gen_chargen_sprite::s_gen#1 ← (byte~) gen_chargen_sprite::$6 | (byte) gen_chargen_sprite::c#3 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ) -- vbuz1=vbuaa_bor_vbuz2 + //SEG412 [193] (byte) gen_chargen_sprite::s_gen#1 ← (byte~) gen_chargen_sprite::$6 | (byte) gen_chargen_sprite::c#3 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ) -- vbuz1=vbuaa_bor_vbuz2 ora c sta s_gen - //SEG416 [195] (byte) gen_chargen_sprite::s_gen_cnt#1 ← ++ (byte) gen_chargen_sprite::s_gen_cnt#3 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 gen_chargen_sprite::s_gen_cnt#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 gen_chargen_sprite::s_gen_cnt#1 ] ) -- vbuyy=_inc_vbuyy + //SEG413 [194] (byte) gen_chargen_sprite::s_gen_cnt#1 ← ++ (byte) gen_chargen_sprite::s_gen_cnt#3 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 gen_chargen_sprite::s_gen_cnt#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 gen_chargen_sprite::s_gen_cnt#1 ] ) -- vbuyy=_inc_vbuyy iny - //SEG417 [196] if((byte) gen_chargen_sprite::s_gen_cnt#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto gen_chargen_sprite::@5 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 gen_chargen_sprite::s_gen_cnt#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 gen_chargen_sprite::s_gen_cnt#1 ] ) -- vbuyy_neq_vbuc1_then_la1 + //SEG414 [195] if((byte) gen_chargen_sprite::s_gen_cnt#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto gen_chargen_sprite::@5 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 gen_chargen_sprite::s_gen_cnt#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 gen_chargen_sprite::s_gen_cnt#1 ] ) -- vbuyy_neq_vbuc1_then_la1 cpy #8 bne b5 - //SEG418 gen_chargen_sprite::@7 - //SEG419 [197] *((byte*) gen_chargen_sprite::sprite#3 + (byte/signed byte/word/signed word/dword/signed dword) 0) ← (byte) gen_chargen_sprite::s_gen#1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ) -- pbuz1_derefidx_vbuc1=vbuz2 + //SEG415 gen_chargen_sprite::@7 + //SEG416 [196] *((byte*) gen_chargen_sprite::sprite#3 + (byte/signed byte/word/signed word/dword/signed dword) 0) ← (byte) gen_chargen_sprite::s_gen#1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ) -- pbuz1_derefidx_vbuc1=vbuz2 ldy #0 sta (sprite),y - //SEG420 [198] *((byte*) gen_chargen_sprite::sprite#3 + (byte/signed byte/word/signed word/dword/signed dword) 3) ← (byte) gen_chargen_sprite::s_gen#1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ) -- pbuz1_derefidx_vbuc1=vbuz2 + //SEG417 [197] *((byte*) gen_chargen_sprite::sprite#3 + (byte/signed byte/word/signed word/dword/signed dword) 3) ← (byte) gen_chargen_sprite::s_gen#1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 gen_chargen_sprite::s_gen#1 ] ) -- pbuz1_derefidx_vbuc1=vbuz2 ldy #3 sta (sprite),y - //SEG421 [199] *((byte*) gen_chargen_sprite::sprite#3 + (byte/signed byte/word/signed word/dword/signed dword) 6) ← (byte) gen_chargen_sprite::s_gen#1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 ] ) -- pbuz1_derefidx_vbuc1=vbuz2 + //SEG418 [198] *((byte*) gen_chargen_sprite::sprite#3 + (byte/signed byte/word/signed word/dword/signed dword) 6) ← (byte) gen_chargen_sprite::s_gen#1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#3 ] ) -- pbuz1_derefidx_vbuc1=vbuz2 ldy #6 sta (sprite),y - //SEG422 [200] (byte*) gen_chargen_sprite::sprite#1 ← ++ (byte*) gen_chargen_sprite::sprite#3 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#1 ] ) -- pbuz1=_inc_pbuz1 + //SEG419 [199] (byte*) gen_chargen_sprite::sprite#1 ← ++ (byte*) gen_chargen_sprite::sprite#3 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::c#3 gen_chargen_sprite::b#2 gen_chargen_sprite::sprite#1 ] ) -- pbuz1=_inc_pbuz1 inc sprite bne !+ inc sprite+1 !: - //SEG423 [201] phi from gen_chargen_sprite::@7 to gen_chargen_sprite::@5 [phi:gen_chargen_sprite::@7->gen_chargen_sprite::@5] - //SEG424 [201] phi (byte*) gen_chargen_sprite::sprite#4 = (byte*) gen_chargen_sprite::sprite#1 [phi:gen_chargen_sprite::@7->gen_chargen_sprite::@5#0] -- register_copy - //SEG425 [201] phi (byte) gen_chargen_sprite::s_gen_cnt#5 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gen_chargen_sprite::@7->gen_chargen_sprite::@5#1] -- vbuyy=vbuc1 + //SEG420 [200] phi from gen_chargen_sprite::@7 to gen_chargen_sprite::@5 [phi:gen_chargen_sprite::@7->gen_chargen_sprite::@5] + //SEG421 [200] phi (byte*) gen_chargen_sprite::sprite#4 = (byte*) gen_chargen_sprite::sprite#1 [phi:gen_chargen_sprite::@7->gen_chargen_sprite::@5#0] -- register_copy + //SEG422 [200] phi (byte) gen_chargen_sprite::s_gen_cnt#5 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gen_chargen_sprite::@7->gen_chargen_sprite::@5#1] -- vbuyy=vbuc1 ldy #0 - //SEG426 [201] phi (byte) gen_chargen_sprite::s_gen#6 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gen_chargen_sprite::@7->gen_chargen_sprite::@5#2] -- vbuz1=vbuc1 + //SEG423 [200] phi (byte) gen_chargen_sprite::s_gen#6 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gen_chargen_sprite::@7->gen_chargen_sprite::@5#2] -- vbuz1=vbuc1 tya sta s_gen - //SEG427 [201] phi from gen_chargen_sprite::@4 to gen_chargen_sprite::@5 [phi:gen_chargen_sprite::@4->gen_chargen_sprite::@5] - //SEG428 [201] phi (byte*) gen_chargen_sprite::sprite#4 = (byte*) gen_chargen_sprite::sprite#3 [phi:gen_chargen_sprite::@4->gen_chargen_sprite::@5#0] -- register_copy - //SEG429 [201] phi (byte) gen_chargen_sprite::s_gen_cnt#5 = (byte) gen_chargen_sprite::s_gen_cnt#1 [phi:gen_chargen_sprite::@4->gen_chargen_sprite::@5#1] -- register_copy - //SEG430 [201] phi (byte) gen_chargen_sprite::s_gen#6 = (byte) gen_chargen_sprite::s_gen#1 [phi:gen_chargen_sprite::@4->gen_chargen_sprite::@5#2] -- register_copy - //SEG431 gen_chargen_sprite::@5 + //SEG424 [200] phi from gen_chargen_sprite::@4 to gen_chargen_sprite::@5 [phi:gen_chargen_sprite::@4->gen_chargen_sprite::@5] + //SEG425 [200] phi (byte*) gen_chargen_sprite::sprite#4 = (byte*) gen_chargen_sprite::sprite#3 [phi:gen_chargen_sprite::@4->gen_chargen_sprite::@5#0] -- register_copy + //SEG426 [200] phi (byte) gen_chargen_sprite::s_gen_cnt#5 = (byte) gen_chargen_sprite::s_gen_cnt#1 [phi:gen_chargen_sprite::@4->gen_chargen_sprite::@5#1] -- register_copy + //SEG427 [200] phi (byte) gen_chargen_sprite::s_gen#6 = (byte) gen_chargen_sprite::s_gen#1 [phi:gen_chargen_sprite::@4->gen_chargen_sprite::@5#2] -- register_copy + //SEG428 gen_chargen_sprite::@5 b5: - //SEG432 [202] (byte) gen_chargen_sprite::b#1 ← ++ (byte) gen_chargen_sprite::b#2 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::c#3 gen_chargen_sprite::b#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::c#3 gen_chargen_sprite::b#1 ] ) -- vbuxx=_inc_vbuxx + //SEG429 [201] (byte) gen_chargen_sprite::b#1 ← ++ (byte) gen_chargen_sprite::b#2 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::c#3 gen_chargen_sprite::b#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::c#3 gen_chargen_sprite::b#1 ] ) -- vbuxx=_inc_vbuxx inx - //SEG433 [203] if((byte) gen_chargen_sprite::b#1!=(byte/signed byte/word/signed word/dword/signed dword) 3) goto gen_chargen_sprite::@4 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::c#3 gen_chargen_sprite::b#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::c#3 gen_chargen_sprite::b#1 ] ) -- vbuxx_neq_vbuc1_then_la1 + //SEG430 [202] if((byte) gen_chargen_sprite::b#1!=(byte/signed byte/word/signed word/dword/signed dword) 3) goto gen_chargen_sprite::@4 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::c#3 gen_chargen_sprite::b#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#2 gen_chargen_sprite::x#6 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::c#3 gen_chargen_sprite::b#1 ] ) -- vbuxx_neq_vbuc1_then_la1 cpx #3 bne b4 - //SEG434 gen_chargen_sprite::@8 - //SEG435 [204] (byte) gen_chargen_sprite::bits#1 ← (byte) gen_chargen_sprite::bits#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::x#6 gen_chargen_sprite::bits#1 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::x#6 gen_chargen_sprite::bits#1 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 ] ) -- vbuz1=vbuz1_rol_1 + //SEG431 gen_chargen_sprite::@8 + //SEG432 [203] (byte) gen_chargen_sprite::bits#1 ← (byte) gen_chargen_sprite::bits#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::x#6 gen_chargen_sprite::bits#1 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::x#6 gen_chargen_sprite::bits#1 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 ] ) -- vbuz1=vbuz1_rol_1 asl bits - //SEG436 [205] (byte) gen_chargen_sprite::x#1 ← ++ (byte) gen_chargen_sprite::x#6 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#1 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::x#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#1 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::x#1 ] ) -- vbuz1=_inc_vbuz1 + //SEG433 [204] (byte) gen_chargen_sprite::x#1 ← ++ (byte) gen_chargen_sprite::x#6 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#1 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::x#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#1 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::x#1 ] ) -- vbuz1=_inc_vbuz1 inc x - //SEG437 [206] if((byte) gen_chargen_sprite::x#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto gen_chargen_sprite::@2 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#1 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::x#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#1 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::x#1 ] ) -- vbuz1_neq_vbuc1_then_la1 + //SEG434 [205] if((byte) gen_chargen_sprite::x#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto gen_chargen_sprite::@2 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#1 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::x#1 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::bits#1 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::sprite#4 gen_chargen_sprite::x#1 ] ) -- vbuz1_neq_vbuc1_then_la1 lda x cmp #8 bne b2 - //SEG438 gen_chargen_sprite::@9 - //SEG439 [207] (byte*) gen_chargen_sprite::sprite#2 ← (byte*) gen_chargen_sprite::sprite#4 + (byte/signed byte/word/signed word/dword/signed dword) 6 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#2 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#2 ] ) -- pbuz1=pbuz1_plus_vbuc1 + //SEG435 gen_chargen_sprite::@9 + //SEG436 [206] (byte*) gen_chargen_sprite::sprite#2 ← (byte*) gen_chargen_sprite::sprite#4 + (byte/signed byte/word/signed word/dword/signed dword) 6 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#2 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#2 gen_chargen_sprite::sprite#2 ] ) -- pbuz1=pbuz1_plus_vbuc1 lda sprite clc adc #6 @@ -10872,91 +10823,91 @@ gen_chargen_sprite: { bcc !+ inc sprite+1 !: - //SEG440 [208] (byte) gen_chargen_sprite::y#1 ← ++ (byte) gen_chargen_sprite::y#2 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#1 gen_chargen_sprite::sprite#2 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#1 gen_chargen_sprite::sprite#2 ] ) -- vbuz1=_inc_vbuz1 + //SEG437 [207] (byte) gen_chargen_sprite::y#1 ← ++ (byte) gen_chargen_sprite::y#2 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#1 gen_chargen_sprite::sprite#2 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#1 gen_chargen_sprite::sprite#2 ] ) -- vbuz1=_inc_vbuz1 inc y - //SEG441 [209] if((byte) gen_chargen_sprite::y#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto gen_chargen_sprite::@1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#1 gen_chargen_sprite::sprite#2 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#1 gen_chargen_sprite::sprite#2 ] ) -- vbuz1_neq_vbuc1_then_la1 + //SEG438 [208] if((byte) gen_chargen_sprite::y#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto gen_chargen_sprite::@1 [ gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#1 gen_chargen_sprite::sprite#2 ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 gen_chargen_sprite::chargen#0 gen_chargen_sprite::y#1 gen_chargen_sprite::sprite#2 ] ) -- vbuz1_neq_vbuc1_then_la1 lda y cmp #8 bne b1 - //SEG442 gen_chargen_sprite::@10 - //SEG443 [210] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) 55 [ ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 ] ) -- _deref_pbuc1=vbuc2 + //SEG439 gen_chargen_sprite::@10 + //SEG440 [209] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) 55 [ ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 ] ) -- _deref_pbuc1=vbuc2 lda #$37 sta PROCPORT - //SEG444 asm { cli } + //SEG441 asm { cli } cli - //SEG445 gen_chargen_sprite::@return - //SEG446 [212] return [ ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:175 [ gen_sprites::i#2 gen_sprites::spr#2 ] ) + //SEG442 gen_chargen_sprite::@return + //SEG443 [211] return [ ] ( main:2::init:5::gen_sprites:53::gen_chargen_sprite:174 [ gen_sprites::i#2 gen_sprites::spr#2 ] ) rts } -//SEG447 place_sprites +//SEG444 place_sprites place_sprites: { .label sprites_ptr = SCREEN+$3f8 .label spr_id = 2 .label spr_x = 3 .label col = 4 - //SEG448 [213] *((const byte*) SPRITES_ENABLE#0) ← (byte/signed byte/word/signed word/dword/signed dword) 127 [ ] ( main:2::init:5::place_sprites:51 [ ] ) -- _deref_pbuc1=vbuc2 + //SEG445 [212] *((const byte*) SPRITES_ENABLE#0) ← (byte/signed byte/word/signed word/dword/signed dword) 127 [ ] ( main:2::init:5::place_sprites:51 [ ] ) -- _deref_pbuc1=vbuc2 lda #$7f sta SPRITES_ENABLE - //SEG449 [214] *((const byte*) SPRITES_EXPAND_X#0) ← (byte/signed byte/word/signed word/dword/signed dword) 127 [ ] ( main:2::init:5::place_sprites:51 [ ] ) -- _deref_pbuc1=vbuc2 + //SEG446 [213] *((const byte*) SPRITES_EXPAND_X#0) ← (byte/signed byte/word/signed word/dword/signed dword) 127 [ ] ( main:2::init:5::place_sprites:51 [ ] ) -- _deref_pbuc1=vbuc2 sta SPRITES_EXPAND_X - //SEG450 [215] *((const byte*) SPRITES_EXPAND_Y#0) ← (byte/signed byte/word/signed word/dword/signed dword) 127 [ ] ( main:2::init:5::place_sprites:51 [ ] ) -- _deref_pbuc1=vbuc2 + //SEG447 [214] *((const byte*) SPRITES_EXPAND_Y#0) ← (byte/signed byte/word/signed word/dword/signed dword) 127 [ ] ( main:2::init:5::place_sprites:51 [ ] ) -- _deref_pbuc1=vbuc2 sta SPRITES_EXPAND_Y - //SEG451 [216] phi from place_sprites to place_sprites::@1 [phi:place_sprites->place_sprites::@1] - //SEG452 [216] phi (byte) place_sprites::col#2 = (byte/signed byte/word/signed word/dword/signed dword) 5 [phi:place_sprites->place_sprites::@1#0] -- vbuz1=vbuc1 + //SEG448 [215] phi from place_sprites to place_sprites::@1 [phi:place_sprites->place_sprites::@1] + //SEG449 [215] phi (byte) place_sprites::col#2 = (byte/signed byte/word/signed word/dword/signed dword) 5 [phi:place_sprites->place_sprites::@1#0] -- vbuz1=vbuc1 lda #5 sta col - //SEG453 [216] phi (byte) place_sprites::j2#3 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:place_sprites->place_sprites::@1#1] -- vbuxx=vbuc1 + //SEG450 [215] phi (byte) place_sprites::j2#3 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:place_sprites->place_sprites::@1#1] -- vbuxx=vbuc1 ldx #0 - //SEG454 [216] phi (byte) place_sprites::spr_x#2 = (byte/signed byte/word/signed word/dword/signed dword) 60 [phi:place_sprites->place_sprites::@1#2] -- vbuz1=vbuc1 + //SEG451 [215] phi (byte) place_sprites::spr_x#2 = (byte/signed byte/word/signed word/dword/signed dword) 60 [phi:place_sprites->place_sprites::@1#2] -- vbuz1=vbuc1 lda #$3c sta spr_x - //SEG455 [216] phi (byte) place_sprites::j#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:place_sprites->place_sprites::@1#3] -- vbuyy=vbuc1 + //SEG452 [215] phi (byte) place_sprites::j#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:place_sprites->place_sprites::@1#3] -- vbuyy=vbuc1 ldy #0 - //SEG456 [216] phi (byte) place_sprites::spr_id#2 = ((byte))(const byte*) sprites#0/(byte/signed byte/word/signed word/dword/signed dword) 64 [phi:place_sprites->place_sprites::@1#4] -- vbuz1=vbuc1 + //SEG453 [215] phi (byte) place_sprites::spr_id#2 = ((byte))(const byte*) sprites#0/(byte/signed byte/word/signed word/dword/signed dword) 64 [phi:place_sprites->place_sprites::@1#4] -- vbuz1=vbuc1 lda #$ff&sprites/$40 sta spr_id - //SEG457 [216] phi from place_sprites::@1 to place_sprites::@1 [phi:place_sprites::@1->place_sprites::@1] - //SEG458 [216] phi (byte) place_sprites::col#2 = (byte) place_sprites::col#1 [phi:place_sprites::@1->place_sprites::@1#0] -- register_copy - //SEG459 [216] phi (byte) place_sprites::j2#3 = (byte) place_sprites::j2#2 [phi:place_sprites::@1->place_sprites::@1#1] -- register_copy - //SEG460 [216] phi (byte) place_sprites::spr_x#2 = (byte) place_sprites::spr_x#1 [phi:place_sprites::@1->place_sprites::@1#2] -- register_copy - //SEG461 [216] phi (byte) place_sprites::j#2 = (byte) place_sprites::j#1 [phi:place_sprites::@1->place_sprites::@1#3] -- register_copy - //SEG462 [216] phi (byte) place_sprites::spr_id#2 = (byte) place_sprites::spr_id#1 [phi:place_sprites::@1->place_sprites::@1#4] -- register_copy - //SEG463 place_sprites::@1 + //SEG454 [215] phi from place_sprites::@1 to place_sprites::@1 [phi:place_sprites::@1->place_sprites::@1] + //SEG455 [215] phi (byte) place_sprites::col#2 = (byte) place_sprites::col#1 [phi:place_sprites::@1->place_sprites::@1#0] -- register_copy + //SEG456 [215] phi (byte) place_sprites::j2#3 = (byte) place_sprites::j2#2 [phi:place_sprites::@1->place_sprites::@1#1] -- register_copy + //SEG457 [215] phi (byte) place_sprites::spr_x#2 = (byte) place_sprites::spr_x#1 [phi:place_sprites::@1->place_sprites::@1#2] -- register_copy + //SEG458 [215] phi (byte) place_sprites::j#2 = (byte) place_sprites::j#1 [phi:place_sprites::@1->place_sprites::@1#3] -- register_copy + //SEG459 [215] phi (byte) place_sprites::spr_id#2 = (byte) place_sprites::spr_id#1 [phi:place_sprites::@1->place_sprites::@1#4] -- register_copy + //SEG460 place_sprites::@1 b1: - //SEG464 [217] *((const byte*) place_sprites::sprites_ptr#0 + (byte) place_sprites::j#2) ← (byte) place_sprites::spr_id#2 [ place_sprites::spr_id#2 place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 ] ( main:2::init:5::place_sprites:51 [ place_sprites::spr_id#2 place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 ] ) -- pbuc1_derefidx_vbuyy=vbuz1 + //SEG461 [216] *((const byte*) place_sprites::sprites_ptr#0 + (byte) place_sprites::j#2) ← (byte) place_sprites::spr_id#2 [ place_sprites::spr_id#2 place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 ] ( main:2::init:5::place_sprites:51 [ place_sprites::spr_id#2 place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 ] ) -- pbuc1_derefidx_vbuyy=vbuz1 lda spr_id sta sprites_ptr,y - //SEG465 [218] (byte) place_sprites::spr_id#1 ← ++ (byte) place_sprites::spr_id#2 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ) -- vbuz1=_inc_vbuz1 + //SEG462 [217] (byte) place_sprites::spr_id#1 ← ++ (byte) place_sprites::spr_id#2 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ) -- vbuz1=_inc_vbuz1 inc spr_id - //SEG466 [219] *((const byte*) SPRITES_XPOS#0 + (byte) place_sprites::j2#3) ← (byte) place_sprites::spr_x#2 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ) -- pbuc1_derefidx_vbuxx=vbuz1 + //SEG463 [218] *((const byte*) SPRITES_XPOS#0 + (byte) place_sprites::j2#3) ← (byte) place_sprites::spr_x#2 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ) -- pbuc1_derefidx_vbuxx=vbuz1 lda spr_x sta SPRITES_XPOS,x - //SEG467 [220] *((const byte*) SPRITES_YPOS#0 + (byte) place_sprites::j2#3) ← (byte/signed byte/word/signed word/dword/signed dword) 80 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ) -- pbuc1_derefidx_vbuxx=vbuc2 + //SEG464 [219] *((const byte*) SPRITES_YPOS#0 + (byte) place_sprites::j2#3) ← (byte/signed byte/word/signed word/dword/signed dword) 80 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ) -- pbuc1_derefidx_vbuxx=vbuc2 lda #$50 sta SPRITES_YPOS,x - //SEG468 [221] *((const byte*) SPRITES_COLS#0 + (byte) place_sprites::j#2) ← (byte) place_sprites::col#2 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ) -- pbuc1_derefidx_vbuyy=vbuz1 + //SEG465 [220] *((const byte*) SPRITES_COLS#0 + (byte) place_sprites::j#2) ← (byte) place_sprites::col#2 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_x#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 ] ) -- pbuc1_derefidx_vbuyy=vbuz1 lda col sta SPRITES_COLS,y - //SEG469 [222] (byte) place_sprites::spr_x#1 ← (byte) place_sprites::spr_x#2 + (byte/signed byte/word/signed word/dword/signed dword) 32 [ place_sprites::j#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 place_sprites::spr_x#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 place_sprites::spr_x#1 ] ) -- vbuz1=vbuz1_plus_vbuc1 + //SEG466 [221] (byte) place_sprites::spr_x#1 ← (byte) place_sprites::spr_x#2 + (byte/signed byte/word/signed word/dword/signed dword) 32 [ place_sprites::j#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 place_sprites::spr_x#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::j2#3 place_sprites::col#2 place_sprites::spr_id#1 place_sprites::spr_x#1 ] ) -- vbuz1=vbuz1_plus_vbuc1 lda #$20 clc adc spr_x sta spr_x - //SEG470 [223] (byte) place_sprites::col#1 ← (byte) place_sprites::col#2 ^ (byte/signed byte/word/signed word/dword/signed dword) 7^(byte/signed byte/word/signed word/dword/signed dword) 5 [ place_sprites::j#2 place_sprites::j2#3 place_sprites::spr_id#1 place_sprites::spr_x#1 place_sprites::col#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::j2#3 place_sprites::spr_id#1 place_sprites::spr_x#1 place_sprites::col#1 ] ) -- vbuz1=vbuz1_bxor_vbuc1 + //SEG467 [222] (byte) place_sprites::col#1 ← (byte) place_sprites::col#2 ^ (byte/signed byte/word/signed word/dword/signed dword) 7^(byte/signed byte/word/signed word/dword/signed dword) 5 [ place_sprites::j#2 place_sprites::j2#3 place_sprites::spr_id#1 place_sprites::spr_x#1 place_sprites::col#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::j2#3 place_sprites::spr_id#1 place_sprites::spr_x#1 place_sprites::col#1 ] ) -- vbuz1=vbuz1_bxor_vbuc1 lda col eor #7^5 sta col - //SEG471 [224] (byte) place_sprites::j2#1 ← ++ (byte) place_sprites::j2#3 [ place_sprites::j#2 place_sprites::spr_id#1 place_sprites::spr_x#1 place_sprites::col#1 place_sprites::j2#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_id#1 place_sprites::spr_x#1 place_sprites::col#1 place_sprites::j2#1 ] ) -- vbuxx=_inc_vbuxx + //SEG468 [223] (byte) place_sprites::j2#1 ← ++ (byte) place_sprites::j2#3 [ place_sprites::j#2 place_sprites::spr_id#1 place_sprites::spr_x#1 place_sprites::col#1 place_sprites::j2#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_id#1 place_sprites::spr_x#1 place_sprites::col#1 place_sprites::j2#1 ] ) -- vbuxx=_inc_vbuxx inx - //SEG472 [225] (byte) place_sprites::j2#2 ← ++ (byte) place_sprites::j2#1 [ place_sprites::j#2 place_sprites::spr_id#1 place_sprites::spr_x#1 place_sprites::j2#2 place_sprites::col#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_id#1 place_sprites::spr_x#1 place_sprites::j2#2 place_sprites::col#1 ] ) -- vbuxx=_inc_vbuxx + //SEG469 [224] (byte) place_sprites::j2#2 ← ++ (byte) place_sprites::j2#1 [ place_sprites::j#2 place_sprites::spr_id#1 place_sprites::spr_x#1 place_sprites::j2#2 place_sprites::col#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::j#2 place_sprites::spr_id#1 place_sprites::spr_x#1 place_sprites::j2#2 place_sprites::col#1 ] ) -- vbuxx=_inc_vbuxx inx - //SEG473 [226] (byte) place_sprites::j#1 ← ++ (byte) place_sprites::j#2 [ place_sprites::spr_id#1 place_sprites::j#1 place_sprites::spr_x#1 place_sprites::j2#2 place_sprites::col#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::spr_id#1 place_sprites::j#1 place_sprites::spr_x#1 place_sprites::j2#2 place_sprites::col#1 ] ) -- vbuyy=_inc_vbuyy + //SEG470 [225] (byte) place_sprites::j#1 ← ++ (byte) place_sprites::j#2 [ place_sprites::spr_id#1 place_sprites::j#1 place_sprites::spr_x#1 place_sprites::j2#2 place_sprites::col#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::spr_id#1 place_sprites::j#1 place_sprites::spr_x#1 place_sprites::j2#2 place_sprites::col#1 ] ) -- vbuyy=_inc_vbuyy iny - //SEG474 [227] if((byte) place_sprites::j#1!=(byte/signed byte/word/signed word/dword/signed dword) 7) goto place_sprites::@1 [ place_sprites::spr_id#1 place_sprites::j#1 place_sprites::spr_x#1 place_sprites::j2#2 place_sprites::col#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::spr_id#1 place_sprites::j#1 place_sprites::spr_x#1 place_sprites::j2#2 place_sprites::col#1 ] ) -- vbuyy_neq_vbuc1_then_la1 + //SEG471 [226] if((byte) place_sprites::j#1!=(byte/signed byte/word/signed word/dword/signed dword) 7) goto place_sprites::@1 [ place_sprites::spr_id#1 place_sprites::j#1 place_sprites::spr_x#1 place_sprites::j2#2 place_sprites::col#1 ] ( main:2::init:5::place_sprites:51 [ place_sprites::spr_id#1 place_sprites::j#1 place_sprites::spr_x#1 place_sprites::j2#2 place_sprites::col#1 ] ) -- vbuyy_neq_vbuc1_then_la1 cpy #7 bne b1 - //SEG475 place_sprites::@return - //SEG476 [228] return [ ] ( main:2::init:5::place_sprites:51 [ ] ) + //SEG472 place_sprites::@return + //SEG473 [227] return [ ] ( main:2::init:5::place_sprites:51 [ ] ) rts } sintab_x: .fill $dd, 0 diff --git a/src/test/java/dk/camelot64/kickc/test/ref/sinus-sprites.sym b/src/test/java/dk/camelot64/kickc/test/ref/sinus-sprites.sym index 6eb55912f..1a8e25e11 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/sinus-sprites.sym +++ b/src/test/java/dk/camelot64/kickc/test/ref/sinus-sprites.sym @@ -31,7 +31,6 @@ (label) addMEMtoFAC::@1 (label) addMEMtoFAC::@return (byte*) addMEMtoFAC::mem -(byte*) addMEMtoFAC::mem#2 mem zp ZP_WORD:12 2.0 (void()) anim() (byte~) anim::$2 $2 zp ZP_BYTE:5 101.0 (byte~) anim::$3 reg byte a 202.0 @@ -248,11 +247,10 @@ (label) prepareMEM::@return (byte*) prepareMEM::mem (byte*) prepareMEM::mem#1 mem zp ZP_WORD:12 4.0 -(byte*) prepareMEM::mem#2 mem zp ZP_WORD:12 4.0 (byte*) prepareMEM::mem#3 mem zp ZP_WORD:12 4.0 (byte*) prepareMEM::mem#4 mem zp ZP_WORD:12 4.0 -(byte*) prepareMEM::mem#5 mem zp ZP_WORD:12 4.666666666666666 -(byte*~) prepareMEM::mem#9 mem zp ZP_WORD:12 4.0 +(byte*) prepareMEM::mem#5 mem zp ZP_WORD:12 3.9999999999999996 +(byte*~) prepareMEM::mem#8 mem zp ZP_WORD:12 4.0 (byte*) progress_cursor (byte*) progress_cursor#10 progress_cursor zp ZP_WORD:10 4.0 (byte*) progress_cursor#11 progress_cursor zp ZP_WORD:10 2.8333333333333335 @@ -321,7 +319,7 @@ reg byte x [ init::i#2 init::i#1 ] zp ZP_WORD:8 [ clear_screen::sc#2 clear_screen::sc#1 gen_sintab::sintab#12 gen_sprites::spr#2 gen_sprites::spr#1 anim::x#0 ] reg byte x [ gen_sintab::max#2 ] zp ZP_WORD:10 [ progress_cursor#34 progress_init::line#2 progress_cursor#11 progress_cursor#10 gen_chargen_sprite::sprite#3 gen_chargen_sprite::sprite#10 gen_chargen_sprite::sprite#11 gen_chargen_sprite::sprite#0 gen_chargen_sprite::sprite#2 gen_chargen_sprite::sprite#4 gen_chargen_sprite::sprite#1 ] -zp ZP_WORD:12 [ addMEMtoFAC::mem#2 prepareMEM::mem#5 prepareMEM::mem#2 prepareMEM::mem#3 prepareMEM::mem#4 prepareMEM::mem#9 prepareMEM::mem#1 mulFACbyMEM::mem#2 divMEMbyFAC::mem#2 setFAC::w#5 setFAC::w#0 setFAC::w#3 setFAC::w#4 setFAC::w#1 setMEMtoFAC::mem#5 getFAC::return#2 gen_sintab::$23 getFAC::return#0 gen_chargen_sprite::$0 gen_chargen_sprite::$1 gen_chargen_sprite::chargen#0 ] +zp ZP_WORD:12 [ prepareMEM::mem#5 prepareMEM::mem#3 prepareMEM::mem#4 prepareMEM::mem#8 prepareMEM::mem#1 mulFACbyMEM::mem#2 divMEMbyFAC::mem#2 setFAC::w#5 setFAC::w#0 setFAC::w#3 setFAC::w#4 setFAC::w#1 setMEMtoFAC::mem#5 getFAC::return#2 gen_sintab::$23 getFAC::return#0 gen_chargen_sprite::$0 gen_chargen_sprite::$1 gen_chargen_sprite::chargen#0 ] reg byte y [ gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::s_gen_cnt#1 ] reg byte x [ gen_chargen_sprite::b#2 gen_chargen_sprite::b#1 ] reg byte y [ place_sprites::j#2 place_sprites::j#1 ] diff --git a/src/test/java/dk/camelot64/kickc/test/ref/sinusgen16.asm b/src/test/java/dk/camelot64/kickc/test/ref/sinusgen16.asm index 6bb562051..c4c2212fe 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/sinusgen16.asm +++ b/src/test/java/dk/camelot64/kickc/test/ref/sinusgen16.asm @@ -5,7 +5,7 @@ .const PI_u4f28 = $3243f6a9 .const PI_HALF_u4f28 = $1921fb54 .label print_line_cursor = $400 - .label rem16u = 4 + .label rem16u = 2 .label print_char_cursor = 8 jsr main main: { @@ -481,13 +481,9 @@ mul16u: { jmp b1 } div32u16u: { - .label quotient_hi = $13 - .label quotient_lo = 8 + .label quotient_hi = 8 + .label quotient_lo = 6 .label return = $1b - lda #main.wavelength - sta divr16u.divisor+1 lda #>$10 sta divr16u.dividend lda #>PI2_u4f28>>$10 @@ -500,10 +496,6 @@ div32u16u: { sta quotient_hi lda divr16u.return+1 sta quotient_hi+1 - lda #main.wavelength - sta divr16u.divisor+1 lda #PI2_u4f28&$ffff @@ -520,11 +512,10 @@ div32u16u: { rts } divr16u: { - .label rem = 4 - .label dividend = 6 - .label quotient = 8 - .label return = 8 - .label divisor = 2 + .label rem = 2 + .label dividend = 4 + .label quotient = 6 + .label return = 6 ldx #0 txa sta quotient @@ -545,11 +536,11 @@ divr16u: { asl quotient rol quotient+1 lda rem+1 - cmp divisor+1 + cmp #>main.wavelength bcc b3 bne !+ lda rem - cmp divisor + cmp #main.wavelength sta rem+1 b3: inx diff --git a/src/test/java/dk/camelot64/kickc/test/ref/sinusgen16.cfg b/src/test/java/dk/camelot64/kickc/test/ref/sinusgen16.cfg index 4f577d1f3..c4db375f2 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/sinusgen16.cfg +++ b/src/test/java/dk/camelot64/kickc/test/ref/sinusgen16.cfg @@ -279,38 +279,37 @@ div32u16u::@return: scope:[div32u16u] from div32u16u::@3 [141] return [ div32u16u::return#0 ] ( main:2::sin16s_gen:5::div32u16u:59 [ div32u16u::return#0 ] ) to:@return divr16u: scope:[divr16u] from div32u16u div32u16u::@2 - [142] (word) divr16u::divisor#6 ← phi( div32u16u/(const word) main::wavelength#0 div32u16u::@2/(const word) main::wavelength#0 ) [ divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ) - [142] (word) divr16u::dividend#5 ← phi( div32u16u/>(const dword) PI2_u4f28#0 div32u16u::@2/<(const dword) PI2_u4f28#0 ) [ divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ) - [142] (word) divr16u::rem#10 ← phi( div32u16u/(byte/signed byte/word/signed word/dword/signed dword) 0 div32u16u::@2/(word) divr16u::rem#4 ) [ divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ) + [142] (word) divr16u::dividend#5 ← phi( div32u16u/>(const dword) PI2_u4f28#0 div32u16u::@2/<(const dword) PI2_u4f28#0 ) [ divr16u::rem#10 divr16u::dividend#5 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::rem#10 divr16u::dividend#5 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::rem#10 divr16u::dividend#5 ] ) + [142] (word) divr16u::rem#10 ← phi( div32u16u/(byte/signed byte/word/signed word/dword/signed dword) 0 div32u16u::@2/(word) divr16u::rem#4 ) [ divr16u::rem#10 divr16u::dividend#5 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::rem#10 divr16u::dividend#5 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::rem#10 divr16u::dividend#5 ] ) to:divr16u::@1 divr16u::@1: scope:[divr16u] from divr16u divr16u::@3 - [143] (byte) divr16u::i#2 ← phi( divr16u/(byte/signed byte/word/signed word/dword/signed dword) 0 divr16u::@3/(byte) divr16u::i#1 ) [ divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ) - [143] (word) divr16u::quotient#3 ← phi( divr16u/(byte/signed byte/word/signed word/dword/signed dword) 0 divr16u::@3/(word) divr16u::return#0 ) [ divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ) - [143] (word) divr16u::dividend#3 ← phi( divr16u/(word) divr16u::dividend#5 divr16u::@3/(word) divr16u::dividend#0 ) [ divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ) - [143] (word) divr16u::rem#5 ← phi( divr16u/(word) divr16u::rem#10 divr16u::@3/(word) divr16u::rem#11 ) [ divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ) - [144] (word) divr16u::rem#0 ← (word) divr16u::rem#5 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) - [145] (byte~) divr16u::$1 ← > (word) divr16u::dividend#3 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) - [146] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) - [147] if((byte~) divr16u::$2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto divr16u::@2 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) + [143] (byte) divr16u::i#2 ← phi( divr16u/(byte/signed byte/word/signed word/dword/signed dword) 0 divr16u::@3/(byte) divr16u::i#1 ) [ divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ) + [143] (word) divr16u::quotient#3 ← phi( divr16u/(byte/signed byte/word/signed word/dword/signed dword) 0 divr16u::@3/(word) divr16u::return#0 ) [ divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ) + [143] (word) divr16u::dividend#3 ← phi( divr16u/(word) divr16u::dividend#5 divr16u::@3/(word) divr16u::dividend#0 ) [ divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ) + [143] (word) divr16u::rem#5 ← phi( divr16u/(word) divr16u::rem#10 divr16u::@3/(word) divr16u::rem#11 ) [ divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ) + [144] (word) divr16u::rem#0 ← (word) divr16u::rem#5 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) + [145] (byte~) divr16u::$1 ← > (word) divr16u::dividend#3 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) + [146] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) + [147] if((byte~) divr16u::$2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto divr16u::@2 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) to:divr16u::@4 divr16u::@4: scope:[divr16u] from divr16u::@1 - [148] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) + [148] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) to:divr16u::@2 divr16u::@2: scope:[divr16u] from divr16u::@1 divr16u::@4 - [149] (word) divr16u::rem#6 ← phi( divr16u::@1/(word) divr16u::rem#0 divr16u::@4/(word) divr16u::rem#1 ) [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] ) - [150] (word) divr16u::dividend#0 ← (word) divr16u::dividend#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ) - [151] (word) divr16u::quotient#1 ← (word) divr16u::quotient#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) - [152] if((word) divr16u::rem#6<(word) divr16u::divisor#6) goto divr16u::@3 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) + [149] (word) divr16u::rem#6 ← phi( divr16u::@1/(word) divr16u::rem#0 divr16u::@4/(word) divr16u::rem#1 ) [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] ) + [150] (word) divr16u::dividend#0 ← (word) divr16u::dividend#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ) + [151] (word) divr16u::quotient#1 ← (word) divr16u::quotient#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) + [152] if((word) divr16u::rem#6<(const word) main::wavelength#0) goto divr16u::@3 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) to:divr16u::@5 divr16u::@5: scope:[divr16u] from divr16u::@2 - [153] (word) divr16u::quotient#2 ← ++ (word) divr16u::quotient#1 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] ) - [154] (word) divr16u::rem#2 ← (word) divr16u::rem#6 - (word) divr16u::divisor#6 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ) + [153] (word) divr16u::quotient#2 ← ++ (word) divr16u::quotient#1 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] ) + [154] (word) divr16u::rem#2 ← (word) divr16u::rem#6 - (const word) main::wavelength#0 [ divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ) to:divr16u::@3 divr16u::@3: scope:[divr16u] from divr16u::@2 divr16u::@5 - [155] (word) divr16u::return#0 ← phi( divr16u::@2/(word) divr16u::quotient#1 divr16u::@5/(word) divr16u::quotient#2 ) [ divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] ) - [155] (word) divr16u::rem#11 ← phi( divr16u::@2/(word) divr16u::rem#6 divr16u::@5/(word) divr16u::rem#2 ) [ divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] ) - [156] (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2 [ divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ) - [157] if((byte) divr16u::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto divr16u::@1 [ divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ) + [155] (word) divr16u::return#0 ← phi( divr16u::@2/(word) divr16u::quotient#1 divr16u::@5/(word) divr16u::quotient#2 ) [ divr16u::return#0 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::return#0 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] ) + [155] (word) divr16u::rem#11 ← phi( divr16u::@2/(word) divr16u::rem#6 divr16u::@5/(word) divr16u::rem#2 ) [ divr16u::return#0 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::return#0 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] ) + [156] (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2 [ divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ) + [157] if((byte) divr16u::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto divr16u::@1 [ divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ) to:divr16u::@6 divr16u::@6: scope:[divr16u] from divr16u::@3 [158] (word) rem16u#1 ← (word) divr16u::rem#11 [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] ) diff --git a/src/test/java/dk/camelot64/kickc/test/ref/sinusgen16.log b/src/test/java/dk/camelot64/kickc/test/ref/sinusgen16.log index 27b9f7139..a6a41ce27 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/sinusgen16.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/sinusgen16.log @@ -3940,7 +3940,6 @@ Succesful SSA optimization Pass2ConstantIdentification Constant (const word) divr16u::divisor#0 = div32u16u::divisor#0 Constant (const word) divr16u::divisor#1 = div32u16u::divisor#0 Succesful SSA optimization Pass2ConstantIdentification -Multiple usages for variable. Not optimizing sub-constant (signed word*) main::st1#2 Fixing inline constructor with div32u16u::$4 ← div32u16u::quotient_hi#0 dw= div32u16u::quotient_lo#0 Succesful SSA optimization Pass2FixInlineConstructors Eliminating unused constant (const word) rem16u#0 @@ -4056,7 +4055,6 @@ Not aliassing across scopes: print_char_cursor#46 print_char_cursor#43 Not aliassing across scopes: print_char::ch#3 print_char::ch#1 Not aliassing across scopes: print_char_cursor#33 print_char_cursor#46 Not aliassing across scopes: print_sword::w#1 main::sw#0 -Multiple usages for variable. Not optimizing sub-constant (signed word*) main::st1#2 Not aliassing across scopes: rem16u#1 divr16u::rem#11 Not aliassing across scopes: divr16u::return#2 divr16u::return#0 Not aliassing across scopes: div32u16u::quotient_hi#0 divr16u::return#2 @@ -4103,7 +4101,6 @@ Not aliassing across scopes: print_char_cursor#46 print_char_cursor#43 Not aliassing across scopes: print_char::ch#3 print_char::ch#1 Not aliassing across scopes: print_char_cursor#33 print_char_cursor#46 Not aliassing across scopes: print_sword::w#1 main::sw#0 -Multiple usages for variable. Not optimizing sub-constant (signed word*) main::st1#2 OPTIMIZING CONTROL FLOW GRAPH Inlining constant with var siblings (const word) divr16u::quotient#0 Inlining constant with var siblings (const word) divr16u::quotient#0 @@ -4205,6 +4202,8 @@ Constant inlined print_str::str#1 = (const string) main::str Constant inlined main::$9 = (const signed word[120]) main::sintab1#0+(const word) main::wavelength#0*(byte/signed byte/word/signed word/dword/signed dword) 2 Constant inlined main::$8 = (const word) main::wavelength#0*(byte/signed byte/word/signed word/dword/signed dword) 2 Succesful SSA optimization Pass2ConstantInlining +Identical Phi Values (word) divr16u::divisor#6 (const word) main::wavelength#0 +Succesful SSA optimization Pass2IdenticalPhiElimination Block Sequence Planned @begin @33 @end main main::@5 main::@1 main::@3 main::@2 main::@7 main::@8 main::@return print_str print_str::@1 print_str::@return print_str::@2 print_sword print_sword::@2 print_sword::@4 print_sword::@1 print_sword::@return print_word print_word::@1 print_word::@return print_byte print_byte::@1 print_byte::@return print_char print_char::@return print_cls print_cls::@1 print_cls::@return sin16s_gen sin16s_gen::@3 sin16s_gen::@1 sin16s_gen::@4 sin16s_gen::@return sin16s sin16s::@4 sin16s::@1 sin16s::@5 sin16s::@2 sin16s::@8 sin16s::@9 sin16s::@10 sin16s::@11 sin16s::@12 sin16s::@6 sin16s::@3 sin16s::@return mulu16_sel mulu16_sel::@2 mulu16_sel::@return mul16u mul16u::@1 mul16u::@return mul16u::@2 mul16u::@7 mul16u::@4 div32u16u div32u16u::@2 div32u16u::@3 div32u16u::@return divr16u divr16u::@1 divr16u::@4 divr16u::@2 divr16u::@5 divr16u::@3 divr16u::@6 divr16u::@return Added new block during phi lifting main::@10(between main::@8 and main::@1) Added new block during phi lifting main::@11(between main::@1 and main::@2) @@ -4281,7 +4280,7 @@ Propagating live ranges... Propagating live ranges... Propagating live ranges... Propagating live ranges... -Created 38 initial phi equivalence classes +Created 37 initial phi equivalence classes Coalesced [11] print_char_cursor#59 ← print_char_cursor#49 Coalesced [13] print_char_cursor#58 ← print_char_cursor#2 Coalesced [17] print_char_cursor#60 ← print_char_cursor#12 @@ -4343,7 +4342,7 @@ Coalesced [214] divr16u::i#7 ← divr16u::i#1 Coalesced [215] divr16u::rem#17 ← divr16u::rem#6 Coalesced [216] divr16u::return#7 ← divr16u::quotient#1 Coalesced [217] divr16u::rem#15 ← divr16u::rem#0 -Coalesced down to 24 phi equivalence classes +Coalesced down to 23 phi equivalence classes Culled Empty Block (label) main::@10 Culled Empty Block (label) main::@11 Culled Empty Block (label) print_sword::@5 @@ -4683,38 +4682,37 @@ div32u16u::@return: scope:[div32u16u] from div32u16u::@3 [141] return [ div32u16u::return#0 ] ( main:2::sin16s_gen:5::div32u16u:59 [ div32u16u::return#0 ] ) to:@return divr16u: scope:[divr16u] from div32u16u div32u16u::@2 - [142] (word) divr16u::divisor#6 ← phi( div32u16u/(const word) main::wavelength#0 div32u16u::@2/(const word) main::wavelength#0 ) [ divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ) - [142] (word) divr16u::dividend#5 ← phi( div32u16u/>(const dword) PI2_u4f28#0 div32u16u::@2/<(const dword) PI2_u4f28#0 ) [ divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ) - [142] (word) divr16u::rem#10 ← phi( div32u16u/(byte/signed byte/word/signed word/dword/signed dword) 0 div32u16u::@2/(word) divr16u::rem#4 ) [ divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ) + [142] (word) divr16u::dividend#5 ← phi( div32u16u/>(const dword) PI2_u4f28#0 div32u16u::@2/<(const dword) PI2_u4f28#0 ) [ divr16u::rem#10 divr16u::dividend#5 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::rem#10 divr16u::dividend#5 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::rem#10 divr16u::dividend#5 ] ) + [142] (word) divr16u::rem#10 ← phi( div32u16u/(byte/signed byte/word/signed word/dword/signed dword) 0 div32u16u::@2/(word) divr16u::rem#4 ) [ divr16u::rem#10 divr16u::dividend#5 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::rem#10 divr16u::dividend#5 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::rem#10 divr16u::dividend#5 ] ) to:divr16u::@1 divr16u::@1: scope:[divr16u] from divr16u divr16u::@3 - [143] (byte) divr16u::i#2 ← phi( divr16u/(byte/signed byte/word/signed word/dword/signed dword) 0 divr16u::@3/(byte) divr16u::i#1 ) [ divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ) - [143] (word) divr16u::quotient#3 ← phi( divr16u/(byte/signed byte/word/signed word/dword/signed dword) 0 divr16u::@3/(word) divr16u::return#0 ) [ divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ) - [143] (word) divr16u::dividend#3 ← phi( divr16u/(word) divr16u::dividend#5 divr16u::@3/(word) divr16u::dividend#0 ) [ divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ) - [143] (word) divr16u::rem#5 ← phi( divr16u/(word) divr16u::rem#10 divr16u::@3/(word) divr16u::rem#11 ) [ divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ) - [144] (word) divr16u::rem#0 ← (word) divr16u::rem#5 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) - [145] (byte~) divr16u::$1 ← > (word) divr16u::dividend#3 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) - [146] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) - [147] if((byte~) divr16u::$2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto divr16u::@2 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) + [143] (byte) divr16u::i#2 ← phi( divr16u/(byte/signed byte/word/signed word/dword/signed dword) 0 divr16u::@3/(byte) divr16u::i#1 ) [ divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ) + [143] (word) divr16u::quotient#3 ← phi( divr16u/(byte/signed byte/word/signed word/dword/signed dword) 0 divr16u::@3/(word) divr16u::return#0 ) [ divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ) + [143] (word) divr16u::dividend#3 ← phi( divr16u/(word) divr16u::dividend#5 divr16u::@3/(word) divr16u::dividend#0 ) [ divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ) + [143] (word) divr16u::rem#5 ← phi( divr16u/(word) divr16u::rem#10 divr16u::@3/(word) divr16u::rem#11 ) [ divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ) + [144] (word) divr16u::rem#0 ← (word) divr16u::rem#5 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) + [145] (byte~) divr16u::$1 ← > (word) divr16u::dividend#3 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) + [146] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) + [147] if((byte~) divr16u::$2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto divr16u::@2 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) to:divr16u::@4 divr16u::@4: scope:[divr16u] from divr16u::@1 - [148] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) + [148] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) to:divr16u::@2 divr16u::@2: scope:[divr16u] from divr16u::@1 divr16u::@4 - [149] (word) divr16u::rem#6 ← phi( divr16u::@1/(word) divr16u::rem#0 divr16u::@4/(word) divr16u::rem#1 ) [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] ) - [150] (word) divr16u::dividend#0 ← (word) divr16u::dividend#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ) - [151] (word) divr16u::quotient#1 ← (word) divr16u::quotient#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) - [152] if((word) divr16u::rem#6<(word) divr16u::divisor#6) goto divr16u::@3 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) + [149] (word) divr16u::rem#6 ← phi( divr16u::@1/(word) divr16u::rem#0 divr16u::@4/(word) divr16u::rem#1 ) [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] ) + [150] (word) divr16u::dividend#0 ← (word) divr16u::dividend#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ) + [151] (word) divr16u::quotient#1 ← (word) divr16u::quotient#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) + [152] if((word) divr16u::rem#6<(const word) main::wavelength#0) goto divr16u::@3 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) to:divr16u::@5 divr16u::@5: scope:[divr16u] from divr16u::@2 - [153] (word) divr16u::quotient#2 ← ++ (word) divr16u::quotient#1 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] ) - [154] (word) divr16u::rem#2 ← (word) divr16u::rem#6 - (word) divr16u::divisor#6 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ) + [153] (word) divr16u::quotient#2 ← ++ (word) divr16u::quotient#1 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] ) + [154] (word) divr16u::rem#2 ← (word) divr16u::rem#6 - (const word) main::wavelength#0 [ divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ) to:divr16u::@3 divr16u::@3: scope:[divr16u] from divr16u::@2 divr16u::@5 - [155] (word) divr16u::return#0 ← phi( divr16u::@2/(word) divr16u::quotient#1 divr16u::@5/(word) divr16u::quotient#2 ) [ divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] ) - [155] (word) divr16u::rem#11 ← phi( divr16u::@2/(word) divr16u::rem#6 divr16u::@5/(word) divr16u::rem#2 ) [ divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] ) - [156] (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2 [ divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ) - [157] if((byte) divr16u::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto divr16u::@1 [ divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ) + [155] (word) divr16u::return#0 ← phi( divr16u::@2/(word) divr16u::quotient#1 divr16u::@5/(word) divr16u::quotient#2 ) [ divr16u::return#0 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::return#0 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] ) + [155] (word) divr16u::rem#11 ← phi( divr16u::@2/(word) divr16u::rem#6 divr16u::@5/(word) divr16u::rem#2 ) [ divr16u::return#0 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::return#0 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] ) + [156] (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2 [ divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ) + [157] if((byte) divr16u::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto divr16u::@1 [ divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ) to:divr16u::@6 divr16u::@6: scope:[divr16u] from divr16u::@3 [158] (word) rem16u#1 ← (word) divr16u::rem#11 [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] ) @@ -4868,7 +4866,6 @@ VARIABLE REGISTER WEIGHTS (word) divr16u::dividend#3 5.0 (word) divr16u::dividend#5 2.0 (word) divr16u::divisor -(word) divr16u::divisor#6 1.375 (byte) divr16u::i (byte) divr16u::i#1 16.5 (byte) divr16u::i#2 1.6923076923076923 @@ -5051,7 +5048,6 @@ Initial phi equivalence classes [ mul16u::a#2 mul16u::a#1 mul16u::a#0 ] [ mul16u::res#2 mul16u::res#6 mul16u::res#1 ] [ mul16u::mb#2 mul16u::mb#0 mul16u::mb#1 ] -[ divr16u::divisor#6 ] [ divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] [ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#0 ] [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] @@ -5112,7 +5108,6 @@ Complete equivalence classes [ mul16u::a#2 mul16u::a#1 mul16u::a#0 ] [ mul16u::res#2 mul16u::res#6 mul16u::res#1 ] [ mul16u::mb#2 mul16u::mb#0 mul16u::mb#1 ] -[ divr16u::divisor#6 ] [ divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] [ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#0 ] [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] @@ -5172,47 +5167,46 @@ Allocated zp ZP_BYTE:33 [ mulu16_sel::select#5 ] Allocated zp ZP_WORD:34 [ mul16u::a#2 mul16u::a#1 mul16u::a#0 ] Allocated zp ZP_DWORD:36 [ mul16u::res#2 mul16u::res#6 mul16u::res#1 ] Allocated zp ZP_DWORD:40 [ mul16u::mb#2 mul16u::mb#0 mul16u::mb#1 ] -Allocated zp ZP_WORD:44 [ divr16u::divisor#6 ] -Allocated zp ZP_WORD:46 [ divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] -Allocated zp ZP_WORD:48 [ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#0 ] -Allocated zp ZP_WORD:50 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] -Allocated zp ZP_BYTE:52 [ divr16u::i#2 divr16u::i#1 ] -Allocated zp ZP_WORD:53 [ main::sw#0 ] -Allocated zp ZP_BYTE:55 [ print_byte::$0 ] -Allocated zp ZP_BYTE:56 [ print_byte::$2 ] -Allocated zp ZP_DWORD:57 [ div32u16u::return#2 ] -Allocated zp ZP_DWORD:61 [ sin16s_gen::step#0 ] -Allocated zp ZP_WORD:65 [ sin16s::return#0 ] -Allocated zp ZP_WORD:67 [ sin16s_gen::$1 ] -Allocated zp ZP_DWORD:69 [ sin16s::$6 ] -Allocated zp ZP_WORD:73 [ sin16s::x1#0 ] -Allocated zp ZP_WORD:75 [ mulu16_sel::return#0 ] -Allocated zp ZP_WORD:77 [ sin16s::x2#0 ] -Allocated zp ZP_WORD:79 [ mulu16_sel::return#1 ] -Allocated zp ZP_WORD:81 [ sin16s::x3#0 ] -Allocated zp ZP_WORD:83 [ mulu16_sel::return#2 ] -Allocated zp ZP_WORD:85 [ sin16s::x3_6#0 ] -Allocated zp ZP_WORD:87 [ sin16s::usinx#0 ] -Allocated zp ZP_WORD:89 [ mulu16_sel::return#10 ] -Allocated zp ZP_WORD:91 [ sin16s::x4#0 ] -Allocated zp ZP_WORD:93 [ mulu16_sel::return#11 ] -Allocated zp ZP_WORD:95 [ sin16s::x5#0 ] -Allocated zp ZP_WORD:97 [ sin16s::x5_128#0 ] -Allocated zp ZP_WORD:99 [ sin16s::usinx#1 ] -Allocated zp ZP_WORD:101 [ mul16u::b#0 ] -Allocated zp ZP_DWORD:103 [ mul16u::return#2 ] -Allocated zp ZP_DWORD:107 [ mulu16_sel::$0 ] -Allocated zp ZP_DWORD:111 [ mulu16_sel::$1 ] -Allocated zp ZP_WORD:115 [ mulu16_sel::return#12 ] -Allocated zp ZP_BYTE:117 [ mul16u::$1 ] -Allocated zp ZP_WORD:118 [ divr16u::return#2 ] -Allocated zp ZP_WORD:120 [ div32u16u::quotient_hi#0 ] -Allocated zp ZP_WORD:122 [ divr16u::return#3 ] -Allocated zp ZP_WORD:124 [ div32u16u::quotient_lo#0 ] -Allocated zp ZP_DWORD:126 [ div32u16u::return#0 ] -Allocated zp ZP_BYTE:130 [ divr16u::$1 ] -Allocated zp ZP_BYTE:131 [ divr16u::$2 ] -Allocated zp ZP_WORD:132 [ rem16u#1 ] +Allocated zp ZP_WORD:44 [ divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] +Allocated zp ZP_WORD:46 [ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#0 ] +Allocated zp ZP_WORD:48 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] +Allocated zp ZP_BYTE:50 [ divr16u::i#2 divr16u::i#1 ] +Allocated zp ZP_WORD:51 [ main::sw#0 ] +Allocated zp ZP_BYTE:53 [ print_byte::$0 ] +Allocated zp ZP_BYTE:54 [ print_byte::$2 ] +Allocated zp ZP_DWORD:55 [ div32u16u::return#2 ] +Allocated zp ZP_DWORD:59 [ sin16s_gen::step#0 ] +Allocated zp ZP_WORD:63 [ sin16s::return#0 ] +Allocated zp ZP_WORD:65 [ sin16s_gen::$1 ] +Allocated zp ZP_DWORD:67 [ sin16s::$6 ] +Allocated zp ZP_WORD:71 [ sin16s::x1#0 ] +Allocated zp ZP_WORD:73 [ mulu16_sel::return#0 ] +Allocated zp ZP_WORD:75 [ sin16s::x2#0 ] +Allocated zp ZP_WORD:77 [ mulu16_sel::return#1 ] +Allocated zp ZP_WORD:79 [ sin16s::x3#0 ] +Allocated zp ZP_WORD:81 [ mulu16_sel::return#2 ] +Allocated zp ZP_WORD:83 [ sin16s::x3_6#0 ] +Allocated zp ZP_WORD:85 [ sin16s::usinx#0 ] +Allocated zp ZP_WORD:87 [ mulu16_sel::return#10 ] +Allocated zp ZP_WORD:89 [ sin16s::x4#0 ] +Allocated zp ZP_WORD:91 [ mulu16_sel::return#11 ] +Allocated zp ZP_WORD:93 [ sin16s::x5#0 ] +Allocated zp ZP_WORD:95 [ sin16s::x5_128#0 ] +Allocated zp ZP_WORD:97 [ sin16s::usinx#1 ] +Allocated zp ZP_WORD:99 [ mul16u::b#0 ] +Allocated zp ZP_DWORD:101 [ mul16u::return#2 ] +Allocated zp ZP_DWORD:105 [ mulu16_sel::$0 ] +Allocated zp ZP_DWORD:109 [ mulu16_sel::$1 ] +Allocated zp ZP_WORD:113 [ mulu16_sel::return#12 ] +Allocated zp ZP_BYTE:115 [ mul16u::$1 ] +Allocated zp ZP_WORD:116 [ divr16u::return#2 ] +Allocated zp ZP_WORD:118 [ div32u16u::quotient_hi#0 ] +Allocated zp ZP_WORD:120 [ divr16u::return#3 ] +Allocated zp ZP_WORD:122 [ div32u16u::quotient_lo#0 ] +Allocated zp ZP_DWORD:124 [ div32u16u::return#0 ] +Allocated zp ZP_BYTE:128 [ divr16u::$1 ] +Allocated zp ZP_BYTE:129 [ divr16u::$2 ] +Allocated zp ZP_WORD:130 [ rem16u#1 ] INITIAL ASM //SEG0 Basic Upstart @@ -5224,7 +5218,7 @@ INITIAL ASM .const PI_u4f28 = $3243f6a9 .const PI_HALF_u4f28 = $1921fb54 .label print_line_cursor = $400 - .label rem16u = $84 + .label rem16u = $82 .label print_char_cursor = $a //SEG2 @begin bbegin: @@ -5245,7 +5239,7 @@ bend: //SEG9 main main: { .label wavelength = $78 - .label sw = $35 + .label sw = $33 .label st1 = 2 //SEG10 [5] call sin16s_gen param-assignment [ ] ( main:2 [ ] ) //SEG11 [58] phi from main to sin16s_gen [phi:main->sin16s_gen] @@ -5482,8 +5476,8 @@ print_word: { } //SEG90 print_byte print_byte: { - .label _0 = $37 - .label _2 = $38 + .label _0 = $35 + .label _2 = $36 .label b = 8 //SEG91 [41] (byte~) print_byte::$0 ← (byte) print_byte::b#2 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ print_byte::b#2 print_char_cursor#46 print_byte::$0 ] ( main:2::print_sword:15::print_word:33::print_byte:36 [ main::st1#2 print_sword::w#3 print_byte::b#2 print_char_cursor#46 print_byte::$0 ] main:2::print_sword:15::print_word:33::print_byte:38 [ main::st1#2 print_byte::b#2 print_char_cursor#46 print_byte::$0 ] ) -- vbuz1=vbuz2_ror_4 lda b @@ -5584,8 +5578,8 @@ print_cls: { } //SEG122 sin16s_gen sin16s_gen: { - .label _1 = $43 - .label step = $3d + .label _1 = $41 + .label step = $3b .label sintab = $12 .label x = $e .label i = $14 @@ -5717,18 +5711,18 @@ sin16s_gen: { } //SEG149 sin16s sin16s: { - .label _6 = $45 + .label _6 = $43 .label x = $17 - .label return = $41 - .label x1 = $49 - .label x2 = $4d - .label x3 = $51 - .label x3_6 = $55 - .label usinx = $57 - .label x4 = $5b - .label x5 = $5f - .label x5_128 = $61 - .label usinx_1 = $63 + .label return = $3f + .label x1 = $47 + .label x2 = $4b + .label x3 = $4f + .label x3_6 = $53 + .label usinx = $55 + .label x4 = $59 + .label x5 = $5d + .label x5_128 = $5f + .label usinx_1 = $61 .label return_1 = $1b .label sinx = $1b .label isUpper = $16 @@ -6071,17 +6065,17 @@ sin16s: { } //SEG230 mulu16_sel mulu16_sel: { - .label _0 = $6b - .label _1 = $6f + .label _0 = $69 + .label _1 = $6d .label v1 = $1d .label v2 = $1f - .label return = $4b - .label return_1 = $4f - .label return_2 = $53 - .label return_10 = $59 - .label return_11 = $5d + .label return = $49 + .label return_1 = $4d + .label return_2 = $51 + .label return_10 = $57 + .label return_11 = $5b .label select = $21 - .label return_12 = $73 + .label return_12 = $71 //SEG231 [114] (word) mul16u::a#1 ← (word) mulu16_sel::v1#5 [ mulu16_sel::v2#5 mulu16_sel::select#5 mul16u::a#1 ] ( main:2::sin16s_gen:5::sin16s:64::mulu16_sel:83 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v2#5 mulu16_sel::select#5 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:64::mulu16_sel:88 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v2#5 mulu16_sel::select#5 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:64::mulu16_sel:92 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::v2#5 mulu16_sel::select#5 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:64::mulu16_sel:98 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::v2#5 mulu16_sel::select#5 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:64::mulu16_sel:103 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::v2#5 mulu16_sel::select#5 mul16u::a#1 ] ) -- vwuz1=vwuz2 lda v1 sta mul16u.a @@ -6147,12 +6141,12 @@ mulu16_sel: { } //SEG241 mul16u mul16u: { - .label _1 = $75 + .label _1 = $73 .label mb = $28 .label a = $22 .label res = $24 - .label b = $65 - .label return = $67 + .label b = $63 + .label return = $65 //SEG242 [122] (dword) mul16u::mb#0 ← ((dword)) (word) mul16u::b#0 [ mul16u::a#1 mul16u::mb#0 ] ( main:2::sin16s_gen:5::sin16s:64::mulu16_sel:83::mul16u:116 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#5 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:64::mulu16_sel:88::mul16u:116 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#5 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:64::mulu16_sel:92::mul16u:116 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#5 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:64::mulu16_sel:98::mul16u:116 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#5 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:64::mulu16_sel:103::mul16u:116 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#5 mul16u::a#1 mul16u::mb#0 ] ) -- vduz1=_dword_vwuz2 lda b sta mb @@ -6236,76 +6230,66 @@ mul16u: { } //SEG265 div32u16u div32u16u: { - .label quotient_hi = $78 - .label quotient_lo = $7c - .label return = $7e - .label return_2 = $39 + .label quotient_hi = $76 + .label quotient_lo = $7a + .label return = $7c + .label return_2 = $37 //SEG266 [133] call divr16u param-assignment [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_gen:5::div32u16u:59 [ divr16u::return#0 rem16u#1 ] ) //SEG267 [142] phi from div32u16u to divr16u [phi:div32u16u->divr16u] divr16u_from_div32u16u: - //SEG268 [142] phi (word) divr16u::divisor#6 = (const word) main::wavelength#0 [phi:div32u16u->divr16u#0] -- vwuz1=vwuc1 - lda #main.wavelength - sta divr16u.divisor+1 - //SEG269 [142] phi (word) divr16u::dividend#5 = >(const dword) PI2_u4f28#0 [phi:div32u16u->divr16u#1] -- vwuz1=vwuc1 + //SEG268 [142] phi (word) divr16u::dividend#5 = >(const dword) PI2_u4f28#0 [phi:div32u16u->divr16u#0] -- vwuz1=vwuc1 lda #>$10 sta divr16u.dividend lda #>PI2_u4f28>>$10 sta divr16u.dividend+1 - //SEG270 [142] phi (word) divr16u::rem#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:div32u16u->divr16u#2] -- vwuz1=vbuc1 + //SEG269 [142] phi (word) divr16u::rem#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:div32u16u->divr16u#1] -- vwuz1=vbuc1 lda #<0 sta divr16u.rem lda #>0 sta divr16u.rem+1 jsr divr16u - //SEG271 [134] (word) divr16u::return#2 ← (word) divr16u::return#0 [ divr16u::return#2 rem16u#1 ] ( main:2::sin16s_gen:5::div32u16u:59 [ divr16u::return#2 rem16u#1 ] ) -- vwuz1=vwuz2 + //SEG270 [134] (word) divr16u::return#2 ← (word) divr16u::return#0 [ divr16u::return#2 rem16u#1 ] ( main:2::sin16s_gen:5::div32u16u:59 [ divr16u::return#2 rem16u#1 ] ) -- vwuz1=vwuz2 lda divr16u.return sta divr16u.return_2 lda divr16u.return+1 sta divr16u.return_2+1 jmp b2 - //SEG272 div32u16u::@2 + //SEG271 div32u16u::@2 b2: - //SEG273 [135] (word) div32u16u::quotient_hi#0 ← (word) divr16u::return#2 [ div32u16u::quotient_hi#0 rem16u#1 ] ( main:2::sin16s_gen:5::div32u16u:59 [ div32u16u::quotient_hi#0 rem16u#1 ] ) -- vwuz1=vwuz2 + //SEG272 [135] (word) div32u16u::quotient_hi#0 ← (word) divr16u::return#2 [ div32u16u::quotient_hi#0 rem16u#1 ] ( main:2::sin16s_gen:5::div32u16u:59 [ div32u16u::quotient_hi#0 rem16u#1 ] ) -- vwuz1=vwuz2 lda divr16u.return_2 sta quotient_hi lda divr16u.return_2+1 sta quotient_hi+1 - //SEG274 [136] (word) divr16u::rem#4 ← (word) rem16u#1 [ div32u16u::quotient_hi#0 divr16u::rem#4 ] ( main:2::sin16s_gen:5::div32u16u:59 [ div32u16u::quotient_hi#0 divr16u::rem#4 ] ) -- vwuz1=vwuz2 + //SEG273 [136] (word) divr16u::rem#4 ← (word) rem16u#1 [ div32u16u::quotient_hi#0 divr16u::rem#4 ] ( main:2::sin16s_gen:5::div32u16u:59 [ div32u16u::quotient_hi#0 divr16u::rem#4 ] ) -- vwuz1=vwuz2 lda rem16u sta divr16u.rem lda rem16u+1 sta divr16u.rem+1 - //SEG275 [137] call divr16u param-assignment [ divr16u::return#0 div32u16u::quotient_hi#0 ] ( main:2::sin16s_gen:5::div32u16u:59 [ divr16u::return#0 div32u16u::quotient_hi#0 ] ) - //SEG276 [142] phi from div32u16u::@2 to divr16u [phi:div32u16u::@2->divr16u] + //SEG274 [137] call divr16u param-assignment [ divr16u::return#0 div32u16u::quotient_hi#0 ] ( main:2::sin16s_gen:5::div32u16u:59 [ divr16u::return#0 div32u16u::quotient_hi#0 ] ) + //SEG275 [142] phi from div32u16u::@2 to divr16u [phi:div32u16u::@2->divr16u] divr16u_from_b2: - //SEG277 [142] phi (word) divr16u::divisor#6 = (const word) main::wavelength#0 [phi:div32u16u::@2->divr16u#0] -- vwuz1=vwuc1 - lda #main.wavelength - sta divr16u.divisor+1 - //SEG278 [142] phi (word) divr16u::dividend#5 = <(const dword) PI2_u4f28#0 [phi:div32u16u::@2->divr16u#1] -- vwuz1=vwuc1 + //SEG276 [142] phi (word) divr16u::dividend#5 = <(const dword) PI2_u4f28#0 [phi:div32u16u::@2->divr16u#0] -- vwuz1=vwuc1 lda #PI2_u4f28&$ffff sta divr16u.dividend+1 - //SEG279 [142] phi (word) divr16u::rem#10 = (word) divr16u::rem#4 [phi:div32u16u::@2->divr16u#2] -- register_copy + //SEG277 [142] phi (word) divr16u::rem#10 = (word) divr16u::rem#4 [phi:div32u16u::@2->divr16u#1] -- register_copy jsr divr16u - //SEG280 [138] (word) divr16u::return#3 ← (word) divr16u::return#0 [ div32u16u::quotient_hi#0 divr16u::return#3 ] ( main:2::sin16s_gen:5::div32u16u:59 [ div32u16u::quotient_hi#0 divr16u::return#3 ] ) -- vwuz1=vwuz2 + //SEG278 [138] (word) divr16u::return#3 ← (word) divr16u::return#0 [ div32u16u::quotient_hi#0 divr16u::return#3 ] ( main:2::sin16s_gen:5::div32u16u:59 [ div32u16u::quotient_hi#0 divr16u::return#3 ] ) -- vwuz1=vwuz2 lda divr16u.return sta divr16u.return_3 lda divr16u.return+1 sta divr16u.return_3+1 jmp b3 - //SEG281 div32u16u::@3 + //SEG279 div32u16u::@3 b3: - //SEG282 [139] (word) div32u16u::quotient_lo#0 ← (word) divr16u::return#3 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ( main:2::sin16s_gen:5::div32u16u:59 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ) -- vwuz1=vwuz2 + //SEG280 [139] (word) div32u16u::quotient_lo#0 ← (word) divr16u::return#3 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ( main:2::sin16s_gen:5::div32u16u:59 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ) -- vwuz1=vwuz2 lda divr16u.return_3 sta quotient_lo lda divr16u.return_3+1 sta quotient_lo+1 - //SEG283 [140] (dword) div32u16u::return#0 ← (word) div32u16u::quotient_hi#0 dw= (word) div32u16u::quotient_lo#0 [ div32u16u::return#0 ] ( main:2::sin16s_gen:5::div32u16u:59 [ div32u16u::return#0 ] ) -- vduz1=vwuz2_dword_vwuz3 + //SEG281 [140] (dword) div32u16u::return#0 ← (word) div32u16u::quotient_hi#0 dw= (word) div32u16u::quotient_lo#0 [ div32u16u::return#0 ] ( main:2::sin16s_gen:5::div32u16u:59 [ div32u16u::return#0 ] ) -- vduz1=vwuz2_dword_vwuz3 lda quotient_hi sta return+2 lda quotient_hi+1 @@ -6315,129 +6299,128 @@ div32u16u: { lda quotient_lo+1 sta return+1 jmp breturn - //SEG284 div32u16u::@return + //SEG282 div32u16u::@return breturn: - //SEG285 [141] return [ div32u16u::return#0 ] ( main:2::sin16s_gen:5::div32u16u:59 [ div32u16u::return#0 ] ) + //SEG283 [141] return [ div32u16u::return#0 ] ( main:2::sin16s_gen:5::div32u16u:59 [ div32u16u::return#0 ] ) rts } -//SEG286 divr16u +//SEG284 divr16u divr16u: { - .label _1 = $82 - .label _2 = $83 - .label rem = $2e - .label dividend = $30 - .label quotient = $32 - .label i = $34 - .label return = $32 - .label return_2 = $76 - .label return_3 = $7a - .label divisor = $2c - //SEG287 [143] phi from divr16u to divr16u::@1 [phi:divr16u->divr16u::@1] + .label _1 = $80 + .label _2 = $81 + .label rem = $2c + .label dividend = $2e + .label quotient = $30 + .label i = $32 + .label return = $30 + .label return_2 = $74 + .label return_3 = $78 + //SEG285 [143] phi from divr16u to divr16u::@1 [phi:divr16u->divr16u::@1] b1_from_divr16u: - //SEG288 [143] phi (byte) divr16u::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#0] -- vbuz1=vbuc1 + //SEG286 [143] phi (byte) divr16u::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#0] -- vbuz1=vbuc1 lda #0 sta i - //SEG289 [143] phi (word) divr16u::quotient#3 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#1] -- vwuz1=vbuc1 + //SEG287 [143] phi (word) divr16u::quotient#3 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#1] -- vwuz1=vbuc1 lda #<0 sta quotient lda #>0 sta quotient+1 - //SEG290 [143] phi (word) divr16u::dividend#3 = (word) divr16u::dividend#5 [phi:divr16u->divr16u::@1#2] -- register_copy - //SEG291 [143] phi (word) divr16u::rem#5 = (word) divr16u::rem#10 [phi:divr16u->divr16u::@1#3] -- register_copy + //SEG288 [143] phi (word) divr16u::dividend#3 = (word) divr16u::dividend#5 [phi:divr16u->divr16u::@1#2] -- register_copy + //SEG289 [143] phi (word) divr16u::rem#5 = (word) divr16u::rem#10 [phi:divr16u->divr16u::@1#3] -- register_copy jmp b1 - //SEG292 [143] phi from divr16u::@3 to divr16u::@1 [phi:divr16u::@3->divr16u::@1] + //SEG290 [143] phi from divr16u::@3 to divr16u::@1 [phi:divr16u::@3->divr16u::@1] b1_from_b3: - //SEG293 [143] phi (byte) divr16u::i#2 = (byte) divr16u::i#1 [phi:divr16u::@3->divr16u::@1#0] -- register_copy - //SEG294 [143] phi (word) divr16u::quotient#3 = (word) divr16u::return#0 [phi:divr16u::@3->divr16u::@1#1] -- register_copy - //SEG295 [143] phi (word) divr16u::dividend#3 = (word) divr16u::dividend#0 [phi:divr16u::@3->divr16u::@1#2] -- register_copy - //SEG296 [143] phi (word) divr16u::rem#5 = (word) divr16u::rem#11 [phi:divr16u::@3->divr16u::@1#3] -- register_copy + //SEG291 [143] phi (byte) divr16u::i#2 = (byte) divr16u::i#1 [phi:divr16u::@3->divr16u::@1#0] -- register_copy + //SEG292 [143] phi (word) divr16u::quotient#3 = (word) divr16u::return#0 [phi:divr16u::@3->divr16u::@1#1] -- register_copy + //SEG293 [143] phi (word) divr16u::dividend#3 = (word) divr16u::dividend#0 [phi:divr16u::@3->divr16u::@1#2] -- register_copy + //SEG294 [143] phi (word) divr16u::rem#5 = (word) divr16u::rem#11 [phi:divr16u::@3->divr16u::@1#3] -- register_copy jmp b1 - //SEG297 divr16u::@1 + //SEG295 divr16u::@1 b1: - //SEG298 [144] (word) divr16u::rem#0 ← (word) divr16u::rem#5 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) -- vwuz1=vwuz1_rol_1 + //SEG296 [144] (word) divr16u::rem#0 ← (word) divr16u::rem#5 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) -- vwuz1=vwuz1_rol_1 asl rem rol rem+1 - //SEG299 [145] (byte~) divr16u::$1 ← > (word) divr16u::dividend#3 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) -- vbuz1=_hi_vwuz2 + //SEG297 [145] (byte~) divr16u::$1 ← > (word) divr16u::dividend#3 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) -- vbuz1=_hi_vwuz2 lda dividend+1 sta _1 - //SEG300 [146] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) -- vbuz1=vbuz2_band_vbuc1 + //SEG298 [146] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) -- vbuz1=vbuz2_band_vbuc1 lda #$80 and _1 sta _2 - //SEG301 [147] if((byte~) divr16u::$2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto divr16u::@2 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) -- vbuz1_eq_0_then_la1 + //SEG299 [147] if((byte~) divr16u::$2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto divr16u::@2 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) -- vbuz1_eq_0_then_la1 lda _2 beq b2_from_b1 jmp b4 - //SEG302 divr16u::@4 + //SEG300 divr16u::@4 b4: - //SEG303 [148] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) -- vwuz1=vwuz1_bor_vbuc1 + //SEG301 [148] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) -- vwuz1=vwuz1_bor_vbuc1 lda #1 ora rem sta rem - //SEG304 [149] phi from divr16u::@1 divr16u::@4 to divr16u::@2 [phi:divr16u::@1/divr16u::@4->divr16u::@2] + //SEG302 [149] phi from divr16u::@1 divr16u::@4 to divr16u::@2 [phi:divr16u::@1/divr16u::@4->divr16u::@2] b2_from_b1: b2_from_b4: - //SEG305 [149] phi (word) divr16u::rem#6 = (word) divr16u::rem#0 [phi:divr16u::@1/divr16u::@4->divr16u::@2#0] -- register_copy + //SEG303 [149] phi (word) divr16u::rem#6 = (word) divr16u::rem#0 [phi:divr16u::@1/divr16u::@4->divr16u::@2#0] -- register_copy jmp b2 - //SEG306 divr16u::@2 + //SEG304 divr16u::@2 b2: - //SEG307 [150] (word) divr16u::dividend#0 ← (word) divr16u::dividend#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ) -- vwuz1=vwuz1_rol_1 + //SEG305 [150] (word) divr16u::dividend#0 ← (word) divr16u::dividend#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ) -- vwuz1=vwuz1_rol_1 asl dividend rol dividend+1 - //SEG308 [151] (word) divr16u::quotient#1 ← (word) divr16u::quotient#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) -- vwuz1=vwuz1_rol_1 + //SEG306 [151] (word) divr16u::quotient#1 ← (word) divr16u::quotient#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) -- vwuz1=vwuz1_rol_1 asl quotient rol quotient+1 - //SEG309 [152] if((word) divr16u::rem#6<(word) divr16u::divisor#6) goto divr16u::@3 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) -- vwuz1_lt_vwuz2_then_la1 + //SEG307 [152] if((word) divr16u::rem#6<(const word) main::wavelength#0) goto divr16u::@3 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) -- vwuz1_lt_vwuc1_then_la1 lda rem+1 - cmp divisor+1 + cmp #>main.wavelength bcc b3_from_b2 bne !+ lda rem - cmp divisor + cmp #main.wavelength sta rem+1 - //SEG313 [155] phi from divr16u::@2 divr16u::@5 to divr16u::@3 [phi:divr16u::@2/divr16u::@5->divr16u::@3] + //SEG311 [155] phi from divr16u::@2 divr16u::@5 to divr16u::@3 [phi:divr16u::@2/divr16u::@5->divr16u::@3] b3_from_b2: b3_from_b5: - //SEG314 [155] phi (word) divr16u::return#0 = (word) divr16u::quotient#1 [phi:divr16u::@2/divr16u::@5->divr16u::@3#0] -- register_copy - //SEG315 [155] phi (word) divr16u::rem#11 = (word) divr16u::rem#6 [phi:divr16u::@2/divr16u::@5->divr16u::@3#1] -- register_copy + //SEG312 [155] phi (word) divr16u::return#0 = (word) divr16u::quotient#1 [phi:divr16u::@2/divr16u::@5->divr16u::@3#0] -- register_copy + //SEG313 [155] phi (word) divr16u::rem#11 = (word) divr16u::rem#6 [phi:divr16u::@2/divr16u::@5->divr16u::@3#1] -- register_copy jmp b3 - //SEG316 divr16u::@3 + //SEG314 divr16u::@3 b3: - //SEG317 [156] (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2 [ divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ) -- vbuz1=_inc_vbuz1 + //SEG315 [156] (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2 [ divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ) -- vbuz1=_inc_vbuz1 inc i - //SEG318 [157] if((byte) divr16u::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto divr16u::@1 [ divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ) -- vbuz1_neq_vbuc1_then_la1 + //SEG316 [157] if((byte) divr16u::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto divr16u::@1 [ divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ) -- vbuz1_neq_vbuc1_then_la1 lda i cmp #$10 bne b1_from_b3 jmp b6 - //SEG319 divr16u::@6 + //SEG317 divr16u::@6 b6: - //SEG320 [158] (word) rem16u#1 ← (word) divr16u::rem#11 [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] ) -- vwuz1=vwuz2 + //SEG318 [158] (word) rem16u#1 ← (word) divr16u::rem#11 [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] ) -- vwuz1=vwuz2 lda rem sta rem16u lda rem+1 sta rem16u+1 jmp breturn - //SEG321 divr16u::@return + //SEG319 divr16u::@return breturn: - //SEG322 [159] return [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] ) + //SEG320 [159] return [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] ) rts } print_hextab: .text "0123456789abcdef" @@ -6517,12 +6500,12 @@ Statement [136] (word) divr16u::rem#4 ← (word) rem16u#1 [ div32u16u::quotient_ Statement [138] (word) divr16u::return#3 ← (word) divr16u::return#0 [ div32u16u::quotient_hi#0 divr16u::return#3 ] ( main:2::sin16s_gen:5::div32u16u:59 [ div32u16u::quotient_hi#0 divr16u::return#3 ] ) always clobbers reg byte a Statement [139] (word) div32u16u::quotient_lo#0 ← (word) divr16u::return#3 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ( main:2::sin16s_gen:5::div32u16u:59 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ) always clobbers reg byte a Statement [140] (dword) div32u16u::return#0 ← (word) div32u16u::quotient_hi#0 dw= (word) div32u16u::quotient_lo#0 [ div32u16u::return#0 ] ( main:2::sin16s_gen:5::div32u16u:59 [ div32u16u::return#0 ] ) always clobbers reg byte a -Statement [145] (byte~) divr16u::$1 ← > (word) divr16u::dividend#3 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:52 [ divr16u::i#2 divr16u::i#1 ] -Statement [146] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) always clobbers reg byte a -Statement [148] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) always clobbers reg byte a -Statement [152] if((word) divr16u::rem#6<(word) divr16u::divisor#6) goto divr16u::@3 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) always clobbers reg byte a -Statement [154] (word) divr16u::rem#2 ← (word) divr16u::rem#6 - (word) divr16u::divisor#6 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ) always clobbers reg byte a +Statement [145] (byte~) divr16u::$1 ← > (word) divr16u::dividend#3 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:50 [ divr16u::i#2 divr16u::i#1 ] +Statement [146] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) always clobbers reg byte a +Statement [148] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) always clobbers reg byte a +Statement [152] if((word) divr16u::rem#6<(const word) main::wavelength#0) goto divr16u::@3 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) always clobbers reg byte a +Statement [154] (word) divr16u::rem#2 ← (word) divr16u::rem#6 - (const word) main::wavelength#0 [ divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ) always clobbers reg byte a Statement [158] (word) rem16u#1 ← (word) divr16u::rem#11 [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] ) always clobbers reg byte a Statement [9] (signed word) main::sw#0 ← *((signed word*) main::st1#2) [ main::st1#2 print_char_cursor#49 main::sw#0 ] ( main:2 [ main::st1#2 print_char_cursor#49 main::sw#0 ] ) always clobbers reg byte a reg byte y Statement [10] if((signed word) main::sw#0<(byte/signed byte/word/signed word/dword/signed dword) 0) goto main::@2 [ main::st1#2 print_char_cursor#49 main::sw#0 ] ( main:2 [ main::st1#2 print_char_cursor#49 main::sw#0 ] ) always clobbers reg byte a @@ -6594,11 +6577,11 @@ Statement [136] (word) divr16u::rem#4 ← (word) rem16u#1 [ div32u16u::quotient_ Statement [138] (word) divr16u::return#3 ← (word) divr16u::return#0 [ div32u16u::quotient_hi#0 divr16u::return#3 ] ( main:2::sin16s_gen:5::div32u16u:59 [ div32u16u::quotient_hi#0 divr16u::return#3 ] ) always clobbers reg byte a Statement [139] (word) div32u16u::quotient_lo#0 ← (word) divr16u::return#3 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ( main:2::sin16s_gen:5::div32u16u:59 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ) always clobbers reg byte a Statement [140] (dword) div32u16u::return#0 ← (word) div32u16u::quotient_hi#0 dw= (word) div32u16u::quotient_lo#0 [ div32u16u::return#0 ] ( main:2::sin16s_gen:5::div32u16u:59 [ div32u16u::return#0 ] ) always clobbers reg byte a -Statement [145] (byte~) divr16u::$1 ← > (word) divr16u::dividend#3 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) always clobbers reg byte a -Statement [146] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) always clobbers reg byte a -Statement [148] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) always clobbers reg byte a -Statement [152] if((word) divr16u::rem#6<(word) divr16u::divisor#6) goto divr16u::@3 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) always clobbers reg byte a -Statement [154] (word) divr16u::rem#2 ← (word) divr16u::rem#6 - (word) divr16u::divisor#6 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ) always clobbers reg byte a +Statement [145] (byte~) divr16u::$1 ← > (word) divr16u::dividend#3 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) always clobbers reg byte a +Statement [146] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) always clobbers reg byte a +Statement [148] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) always clobbers reg byte a +Statement [152] if((word) divr16u::rem#6<(const word) main::wavelength#0) goto divr16u::@3 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) always clobbers reg byte a +Statement [154] (word) divr16u::rem#2 ← (word) divr16u::rem#6 - (const word) main::wavelength#0 [ divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ) always clobbers reg byte a Statement [158] (word) rem16u#1 ← (word) divr16u::rem#11 [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] ) always clobbers reg byte a Potential registers zp ZP_WORD:2 [ main::st1#2 main::st1#1 ] : zp ZP_WORD:2 , Potential registers zp ZP_WORD:4 [ print_str::str#3 print_str::str#5 print_str::str#0 ] : zp ZP_WORD:4 , @@ -6619,128 +6602,126 @@ Potential registers zp ZP_BYTE:33 [ mulu16_sel::select#5 ] : zp ZP_BYTE:33 , reg Potential registers zp ZP_WORD:34 [ mul16u::a#2 mul16u::a#1 mul16u::a#0 ] : zp ZP_WORD:34 , Potential registers zp ZP_DWORD:36 [ mul16u::res#2 mul16u::res#6 mul16u::res#1 ] : zp ZP_DWORD:36 , Potential registers zp ZP_DWORD:40 [ mul16u::mb#2 mul16u::mb#0 mul16u::mb#1 ] : zp ZP_DWORD:40 , -Potential registers zp ZP_WORD:44 [ divr16u::divisor#6 ] : zp ZP_WORD:44 , -Potential registers zp ZP_WORD:46 [ divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] : zp ZP_WORD:46 , -Potential registers zp ZP_WORD:48 [ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#0 ] : zp ZP_WORD:48 , -Potential registers zp ZP_WORD:50 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] : zp ZP_WORD:50 , -Potential registers zp ZP_BYTE:52 [ divr16u::i#2 divr16u::i#1 ] : zp ZP_BYTE:52 , reg byte x , reg byte y , -Potential registers zp ZP_WORD:53 [ main::sw#0 ] : zp ZP_WORD:53 , -Potential registers zp ZP_BYTE:55 [ print_byte::$0 ] : zp ZP_BYTE:55 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:56 [ print_byte::$2 ] : zp ZP_BYTE:56 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_DWORD:57 [ div32u16u::return#2 ] : zp ZP_DWORD:57 , -Potential registers zp ZP_DWORD:61 [ sin16s_gen::step#0 ] : zp ZP_DWORD:61 , -Potential registers zp ZP_WORD:65 [ sin16s::return#0 ] : zp ZP_WORD:65 , -Potential registers zp ZP_WORD:67 [ sin16s_gen::$1 ] : zp ZP_WORD:67 , -Potential registers zp ZP_DWORD:69 [ sin16s::$6 ] : zp ZP_DWORD:69 , -Potential registers zp ZP_WORD:73 [ sin16s::x1#0 ] : zp ZP_WORD:73 , -Potential registers zp ZP_WORD:75 [ mulu16_sel::return#0 ] : zp ZP_WORD:75 , -Potential registers zp ZP_WORD:77 [ sin16s::x2#0 ] : zp ZP_WORD:77 , -Potential registers zp ZP_WORD:79 [ mulu16_sel::return#1 ] : zp ZP_WORD:79 , -Potential registers zp ZP_WORD:81 [ sin16s::x3#0 ] : zp ZP_WORD:81 , -Potential registers zp ZP_WORD:83 [ mulu16_sel::return#2 ] : zp ZP_WORD:83 , -Potential registers zp ZP_WORD:85 [ sin16s::x3_6#0 ] : zp ZP_WORD:85 , -Potential registers zp ZP_WORD:87 [ sin16s::usinx#0 ] : zp ZP_WORD:87 , -Potential registers zp ZP_WORD:89 [ mulu16_sel::return#10 ] : zp ZP_WORD:89 , -Potential registers zp ZP_WORD:91 [ sin16s::x4#0 ] : zp ZP_WORD:91 , -Potential registers zp ZP_WORD:93 [ mulu16_sel::return#11 ] : zp ZP_WORD:93 , -Potential registers zp ZP_WORD:95 [ sin16s::x5#0 ] : zp ZP_WORD:95 , -Potential registers zp ZP_WORD:97 [ sin16s::x5_128#0 ] : zp ZP_WORD:97 , -Potential registers zp ZP_WORD:99 [ sin16s::usinx#1 ] : zp ZP_WORD:99 , -Potential registers zp ZP_WORD:101 [ mul16u::b#0 ] : zp ZP_WORD:101 , -Potential registers zp ZP_DWORD:103 [ mul16u::return#2 ] : zp ZP_DWORD:103 , -Potential registers zp ZP_DWORD:107 [ mulu16_sel::$0 ] : zp ZP_DWORD:107 , -Potential registers zp ZP_DWORD:111 [ mulu16_sel::$1 ] : zp ZP_DWORD:111 , -Potential registers zp ZP_WORD:115 [ mulu16_sel::return#12 ] : zp ZP_WORD:115 , -Potential registers zp ZP_BYTE:117 [ mul16u::$1 ] : zp ZP_BYTE:117 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_WORD:118 [ divr16u::return#2 ] : zp ZP_WORD:118 , -Potential registers zp ZP_WORD:120 [ div32u16u::quotient_hi#0 ] : zp ZP_WORD:120 , -Potential registers zp ZP_WORD:122 [ divr16u::return#3 ] : zp ZP_WORD:122 , -Potential registers zp ZP_WORD:124 [ div32u16u::quotient_lo#0 ] : zp ZP_WORD:124 , -Potential registers zp ZP_DWORD:126 [ div32u16u::return#0 ] : zp ZP_DWORD:126 , -Potential registers zp ZP_BYTE:130 [ divr16u::$1 ] : zp ZP_BYTE:130 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:131 [ divr16u::$2 ] : zp ZP_BYTE:131 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_WORD:132 [ rem16u#1 ] : zp ZP_WORD:132 , +Potential registers zp ZP_WORD:44 [ divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] : zp ZP_WORD:44 , +Potential registers zp ZP_WORD:46 [ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#0 ] : zp ZP_WORD:46 , +Potential registers zp ZP_WORD:48 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] : zp ZP_WORD:48 , +Potential registers zp ZP_BYTE:50 [ divr16u::i#2 divr16u::i#1 ] : zp ZP_BYTE:50 , reg byte x , reg byte y , +Potential registers zp ZP_WORD:51 [ main::sw#0 ] : zp ZP_WORD:51 , +Potential registers zp ZP_BYTE:53 [ print_byte::$0 ] : zp ZP_BYTE:53 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:54 [ print_byte::$2 ] : zp ZP_BYTE:54 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_DWORD:55 [ div32u16u::return#2 ] : zp ZP_DWORD:55 , +Potential registers zp ZP_DWORD:59 [ sin16s_gen::step#0 ] : zp ZP_DWORD:59 , +Potential registers zp ZP_WORD:63 [ sin16s::return#0 ] : zp ZP_WORD:63 , +Potential registers zp ZP_WORD:65 [ sin16s_gen::$1 ] : zp ZP_WORD:65 , +Potential registers zp ZP_DWORD:67 [ sin16s::$6 ] : zp ZP_DWORD:67 , +Potential registers zp ZP_WORD:71 [ sin16s::x1#0 ] : zp ZP_WORD:71 , +Potential registers zp ZP_WORD:73 [ mulu16_sel::return#0 ] : zp ZP_WORD:73 , +Potential registers zp ZP_WORD:75 [ sin16s::x2#0 ] : zp ZP_WORD:75 , +Potential registers zp ZP_WORD:77 [ mulu16_sel::return#1 ] : zp ZP_WORD:77 , +Potential registers zp ZP_WORD:79 [ sin16s::x3#0 ] : zp ZP_WORD:79 , +Potential registers zp ZP_WORD:81 [ mulu16_sel::return#2 ] : zp ZP_WORD:81 , +Potential registers zp ZP_WORD:83 [ sin16s::x3_6#0 ] : zp ZP_WORD:83 , +Potential registers zp ZP_WORD:85 [ sin16s::usinx#0 ] : zp ZP_WORD:85 , +Potential registers zp ZP_WORD:87 [ mulu16_sel::return#10 ] : zp ZP_WORD:87 , +Potential registers zp ZP_WORD:89 [ sin16s::x4#0 ] : zp ZP_WORD:89 , +Potential registers zp ZP_WORD:91 [ mulu16_sel::return#11 ] : zp ZP_WORD:91 , +Potential registers zp ZP_WORD:93 [ sin16s::x5#0 ] : zp ZP_WORD:93 , +Potential registers zp ZP_WORD:95 [ sin16s::x5_128#0 ] : zp ZP_WORD:95 , +Potential registers zp ZP_WORD:97 [ sin16s::usinx#1 ] : zp ZP_WORD:97 , +Potential registers zp ZP_WORD:99 [ mul16u::b#0 ] : zp ZP_WORD:99 , +Potential registers zp ZP_DWORD:101 [ mul16u::return#2 ] : zp ZP_DWORD:101 , +Potential registers zp ZP_DWORD:105 [ mulu16_sel::$0 ] : zp ZP_DWORD:105 , +Potential registers zp ZP_DWORD:109 [ mulu16_sel::$1 ] : zp ZP_DWORD:109 , +Potential registers zp ZP_WORD:113 [ mulu16_sel::return#12 ] : zp ZP_WORD:113 , +Potential registers zp ZP_BYTE:115 [ mul16u::$1 ] : zp ZP_BYTE:115 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_WORD:116 [ divr16u::return#2 ] : zp ZP_WORD:116 , +Potential registers zp ZP_WORD:118 [ div32u16u::quotient_hi#0 ] : zp ZP_WORD:118 , +Potential registers zp ZP_WORD:120 [ divr16u::return#3 ] : zp ZP_WORD:120 , +Potential registers zp ZP_WORD:122 [ div32u16u::quotient_lo#0 ] : zp ZP_WORD:122 , +Potential registers zp ZP_DWORD:124 [ div32u16u::return#0 ] : zp ZP_DWORD:124 , +Potential registers zp ZP_BYTE:128 [ divr16u::$1 ] : zp ZP_BYTE:128 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:129 [ divr16u::$2 ] : zp ZP_BYTE:129 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_WORD:130 [ rem16u#1 ] : zp ZP_WORD:130 , REGISTER UPLIFT SCOPES -Uplift Scope [mul16u] 353.83: zp ZP_DWORD:36 [ mul16u::res#2 mul16u::res#6 mul16u::res#1 ] 249.57: zp ZP_DWORD:40 [ mul16u::mb#2 mul16u::mb#0 mul16u::mb#1 ] 202: zp ZP_BYTE:117 [ mul16u::$1 ] 170: zp ZP_WORD:34 [ mul16u::a#2 mul16u::a#1 mul16u::a#0 ] 4: zp ZP_WORD:101 [ mul16u::b#0 ] 4: zp ZP_DWORD:103 [ mul16u::return#2 ] +Uplift Scope [mul16u] 353.83: zp ZP_DWORD:36 [ mul16u::res#2 mul16u::res#6 mul16u::res#1 ] 249.57: zp ZP_DWORD:40 [ mul16u::mb#2 mul16u::mb#0 mul16u::mb#1 ] 202: zp ZP_BYTE:115 [ mul16u::$1 ] 170: zp ZP_WORD:34 [ mul16u::a#2 mul16u::a#1 mul16u::a#0 ] 4: zp ZP_WORD:99 [ mul16u::b#0 ] 4: zp ZP_DWORD:101 [ mul16u::return#2 ] Uplift Scope [print_str] 305.5: zp ZP_WORD:4 [ print_str::str#3 print_str::str#5 print_str::str#0 ] -Uplift Scope [divr16u] 106.92: zp ZP_WORD:46 [ divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] 35.54: zp ZP_WORD:50 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] 22: zp ZP_BYTE:130 [ divr16u::$1 ] 22: zp ZP_BYTE:131 [ divr16u::$2 ] 18.19: zp ZP_BYTE:52 [ divr16u::i#2 divr16u::i#1 ] 9.75: zp ZP_WORD:48 [ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#0 ] 4: zp ZP_WORD:118 [ divr16u::return#2 ] 4: zp ZP_WORD:122 [ divr16u::return#3 ] 1.38: zp ZP_WORD:44 [ divr16u::divisor#6 ] -Uplift Scope [] 191.74: zp ZP_WORD:10 [ print_char_cursor#33 print_char_cursor#46 print_char_cursor#43 print_char_cursor#51 print_char_cursor#48 print_char_cursor#49 print_char_cursor#2 print_char_cursor#12 print_char_cursor#1 ] 0.8: zp ZP_WORD:132 [ rem16u#1 ] -Uplift Scope [sin16s] 27.5: zp ZP_DWORD:23 [ sin16s::x#6 sin16s::x#4 sin16s::x#0 sin16s::x#1 sin16s::x#2 ] 22: zp ZP_WORD:65 [ sin16s::return#0 ] 13: zp ZP_WORD:27 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 ] 4: zp ZP_DWORD:69 [ sin16s::$6 ] 4: zp ZP_WORD:77 [ sin16s::x2#0 ] 4: zp ZP_WORD:85 [ sin16s::x3_6#0 ] 4: zp ZP_WORD:91 [ sin16s::x4#0 ] 4: zp ZP_WORD:95 [ sin16s::x5#0 ] 4: zp ZP_WORD:97 [ sin16s::x5_128#0 ] 1: zp ZP_WORD:81 [ sin16s::x3#0 ] 1: zp ZP_WORD:99 [ sin16s::usinx#1 ] 0.64: zp ZP_WORD:73 [ sin16s::x1#0 ] 0.33: zp ZP_WORD:87 [ sin16s::usinx#0 ] 0.06: zp ZP_BYTE:22 [ sin16s::isUpper#2 ] -Uplift Scope [mulu16_sel] 24: zp ZP_WORD:29 [ mulu16_sel::v1#5 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 ] 21: zp ZP_WORD:31 [ mulu16_sel::v2#5 mulu16_sel::v2#3 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 ] 4: zp ZP_WORD:75 [ mulu16_sel::return#0 ] 4: zp ZP_WORD:79 [ mulu16_sel::return#1 ] 4: zp ZP_WORD:83 [ mulu16_sel::return#2 ] 4: zp ZP_WORD:89 [ mulu16_sel::return#10 ] 4: zp ZP_WORD:93 [ mulu16_sel::return#11 ] 4: zp ZP_DWORD:107 [ mulu16_sel::$0 ] 4: zp ZP_DWORD:111 [ mulu16_sel::$1 ] 1.71: zp ZP_WORD:115 [ mulu16_sel::return#12 ] 0.33: zp ZP_BYTE:33 [ mulu16_sel::select#5 ] -Uplift Scope [sin16s_gen] 22: zp ZP_WORD:67 [ sin16s_gen::$1 ] 19.25: zp ZP_WORD:20 [ sin16s_gen::i#2 sin16s_gen::i#1 ] 12.05: zp ZP_DWORD:14 [ sin16s_gen::x#2 sin16s_gen::x#1 ] 11: zp ZP_WORD:18 [ sin16s_gen::sintab#2 sin16s_gen::sintab#0 ] 1.18: zp ZP_DWORD:61 [ sin16s_gen::step#0 ] +Uplift Scope [divr16u] 106.92: zp ZP_WORD:44 [ divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] 35.54: zp ZP_WORD:48 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] 22: zp ZP_BYTE:128 [ divr16u::$1 ] 22: zp ZP_BYTE:129 [ divr16u::$2 ] 18.19: zp ZP_BYTE:50 [ divr16u::i#2 divr16u::i#1 ] 9.75: zp ZP_WORD:46 [ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#0 ] 4: zp ZP_WORD:116 [ divr16u::return#2 ] 4: zp ZP_WORD:120 [ divr16u::return#3 ] +Uplift Scope [] 191.74: zp ZP_WORD:10 [ print_char_cursor#33 print_char_cursor#46 print_char_cursor#43 print_char_cursor#51 print_char_cursor#48 print_char_cursor#49 print_char_cursor#2 print_char_cursor#12 print_char_cursor#1 ] 0.8: zp ZP_WORD:130 [ rem16u#1 ] +Uplift Scope [sin16s] 27.5: zp ZP_DWORD:23 [ sin16s::x#6 sin16s::x#4 sin16s::x#0 sin16s::x#1 sin16s::x#2 ] 22: zp ZP_WORD:63 [ sin16s::return#0 ] 13: zp ZP_WORD:27 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 ] 4: zp ZP_DWORD:67 [ sin16s::$6 ] 4: zp ZP_WORD:75 [ sin16s::x2#0 ] 4: zp ZP_WORD:83 [ sin16s::x3_6#0 ] 4: zp ZP_WORD:89 [ sin16s::x4#0 ] 4: zp ZP_WORD:93 [ sin16s::x5#0 ] 4: zp ZP_WORD:95 [ sin16s::x5_128#0 ] 1: zp ZP_WORD:79 [ sin16s::x3#0 ] 1: zp ZP_WORD:97 [ sin16s::usinx#1 ] 0.64: zp ZP_WORD:71 [ sin16s::x1#0 ] 0.33: zp ZP_WORD:85 [ sin16s::usinx#0 ] 0.06: zp ZP_BYTE:22 [ sin16s::isUpper#2 ] +Uplift Scope [mulu16_sel] 24: zp ZP_WORD:29 [ mulu16_sel::v1#5 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 ] 21: zp ZP_WORD:31 [ mulu16_sel::v2#5 mulu16_sel::v2#3 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 ] 4: zp ZP_WORD:73 [ mulu16_sel::return#0 ] 4: zp ZP_WORD:77 [ mulu16_sel::return#1 ] 4: zp ZP_WORD:81 [ mulu16_sel::return#2 ] 4: zp ZP_WORD:87 [ mulu16_sel::return#10 ] 4: zp ZP_WORD:91 [ mulu16_sel::return#11 ] 4: zp ZP_DWORD:105 [ mulu16_sel::$0 ] 4: zp ZP_DWORD:109 [ mulu16_sel::$1 ] 1.71: zp ZP_WORD:113 [ mulu16_sel::return#12 ] 0.33: zp ZP_BYTE:33 [ mulu16_sel::select#5 ] +Uplift Scope [sin16s_gen] 22: zp ZP_WORD:65 [ sin16s_gen::$1 ] 19.25: zp ZP_WORD:20 [ sin16s_gen::i#2 sin16s_gen::i#1 ] 12.05: zp ZP_DWORD:14 [ sin16s_gen::x#2 sin16s_gen::x#1 ] 11: zp ZP_WORD:18 [ sin16s_gen::sintab#2 sin16s_gen::sintab#0 ] 1.18: zp ZP_DWORD:59 [ sin16s_gen::step#0 ] Uplift Scope [print_cls] 33: zp ZP_WORD:12 [ print_cls::sc#2 print_cls::sc#1 ] -Uplift Scope [main] 19.8: zp ZP_WORD:2 [ main::st1#2 main::st1#1 ] 6.6: zp ZP_WORD:53 [ main::sw#0 ] -Uplift Scope [print_byte] 10: zp ZP_BYTE:8 [ print_byte::b#2 print_byte::b#0 print_byte::b#1 ] 4: zp ZP_BYTE:55 [ print_byte::$0 ] 4: zp ZP_BYTE:56 [ print_byte::$2 ] +Uplift Scope [main] 19.8: zp ZP_WORD:2 [ main::st1#2 main::st1#1 ] 6.6: zp ZP_WORD:51 [ main::sw#0 ] +Uplift Scope [print_byte] 10: zp ZP_BYTE:8 [ print_byte::b#2 print_byte::b#0 print_byte::b#1 ] 4: zp ZP_BYTE:53 [ print_byte::$0 ] 4: zp ZP_BYTE:54 [ print_byte::$2 ] Uplift Scope [print_char] 14: zp ZP_BYTE:9 [ print_char::ch#3 print_char::ch#1 print_char::ch#2 ] -Uplift Scope [div32u16u] 4: zp ZP_DWORD:57 [ div32u16u::return#2 ] 4: zp ZP_WORD:124 [ div32u16u::quotient_lo#0 ] 1.33: zp ZP_DWORD:126 [ div32u16u::return#0 ] 0.8: zp ZP_WORD:120 [ div32u16u::quotient_hi#0 ] +Uplift Scope [div32u16u] 4: zp ZP_DWORD:55 [ div32u16u::return#2 ] 4: zp ZP_WORD:122 [ div32u16u::quotient_lo#0 ] 1.33: zp ZP_DWORD:124 [ div32u16u::return#0 ] 0.8: zp ZP_WORD:118 [ div32u16u::quotient_hi#0 ] Uplift Scope [print_sword] 9.58: zp ZP_WORD:6 [ print_sword::w#3 print_sword::w#1 print_sword::w#0 ] Uplift Scope [print_word] -Uplifting [mul16u] best 25107 combination zp ZP_DWORD:36 [ mul16u::res#2 mul16u::res#6 mul16u::res#1 ] zp ZP_DWORD:40 [ mul16u::mb#2 mul16u::mb#0 mul16u::mb#1 ] reg byte a [ mul16u::$1 ] zp ZP_WORD:34 [ mul16u::a#2 mul16u::a#1 mul16u::a#0 ] zp ZP_WORD:101 [ mul16u::b#0 ] zp ZP_DWORD:103 [ mul16u::return#2 ] -Uplifting [print_str] best 25107 combination zp ZP_WORD:4 [ print_str::str#3 print_str::str#5 print_str::str#0 ] -Uplifting [divr16u] best 24917 combination zp ZP_WORD:46 [ divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] zp ZP_WORD:50 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] reg byte a [ divr16u::$1 ] reg byte a [ divr16u::$2 ] reg byte x [ divr16u::i#2 divr16u::i#1 ] zp ZP_WORD:48 [ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#0 ] zp ZP_WORD:118 [ divr16u::return#2 ] zp ZP_WORD:122 [ divr16u::return#3 ] zp ZP_WORD:44 [ divr16u::divisor#6 ] -Uplifting [] best 24917 combination zp ZP_WORD:10 [ print_char_cursor#33 print_char_cursor#46 print_char_cursor#43 print_char_cursor#51 print_char_cursor#48 print_char_cursor#49 print_char_cursor#2 print_char_cursor#12 print_char_cursor#1 ] zp ZP_WORD:132 [ rem16u#1 ] -Uplifting [sin16s] best 24917 combination zp ZP_DWORD:23 [ sin16s::x#6 sin16s::x#4 sin16s::x#0 sin16s::x#1 sin16s::x#2 ] zp ZP_WORD:65 [ sin16s::return#0 ] zp ZP_WORD:27 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 ] zp ZP_DWORD:69 [ sin16s::$6 ] zp ZP_WORD:77 [ sin16s::x2#0 ] zp ZP_WORD:85 [ sin16s::x3_6#0 ] zp ZP_WORD:91 [ sin16s::x4#0 ] zp ZP_WORD:95 [ sin16s::x5#0 ] zp ZP_WORD:97 [ sin16s::x5_128#0 ] zp ZP_WORD:81 [ sin16s::x3#0 ] zp ZP_WORD:99 [ sin16s::usinx#1 ] zp ZP_WORD:73 [ sin16s::x1#0 ] zp ZP_WORD:87 [ sin16s::usinx#0 ] zp ZP_BYTE:22 [ sin16s::isUpper#2 ] -Uplifting [mulu16_sel] best 24901 combination zp ZP_WORD:29 [ mulu16_sel::v1#5 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 ] zp ZP_WORD:31 [ mulu16_sel::v2#5 mulu16_sel::v2#3 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 ] zp ZP_WORD:75 [ mulu16_sel::return#0 ] zp ZP_WORD:79 [ mulu16_sel::return#1 ] zp ZP_WORD:83 [ mulu16_sel::return#2 ] zp ZP_WORD:89 [ mulu16_sel::return#10 ] zp ZP_WORD:93 [ mulu16_sel::return#11 ] zp ZP_DWORD:107 [ mulu16_sel::$0 ] zp ZP_DWORD:111 [ mulu16_sel::$1 ] zp ZP_WORD:115 [ mulu16_sel::return#12 ] reg byte x [ mulu16_sel::select#5 ] -Uplifting [sin16s_gen] best 24901 combination zp ZP_WORD:67 [ sin16s_gen::$1 ] zp ZP_WORD:20 [ sin16s_gen::i#2 sin16s_gen::i#1 ] zp ZP_DWORD:14 [ sin16s_gen::x#2 sin16s_gen::x#1 ] zp ZP_WORD:18 [ sin16s_gen::sintab#2 sin16s_gen::sintab#0 ] zp ZP_DWORD:61 [ sin16s_gen::step#0 ] -Uplifting [print_cls] best 24901 combination zp ZP_WORD:12 [ print_cls::sc#2 print_cls::sc#1 ] -Uplifting [main] best 24901 combination zp ZP_WORD:2 [ main::st1#2 main::st1#1 ] zp ZP_WORD:53 [ main::sw#0 ] -Uplifting [print_byte] best 24889 combination reg byte x [ print_byte::b#2 print_byte::b#0 print_byte::b#1 ] reg byte a [ print_byte::$0 ] reg byte a [ print_byte::$2 ] -Uplifting [print_char] best 24877 combination reg byte a [ print_char::ch#3 print_char::ch#1 print_char::ch#2 ] -Uplifting [div32u16u] best 24877 combination zp ZP_DWORD:57 [ div32u16u::return#2 ] zp ZP_WORD:124 [ div32u16u::quotient_lo#0 ] zp ZP_DWORD:126 [ div32u16u::return#0 ] zp ZP_WORD:120 [ div32u16u::quotient_hi#0 ] -Uplifting [print_sword] best 24877 combination zp ZP_WORD:6 [ print_sword::w#3 print_sword::w#1 print_sword::w#0 ] -Uplifting [print_word] best 24877 combination +Uplifting [mul16u] best 25047 combination zp ZP_DWORD:36 [ mul16u::res#2 mul16u::res#6 mul16u::res#1 ] zp ZP_DWORD:40 [ mul16u::mb#2 mul16u::mb#0 mul16u::mb#1 ] reg byte a [ mul16u::$1 ] zp ZP_WORD:34 [ mul16u::a#2 mul16u::a#1 mul16u::a#0 ] zp ZP_WORD:99 [ mul16u::b#0 ] zp ZP_DWORD:101 [ mul16u::return#2 ] +Uplifting [print_str] best 25047 combination zp ZP_WORD:4 [ print_str::str#3 print_str::str#5 print_str::str#0 ] +Uplifting [divr16u] best 24857 combination zp ZP_WORD:44 [ divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] zp ZP_WORD:48 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] reg byte a [ divr16u::$1 ] reg byte a [ divr16u::$2 ] reg byte x [ divr16u::i#2 divr16u::i#1 ] zp ZP_WORD:46 [ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#0 ] zp ZP_WORD:116 [ divr16u::return#2 ] zp ZP_WORD:120 [ divr16u::return#3 ] +Uplifting [] best 24857 combination zp ZP_WORD:10 [ print_char_cursor#33 print_char_cursor#46 print_char_cursor#43 print_char_cursor#51 print_char_cursor#48 print_char_cursor#49 print_char_cursor#2 print_char_cursor#12 print_char_cursor#1 ] zp ZP_WORD:130 [ rem16u#1 ] +Uplifting [sin16s] best 24857 combination zp ZP_DWORD:23 [ sin16s::x#6 sin16s::x#4 sin16s::x#0 sin16s::x#1 sin16s::x#2 ] zp ZP_WORD:63 [ sin16s::return#0 ] zp ZP_WORD:27 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 ] zp ZP_DWORD:67 [ sin16s::$6 ] zp ZP_WORD:75 [ sin16s::x2#0 ] zp ZP_WORD:83 [ sin16s::x3_6#0 ] zp ZP_WORD:89 [ sin16s::x4#0 ] zp ZP_WORD:93 [ sin16s::x5#0 ] zp ZP_WORD:95 [ sin16s::x5_128#0 ] zp ZP_WORD:79 [ sin16s::x3#0 ] zp ZP_WORD:97 [ sin16s::usinx#1 ] zp ZP_WORD:71 [ sin16s::x1#0 ] zp ZP_WORD:85 [ sin16s::usinx#0 ] zp ZP_BYTE:22 [ sin16s::isUpper#2 ] +Uplifting [mulu16_sel] best 24841 combination zp ZP_WORD:29 [ mulu16_sel::v1#5 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 ] zp ZP_WORD:31 [ mulu16_sel::v2#5 mulu16_sel::v2#3 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 ] zp ZP_WORD:73 [ mulu16_sel::return#0 ] zp ZP_WORD:77 [ mulu16_sel::return#1 ] zp ZP_WORD:81 [ mulu16_sel::return#2 ] zp ZP_WORD:87 [ mulu16_sel::return#10 ] zp ZP_WORD:91 [ mulu16_sel::return#11 ] zp ZP_DWORD:105 [ mulu16_sel::$0 ] zp ZP_DWORD:109 [ mulu16_sel::$1 ] zp ZP_WORD:113 [ mulu16_sel::return#12 ] reg byte x [ mulu16_sel::select#5 ] +Uplifting [sin16s_gen] best 24841 combination zp ZP_WORD:65 [ sin16s_gen::$1 ] zp ZP_WORD:20 [ sin16s_gen::i#2 sin16s_gen::i#1 ] zp ZP_DWORD:14 [ sin16s_gen::x#2 sin16s_gen::x#1 ] zp ZP_WORD:18 [ sin16s_gen::sintab#2 sin16s_gen::sintab#0 ] zp ZP_DWORD:59 [ sin16s_gen::step#0 ] +Uplifting [print_cls] best 24841 combination zp ZP_WORD:12 [ print_cls::sc#2 print_cls::sc#1 ] +Uplifting [main] best 24841 combination zp ZP_WORD:2 [ main::st1#2 main::st1#1 ] zp ZP_WORD:51 [ main::sw#0 ] +Uplifting [print_byte] best 24829 combination reg byte x [ print_byte::b#2 print_byte::b#0 print_byte::b#1 ] reg byte a [ print_byte::$0 ] reg byte a [ print_byte::$2 ] +Uplifting [print_char] best 24817 combination reg byte a [ print_char::ch#3 print_char::ch#1 print_char::ch#2 ] +Uplifting [div32u16u] best 24817 combination zp ZP_DWORD:55 [ div32u16u::return#2 ] zp ZP_WORD:122 [ div32u16u::quotient_lo#0 ] zp ZP_DWORD:124 [ div32u16u::return#0 ] zp ZP_WORD:118 [ div32u16u::quotient_hi#0 ] +Uplifting [print_sword] best 24817 combination zp ZP_WORD:6 [ print_sword::w#3 print_sword::w#1 print_sword::w#0 ] +Uplifting [print_word] best 24817 combination Attempting to uplift remaining variables inzp ZP_BYTE:22 [ sin16s::isUpper#2 ] -Uplifting [sin16s] best 24877 combination zp ZP_BYTE:22 [ sin16s::isUpper#2 ] -Coalescing zero page register with common assignment [ zp ZP_WORD:27 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 ] ] with [ zp ZP_WORD:99 [ sin16s::usinx#1 ] ] - score: 2 -Coalescing zero page register with common assignment [ zp ZP_WORD:29 [ mulu16_sel::v1#5 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 ] ] with [ zp ZP_WORD:81 [ sin16s::x3#0 ] ] - score: 2 -Coalescing zero page register with common assignment [ zp ZP_WORD:46 [ divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] ] with [ zp ZP_WORD:132 [ rem16u#1 ] ] - score: 2 -Coalescing zero page register with common assignment [ zp ZP_WORD:6 [ print_sword::w#3 print_sword::w#1 print_sword::w#0 ] ] with [ zp ZP_WORD:53 [ main::sw#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_DWORD:23 [ sin16s::x#6 sin16s::x#4 sin16s::x#0 sin16s::x#1 sin16s::x#2 ] ] with [ zp ZP_DWORD:69 [ sin16s::$6 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:27 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 sin16s::usinx#1 ] ] with [ zp ZP_WORD:65 [ sin16s::return#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:29 [ mulu16_sel::v1#5 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 sin16s::x3#0 ] ] with [ zp ZP_WORD:77 [ sin16s::x2#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:29 [ mulu16_sel::v1#5 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 sin16s::x3#0 sin16s::x2#0 ] ] with [ zp ZP_WORD:91 [ sin16s::x4#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:31 [ mulu16_sel::v2#5 mulu16_sel::v2#3 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 ] ] with [ zp ZP_WORD:101 [ mul16u::b#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_DWORD:36 [ mul16u::res#2 mul16u::res#6 mul16u::res#1 ] ] with [ zp ZP_DWORD:103 [ mul16u::return#2 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:50 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] ] with [ zp ZP_WORD:118 [ divr16u::return#2 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:50 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 ] ] with [ zp ZP_WORD:122 [ divr16u::return#3 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_DWORD:57 [ div32u16u::return#2 ] ] with [ zp ZP_DWORD:61 [ sin16s_gen::step#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_DWORD:57 [ div32u16u::return#2 sin16s_gen::step#0 ] ] with [ zp ZP_DWORD:126 [ div32u16u::return#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:75 [ mulu16_sel::return#0 ] ] with [ zp ZP_WORD:115 [ mulu16_sel::return#12 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:83 [ mulu16_sel::return#2 ] ] with [ zp ZP_WORD:85 [ sin16s::x3_6#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:93 [ mulu16_sel::return#11 ] ] with [ zp ZP_WORD:95 [ sin16s::x5#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_DWORD:107 [ mulu16_sel::$0 ] ] with [ zp ZP_DWORD:111 [ mulu16_sel::$1 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:27 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 sin16s::usinx#1 sin16s::return#0 ] ] with [ zp ZP_WORD:67 [ sin16s_gen::$1 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:27 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 sin16s::usinx#1 sin16s::return#0 sin16s_gen::$1 ] ] with [ zp ZP_WORD:87 [ sin16s::usinx#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:29 [ mulu16_sel::v1#5 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 sin16s::x3#0 sin16s::x2#0 sin16s::x4#0 ] ] with [ zp ZP_WORD:79 [ mulu16_sel::return#1 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:29 [ mulu16_sel::v1#5 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 sin16s::x3#0 sin16s::x2#0 sin16s::x4#0 mulu16_sel::return#1 ] ] with [ zp ZP_WORD:89 [ mulu16_sel::return#10 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_DWORD:36 [ mul16u::res#2 mul16u::res#6 mul16u::res#1 mul16u::return#2 ] ] with [ zp ZP_DWORD:107 [ mulu16_sel::$0 mulu16_sel::$1 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:50 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 divr16u::return#3 ] ] with [ zp ZP_WORD:124 [ div32u16u::quotient_lo#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:75 [ mulu16_sel::return#0 mulu16_sel::return#12 ] ] with [ zp ZP_WORD:83 [ mulu16_sel::return#2 sin16s::x3_6#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:75 [ mulu16_sel::return#0 mulu16_sel::return#12 mulu16_sel::return#2 sin16s::x3_6#0 ] ] with [ zp ZP_WORD:93 [ mulu16_sel::return#11 sin16s::x5#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:75 [ mulu16_sel::return#0 mulu16_sel::return#12 mulu16_sel::return#2 sin16s::x3_6#0 mulu16_sel::return#11 sin16s::x5#0 ] ] with [ zp ZP_WORD:97 [ sin16s::x5_128#0 ] ] - score: 1 +Uplifting [sin16s] best 24817 combination zp ZP_BYTE:22 [ sin16s::isUpper#2 ] +Coalescing zero page register with common assignment [ zp ZP_WORD:27 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 ] ] with [ zp ZP_WORD:97 [ sin16s::usinx#1 ] ] - score: 2 +Coalescing zero page register with common assignment [ zp ZP_WORD:29 [ mulu16_sel::v1#5 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 ] ] with [ zp ZP_WORD:79 [ sin16s::x3#0 ] ] - score: 2 +Coalescing zero page register with common assignment [ zp ZP_WORD:44 [ divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] ] with [ zp ZP_WORD:130 [ rem16u#1 ] ] - score: 2 +Coalescing zero page register with common assignment [ zp ZP_WORD:6 [ print_sword::w#3 print_sword::w#1 print_sword::w#0 ] ] with [ zp ZP_WORD:51 [ main::sw#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_DWORD:23 [ sin16s::x#6 sin16s::x#4 sin16s::x#0 sin16s::x#1 sin16s::x#2 ] ] with [ zp ZP_DWORD:67 [ sin16s::$6 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:27 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 sin16s::usinx#1 ] ] with [ zp ZP_WORD:63 [ sin16s::return#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:29 [ mulu16_sel::v1#5 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 sin16s::x3#0 ] ] with [ zp ZP_WORD:75 [ sin16s::x2#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:29 [ mulu16_sel::v1#5 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 sin16s::x3#0 sin16s::x2#0 ] ] with [ zp ZP_WORD:89 [ sin16s::x4#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:31 [ mulu16_sel::v2#5 mulu16_sel::v2#3 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 ] ] with [ zp ZP_WORD:99 [ mul16u::b#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_DWORD:36 [ mul16u::res#2 mul16u::res#6 mul16u::res#1 ] ] with [ zp ZP_DWORD:101 [ mul16u::return#2 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:48 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] ] with [ zp ZP_WORD:116 [ divr16u::return#2 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:48 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 ] ] with [ zp ZP_WORD:120 [ divr16u::return#3 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_DWORD:55 [ div32u16u::return#2 ] ] with [ zp ZP_DWORD:59 [ sin16s_gen::step#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_DWORD:55 [ div32u16u::return#2 sin16s_gen::step#0 ] ] with [ zp ZP_DWORD:124 [ div32u16u::return#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:73 [ mulu16_sel::return#0 ] ] with [ zp ZP_WORD:113 [ mulu16_sel::return#12 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:81 [ mulu16_sel::return#2 ] ] with [ zp ZP_WORD:83 [ sin16s::x3_6#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:91 [ mulu16_sel::return#11 ] ] with [ zp ZP_WORD:93 [ sin16s::x5#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_DWORD:105 [ mulu16_sel::$0 ] ] with [ zp ZP_DWORD:109 [ mulu16_sel::$1 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:27 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 sin16s::usinx#1 sin16s::return#0 ] ] with [ zp ZP_WORD:65 [ sin16s_gen::$1 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:27 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 sin16s::usinx#1 sin16s::return#0 sin16s_gen::$1 ] ] with [ zp ZP_WORD:85 [ sin16s::usinx#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:29 [ mulu16_sel::v1#5 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 sin16s::x3#0 sin16s::x2#0 sin16s::x4#0 ] ] with [ zp ZP_WORD:77 [ mulu16_sel::return#1 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:29 [ mulu16_sel::v1#5 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 sin16s::x3#0 sin16s::x2#0 sin16s::x4#0 mulu16_sel::return#1 ] ] with [ zp ZP_WORD:87 [ mulu16_sel::return#10 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_DWORD:36 [ mul16u::res#2 mul16u::res#6 mul16u::res#1 mul16u::return#2 ] ] with [ zp ZP_DWORD:105 [ mulu16_sel::$0 mulu16_sel::$1 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:48 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 divr16u::return#3 ] ] with [ zp ZP_WORD:122 [ div32u16u::quotient_lo#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:73 [ mulu16_sel::return#0 mulu16_sel::return#12 ] ] with [ zp ZP_WORD:81 [ mulu16_sel::return#2 sin16s::x3_6#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:73 [ mulu16_sel::return#0 mulu16_sel::return#12 mulu16_sel::return#2 sin16s::x3_6#0 ] ] with [ zp ZP_WORD:91 [ mulu16_sel::return#11 sin16s::x5#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:73 [ mulu16_sel::return#0 mulu16_sel::return#12 mulu16_sel::return#2 sin16s::x3_6#0 mulu16_sel::return#11 sin16s::x5#0 ] ] with [ zp ZP_WORD:95 [ sin16s::x5_128#0 ] ] - score: 1 Coalescing zero page register [ zp ZP_WORD:2 [ main::st1#2 main::st1#1 ] ] with [ zp ZP_WORD:12 [ print_cls::sc#2 print_cls::sc#1 ] ] Coalescing zero page register [ zp ZP_WORD:2 [ main::st1#2 main::st1#1 print_cls::sc#2 print_cls::sc#1 ] ] with [ zp ZP_WORD:18 [ sin16s_gen::sintab#2 sin16s_gen::sintab#0 ] ] -Coalescing zero page register [ zp ZP_WORD:2 [ main::st1#2 main::st1#1 print_cls::sc#2 print_cls::sc#1 sin16s_gen::sintab#2 sin16s_gen::sintab#0 ] ] with [ zp ZP_WORD:44 [ divr16u::divisor#6 ] ] +Coalescing zero page register [ zp ZP_WORD:2 [ main::st1#2 main::st1#1 print_cls::sc#2 print_cls::sc#1 sin16s_gen::sintab#2 sin16s_gen::sintab#0 ] ] with [ zp ZP_WORD:44 [ divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 rem16u#1 ] ] Coalescing zero page register [ zp ZP_WORD:4 [ print_str::str#3 print_str::str#5 print_str::str#0 ] ] with [ zp ZP_WORD:20 [ sin16s_gen::i#2 sin16s_gen::i#1 ] ] -Coalescing zero page register [ zp ZP_WORD:4 [ print_str::str#3 print_str::str#5 print_str::str#0 sin16s_gen::i#2 sin16s_gen::i#1 ] ] with [ zp ZP_WORD:46 [ divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 rem16u#1 ] ] +Coalescing zero page register [ zp ZP_WORD:4 [ print_str::str#3 print_str::str#5 print_str::str#0 sin16s_gen::i#2 sin16s_gen::i#1 ] ] with [ zp ZP_WORD:46 [ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#0 ] ] Coalescing zero page register [ zp ZP_WORD:6 [ print_sword::w#3 print_sword::w#1 print_sword::w#0 main::sw#0 ] ] with [ zp ZP_WORD:27 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 sin16s::usinx#1 sin16s::return#0 sin16s_gen::$1 sin16s::usinx#0 ] ] -Coalescing zero page register [ zp ZP_WORD:6 [ print_sword::w#3 print_sword::w#1 print_sword::w#0 main::sw#0 sin16s::return#1 sin16s::return#5 sin16s::sinx#1 sin16s::usinx#1 sin16s::return#0 sin16s_gen::$1 sin16s::usinx#0 ] ] with [ zp ZP_WORD:48 [ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#0 ] ] +Coalescing zero page register [ zp ZP_WORD:6 [ print_sword::w#3 print_sword::w#1 print_sword::w#0 main::sw#0 sin16s::return#1 sin16s::return#5 sin16s::sinx#1 sin16s::usinx#1 sin16s::return#0 sin16s_gen::$1 sin16s::usinx#0 ] ] with [ zp ZP_WORD:48 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 divr16u::return#3 div32u16u::quotient_lo#0 ] ] Coalescing zero page register [ zp ZP_WORD:10 [ print_char_cursor#33 print_char_cursor#46 print_char_cursor#43 print_char_cursor#51 print_char_cursor#48 print_char_cursor#49 print_char_cursor#2 print_char_cursor#12 print_char_cursor#1 ] ] with [ zp ZP_WORD:29 [ mulu16_sel::v1#5 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 sin16s::x3#0 sin16s::x2#0 sin16s::x4#0 mulu16_sel::return#1 mulu16_sel::return#10 ] ] -Coalescing zero page register [ zp ZP_WORD:10 [ print_char_cursor#33 print_char_cursor#46 print_char_cursor#43 print_char_cursor#51 print_char_cursor#48 print_char_cursor#49 print_char_cursor#2 print_char_cursor#12 print_char_cursor#1 mulu16_sel::v1#5 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 sin16s::x3#0 sin16s::x2#0 sin16s::x4#0 mulu16_sel::return#1 mulu16_sel::return#10 ] ] with [ zp ZP_WORD:50 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 divr16u::return#3 div32u16u::quotient_lo#0 ] ] +Coalescing zero page register [ zp ZP_WORD:10 [ print_char_cursor#33 print_char_cursor#46 print_char_cursor#43 print_char_cursor#51 print_char_cursor#48 print_char_cursor#49 print_char_cursor#2 print_char_cursor#12 print_char_cursor#1 mulu16_sel::v1#5 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 sin16s::x3#0 sin16s::x2#0 sin16s::x4#0 mulu16_sel::return#1 mulu16_sel::return#10 ] ] with [ zp ZP_WORD:118 [ div32u16u::quotient_hi#0 ] ] Coalescing zero page register [ zp ZP_DWORD:23 [ sin16s::x#6 sin16s::x#4 sin16s::x#0 sin16s::x#1 sin16s::x#2 sin16s::$6 ] ] with [ zp ZP_DWORD:36 [ mul16u::res#2 mul16u::res#6 mul16u::res#1 mul16u::return#2 mulu16_sel::$0 mulu16_sel::$1 ] ] -Coalescing zero page register [ zp ZP_WORD:31 [ mulu16_sel::v2#5 mulu16_sel::v2#3 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 mul16u::b#0 ] ] with [ zp ZP_WORD:75 [ mulu16_sel::return#0 mulu16_sel::return#12 mulu16_sel::return#2 sin16s::x3_6#0 mulu16_sel::return#11 sin16s::x5#0 sin16s::x5_128#0 ] ] -Coalescing zero page register [ zp ZP_WORD:31 [ mulu16_sel::v2#5 mulu16_sel::v2#3 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 mul16u::b#0 mulu16_sel::return#0 mulu16_sel::return#12 mulu16_sel::return#2 sin16s::x3_6#0 mulu16_sel::return#11 sin16s::x5#0 sin16s::x5_128#0 ] ] with [ zp ZP_WORD:120 [ div32u16u::quotient_hi#0 ] ] -Allocated (was zp ZP_WORD:10) zp ZP_WORD:8 [ print_char_cursor#33 print_char_cursor#46 print_char_cursor#43 print_char_cursor#51 print_char_cursor#48 print_char_cursor#49 print_char_cursor#2 print_char_cursor#12 print_char_cursor#1 mulu16_sel::v1#5 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 sin16s::x3#0 sin16s::x2#0 sin16s::x4#0 mulu16_sel::return#1 mulu16_sel::return#10 divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 divr16u::return#3 div32u16u::quotient_lo#0 ] +Coalescing zero page register [ zp ZP_WORD:31 [ mulu16_sel::v2#5 mulu16_sel::v2#3 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 mul16u::b#0 ] ] with [ zp ZP_WORD:73 [ mulu16_sel::return#0 mulu16_sel::return#12 mulu16_sel::return#2 sin16s::x3_6#0 mulu16_sel::return#11 sin16s::x5#0 sin16s::x5_128#0 ] ] +Allocated (was zp ZP_WORD:10) zp ZP_WORD:8 [ print_char_cursor#33 print_char_cursor#46 print_char_cursor#43 print_char_cursor#51 print_char_cursor#48 print_char_cursor#49 print_char_cursor#2 print_char_cursor#12 print_char_cursor#1 mulu16_sel::v1#5 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 sin16s::x3#0 sin16s::x2#0 sin16s::x4#0 mulu16_sel::return#1 mulu16_sel::return#10 div32u16u::quotient_hi#0 ] Allocated (was zp ZP_DWORD:14) zp ZP_DWORD:10 [ sin16s_gen::x#2 sin16s_gen::x#1 ] Allocated (was zp ZP_BYTE:22) zp ZP_BYTE:14 [ sin16s::isUpper#2 ] Allocated (was zp ZP_DWORD:23) zp ZP_DWORD:15 [ sin16s::x#6 sin16s::x#4 sin16s::x#0 sin16s::x#1 sin16s::x#2 sin16s::$6 mul16u::res#2 mul16u::res#6 mul16u::res#1 mul16u::return#2 mulu16_sel::$0 mulu16_sel::$1 ] -Allocated (was zp ZP_WORD:31) zp ZP_WORD:19 [ mulu16_sel::v2#5 mulu16_sel::v2#3 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 mul16u::b#0 mulu16_sel::return#0 mulu16_sel::return#12 mulu16_sel::return#2 sin16s::x3_6#0 mulu16_sel::return#11 sin16s::x5#0 sin16s::x5_128#0 div32u16u::quotient_hi#0 ] +Allocated (was zp ZP_WORD:31) zp ZP_WORD:19 [ mulu16_sel::v2#5 mulu16_sel::v2#3 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 mul16u::b#0 mulu16_sel::return#0 mulu16_sel::return#12 mulu16_sel::return#2 sin16s::x3_6#0 mulu16_sel::return#11 sin16s::x5#0 sin16s::x5_128#0 ] Allocated (was zp ZP_WORD:34) zp ZP_WORD:21 [ mul16u::a#2 mul16u::a#1 mul16u::a#0 ] Allocated (was zp ZP_DWORD:40) zp ZP_DWORD:23 [ mul16u::mb#2 mul16u::mb#0 mul16u::mb#1 ] -Allocated (was zp ZP_DWORD:57) zp ZP_DWORD:27 [ div32u16u::return#2 sin16s_gen::step#0 div32u16u::return#0 ] -Allocated (was zp ZP_WORD:73) zp ZP_WORD:31 [ sin16s::x1#0 ] +Allocated (was zp ZP_DWORD:55) zp ZP_DWORD:27 [ div32u16u::return#2 sin16s_gen::step#0 div32u16u::return#0 ] +Allocated (was zp ZP_WORD:71) zp ZP_WORD:31 [ sin16s::x1#0 ] ASSEMBLER BEFORE OPTIMIZATION //SEG0 Basic Upstart @@ -6752,7 +6733,7 @@ ASSEMBLER BEFORE OPTIMIZATION .const PI_u4f28 = $3243f6a9 .const PI_HALF_u4f28 = $1921fb54 .label print_line_cursor = $400 - .label rem16u = 4 + .label rem16u = 2 .label print_char_cursor = 8 //SEG2 @begin bbegin: @@ -7644,63 +7625,53 @@ mul16u: { } //SEG265 div32u16u div32u16u: { - .label quotient_hi = $13 - .label quotient_lo = 8 + .label quotient_hi = 8 + .label quotient_lo = 6 .label return = $1b //SEG266 [133] call divr16u param-assignment [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_gen:5::div32u16u:59 [ divr16u::return#0 rem16u#1 ] ) //SEG267 [142] phi from div32u16u to divr16u [phi:div32u16u->divr16u] divr16u_from_div32u16u: - //SEG268 [142] phi (word) divr16u::divisor#6 = (const word) main::wavelength#0 [phi:div32u16u->divr16u#0] -- vwuz1=vwuc1 - lda #main.wavelength - sta divr16u.divisor+1 - //SEG269 [142] phi (word) divr16u::dividend#5 = >(const dword) PI2_u4f28#0 [phi:div32u16u->divr16u#1] -- vwuz1=vwuc1 + //SEG268 [142] phi (word) divr16u::dividend#5 = >(const dword) PI2_u4f28#0 [phi:div32u16u->divr16u#0] -- vwuz1=vwuc1 lda #>$10 sta divr16u.dividend lda #>PI2_u4f28>>$10 sta divr16u.dividend+1 - //SEG270 [142] phi (word) divr16u::rem#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:div32u16u->divr16u#2] -- vwuz1=vbuc1 + //SEG269 [142] phi (word) divr16u::rem#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:div32u16u->divr16u#1] -- vwuz1=vbuc1 lda #<0 sta divr16u.rem lda #>0 sta divr16u.rem+1 jsr divr16u - //SEG271 [134] (word) divr16u::return#2 ← (word) divr16u::return#0 [ divr16u::return#2 rem16u#1 ] ( main:2::sin16s_gen:5::div32u16u:59 [ divr16u::return#2 rem16u#1 ] ) - // (word) divr16u::return#2 = (word) divr16u::return#0 // register copy zp ZP_WORD:8 + //SEG270 [134] (word) divr16u::return#2 ← (word) divr16u::return#0 [ divr16u::return#2 rem16u#1 ] ( main:2::sin16s_gen:5::div32u16u:59 [ divr16u::return#2 rem16u#1 ] ) + // (word) divr16u::return#2 = (word) divr16u::return#0 // register copy zp ZP_WORD:6 jmp b2 - //SEG272 div32u16u::@2 + //SEG271 div32u16u::@2 b2: - //SEG273 [135] (word) div32u16u::quotient_hi#0 ← (word) divr16u::return#2 [ div32u16u::quotient_hi#0 rem16u#1 ] ( main:2::sin16s_gen:5::div32u16u:59 [ div32u16u::quotient_hi#0 rem16u#1 ] ) -- vwuz1=vwuz2 + //SEG272 [135] (word) div32u16u::quotient_hi#0 ← (word) divr16u::return#2 [ div32u16u::quotient_hi#0 rem16u#1 ] ( main:2::sin16s_gen:5::div32u16u:59 [ div32u16u::quotient_hi#0 rem16u#1 ] ) -- vwuz1=vwuz2 lda divr16u.return sta quotient_hi lda divr16u.return+1 sta quotient_hi+1 - //SEG274 [136] (word) divr16u::rem#4 ← (word) rem16u#1 [ div32u16u::quotient_hi#0 divr16u::rem#4 ] ( main:2::sin16s_gen:5::div32u16u:59 [ div32u16u::quotient_hi#0 divr16u::rem#4 ] ) - // (word) divr16u::rem#4 = (word) rem16u#1 // register copy zp ZP_WORD:4 - //SEG275 [137] call divr16u param-assignment [ divr16u::return#0 div32u16u::quotient_hi#0 ] ( main:2::sin16s_gen:5::div32u16u:59 [ divr16u::return#0 div32u16u::quotient_hi#0 ] ) - //SEG276 [142] phi from div32u16u::@2 to divr16u [phi:div32u16u::@2->divr16u] + //SEG273 [136] (word) divr16u::rem#4 ← (word) rem16u#1 [ div32u16u::quotient_hi#0 divr16u::rem#4 ] ( main:2::sin16s_gen:5::div32u16u:59 [ div32u16u::quotient_hi#0 divr16u::rem#4 ] ) + // (word) divr16u::rem#4 = (word) rem16u#1 // register copy zp ZP_WORD:2 + //SEG274 [137] call divr16u param-assignment [ divr16u::return#0 div32u16u::quotient_hi#0 ] ( main:2::sin16s_gen:5::div32u16u:59 [ divr16u::return#0 div32u16u::quotient_hi#0 ] ) + //SEG275 [142] phi from div32u16u::@2 to divr16u [phi:div32u16u::@2->divr16u] divr16u_from_b2: - //SEG277 [142] phi (word) divr16u::divisor#6 = (const word) main::wavelength#0 [phi:div32u16u::@2->divr16u#0] -- vwuz1=vwuc1 - lda #main.wavelength - sta divr16u.divisor+1 - //SEG278 [142] phi (word) divr16u::dividend#5 = <(const dword) PI2_u4f28#0 [phi:div32u16u::@2->divr16u#1] -- vwuz1=vwuc1 + //SEG276 [142] phi (word) divr16u::dividend#5 = <(const dword) PI2_u4f28#0 [phi:div32u16u::@2->divr16u#0] -- vwuz1=vwuc1 lda #PI2_u4f28&$ffff sta divr16u.dividend+1 - //SEG279 [142] phi (word) divr16u::rem#10 = (word) divr16u::rem#4 [phi:div32u16u::@2->divr16u#2] -- register_copy + //SEG277 [142] phi (word) divr16u::rem#10 = (word) divr16u::rem#4 [phi:div32u16u::@2->divr16u#1] -- register_copy jsr divr16u - //SEG280 [138] (word) divr16u::return#3 ← (word) divr16u::return#0 [ div32u16u::quotient_hi#0 divr16u::return#3 ] ( main:2::sin16s_gen:5::div32u16u:59 [ div32u16u::quotient_hi#0 divr16u::return#3 ] ) - // (word) divr16u::return#3 = (word) divr16u::return#0 // register copy zp ZP_WORD:8 + //SEG278 [138] (word) divr16u::return#3 ← (word) divr16u::return#0 [ div32u16u::quotient_hi#0 divr16u::return#3 ] ( main:2::sin16s_gen:5::div32u16u:59 [ div32u16u::quotient_hi#0 divr16u::return#3 ] ) + // (word) divr16u::return#3 = (word) divr16u::return#0 // register copy zp ZP_WORD:6 jmp b3 - //SEG281 div32u16u::@3 + //SEG279 div32u16u::@3 b3: - //SEG282 [139] (word) div32u16u::quotient_lo#0 ← (word) divr16u::return#3 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ( main:2::sin16s_gen:5::div32u16u:59 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ) - // (word) div32u16u::quotient_lo#0 = (word) divr16u::return#3 // register copy zp ZP_WORD:8 - //SEG283 [140] (dword) div32u16u::return#0 ← (word) div32u16u::quotient_hi#0 dw= (word) div32u16u::quotient_lo#0 [ div32u16u::return#0 ] ( main:2::sin16s_gen:5::div32u16u:59 [ div32u16u::return#0 ] ) -- vduz1=vwuz2_dword_vwuz3 + //SEG280 [139] (word) div32u16u::quotient_lo#0 ← (word) divr16u::return#3 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ( main:2::sin16s_gen:5::div32u16u:59 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ) + // (word) div32u16u::quotient_lo#0 = (word) divr16u::return#3 // register copy zp ZP_WORD:6 + //SEG281 [140] (dword) div32u16u::return#0 ← (word) div32u16u::quotient_hi#0 dw= (word) div32u16u::quotient_lo#0 [ div32u16u::return#0 ] ( main:2::sin16s_gen:5::div32u16u:59 [ div32u16u::return#0 ] ) -- vduz1=vwuz2_dword_vwuz3 lda quotient_hi sta return+2 lda quotient_hi+1 @@ -7710,116 +7681,115 @@ div32u16u: { lda quotient_lo+1 sta return+1 jmp breturn - //SEG284 div32u16u::@return + //SEG282 div32u16u::@return breturn: - //SEG285 [141] return [ div32u16u::return#0 ] ( main:2::sin16s_gen:5::div32u16u:59 [ div32u16u::return#0 ] ) + //SEG283 [141] return [ div32u16u::return#0 ] ( main:2::sin16s_gen:5::div32u16u:59 [ div32u16u::return#0 ] ) rts } -//SEG286 divr16u +//SEG284 divr16u divr16u: { - .label rem = 4 - .label dividend = 6 - .label quotient = 8 - .label return = 8 - .label divisor = 2 - //SEG287 [143] phi from divr16u to divr16u::@1 [phi:divr16u->divr16u::@1] + .label rem = 2 + .label dividend = 4 + .label quotient = 6 + .label return = 6 + //SEG285 [143] phi from divr16u to divr16u::@1 [phi:divr16u->divr16u::@1] b1_from_divr16u: - //SEG288 [143] phi (byte) divr16u::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#0] -- vbuxx=vbuc1 + //SEG286 [143] phi (byte) divr16u::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#0] -- vbuxx=vbuc1 ldx #0 - //SEG289 [143] phi (word) divr16u::quotient#3 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#1] -- vwuz1=vbuc1 + //SEG287 [143] phi (word) divr16u::quotient#3 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#1] -- vwuz1=vbuc1 lda #<0 sta quotient lda #>0 sta quotient+1 - //SEG290 [143] phi (word) divr16u::dividend#3 = (word) divr16u::dividend#5 [phi:divr16u->divr16u::@1#2] -- register_copy - //SEG291 [143] phi (word) divr16u::rem#5 = (word) divr16u::rem#10 [phi:divr16u->divr16u::@1#3] -- register_copy + //SEG288 [143] phi (word) divr16u::dividend#3 = (word) divr16u::dividend#5 [phi:divr16u->divr16u::@1#2] -- register_copy + //SEG289 [143] phi (word) divr16u::rem#5 = (word) divr16u::rem#10 [phi:divr16u->divr16u::@1#3] -- register_copy jmp b1 - //SEG292 [143] phi from divr16u::@3 to divr16u::@1 [phi:divr16u::@3->divr16u::@1] + //SEG290 [143] phi from divr16u::@3 to divr16u::@1 [phi:divr16u::@3->divr16u::@1] b1_from_b3: - //SEG293 [143] phi (byte) divr16u::i#2 = (byte) divr16u::i#1 [phi:divr16u::@3->divr16u::@1#0] -- register_copy - //SEG294 [143] phi (word) divr16u::quotient#3 = (word) divr16u::return#0 [phi:divr16u::@3->divr16u::@1#1] -- register_copy - //SEG295 [143] phi (word) divr16u::dividend#3 = (word) divr16u::dividend#0 [phi:divr16u::@3->divr16u::@1#2] -- register_copy - //SEG296 [143] phi (word) divr16u::rem#5 = (word) divr16u::rem#11 [phi:divr16u::@3->divr16u::@1#3] -- register_copy + //SEG291 [143] phi (byte) divr16u::i#2 = (byte) divr16u::i#1 [phi:divr16u::@3->divr16u::@1#0] -- register_copy + //SEG292 [143] phi (word) divr16u::quotient#3 = (word) divr16u::return#0 [phi:divr16u::@3->divr16u::@1#1] -- register_copy + //SEG293 [143] phi (word) divr16u::dividend#3 = (word) divr16u::dividend#0 [phi:divr16u::@3->divr16u::@1#2] -- register_copy + //SEG294 [143] phi (word) divr16u::rem#5 = (word) divr16u::rem#11 [phi:divr16u::@3->divr16u::@1#3] -- register_copy jmp b1 - //SEG297 divr16u::@1 + //SEG295 divr16u::@1 b1: - //SEG298 [144] (word) divr16u::rem#0 ← (word) divr16u::rem#5 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) -- vwuz1=vwuz1_rol_1 + //SEG296 [144] (word) divr16u::rem#0 ← (word) divr16u::rem#5 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) -- vwuz1=vwuz1_rol_1 asl rem rol rem+1 - //SEG299 [145] (byte~) divr16u::$1 ← > (word) divr16u::dividend#3 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) -- vbuaa=_hi_vwuz1 + //SEG297 [145] (byte~) divr16u::$1 ← > (word) divr16u::dividend#3 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) -- vbuaa=_hi_vwuz1 lda dividend+1 - //SEG300 [146] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) -- vbuaa=vbuaa_band_vbuc1 + //SEG298 [146] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) -- vbuaa=vbuaa_band_vbuc1 and #$80 - //SEG301 [147] if((byte~) divr16u::$2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto divr16u::@2 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) -- vbuaa_eq_0_then_la1 + //SEG299 [147] if((byte~) divr16u::$2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto divr16u::@2 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) -- vbuaa_eq_0_then_la1 cmp #0 beq b2_from_b1 jmp b4 - //SEG302 divr16u::@4 + //SEG300 divr16u::@4 b4: - //SEG303 [148] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) -- vwuz1=vwuz1_bor_vbuc1 + //SEG301 [148] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) -- vwuz1=vwuz1_bor_vbuc1 lda #1 ora rem sta rem - //SEG304 [149] phi from divr16u::@1 divr16u::@4 to divr16u::@2 [phi:divr16u::@1/divr16u::@4->divr16u::@2] + //SEG302 [149] phi from divr16u::@1 divr16u::@4 to divr16u::@2 [phi:divr16u::@1/divr16u::@4->divr16u::@2] b2_from_b1: b2_from_b4: - //SEG305 [149] phi (word) divr16u::rem#6 = (word) divr16u::rem#0 [phi:divr16u::@1/divr16u::@4->divr16u::@2#0] -- register_copy + //SEG303 [149] phi (word) divr16u::rem#6 = (word) divr16u::rem#0 [phi:divr16u::@1/divr16u::@4->divr16u::@2#0] -- register_copy jmp b2 - //SEG306 divr16u::@2 + //SEG304 divr16u::@2 b2: - //SEG307 [150] (word) divr16u::dividend#0 ← (word) divr16u::dividend#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ) -- vwuz1=vwuz1_rol_1 + //SEG305 [150] (word) divr16u::dividend#0 ← (word) divr16u::dividend#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ) -- vwuz1=vwuz1_rol_1 asl dividend rol dividend+1 - //SEG308 [151] (word) divr16u::quotient#1 ← (word) divr16u::quotient#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) -- vwuz1=vwuz1_rol_1 + //SEG306 [151] (word) divr16u::quotient#1 ← (word) divr16u::quotient#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) -- vwuz1=vwuz1_rol_1 asl quotient rol quotient+1 - //SEG309 [152] if((word) divr16u::rem#6<(word) divr16u::divisor#6) goto divr16u::@3 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) -- vwuz1_lt_vwuz2_then_la1 + //SEG307 [152] if((word) divr16u::rem#6<(const word) main::wavelength#0) goto divr16u::@3 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) -- vwuz1_lt_vwuc1_then_la1 lda rem+1 - cmp divisor+1 + cmp #>main.wavelength bcc b3_from_b2 bne !+ lda rem - cmp divisor + cmp #main.wavelength sta rem+1 - //SEG313 [155] phi from divr16u::@2 divr16u::@5 to divr16u::@3 [phi:divr16u::@2/divr16u::@5->divr16u::@3] + //SEG311 [155] phi from divr16u::@2 divr16u::@5 to divr16u::@3 [phi:divr16u::@2/divr16u::@5->divr16u::@3] b3_from_b2: b3_from_b5: - //SEG314 [155] phi (word) divr16u::return#0 = (word) divr16u::quotient#1 [phi:divr16u::@2/divr16u::@5->divr16u::@3#0] -- register_copy - //SEG315 [155] phi (word) divr16u::rem#11 = (word) divr16u::rem#6 [phi:divr16u::@2/divr16u::@5->divr16u::@3#1] -- register_copy + //SEG312 [155] phi (word) divr16u::return#0 = (word) divr16u::quotient#1 [phi:divr16u::@2/divr16u::@5->divr16u::@3#0] -- register_copy + //SEG313 [155] phi (word) divr16u::rem#11 = (word) divr16u::rem#6 [phi:divr16u::@2/divr16u::@5->divr16u::@3#1] -- register_copy jmp b3 - //SEG316 divr16u::@3 + //SEG314 divr16u::@3 b3: - //SEG317 [156] (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2 [ divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ) -- vbuxx=_inc_vbuxx + //SEG315 [156] (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2 [ divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ) -- vbuxx=_inc_vbuxx inx - //SEG318 [157] if((byte) divr16u::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto divr16u::@1 [ divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ) -- vbuxx_neq_vbuc1_then_la1 + //SEG316 [157] if((byte) divr16u::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto divr16u::@1 [ divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ) -- vbuxx_neq_vbuc1_then_la1 cpx #$10 bne b1_from_b3 jmp b6 - //SEG319 divr16u::@6 + //SEG317 divr16u::@6 b6: - //SEG320 [158] (word) rem16u#1 ← (word) divr16u::rem#11 [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] ) - // (word) rem16u#1 = (word) divr16u::rem#11 // register copy zp ZP_WORD:4 + //SEG318 [158] (word) rem16u#1 ← (word) divr16u::rem#11 [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] ) + // (word) rem16u#1 = (word) divr16u::rem#11 // register copy zp ZP_WORD:2 jmp breturn - //SEG321 divr16u::@return + //SEG319 divr16u::@return breturn: - //SEG322 [159] return [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] ) + //SEG320 [159] return [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] ) rts } print_hextab: .text "0123456789abcdef" @@ -8036,9 +8006,9 @@ FINAL SYMBOL TABLE (word) div32u16u::divisor (dword) div32u16u::quotient (word) div32u16u::quotient_hi -(word) div32u16u::quotient_hi#0 quotient_hi zp ZP_WORD:19 0.8 +(word) div32u16u::quotient_hi#0 quotient_hi zp ZP_WORD:8 0.8 (word) div32u16u::quotient_lo -(word) div32u16u::quotient_lo#0 quotient_lo zp ZP_WORD:8 4.0 +(word) div32u16u::quotient_lo#0 quotient_lo zp ZP_WORD:6 4.0 (dword) div32u16u::return (dword) div32u16u::return#0 return zp ZP_DWORD:27 1.3333333333333333 (dword) div32u16u::return#2 return zp ZP_DWORD:27 4.0 @@ -8053,31 +8023,30 @@ FINAL SYMBOL TABLE (label) divr16u::@6 (label) divr16u::@return (word) divr16u::dividend -(word) divr16u::dividend#0 dividend zp ZP_WORD:6 2.75 -(word) divr16u::dividend#3 dividend zp ZP_WORD:6 5.0 -(word) divr16u::dividend#5 dividend zp ZP_WORD:6 2.0 +(word) divr16u::dividend#0 dividend zp ZP_WORD:4 2.75 +(word) divr16u::dividend#3 dividend zp ZP_WORD:4 5.0 +(word) divr16u::dividend#5 dividend zp ZP_WORD:4 2.0 (word) divr16u::divisor -(word) divr16u::divisor#6 divisor zp ZP_WORD:2 1.375 (byte) divr16u::i (byte) divr16u::i#1 reg byte x 16.5 (byte) divr16u::i#2 reg byte x 1.6923076923076923 (word) divr16u::quotient -(word) divr16u::quotient#1 quotient zp ZP_WORD:8 16.5 -(word) divr16u::quotient#2 quotient zp ZP_WORD:8 11.0 -(word) divr16u::quotient#3 quotient zp ZP_WORD:8 2.75 +(word) divr16u::quotient#1 quotient zp ZP_WORD:6 16.5 +(word) divr16u::quotient#2 quotient zp ZP_WORD:6 11.0 +(word) divr16u::quotient#3 quotient zp ZP_WORD:6 2.75 (word) divr16u::rem -(word) divr16u::rem#0 rem zp ZP_WORD:4 8.25 -(word) divr16u::rem#1 rem zp ZP_WORD:4 22.0 -(word) divr16u::rem#10 rem zp ZP_WORD:4 4.0 -(word) divr16u::rem#11 rem zp ZP_WORD:4 11.666666666666666 -(word) divr16u::rem#2 rem zp ZP_WORD:4 22.0 -(word) divr16u::rem#4 rem zp ZP_WORD:4 4.0 -(word) divr16u::rem#5 rem zp ZP_WORD:4 24.0 -(word) divr16u::rem#6 rem zp ZP_WORD:4 11.0 +(word) divr16u::rem#0 rem zp ZP_WORD:2 8.25 +(word) divr16u::rem#1 rem zp ZP_WORD:2 22.0 +(word) divr16u::rem#10 rem zp ZP_WORD:2 4.0 +(word) divr16u::rem#11 rem zp ZP_WORD:2 11.666666666666666 +(word) divr16u::rem#2 rem zp ZP_WORD:2 22.0 +(word) divr16u::rem#4 rem zp ZP_WORD:2 4.0 +(word) divr16u::rem#5 rem zp ZP_WORD:2 24.0 +(word) divr16u::rem#6 rem zp ZP_WORD:2 11.0 (word) divr16u::return -(word) divr16u::return#0 return zp ZP_WORD:8 5.285714285714286 -(word) divr16u::return#2 return zp ZP_WORD:8 4.0 -(word) divr16u::return#3 return zp ZP_WORD:8 4.0 +(word) divr16u::return#0 return zp ZP_WORD:6 5.285714285714286 +(word) divr16u::return#2 return zp ZP_WORD:6 4.0 +(word) divr16u::return#3 return zp ZP_WORD:6 4.0 (void()) main() (label) main::@1 (label) main::@2 @@ -8205,7 +8174,7 @@ FINAL SYMBOL TABLE (label) print_word::@return (word) print_word::w (word) rem16u -(word) rem16u#1 rem16u zp ZP_WORD:4 0.8 +(word) rem16u#1 rem16u zp ZP_WORD:2 0.8 (signed word()) sin16s((dword) sin16s::x) (dword~) sin16s::$6 $6 zp ZP_DWORD:15 4.0 (label) sin16s::@1 @@ -8271,16 +8240,16 @@ FINAL SYMBOL TABLE (dword) sin16s_gen::x#1 x zp ZP_DWORD:10 7.333333333333333 (dword) sin16s_gen::x#2 x zp ZP_DWORD:10 4.714285714285714 -zp ZP_WORD:2 [ main::st1#2 main::st1#1 print_cls::sc#2 print_cls::sc#1 sin16s_gen::sintab#2 sin16s_gen::sintab#0 divr16u::divisor#6 ] -zp ZP_WORD:4 [ print_str::str#3 print_str::str#5 print_str::str#0 sin16s_gen::i#2 sin16s_gen::i#1 divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 rem16u#1 ] -zp ZP_WORD:6 [ print_sword::w#3 print_sword::w#1 print_sword::w#0 main::sw#0 sin16s::return#1 sin16s::return#5 sin16s::sinx#1 sin16s::usinx#1 sin16s::return#0 sin16s_gen::$1 sin16s::usinx#0 divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#0 ] +zp ZP_WORD:2 [ main::st1#2 main::st1#1 print_cls::sc#2 print_cls::sc#1 sin16s_gen::sintab#2 sin16s_gen::sintab#0 divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 rem16u#1 ] +zp ZP_WORD:4 [ print_str::str#3 print_str::str#5 print_str::str#0 sin16s_gen::i#2 sin16s_gen::i#1 divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#0 ] +zp ZP_WORD:6 [ print_sword::w#3 print_sword::w#1 print_sword::w#0 main::sw#0 sin16s::return#1 sin16s::return#5 sin16s::sinx#1 sin16s::usinx#1 sin16s::return#0 sin16s_gen::$1 sin16s::usinx#0 divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 divr16u::return#3 div32u16u::quotient_lo#0 ] reg byte x [ print_byte::b#2 print_byte::b#0 print_byte::b#1 ] reg byte a [ print_char::ch#3 print_char::ch#1 print_char::ch#2 ] -zp ZP_WORD:8 [ print_char_cursor#33 print_char_cursor#46 print_char_cursor#43 print_char_cursor#51 print_char_cursor#48 print_char_cursor#49 print_char_cursor#2 print_char_cursor#12 print_char_cursor#1 mulu16_sel::v1#5 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 sin16s::x3#0 sin16s::x2#0 sin16s::x4#0 mulu16_sel::return#1 mulu16_sel::return#10 divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 divr16u::return#3 div32u16u::quotient_lo#0 ] +zp ZP_WORD:8 [ print_char_cursor#33 print_char_cursor#46 print_char_cursor#43 print_char_cursor#51 print_char_cursor#48 print_char_cursor#49 print_char_cursor#2 print_char_cursor#12 print_char_cursor#1 mulu16_sel::v1#5 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 sin16s::x3#0 sin16s::x2#0 sin16s::x4#0 mulu16_sel::return#1 mulu16_sel::return#10 div32u16u::quotient_hi#0 ] zp ZP_DWORD:10 [ sin16s_gen::x#2 sin16s_gen::x#1 ] zp ZP_BYTE:14 [ sin16s::isUpper#2 ] zp ZP_DWORD:15 [ sin16s::x#6 sin16s::x#4 sin16s::x#0 sin16s::x#1 sin16s::x#2 sin16s::$6 mul16u::res#2 mul16u::res#6 mul16u::res#1 mul16u::return#2 mulu16_sel::$0 mulu16_sel::$1 ] -zp ZP_WORD:19 [ mulu16_sel::v2#5 mulu16_sel::v2#3 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 mul16u::b#0 mulu16_sel::return#0 mulu16_sel::return#12 mulu16_sel::return#2 sin16s::x3_6#0 mulu16_sel::return#11 sin16s::x5#0 sin16s::x5_128#0 div32u16u::quotient_hi#0 ] +zp ZP_WORD:19 [ mulu16_sel::v2#5 mulu16_sel::v2#3 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 mul16u::b#0 mulu16_sel::return#0 mulu16_sel::return#12 mulu16_sel::return#2 sin16s::x3_6#0 mulu16_sel::return#11 sin16s::x5#0 sin16s::x5_128#0 ] reg byte x [ mulu16_sel::select#5 ] zp ZP_WORD:21 [ mul16u::a#2 mul16u::a#1 mul16u::a#0 ] zp ZP_DWORD:23 [ mul16u::mb#2 mul16u::mb#0 mul16u::mb#1 ] @@ -8295,7 +8264,7 @@ reg byte a [ divr16u::$2 ] FINAL ASSEMBLER -Score: 20927 +Score: 20867 //SEG0 Basic Upstart .pc = $801 "Basic" @@ -8306,7 +8275,7 @@ Score: 20927 .const PI_u4f28 = $3243f6a9 .const PI_HALF_u4f28 = $1921fb54 .label print_line_cursor = $400 - .label rem16u = 4 + .label rem16u = 2 .label print_char_cursor = 8 //SEG2 @begin //SEG3 [1] phi from @begin to @33 [phi:@begin->@33] @@ -9066,56 +9035,46 @@ mul16u: { } //SEG265 div32u16u div32u16u: { - .label quotient_hi = $13 - .label quotient_lo = 8 + .label quotient_hi = 8 + .label quotient_lo = 6 .label return = $1b //SEG266 [133] call divr16u param-assignment [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_gen:5::div32u16u:59 [ divr16u::return#0 rem16u#1 ] ) //SEG267 [142] phi from div32u16u to divr16u [phi:div32u16u->divr16u] - //SEG268 [142] phi (word) divr16u::divisor#6 = (const word) main::wavelength#0 [phi:div32u16u->divr16u#0] -- vwuz1=vwuc1 - lda #main.wavelength - sta divr16u.divisor+1 - //SEG269 [142] phi (word) divr16u::dividend#5 = >(const dword) PI2_u4f28#0 [phi:div32u16u->divr16u#1] -- vwuz1=vwuc1 + //SEG268 [142] phi (word) divr16u::dividend#5 = >(const dword) PI2_u4f28#0 [phi:div32u16u->divr16u#0] -- vwuz1=vwuc1 lda #>$10 sta divr16u.dividend lda #>PI2_u4f28>>$10 sta divr16u.dividend+1 - //SEG270 [142] phi (word) divr16u::rem#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:div32u16u->divr16u#2] -- vwuz1=vbuc1 + //SEG269 [142] phi (word) divr16u::rem#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:div32u16u->divr16u#1] -- vwuz1=vbuc1 lda #<0 sta divr16u.rem sta divr16u.rem+1 jsr divr16u - //SEG271 [134] (word) divr16u::return#2 ← (word) divr16u::return#0 [ divr16u::return#2 rem16u#1 ] ( main:2::sin16s_gen:5::div32u16u:59 [ divr16u::return#2 rem16u#1 ] ) - // (word) divr16u::return#2 = (word) divr16u::return#0 // register copy zp ZP_WORD:8 - //SEG272 div32u16u::@2 - //SEG273 [135] (word) div32u16u::quotient_hi#0 ← (word) divr16u::return#2 [ div32u16u::quotient_hi#0 rem16u#1 ] ( main:2::sin16s_gen:5::div32u16u:59 [ div32u16u::quotient_hi#0 rem16u#1 ] ) -- vwuz1=vwuz2 + //SEG270 [134] (word) divr16u::return#2 ← (word) divr16u::return#0 [ divr16u::return#2 rem16u#1 ] ( main:2::sin16s_gen:5::div32u16u:59 [ divr16u::return#2 rem16u#1 ] ) + // (word) divr16u::return#2 = (word) divr16u::return#0 // register copy zp ZP_WORD:6 + //SEG271 div32u16u::@2 + //SEG272 [135] (word) div32u16u::quotient_hi#0 ← (word) divr16u::return#2 [ div32u16u::quotient_hi#0 rem16u#1 ] ( main:2::sin16s_gen:5::div32u16u:59 [ div32u16u::quotient_hi#0 rem16u#1 ] ) -- vwuz1=vwuz2 lda divr16u.return sta quotient_hi lda divr16u.return+1 sta quotient_hi+1 - //SEG274 [136] (word) divr16u::rem#4 ← (word) rem16u#1 [ div32u16u::quotient_hi#0 divr16u::rem#4 ] ( main:2::sin16s_gen:5::div32u16u:59 [ div32u16u::quotient_hi#0 divr16u::rem#4 ] ) - // (word) divr16u::rem#4 = (word) rem16u#1 // register copy zp ZP_WORD:4 - //SEG275 [137] call divr16u param-assignment [ divr16u::return#0 div32u16u::quotient_hi#0 ] ( main:2::sin16s_gen:5::div32u16u:59 [ divr16u::return#0 div32u16u::quotient_hi#0 ] ) - //SEG276 [142] phi from div32u16u::@2 to divr16u [phi:div32u16u::@2->divr16u] - //SEG277 [142] phi (word) divr16u::divisor#6 = (const word) main::wavelength#0 [phi:div32u16u::@2->divr16u#0] -- vwuz1=vwuc1 - lda #main.wavelength - sta divr16u.divisor+1 - //SEG278 [142] phi (word) divr16u::dividend#5 = <(const dword) PI2_u4f28#0 [phi:div32u16u::@2->divr16u#1] -- vwuz1=vwuc1 + //SEG273 [136] (word) divr16u::rem#4 ← (word) rem16u#1 [ div32u16u::quotient_hi#0 divr16u::rem#4 ] ( main:2::sin16s_gen:5::div32u16u:59 [ div32u16u::quotient_hi#0 divr16u::rem#4 ] ) + // (word) divr16u::rem#4 = (word) rem16u#1 // register copy zp ZP_WORD:2 + //SEG274 [137] call divr16u param-assignment [ divr16u::return#0 div32u16u::quotient_hi#0 ] ( main:2::sin16s_gen:5::div32u16u:59 [ divr16u::return#0 div32u16u::quotient_hi#0 ] ) + //SEG275 [142] phi from div32u16u::@2 to divr16u [phi:div32u16u::@2->divr16u] + //SEG276 [142] phi (word) divr16u::dividend#5 = <(const dword) PI2_u4f28#0 [phi:div32u16u::@2->divr16u#0] -- vwuz1=vwuc1 lda #PI2_u4f28&$ffff sta divr16u.dividend+1 - //SEG279 [142] phi (word) divr16u::rem#10 = (word) divr16u::rem#4 [phi:div32u16u::@2->divr16u#2] -- register_copy + //SEG277 [142] phi (word) divr16u::rem#10 = (word) divr16u::rem#4 [phi:div32u16u::@2->divr16u#1] -- register_copy jsr divr16u - //SEG280 [138] (word) divr16u::return#3 ← (word) divr16u::return#0 [ div32u16u::quotient_hi#0 divr16u::return#3 ] ( main:2::sin16s_gen:5::div32u16u:59 [ div32u16u::quotient_hi#0 divr16u::return#3 ] ) - // (word) divr16u::return#3 = (word) divr16u::return#0 // register copy zp ZP_WORD:8 - //SEG281 div32u16u::@3 - //SEG282 [139] (word) div32u16u::quotient_lo#0 ← (word) divr16u::return#3 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ( main:2::sin16s_gen:5::div32u16u:59 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ) - // (word) div32u16u::quotient_lo#0 = (word) divr16u::return#3 // register copy zp ZP_WORD:8 - //SEG283 [140] (dword) div32u16u::return#0 ← (word) div32u16u::quotient_hi#0 dw= (word) div32u16u::quotient_lo#0 [ div32u16u::return#0 ] ( main:2::sin16s_gen:5::div32u16u:59 [ div32u16u::return#0 ] ) -- vduz1=vwuz2_dword_vwuz3 + //SEG278 [138] (word) divr16u::return#3 ← (word) divr16u::return#0 [ div32u16u::quotient_hi#0 divr16u::return#3 ] ( main:2::sin16s_gen:5::div32u16u:59 [ div32u16u::quotient_hi#0 divr16u::return#3 ] ) + // (word) divr16u::return#3 = (word) divr16u::return#0 // register copy zp ZP_WORD:6 + //SEG279 div32u16u::@3 + //SEG280 [139] (word) div32u16u::quotient_lo#0 ← (word) divr16u::return#3 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ( main:2::sin16s_gen:5::div32u16u:59 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ) + // (word) div32u16u::quotient_lo#0 = (word) divr16u::return#3 // register copy zp ZP_WORD:6 + //SEG281 [140] (dword) div32u16u::return#0 ← (word) div32u16u::quotient_hi#0 dw= (word) div32u16u::quotient_lo#0 [ div32u16u::return#0 ] ( main:2::sin16s_gen:5::div32u16u:59 [ div32u16u::return#0 ] ) -- vduz1=vwuz2_dword_vwuz3 lda quotient_hi sta return+2 lda quotient_hi+1 @@ -9124,96 +9083,95 @@ div32u16u: { sta return lda quotient_lo+1 sta return+1 - //SEG284 div32u16u::@return - //SEG285 [141] return [ div32u16u::return#0 ] ( main:2::sin16s_gen:5::div32u16u:59 [ div32u16u::return#0 ] ) + //SEG282 div32u16u::@return + //SEG283 [141] return [ div32u16u::return#0 ] ( main:2::sin16s_gen:5::div32u16u:59 [ div32u16u::return#0 ] ) rts } -//SEG286 divr16u +//SEG284 divr16u divr16u: { - .label rem = 4 - .label dividend = 6 - .label quotient = 8 - .label return = 8 - .label divisor = 2 - //SEG287 [143] phi from divr16u to divr16u::@1 [phi:divr16u->divr16u::@1] - //SEG288 [143] phi (byte) divr16u::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#0] -- vbuxx=vbuc1 + .label rem = 2 + .label dividend = 4 + .label quotient = 6 + .label return = 6 + //SEG285 [143] phi from divr16u to divr16u::@1 [phi:divr16u->divr16u::@1] + //SEG286 [143] phi (byte) divr16u::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#0] -- vbuxx=vbuc1 ldx #0 - //SEG289 [143] phi (word) divr16u::quotient#3 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#1] -- vwuz1=vbuc1 + //SEG287 [143] phi (word) divr16u::quotient#3 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#1] -- vwuz1=vbuc1 txa sta quotient sta quotient+1 - //SEG290 [143] phi (word) divr16u::dividend#3 = (word) divr16u::dividend#5 [phi:divr16u->divr16u::@1#2] -- register_copy - //SEG291 [143] phi (word) divr16u::rem#5 = (word) divr16u::rem#10 [phi:divr16u->divr16u::@1#3] -- register_copy - //SEG292 [143] phi from divr16u::@3 to divr16u::@1 [phi:divr16u::@3->divr16u::@1] - //SEG293 [143] phi (byte) divr16u::i#2 = (byte) divr16u::i#1 [phi:divr16u::@3->divr16u::@1#0] -- register_copy - //SEG294 [143] phi (word) divr16u::quotient#3 = (word) divr16u::return#0 [phi:divr16u::@3->divr16u::@1#1] -- register_copy - //SEG295 [143] phi (word) divr16u::dividend#3 = (word) divr16u::dividend#0 [phi:divr16u::@3->divr16u::@1#2] -- register_copy - //SEG296 [143] phi (word) divr16u::rem#5 = (word) divr16u::rem#11 [phi:divr16u::@3->divr16u::@1#3] -- register_copy - //SEG297 divr16u::@1 + //SEG288 [143] phi (word) divr16u::dividend#3 = (word) divr16u::dividend#5 [phi:divr16u->divr16u::@1#2] -- register_copy + //SEG289 [143] phi (word) divr16u::rem#5 = (word) divr16u::rem#10 [phi:divr16u->divr16u::@1#3] -- register_copy + //SEG290 [143] phi from divr16u::@3 to divr16u::@1 [phi:divr16u::@3->divr16u::@1] + //SEG291 [143] phi (byte) divr16u::i#2 = (byte) divr16u::i#1 [phi:divr16u::@3->divr16u::@1#0] -- register_copy + //SEG292 [143] phi (word) divr16u::quotient#3 = (word) divr16u::return#0 [phi:divr16u::@3->divr16u::@1#1] -- register_copy + //SEG293 [143] phi (word) divr16u::dividend#3 = (word) divr16u::dividend#0 [phi:divr16u::@3->divr16u::@1#2] -- register_copy + //SEG294 [143] phi (word) divr16u::rem#5 = (word) divr16u::rem#11 [phi:divr16u::@3->divr16u::@1#3] -- register_copy + //SEG295 divr16u::@1 b1: - //SEG298 [144] (word) divr16u::rem#0 ← (word) divr16u::rem#5 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) -- vwuz1=vwuz1_rol_1 + //SEG296 [144] (word) divr16u::rem#0 ← (word) divr16u::rem#5 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) -- vwuz1=vwuz1_rol_1 asl rem rol rem+1 - //SEG299 [145] (byte~) divr16u::$1 ← > (word) divr16u::dividend#3 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) -- vbuaa=_hi_vwuz1 + //SEG297 [145] (byte~) divr16u::$1 ← > (word) divr16u::dividend#3 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) -- vbuaa=_hi_vwuz1 lda dividend+1 - //SEG300 [146] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) -- vbuaa=vbuaa_band_vbuc1 + //SEG298 [146] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) -- vbuaa=vbuaa_band_vbuc1 and #$80 - //SEG301 [147] if((byte~) divr16u::$2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto divr16u::@2 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) -- vbuaa_eq_0_then_la1 + //SEG299 [147] if((byte~) divr16u::$2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto divr16u::@2 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) -- vbuaa_eq_0_then_la1 cmp #0 beq b2 - //SEG302 divr16u::@4 - //SEG303 [148] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) -- vwuz1=vwuz1_bor_vbuc1 + //SEG300 divr16u::@4 + //SEG301 [148] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) -- vwuz1=vwuz1_bor_vbuc1 lda #1 ora rem sta rem - //SEG304 [149] phi from divr16u::@1 divr16u::@4 to divr16u::@2 [phi:divr16u::@1/divr16u::@4->divr16u::@2] - //SEG305 [149] phi (word) divr16u::rem#6 = (word) divr16u::rem#0 [phi:divr16u::@1/divr16u::@4->divr16u::@2#0] -- register_copy - //SEG306 divr16u::@2 + //SEG302 [149] phi from divr16u::@1 divr16u::@4 to divr16u::@2 [phi:divr16u::@1/divr16u::@4->divr16u::@2] + //SEG303 [149] phi (word) divr16u::rem#6 = (word) divr16u::rem#0 [phi:divr16u::@1/divr16u::@4->divr16u::@2#0] -- register_copy + //SEG304 divr16u::@2 b2: - //SEG307 [150] (word) divr16u::dividend#0 ← (word) divr16u::dividend#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ) -- vwuz1=vwuz1_rol_1 + //SEG305 [150] (word) divr16u::dividend#0 ← (word) divr16u::dividend#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ) -- vwuz1=vwuz1_rol_1 asl dividend rol dividend+1 - //SEG308 [151] (word) divr16u::quotient#1 ← (word) divr16u::quotient#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) -- vwuz1=vwuz1_rol_1 + //SEG306 [151] (word) divr16u::quotient#1 ← (word) divr16u::quotient#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) -- vwuz1=vwuz1_rol_1 asl quotient rol quotient+1 - //SEG309 [152] if((word) divr16u::rem#6<(word) divr16u::divisor#6) goto divr16u::@3 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) -- vwuz1_lt_vwuz2_then_la1 + //SEG307 [152] if((word) divr16u::rem#6<(const word) main::wavelength#0) goto divr16u::@3 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) -- vwuz1_lt_vwuc1_then_la1 lda rem+1 - cmp divisor+1 + cmp #>main.wavelength bcc b3 bne !+ lda rem - cmp divisor + cmp #main.wavelength sta rem+1 - //SEG313 [155] phi from divr16u::@2 divr16u::@5 to divr16u::@3 [phi:divr16u::@2/divr16u::@5->divr16u::@3] - //SEG314 [155] phi (word) divr16u::return#0 = (word) divr16u::quotient#1 [phi:divr16u::@2/divr16u::@5->divr16u::@3#0] -- register_copy - //SEG315 [155] phi (word) divr16u::rem#11 = (word) divr16u::rem#6 [phi:divr16u::@2/divr16u::@5->divr16u::@3#1] -- register_copy - //SEG316 divr16u::@3 + //SEG311 [155] phi from divr16u::@2 divr16u::@5 to divr16u::@3 [phi:divr16u::@2/divr16u::@5->divr16u::@3] + //SEG312 [155] phi (word) divr16u::return#0 = (word) divr16u::quotient#1 [phi:divr16u::@2/divr16u::@5->divr16u::@3#0] -- register_copy + //SEG313 [155] phi (word) divr16u::rem#11 = (word) divr16u::rem#6 [phi:divr16u::@2/divr16u::@5->divr16u::@3#1] -- register_copy + //SEG314 divr16u::@3 b3: - //SEG317 [156] (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2 [ divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ) -- vbuxx=_inc_vbuxx + //SEG315 [156] (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2 [ divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ) -- vbuxx=_inc_vbuxx inx - //SEG318 [157] if((byte) divr16u::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto divr16u::@1 [ divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ) -- vbuxx_neq_vbuc1_then_la1 + //SEG316 [157] if((byte) divr16u::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto divr16u::@1 [ divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ) -- vbuxx_neq_vbuc1_then_la1 cpx #$10 bne b1 - //SEG319 divr16u::@6 - //SEG320 [158] (word) rem16u#1 ← (word) divr16u::rem#11 [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] ) - // (word) rem16u#1 = (word) divr16u::rem#11 // register copy zp ZP_WORD:4 - //SEG321 divr16u::@return - //SEG322 [159] return [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] ) + //SEG317 divr16u::@6 + //SEG318 [158] (word) rem16u#1 ← (word) divr16u::rem#11 [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] ) + // (word) rem16u#1 = (word) divr16u::rem#11 // register copy zp ZP_WORD:2 + //SEG319 divr16u::@return + //SEG320 [159] return [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:133 [ divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:137 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] ) rts } print_hextab: .text "0123456789abcdef" diff --git a/src/test/java/dk/camelot64/kickc/test/ref/sinusgen16.sym b/src/test/java/dk/camelot64/kickc/test/ref/sinusgen16.sym index 74c42acb6..0ab2402b3 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/sinusgen16.sym +++ b/src/test/java/dk/camelot64/kickc/test/ref/sinusgen16.sym @@ -15,9 +15,9 @@ (word) div32u16u::divisor (dword) div32u16u::quotient (word) div32u16u::quotient_hi -(word) div32u16u::quotient_hi#0 quotient_hi zp ZP_WORD:19 0.8 +(word) div32u16u::quotient_hi#0 quotient_hi zp ZP_WORD:8 0.8 (word) div32u16u::quotient_lo -(word) div32u16u::quotient_lo#0 quotient_lo zp ZP_WORD:8 4.0 +(word) div32u16u::quotient_lo#0 quotient_lo zp ZP_WORD:6 4.0 (dword) div32u16u::return (dword) div32u16u::return#0 return zp ZP_DWORD:27 1.3333333333333333 (dword) div32u16u::return#2 return zp ZP_DWORD:27 4.0 @@ -32,31 +32,30 @@ (label) divr16u::@6 (label) divr16u::@return (word) divr16u::dividend -(word) divr16u::dividend#0 dividend zp ZP_WORD:6 2.75 -(word) divr16u::dividend#3 dividend zp ZP_WORD:6 5.0 -(word) divr16u::dividend#5 dividend zp ZP_WORD:6 2.0 +(word) divr16u::dividend#0 dividend zp ZP_WORD:4 2.75 +(word) divr16u::dividend#3 dividend zp ZP_WORD:4 5.0 +(word) divr16u::dividend#5 dividend zp ZP_WORD:4 2.0 (word) divr16u::divisor -(word) divr16u::divisor#6 divisor zp ZP_WORD:2 1.375 (byte) divr16u::i (byte) divr16u::i#1 reg byte x 16.5 (byte) divr16u::i#2 reg byte x 1.6923076923076923 (word) divr16u::quotient -(word) divr16u::quotient#1 quotient zp ZP_WORD:8 16.5 -(word) divr16u::quotient#2 quotient zp ZP_WORD:8 11.0 -(word) divr16u::quotient#3 quotient zp ZP_WORD:8 2.75 +(word) divr16u::quotient#1 quotient zp ZP_WORD:6 16.5 +(word) divr16u::quotient#2 quotient zp ZP_WORD:6 11.0 +(word) divr16u::quotient#3 quotient zp ZP_WORD:6 2.75 (word) divr16u::rem -(word) divr16u::rem#0 rem zp ZP_WORD:4 8.25 -(word) divr16u::rem#1 rem zp ZP_WORD:4 22.0 -(word) divr16u::rem#10 rem zp ZP_WORD:4 4.0 -(word) divr16u::rem#11 rem zp ZP_WORD:4 11.666666666666666 -(word) divr16u::rem#2 rem zp ZP_WORD:4 22.0 -(word) divr16u::rem#4 rem zp ZP_WORD:4 4.0 -(word) divr16u::rem#5 rem zp ZP_WORD:4 24.0 -(word) divr16u::rem#6 rem zp ZP_WORD:4 11.0 +(word) divr16u::rem#0 rem zp ZP_WORD:2 8.25 +(word) divr16u::rem#1 rem zp ZP_WORD:2 22.0 +(word) divr16u::rem#10 rem zp ZP_WORD:2 4.0 +(word) divr16u::rem#11 rem zp ZP_WORD:2 11.666666666666666 +(word) divr16u::rem#2 rem zp ZP_WORD:2 22.0 +(word) divr16u::rem#4 rem zp ZP_WORD:2 4.0 +(word) divr16u::rem#5 rem zp ZP_WORD:2 24.0 +(word) divr16u::rem#6 rem zp ZP_WORD:2 11.0 (word) divr16u::return -(word) divr16u::return#0 return zp ZP_WORD:8 5.285714285714286 -(word) divr16u::return#2 return zp ZP_WORD:8 4.0 -(word) divr16u::return#3 return zp ZP_WORD:8 4.0 +(word) divr16u::return#0 return zp ZP_WORD:6 5.285714285714286 +(word) divr16u::return#2 return zp ZP_WORD:6 4.0 +(word) divr16u::return#3 return zp ZP_WORD:6 4.0 (void()) main() (label) main::@1 (label) main::@2 @@ -184,7 +183,7 @@ (label) print_word::@return (word) print_word::w (word) rem16u -(word) rem16u#1 rem16u zp ZP_WORD:4 0.8 +(word) rem16u#1 rem16u zp ZP_WORD:2 0.8 (signed word()) sin16s((dword) sin16s::x) (dword~) sin16s::$6 $6 zp ZP_DWORD:15 4.0 (label) sin16s::@1 @@ -250,16 +249,16 @@ (dword) sin16s_gen::x#1 x zp ZP_DWORD:10 7.333333333333333 (dword) sin16s_gen::x#2 x zp ZP_DWORD:10 4.714285714285714 -zp ZP_WORD:2 [ main::st1#2 main::st1#1 print_cls::sc#2 print_cls::sc#1 sin16s_gen::sintab#2 sin16s_gen::sintab#0 divr16u::divisor#6 ] -zp ZP_WORD:4 [ print_str::str#3 print_str::str#5 print_str::str#0 sin16s_gen::i#2 sin16s_gen::i#1 divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 rem16u#1 ] -zp ZP_WORD:6 [ print_sword::w#3 print_sword::w#1 print_sword::w#0 main::sw#0 sin16s::return#1 sin16s::return#5 sin16s::sinx#1 sin16s::usinx#1 sin16s::return#0 sin16s_gen::$1 sin16s::usinx#0 divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#0 ] +zp ZP_WORD:2 [ main::st1#2 main::st1#1 print_cls::sc#2 print_cls::sc#1 sin16s_gen::sintab#2 sin16s_gen::sintab#0 divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 rem16u#1 ] +zp ZP_WORD:4 [ print_str::str#3 print_str::str#5 print_str::str#0 sin16s_gen::i#2 sin16s_gen::i#1 divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#0 ] +zp ZP_WORD:6 [ print_sword::w#3 print_sword::w#1 print_sword::w#0 main::sw#0 sin16s::return#1 sin16s::return#5 sin16s::sinx#1 sin16s::usinx#1 sin16s::return#0 sin16s_gen::$1 sin16s::usinx#0 divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 divr16u::return#3 div32u16u::quotient_lo#0 ] reg byte x [ print_byte::b#2 print_byte::b#0 print_byte::b#1 ] reg byte a [ print_char::ch#3 print_char::ch#1 print_char::ch#2 ] -zp ZP_WORD:8 [ print_char_cursor#33 print_char_cursor#46 print_char_cursor#43 print_char_cursor#51 print_char_cursor#48 print_char_cursor#49 print_char_cursor#2 print_char_cursor#12 print_char_cursor#1 mulu16_sel::v1#5 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 sin16s::x3#0 sin16s::x2#0 sin16s::x4#0 mulu16_sel::return#1 mulu16_sel::return#10 divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 divr16u::return#3 div32u16u::quotient_lo#0 ] +zp ZP_WORD:8 [ print_char_cursor#33 print_char_cursor#46 print_char_cursor#43 print_char_cursor#51 print_char_cursor#48 print_char_cursor#49 print_char_cursor#2 print_char_cursor#12 print_char_cursor#1 mulu16_sel::v1#5 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 sin16s::x3#0 sin16s::x2#0 sin16s::x4#0 mulu16_sel::return#1 mulu16_sel::return#10 div32u16u::quotient_hi#0 ] zp ZP_DWORD:10 [ sin16s_gen::x#2 sin16s_gen::x#1 ] zp ZP_BYTE:14 [ sin16s::isUpper#2 ] zp ZP_DWORD:15 [ sin16s::x#6 sin16s::x#4 sin16s::x#0 sin16s::x#1 sin16s::x#2 sin16s::$6 mul16u::res#2 mul16u::res#6 mul16u::res#1 mul16u::return#2 mulu16_sel::$0 mulu16_sel::$1 ] -zp ZP_WORD:19 [ mulu16_sel::v2#5 mulu16_sel::v2#3 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 mul16u::b#0 mulu16_sel::return#0 mulu16_sel::return#12 mulu16_sel::return#2 sin16s::x3_6#0 mulu16_sel::return#11 sin16s::x5#0 sin16s::x5_128#0 div32u16u::quotient_hi#0 ] +zp ZP_WORD:19 [ mulu16_sel::v2#5 mulu16_sel::v2#3 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 mul16u::b#0 mulu16_sel::return#0 mulu16_sel::return#12 mulu16_sel::return#2 sin16s::x3_6#0 mulu16_sel::return#11 sin16s::x5#0 sin16s::x5_128#0 ] reg byte x [ mulu16_sel::select#5 ] zp ZP_WORD:21 [ mul16u::a#2 mul16u::a#1 mul16u::a#0 ] zp ZP_DWORD:23 [ mul16u::mb#2 mul16u::mb#0 mul16u::mb#1 ] diff --git a/src/test/java/dk/camelot64/kickc/test/ref/sinusgen16b.asm b/src/test/java/dk/camelot64/kickc/test/ref/sinusgen16b.asm index 57baa3ed4..e9331b486 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/sinusgen16b.asm +++ b/src/test/java/dk/camelot64/kickc/test/ref/sinusgen16b.asm @@ -7,7 +7,7 @@ .const PI_u4f12 = $3244 .const PI_HALF_u4f12 = $1922 .label print_line_cursor = $400 - .label rem16u = 4 + .label rem16u = 2 .label print_char_cursor = $b jsr main main: { @@ -181,18 +181,6 @@ sin16s_genb: { .label sintab = 2 .label x = $d .label i = 4 - lda #main.wavelength - sta div32u16u.divisor+1 - lda #PI2_u4f28 - sta div32u16u.dividend+1 - lda #>$10 - sta div32u16u.dividend+2 - lda #>PI2_u4f28>>$10 - sta div32u16u.dividend+3 jsr div32u16u lda #<0 sta i @@ -474,14 +462,12 @@ mul16u: { jmp b1 } div32u16u: { - .label quotient_hi = $b - .label quotient_lo = 8 + .label quotient_hi = 8 + .label quotient_lo = 6 .label return = $1d - .label dividend = $d - .label divisor = 2 - lda dividend+2 + lda #>$10 sta divr16u.dividend - lda dividend+3 + lda #>PI2_u4f28>>$10 sta divr16u.dividend+1 lda #<0 sta divr16u.rem @@ -491,9 +477,9 @@ div32u16u: { sta quotient_hi lda divr16u.return+1 sta quotient_hi+1 - lda dividend + lda #PI2_u4f28&$ffff sta divr16u.dividend+1 jsr divr16u lda quotient_hi @@ -507,11 +493,10 @@ div32u16u: { rts } divr16u: { - .label rem = 4 - .label dividend = 6 - .label quotient = 8 - .label return = 8 - .label divisor = 2 + .label rem = 2 + .label dividend = 4 + .label quotient = 6 + .label return = 6 ldx #0 txa sta quotient @@ -532,11 +517,11 @@ divr16u: { asl quotient rol quotient+1 lda rem+1 - cmp divisor+1 + cmp #>main.wavelength bcc b3 bne !+ lda rem - cmp divisor + cmp #main.wavelength sta rem+1 b3: inx @@ -562,18 +547,6 @@ sin16s_gen: { .label sintab = 2 .label x = $d .label i = 4 - lda #main.wavelength - sta div32u16u.divisor+1 - lda #PI2_u4f28 - sta div32u16u.dividend+1 - lda #>$10 - sta div32u16u.dividend+2 - lda #>PI2_u4f28>>$10 - sta div32u16u.dividend+3 jsr div32u16u lda #<0 sta i diff --git a/src/test/java/dk/camelot64/kickc/test/ref/sinusgen16b.cfg b/src/test/java/dk/camelot64/kickc/test/ref/sinusgen16b.cfg index 180fc3628..07b936ab2 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/sinusgen16b.cfg +++ b/src/test/java/dk/camelot64/kickc/test/ref/sinusgen16b.cfg @@ -227,202 +227,196 @@ sin16sb::@15: scope:[sin16sb] from sin16sb::@12 [115] (signed word~) sin16sb::return#5 ← (signed word)(word) sin16sb::usinx#1 [ sin16sb::return#5 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#5 ] ) to:sin16sb::@3 mulu16_sel: scope:[mulu16_sel] from sin16s::@10 sin16s::@11 sin16s::@2 sin16s::@8 sin16s::@9 sin16sb::@10 sin16sb::@11 sin16sb::@2 sin16sb::@8 sin16sb::@9 - [116] (byte) mulu16_sel::select#10 ← phi( sin16s::@10/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s::@11/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s::@2/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s::@8/(byte/signed byte/word/signed word/dword/signed dword) 1 sin16s::@9/(byte/signed byte/word/signed word/dword/signed dword) 1 sin16sb::@10/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16sb::@11/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16sb::@2/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16sb::@8/(byte/signed byte/word/signed word/dword/signed dword) 1 sin16sb::@9/(byte/signed byte/word/signed word/dword/signed dword) 1 ) [ mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] ) - [116] (word) mulu16_sel::v2#10 ← phi( sin16s::@10/(word) mulu16_sel::v2#3 sin16s::@11/(word) mulu16_sel::v2#4 sin16s::@2/(word) mulu16_sel::v2#0 sin16s::@8/(word) mulu16_sel::v2#1 sin16s::@9/(dword/signed dword) 65536/(byte/signed byte/word/signed word/dword/signed dword) 6 sin16sb::@10/(word) mulu16_sel::v2#8 sin16sb::@11/(word) mulu16_sel::v2#9 sin16sb::@2/(word) mulu16_sel::v2#5 sin16sb::@8/(word) mulu16_sel::v2#6 sin16sb::@9/(dword/signed dword) 65536/(byte/signed byte/word/signed word/dword/signed dword) 6 ) [ mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] ) - [116] (word) mulu16_sel::v1#10 ← phi( sin16s::@10/(word) mulu16_sel::v1#3 sin16s::@11/(word) mulu16_sel::v1#4 sin16s::@2/(word) mulu16_sel::v1#0 sin16s::@8/(word) mulu16_sel::v1#1 sin16s::@9/(word) mulu16_sel::v1#2 sin16sb::@10/(word) mulu16_sel::v1#8 sin16sb::@11/(word) mulu16_sel::v1#9 sin16sb::@2/(word) mulu16_sel::v1#5 sin16sb::@8/(word) mulu16_sel::v1#6 sin16sb::@9/(word) mulu16_sel::v1#7 ) [ mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] ) - [117] (word) mul16u::a#1 ← (word) mulu16_sel::v1#10 [ mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] ) - [118] (word) mul16u::b#0 ← (word) mulu16_sel::v2#10 [ mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] ) - [119] call mul16u param-assignment [ mulu16_sel::select#10 mul16u::res#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] ) - [120] (dword) mul16u::return#2 ← (dword) mul16u::res#2 [ mulu16_sel::select#10 mul16u::return#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] ) + [116] (byte) mulu16_sel::select#10 ← phi( sin16s::@10/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s::@11/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s::@2/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s::@8/(byte/signed byte/word/signed word/dword/signed dword) 1 sin16s::@9/(byte/signed byte/word/signed word/dword/signed dword) 1 sin16sb::@10/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16sb::@11/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16sb::@2/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16sb::@8/(byte/signed byte/word/signed word/dword/signed dword) 1 sin16sb::@9/(byte/signed byte/word/signed word/dword/signed dword) 1 ) [ mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] ) + [116] (word) mulu16_sel::v2#10 ← phi( sin16s::@10/(word) mulu16_sel::v2#3 sin16s::@11/(word) mulu16_sel::v2#4 sin16s::@2/(word) mulu16_sel::v2#0 sin16s::@8/(word) mulu16_sel::v2#1 sin16s::@9/(dword/signed dword) 65536/(byte/signed byte/word/signed word/dword/signed dword) 6 sin16sb::@10/(word) mulu16_sel::v2#8 sin16sb::@11/(word) mulu16_sel::v2#9 sin16sb::@2/(word) mulu16_sel::v2#5 sin16sb::@8/(word) mulu16_sel::v2#6 sin16sb::@9/(dword/signed dword) 65536/(byte/signed byte/word/signed word/dword/signed dword) 6 ) [ mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] ) + [116] (word) mulu16_sel::v1#10 ← phi( sin16s::@10/(word) mulu16_sel::v1#3 sin16s::@11/(word) mulu16_sel::v1#4 sin16s::@2/(word) mulu16_sel::v1#0 sin16s::@8/(word) mulu16_sel::v1#1 sin16s::@9/(word) mulu16_sel::v1#2 sin16sb::@10/(word) mulu16_sel::v1#8 sin16sb::@11/(word) mulu16_sel::v1#9 sin16sb::@2/(word) mulu16_sel::v1#5 sin16sb::@8/(word) mulu16_sel::v1#6 sin16sb::@9/(word) mulu16_sel::v1#7 ) [ mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] ) + [117] (word) mul16u::a#1 ← (word) mulu16_sel::v1#10 [ mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] ) + [118] (word) mul16u::b#0 ← (word) mulu16_sel::v2#10 [ mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] ) + [119] call mul16u param-assignment [ mulu16_sel::select#10 mul16u::res#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] ) + [120] (dword) mul16u::return#2 ← (dword) mul16u::res#2 [ mulu16_sel::select#10 mul16u::return#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] ) to:mulu16_sel::@2 mulu16_sel::@2: scope:[mulu16_sel] from mulu16_sel - [121] (dword~) mulu16_sel::$0 ← (dword) mul16u::return#2 [ mulu16_sel::select#10 mulu16_sel::$0 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] ) - [122] (dword~) mulu16_sel::$1 ← (dword~) mulu16_sel::$0 << (byte) mulu16_sel::select#10 [ mulu16_sel::$1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::$1 ] ) - [123] (word) mulu16_sel::return#17 ← > (dword~) mulu16_sel::$1 [ mulu16_sel::return#17 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#17 ] ) + [121] (dword~) mulu16_sel::$0 ← (dword) mul16u::return#2 [ mulu16_sel::select#10 mulu16_sel::$0 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] ) + [122] (dword~) mulu16_sel::$1 ← (dword~) mulu16_sel::$0 << (byte) mulu16_sel::select#10 [ mulu16_sel::$1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::$1 ] ) + [123] (word) mulu16_sel::return#17 ← > (dword~) mulu16_sel::$1 [ mulu16_sel::return#17 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#17 ] ) to:mulu16_sel::@return mulu16_sel::@return: scope:[mulu16_sel] from mulu16_sel::@2 - [124] return [ mulu16_sel::return#17 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#17 ] ) + [124] return [ mulu16_sel::return#17 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#17 ] ) to:@return mul16u: scope:[mul16u] from mulu16_sel - [125] (dword) mul16u::mb#0 ← ((dword)) (word) mul16u::b#0 [ mul16u::a#1 mul16u::mb#0 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] ) + [125] (dword) mul16u::mb#0 ← ((dword)) (word) mul16u::b#0 [ mul16u::a#1 mul16u::mb#0 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] ) to:mul16u::@1 mul16u::@1: scope:[mul16u] from mul16u mul16u::@4 - [126] (dword) mul16u::mb#2 ← phi( mul16u/(dword) mul16u::mb#0 mul16u::@4/(dword) mul16u::mb#1 ) [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ) - [126] (dword) mul16u::res#2 ← phi( mul16u/(byte/signed byte/word/signed word/dword/signed dword) 0 mul16u::@4/(dword) mul16u::res#6 ) [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ) - [126] (word) mul16u::a#2 ← phi( mul16u/(word) mul16u::a#1 mul16u::@4/(word) mul16u::a#0 ) [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ) - [127] if((word) mul16u::a#2!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul16u::@2 [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ) + [126] (dword) mul16u::mb#2 ← phi( mul16u/(dword) mul16u::mb#0 mul16u::@4/(dword) mul16u::mb#1 ) [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ) + [126] (dword) mul16u::res#2 ← phi( mul16u/(byte/signed byte/word/signed word/dword/signed dword) 0 mul16u::@4/(dword) mul16u::res#6 ) [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ) + [126] (word) mul16u::a#2 ← phi( mul16u/(word) mul16u::a#1 mul16u::@4/(word) mul16u::a#0 ) [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ) + [127] if((word) mul16u::a#2!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul16u::@2 [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ) to:mul16u::@return mul16u::@return: scope:[mul16u] from mul16u::@1 - [128] return [ mul16u::res#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] ) + [128] return [ mul16u::res#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] ) to:@return mul16u::@2: scope:[mul16u] from mul16u::@1 - [129] (byte/word~) mul16u::$1 ← (word) mul16u::a#2 & (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] ) - [130] if((byte/word~) mul16u::$1==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul16u::@4 [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ) + [129] (byte/word~) mul16u::$1 ← (word) mul16u::a#2 & (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] ) + [130] if((byte/word~) mul16u::$1==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul16u::@4 [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ) to:mul16u::@7 mul16u::@7: scope:[mul16u] from mul16u::@2 - [131] (dword) mul16u::res#1 ← (dword) mul16u::res#2 + (dword) mul16u::mb#2 [ mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] ) + [131] (dword) mul16u::res#1 ← (dword) mul16u::res#2 + (dword) mul16u::mb#2 [ mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] ) to:mul16u::@4 mul16u::@4: scope:[mul16u] from mul16u::@2 mul16u::@7 - [132] (dword) mul16u::res#6 ← phi( mul16u::@2/(dword) mul16u::res#2 mul16u::@7/(dword) mul16u::res#1 ) [ mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] ) - [133] (word) mul16u::a#0 ← (word) mul16u::a#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] ) - [134] (dword) mul16u::mb#1 ← (dword) mul16u::mb#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] ) + [132] (dword) mul16u::res#6 ← phi( mul16u::@2/(dword) mul16u::res#2 mul16u::@7/(dword) mul16u::res#1 ) [ mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] ) + [133] (word) mul16u::a#0 ← (word) mul16u::a#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] ) + [134] (dword) mul16u::mb#1 ← (dword) mul16u::mb#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] ) to:mul16u::@1 div32u16u: scope:[div32u16u] from sin16s_gen sin16s_genb - [135] (word) div32u16u::divisor#2 ← phi( sin16s_gen/(const word) main::wavelength#0 sin16s_genb/(const word) main::wavelength#0 ) [ div32u16u::dividend#2 div32u16u::divisor#2 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::dividend#2 div32u16u::divisor#2 ] ) - [135] (dword) div32u16u::dividend#2 ← phi( sin16s_gen/(const dword) PI2_u4f28#0 sin16s_genb/(const dword) PI2_u4f28#0 ) [ div32u16u::dividend#2 div32u16u::divisor#2 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::dividend#2 div32u16u::divisor#2 ] ) - [136] (word) divr16u::dividend#1 ← > (dword) div32u16u::dividend#2 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 ] ) - [137] (word) divr16u::divisor#0 ← (word) div32u16u::divisor#2 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 divr16u::divisor#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 divr16u::divisor#0 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 divr16u::divisor#0 ] ) - [138] call divr16u param-assignment [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#0 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#0 rem16u#1 ] ) - [139] (word) divr16u::return#2 ← (word) divr16u::return#0 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#2 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#2 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#2 rem16u#1 ] ) + [135] phi() [ ] ( main:2::sin16s_genb:7::div32u16u:63 [ ] main:2::sin16s_gen:5::div32u16u:164 [ ] ) + [136] call divr16u param-assignment [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:164 [ divr16u::return#0 rem16u#1 ] ) + [137] (word) divr16u::return#2 ← (word) divr16u::return#0 [ divr16u::return#2 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ divr16u::return#2 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:164 [ divr16u::return#2 rem16u#1 ] ) to:div32u16u::@2 div32u16u::@2: scope:[div32u16u] from div32u16u - [140] (word) div32u16u::quotient_hi#0 ← (word) divr16u::return#2 [ div32u16u::dividend#2 div32u16u::divisor#2 div32u16u::quotient_hi#0 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 div32u16u::quotient_hi#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::dividend#2 div32u16u::divisor#2 div32u16u::quotient_hi#0 rem16u#1 ] ) - [141] (word) divr16u::dividend#2 ← < (dword) div32u16u::dividend#2 [ div32u16u::divisor#2 div32u16u::quotient_hi#0 divr16u::dividend#2 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::divisor#2 div32u16u::quotient_hi#0 divr16u::dividend#2 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::divisor#2 div32u16u::quotient_hi#0 divr16u::dividend#2 rem16u#1 ] ) - [142] (word) divr16u::divisor#1 ← (word) div32u16u::divisor#2 [ div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 rem16u#1 ] ) - [143] (word) divr16u::rem#4 ← (word) rem16u#1 [ div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 divr16u::rem#4 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 divr16u::rem#4 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 divr16u::rem#4 ] ) - [144] call divr16u param-assignment [ divr16u::return#0 div32u16u::quotient_hi#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ divr16u::return#0 div32u16u::quotient_hi#0 ] main:2::sin16s_gen:5::div32u16u:168 [ divr16u::return#0 div32u16u::quotient_hi#0 ] ) - [145] (word) divr16u::return#3 ← (word) divr16u::return#0 [ div32u16u::quotient_hi#0 divr16u::return#3 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::quotient_hi#0 divr16u::return#3 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::quotient_hi#0 divr16u::return#3 ] ) + [138] (word) div32u16u::quotient_hi#0 ← (word) divr16u::return#2 [ div32u16u::quotient_hi#0 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::quotient_hi#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:164 [ div32u16u::quotient_hi#0 rem16u#1 ] ) + [139] (word) divr16u::rem#4 ← (word) rem16u#1 [ div32u16u::quotient_hi#0 divr16u::rem#4 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::quotient_hi#0 divr16u::rem#4 ] main:2::sin16s_gen:5::div32u16u:164 [ div32u16u::quotient_hi#0 divr16u::rem#4 ] ) + [140] call divr16u param-assignment [ divr16u::return#0 div32u16u::quotient_hi#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ divr16u::return#0 div32u16u::quotient_hi#0 ] main:2::sin16s_gen:5::div32u16u:164 [ divr16u::return#0 div32u16u::quotient_hi#0 ] ) + [141] (word) divr16u::return#3 ← (word) divr16u::return#0 [ div32u16u::quotient_hi#0 divr16u::return#3 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::quotient_hi#0 divr16u::return#3 ] main:2::sin16s_gen:5::div32u16u:164 [ div32u16u::quotient_hi#0 divr16u::return#3 ] ) to:div32u16u::@3 div32u16u::@3: scope:[div32u16u] from div32u16u::@2 - [146] (word) div32u16u::quotient_lo#0 ← (word) divr16u::return#3 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ) - [147] (dword) div32u16u::return#0 ← (word) div32u16u::quotient_hi#0 dw= (word) div32u16u::quotient_lo#0 [ div32u16u::return#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::return#0 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::return#0 ] ) + [142] (word) div32u16u::quotient_lo#0 ← (word) divr16u::return#3 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] main:2::sin16s_gen:5::div32u16u:164 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ) + [143] (dword) div32u16u::return#0 ← (word) div32u16u::quotient_hi#0 dw= (word) div32u16u::quotient_lo#0 [ div32u16u::return#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::return#0 ] main:2::sin16s_gen:5::div32u16u:164 [ div32u16u::return#0 ] ) to:div32u16u::@return div32u16u::@return: scope:[div32u16u] from div32u16u::@3 - [148] return [ div32u16u::return#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::return#0 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::return#0 ] ) + [144] return [ div32u16u::return#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::return#0 ] main:2::sin16s_gen:5::div32u16u:164 [ div32u16u::return#0 ] ) to:@return divr16u: scope:[divr16u] from div32u16u div32u16u::@2 - [149] (word) divr16u::divisor#6 ← phi( div32u16u/(word) divr16u::divisor#0 div32u16u::@2/(word) divr16u::divisor#1 ) [ divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ) - [149] (word) divr16u::dividend#5 ← phi( div32u16u/(word) divr16u::dividend#1 div32u16u::@2/(word) divr16u::dividend#2 ) [ divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ) - [149] (word) divr16u::rem#10 ← phi( div32u16u/(byte/signed byte/word/signed word/dword/signed dword) 0 div32u16u::@2/(word) divr16u::rem#4 ) [ divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ) + [145] (word) divr16u::dividend#5 ← phi( div32u16u/>(const dword) PI2_u4f28#0 div32u16u::@2/<(const dword) PI2_u4f28#0 ) [ divr16u::rem#10 divr16u::dividend#5 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::rem#10 divr16u::dividend#5 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::rem#10 divr16u::dividend#5 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::rem#10 divr16u::dividend#5 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::rem#10 divr16u::dividend#5 ] ) + [145] (word) divr16u::rem#10 ← phi( div32u16u/(byte/signed byte/word/signed word/dword/signed dword) 0 div32u16u::@2/(word) divr16u::rem#4 ) [ divr16u::rem#10 divr16u::dividend#5 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::rem#10 divr16u::dividend#5 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::rem#10 divr16u::dividend#5 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::rem#10 divr16u::dividend#5 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::rem#10 divr16u::dividend#5 ] ) to:divr16u::@1 divr16u::@1: scope:[divr16u] from divr16u divr16u::@3 - [150] (byte) divr16u::i#2 ← phi( divr16u/(byte/signed byte/word/signed word/dword/signed dword) 0 divr16u::@3/(byte) divr16u::i#1 ) [ divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ) - [150] (word) divr16u::quotient#3 ← phi( divr16u/(byte/signed byte/word/signed word/dword/signed dword) 0 divr16u::@3/(word) divr16u::return#0 ) [ divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ) - [150] (word) divr16u::dividend#3 ← phi( divr16u/(word) divr16u::dividend#5 divr16u::@3/(word) divr16u::dividend#0 ) [ divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ) - [150] (word) divr16u::rem#5 ← phi( divr16u/(word) divr16u::rem#10 divr16u::@3/(word) divr16u::rem#11 ) [ divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ) - [151] (word) divr16u::rem#0 ← (word) divr16u::rem#5 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) - [152] (byte~) divr16u::$1 ← > (word) divr16u::dividend#3 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) - [153] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) - [154] if((byte~) divr16u::$2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto divr16u::@2 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) + [146] (byte) divr16u::i#2 ← phi( divr16u/(byte/signed byte/word/signed word/dword/signed dword) 0 divr16u::@3/(byte) divr16u::i#1 ) [ divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ) + [146] (word) divr16u::quotient#3 ← phi( divr16u/(byte/signed byte/word/signed word/dword/signed dword) 0 divr16u::@3/(word) divr16u::return#0 ) [ divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ) + [146] (word) divr16u::dividend#3 ← phi( divr16u/(word) divr16u::dividend#5 divr16u::@3/(word) divr16u::dividend#0 ) [ divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ) + [146] (word) divr16u::rem#5 ← phi( divr16u/(word) divr16u::rem#10 divr16u::@3/(word) divr16u::rem#11 ) [ divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ) + [147] (word) divr16u::rem#0 ← (word) divr16u::rem#5 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) + [148] (byte~) divr16u::$1 ← > (word) divr16u::dividend#3 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) + [149] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) + [150] if((byte~) divr16u::$2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto divr16u::@2 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) to:divr16u::@4 divr16u::@4: scope:[divr16u] from divr16u::@1 - [155] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) + [151] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) to:divr16u::@2 divr16u::@2: scope:[divr16u] from divr16u::@1 divr16u::@4 - [156] (word) divr16u::rem#6 ← phi( divr16u::@1/(word) divr16u::rem#0 divr16u::@4/(word) divr16u::rem#1 ) [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] ) - [157] (word) divr16u::dividend#0 ← (word) divr16u::dividend#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ) - [158] (word) divr16u::quotient#1 ← (word) divr16u::quotient#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) - [159] if((word) divr16u::rem#6<(word) divr16u::divisor#6) goto divr16u::@3 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) + [152] (word) divr16u::rem#6 ← phi( divr16u::@1/(word) divr16u::rem#0 divr16u::@4/(word) divr16u::rem#1 ) [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] ) + [153] (word) divr16u::dividend#0 ← (word) divr16u::dividend#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ) + [154] (word) divr16u::quotient#1 ← (word) divr16u::quotient#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) + [155] if((word) divr16u::rem#6<(const word) main::wavelength#0) goto divr16u::@3 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) to:divr16u::@5 divr16u::@5: scope:[divr16u] from divr16u::@2 - [160] (word) divr16u::quotient#2 ← ++ (word) divr16u::quotient#1 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] ) - [161] (word) divr16u::rem#2 ← (word) divr16u::rem#6 - (word) divr16u::divisor#6 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ) + [156] (word) divr16u::quotient#2 ← ++ (word) divr16u::quotient#1 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] ) + [157] (word) divr16u::rem#2 ← (word) divr16u::rem#6 - (const word) main::wavelength#0 [ divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ) to:divr16u::@3 divr16u::@3: scope:[divr16u] from divr16u::@2 divr16u::@5 - [162] (word) divr16u::return#0 ← phi( divr16u::@2/(word) divr16u::quotient#1 divr16u::@5/(word) divr16u::quotient#2 ) [ divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] ) - [162] (word) divr16u::rem#11 ← phi( divr16u::@2/(word) divr16u::rem#6 divr16u::@5/(word) divr16u::rem#2 ) [ divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] ) - [163] (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2 [ divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ) - [164] if((byte) divr16u::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto divr16u::@1 [ divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ) + [158] (word) divr16u::return#0 ← phi( divr16u::@2/(word) divr16u::quotient#1 divr16u::@5/(word) divr16u::quotient#2 ) [ divr16u::return#0 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::return#0 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::return#0 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] ) + [158] (word) divr16u::rem#11 ← phi( divr16u::@2/(word) divr16u::rem#6 divr16u::@5/(word) divr16u::rem#2 ) [ divr16u::return#0 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::return#0 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::return#0 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] ) + [159] (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2 [ divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ) + [160] if((byte) divr16u::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto divr16u::@1 [ divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ) to:divr16u::@6 divr16u::@6: scope:[divr16u] from divr16u::@3 - [165] (word) rem16u#1 ← (word) divr16u::rem#11 [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#0 rem16u#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] ) + [161] (word) rem16u#1 ← (word) divr16u::rem#11 [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::return#0 rem16u#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] ) to:divr16u::@return divr16u::@return: scope:[divr16u] from divr16u::@6 - [166] return [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#0 rem16u#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] ) + [162] return [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::return#0 rem16u#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] ) to:@return sin16s_gen: scope:[sin16s_gen] from main - [167] phi() [ ] ( main:2::sin16s_gen:5 [ ] ) - [168] call div32u16u param-assignment [ div32u16u::return#0 ] ( main:2::sin16s_gen:5 [ div32u16u::return#0 ] ) - [169] (dword) div32u16u::return#2 ← (dword) div32u16u::return#0 [ div32u16u::return#2 ] ( main:2::sin16s_gen:5 [ div32u16u::return#2 ] ) + [163] phi() [ ] ( main:2::sin16s_gen:5 [ ] ) + [164] call div32u16u param-assignment [ div32u16u::return#0 ] ( main:2::sin16s_gen:5 [ div32u16u::return#0 ] ) + [165] (dword) div32u16u::return#2 ← (dword) div32u16u::return#0 [ div32u16u::return#2 ] ( main:2::sin16s_gen:5 [ div32u16u::return#2 ] ) to:sin16s_gen::@3 sin16s_gen::@3: scope:[sin16s_gen] from sin16s_gen - [170] (dword) sin16s_gen::step#0 ← (dword) div32u16u::return#2 [ sin16s_gen::step#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 ] ) + [166] (dword) sin16s_gen::step#0 ← (dword) div32u16u::return#2 [ sin16s_gen::step#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 ] ) to:sin16s_gen::@1 sin16s_gen::@1: scope:[sin16s_gen] from sin16s_gen::@3 sin16s_gen::@4 - [171] (word) sin16s_gen::i#2 ← phi( sin16s_gen::@3/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s_gen::@4/(word) sin16s_gen::i#1 ) [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ) - [171] (signed word*) sin16s_gen::sintab#2 ← phi( sin16s_gen::@3/(const signed word[120]) main::sintab1#0 sin16s_gen::@4/(signed word*) sin16s_gen::sintab#0 ) [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ) - [171] (dword) sin16s_gen::x#2 ← phi( sin16s_gen::@3/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s_gen::@4/(dword) sin16s_gen::x#1 ) [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ) - [172] (dword) sin16s::x#0 ← (dword) sin16s_gen::x#2 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#0 ] ) - [173] call sin16s param-assignment [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#1 ] ) - [174] (signed word) sin16s::return#0 ← (signed word) sin16s::return#1 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#0 ] ) + [167] (word) sin16s_gen::i#2 ← phi( sin16s_gen::@3/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s_gen::@4/(word) sin16s_gen::i#1 ) [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ) + [167] (signed word*) sin16s_gen::sintab#2 ← phi( sin16s_gen::@3/(const signed word[120]) main::sintab1#0 sin16s_gen::@4/(signed word*) sin16s_gen::sintab#0 ) [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ) + [167] (dword) sin16s_gen::x#2 ← phi( sin16s_gen::@3/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s_gen::@4/(dword) sin16s_gen::x#1 ) [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ) + [168] (dword) sin16s::x#0 ← (dword) sin16s_gen::x#2 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#0 ] ) + [169] call sin16s param-assignment [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#1 ] ) + [170] (signed word) sin16s::return#0 ← (signed word) sin16s::return#1 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#0 ] ) to:sin16s_gen::@4 sin16s_gen::@4: scope:[sin16s_gen] from sin16s_gen::@1 - [175] (signed word~) sin16s_gen::$1 ← (signed word) sin16s::return#0 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s_gen::$1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s_gen::$1 ] ) - [176] *((signed word*) sin16s_gen::sintab#2) ← (signed word~) sin16s_gen::$1 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ) - [177] (signed word*) sin16s_gen::sintab#0 ← (signed word*) sin16s_gen::sintab#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::i#2 sin16s_gen::sintab#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::i#2 sin16s_gen::sintab#0 ] ) - [178] (dword) sin16s_gen::x#1 ← (dword) sin16s_gen::x#2 + (dword) sin16s_gen::step#0 [ sin16s_gen::step#0 sin16s_gen::i#2 sin16s_gen::x#1 sin16s_gen::sintab#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::i#2 sin16s_gen::x#1 sin16s_gen::sintab#0 ] ) - [179] (word) sin16s_gen::i#1 ← ++ (word) sin16s_gen::i#2 [ sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ) - [180] if((word) sin16s_gen::i#1<(const word) main::wavelength#0) goto sin16s_gen::@1 [ sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ) + [171] (signed word~) sin16s_gen::$1 ← (signed word) sin16s::return#0 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s_gen::$1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s_gen::$1 ] ) + [172] *((signed word*) sin16s_gen::sintab#2) ← (signed word~) sin16s_gen::$1 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ) + [173] (signed word*) sin16s_gen::sintab#0 ← (signed word*) sin16s_gen::sintab#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::i#2 sin16s_gen::sintab#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::i#2 sin16s_gen::sintab#0 ] ) + [174] (dword) sin16s_gen::x#1 ← (dword) sin16s_gen::x#2 + (dword) sin16s_gen::step#0 [ sin16s_gen::step#0 sin16s_gen::i#2 sin16s_gen::x#1 sin16s_gen::sintab#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::i#2 sin16s_gen::x#1 sin16s_gen::sintab#0 ] ) + [175] (word) sin16s_gen::i#1 ← ++ (word) sin16s_gen::i#2 [ sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ) + [176] if((word) sin16s_gen::i#1<(const word) main::wavelength#0) goto sin16s_gen::@1 [ sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ) to:sin16s_gen::@return sin16s_gen::@return: scope:[sin16s_gen] from sin16s_gen::@4 - [181] return [ ] ( main:2::sin16s_gen:5 [ ] ) + [177] return [ ] ( main:2::sin16s_gen:5 [ ] ) to:@return sin16s: scope:[sin16s] from sin16s_gen::@1 - [182] if((dword) sin16s::x#0<(const dword) PI_u4f28#0) goto sin16s::@1 [ sin16s::x#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#0 ] ) + [178] if((dword) sin16s::x#0<(const dword) PI_u4f28#0) goto sin16s::@1 [ sin16s::x#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#0 ] ) to:sin16s::@4 sin16s::@4: scope:[sin16s] from sin16s - [183] (dword) sin16s::x#1 ← (dword) sin16s::x#0 - (const dword) PI_u4f28#0 [ sin16s::x#1 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#1 ] ) + [179] (dword) sin16s::x#1 ← (dword) sin16s::x#0 - (const dword) PI_u4f28#0 [ sin16s::x#1 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#1 ] ) to:sin16s::@1 sin16s::@1: scope:[sin16s] from sin16s sin16s::@4 - [184] (byte) sin16s::isUpper#2 ← phi( sin16s/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s::@4/(byte/signed byte/word/signed word/dword/signed dword) 1 ) [ sin16s::x#4 sin16s::isUpper#2 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#4 sin16s::isUpper#2 ] ) - [184] (dword) sin16s::x#4 ← phi( sin16s/(dword) sin16s::x#0 sin16s::@4/(dword) sin16s::x#1 ) [ sin16s::x#4 sin16s::isUpper#2 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#4 sin16s::isUpper#2 ] ) - [185] if((dword) sin16s::x#4<(const dword) PI_HALF_u4f28#0) goto sin16s::@2 [ sin16s::x#4 sin16s::isUpper#2 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#4 sin16s::isUpper#2 ] ) + [180] (byte) sin16s::isUpper#2 ← phi( sin16s/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s::@4/(byte/signed byte/word/signed word/dword/signed dword) 1 ) [ sin16s::x#4 sin16s::isUpper#2 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#4 sin16s::isUpper#2 ] ) + [180] (dword) sin16s::x#4 ← phi( sin16s/(dword) sin16s::x#0 sin16s::@4/(dword) sin16s::x#1 ) [ sin16s::x#4 sin16s::isUpper#2 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#4 sin16s::isUpper#2 ] ) + [181] if((dword) sin16s::x#4<(const dword) PI_HALF_u4f28#0) goto sin16s::@2 [ sin16s::x#4 sin16s::isUpper#2 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#4 sin16s::isUpper#2 ] ) to:sin16s::@5 sin16s::@5: scope:[sin16s] from sin16s::@1 - [186] (dword) sin16s::x#2 ← (const dword) PI_u4f28#0 - (dword) sin16s::x#4 [ sin16s::isUpper#2 sin16s::x#2 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x#2 ] ) + [182] (dword) sin16s::x#2 ← (const dword) PI_u4f28#0 - (dword) sin16s::x#4 [ sin16s::isUpper#2 sin16s::x#2 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x#2 ] ) to:sin16s::@2 sin16s::@2: scope:[sin16s] from sin16s::@1 sin16s::@5 - [187] (dword) sin16s::x#6 ← phi( sin16s::@1/(dword) sin16s::x#4 sin16s::@5/(dword) sin16s::x#2 ) [ sin16s::isUpper#2 sin16s::x#6 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x#6 ] ) - [188] (dword~) sin16s::$6 ← (dword) sin16s::x#6 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ sin16s::isUpper#2 sin16s::$6 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::$6 ] ) - [189] (word) sin16s::x1#0 ← > (dword~) sin16s::$6 [ sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 ] ) - [190] (word) mulu16_sel::v1#0 ← (word) sin16s::x1#0 [ mulu16_sel::v1#0 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#0 sin16s::isUpper#2 sin16s::x1#0 ] ) - [191] (word) mulu16_sel::v2#0 ← (word) sin16s::x1#0 [ mulu16_sel::v1#0 mulu16_sel::v2#0 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#0 mulu16_sel::v2#0 sin16s::isUpper#2 sin16s::x1#0 ] ) - [192] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 ] ) - [193] (word) mulu16_sel::return#0 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#0 ] ) + [183] (dword) sin16s::x#6 ← phi( sin16s::@1/(dword) sin16s::x#4 sin16s::@5/(dword) sin16s::x#2 ) [ sin16s::isUpper#2 sin16s::x#6 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x#6 ] ) + [184] (dword~) sin16s::$6 ← (dword) sin16s::x#6 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ sin16s::isUpper#2 sin16s::$6 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::$6 ] ) + [185] (word) sin16s::x1#0 ← > (dword~) sin16s::$6 [ sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 ] ) + [186] (word) mulu16_sel::v1#0 ← (word) sin16s::x1#0 [ mulu16_sel::v1#0 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#0 sin16s::isUpper#2 sin16s::x1#0 ] ) + [187] (word) mulu16_sel::v2#0 ← (word) sin16s::x1#0 [ mulu16_sel::v1#0 mulu16_sel::v2#0 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#0 mulu16_sel::v2#0 sin16s::isUpper#2 sin16s::x1#0 ] ) + [188] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 ] ) + [189] (word) mulu16_sel::return#0 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#0 ] ) to:sin16s::@8 sin16s::@8: scope:[sin16s] from sin16s::@2 - [194] (word) sin16s::x2#0 ← (word) mulu16_sel::return#0 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x2#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x2#0 ] ) - [195] (word) mulu16_sel::v1#1 ← (word) sin16s::x2#0 [ mulu16_sel::v1#1 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#1 sin16s::isUpper#2 sin16s::x1#0 ] ) - [196] (word) mulu16_sel::v2#1 ← (word) sin16s::x1#0 [ mulu16_sel::v1#1 mulu16_sel::v2#1 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#1 mulu16_sel::v2#1 sin16s::isUpper#2 sin16s::x1#0 ] ) - [197] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 ] ) - [198] (word) mulu16_sel::return#1 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#1 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#1 ] ) + [190] (word) sin16s::x2#0 ← (word) mulu16_sel::return#0 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x2#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x2#0 ] ) + [191] (word) mulu16_sel::v1#1 ← (word) sin16s::x2#0 [ mulu16_sel::v1#1 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#1 sin16s::isUpper#2 sin16s::x1#0 ] ) + [192] (word) mulu16_sel::v2#1 ← (word) sin16s::x1#0 [ mulu16_sel::v1#1 mulu16_sel::v2#1 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#1 mulu16_sel::v2#1 sin16s::isUpper#2 sin16s::x1#0 ] ) + [193] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 ] ) + [194] (word) mulu16_sel::return#1 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#1 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#1 ] ) to:sin16s::@9 sin16s::@9: scope:[sin16s] from sin16s::@8 - [199] (word) sin16s::x3#0 ← (word) mulu16_sel::return#1 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ) - [200] (word) mulu16_sel::v1#2 ← (word) sin16s::x3#0 [ mulu16_sel::v1#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ) - [201] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ) - [202] (word) mulu16_sel::return#14 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#14 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#14 ] ) + [195] (word) sin16s::x3#0 ← (word) mulu16_sel::return#1 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ) + [196] (word) mulu16_sel::v1#2 ← (word) sin16s::x3#0 [ mulu16_sel::v1#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ) + [197] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ) + [198] (word) mulu16_sel::return#14 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#14 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#14 ] ) to:sin16s::@10 sin16s::@10: scope:[sin16s] from sin16s::@9 - [203] (word) sin16s::x3_6#0 ← (word) mulu16_sel::return#14 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::x3_6#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::x3_6#0 ] ) - [204] (word) sin16s::usinx#0 ← (word) sin16s::x1#0 - (word) sin16s::x3_6#0 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::usinx#0 ] ) - [205] (word) mulu16_sel::v1#3 ← (word) sin16s::x3#0 [ mulu16_sel::v1#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) - [206] (word) mulu16_sel::v2#3 ← (word) sin16s::x1#0 [ mulu16_sel::v1#3 mulu16_sel::v2#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#3 mulu16_sel::v2#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) - [207] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) - [208] (word) mulu16_sel::return#15 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#15 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#15 ] ) + [199] (word) sin16s::x3_6#0 ← (word) mulu16_sel::return#14 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::x3_6#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::x3_6#0 ] ) + [200] (word) sin16s::usinx#0 ← (word) sin16s::x1#0 - (word) sin16s::x3_6#0 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::usinx#0 ] ) + [201] (word) mulu16_sel::v1#3 ← (word) sin16s::x3#0 [ mulu16_sel::v1#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) + [202] (word) mulu16_sel::v2#3 ← (word) sin16s::x1#0 [ mulu16_sel::v1#3 mulu16_sel::v2#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#3 mulu16_sel::v2#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) + [203] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) + [204] (word) mulu16_sel::return#15 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#15 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#15 ] ) to:sin16s::@11 sin16s::@11: scope:[sin16s] from sin16s::@10 - [209] (word) sin16s::x4#0 ← (word) mulu16_sel::return#15 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 sin16s::x4#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 sin16s::x4#0 ] ) - [210] (word) mulu16_sel::v1#4 ← (word) sin16s::x4#0 [ mulu16_sel::v1#4 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#4 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) - [211] (word) mulu16_sel::v2#4 ← (word) sin16s::x1#0 [ mulu16_sel::v1#4 mulu16_sel::v2#4 sin16s::isUpper#2 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#4 mulu16_sel::v2#4 sin16s::isUpper#2 sin16s::usinx#0 ] ) - [212] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::usinx#0 ] ) - [213] (word) mulu16_sel::return#16 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#16 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#16 ] ) + [205] (word) sin16s::x4#0 ← (word) mulu16_sel::return#15 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 sin16s::x4#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 sin16s::x4#0 ] ) + [206] (word) mulu16_sel::v1#4 ← (word) sin16s::x4#0 [ mulu16_sel::v1#4 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#4 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) + [207] (word) mulu16_sel::v2#4 ← (word) sin16s::x1#0 [ mulu16_sel::v1#4 mulu16_sel::v2#4 sin16s::isUpper#2 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#4 mulu16_sel::v2#4 sin16s::isUpper#2 sin16s::usinx#0 ] ) + [208] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::usinx#0 ] ) + [209] (word) mulu16_sel::return#16 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#16 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#16 ] ) to:sin16s::@12 sin16s::@12: scope:[sin16s] from sin16s::@11 - [214] (word) sin16s::x5#0 ← (word) mulu16_sel::return#16 [ sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5#0 ] ) - [215] (word) sin16s::x5_128#0 ← (word) sin16s::x5#0 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5_128#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5_128#0 ] ) - [216] (word) sin16s::usinx#1 ← (word) sin16s::usinx#0 + (word) sin16s::x5_128#0 [ sin16s::isUpper#2 sin16s::usinx#1 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#1 ] ) - [217] if((byte) sin16s::isUpper#2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto sin16s::@15 [ sin16s::usinx#1 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::usinx#1 ] ) + [210] (word) sin16s::x5#0 ← (word) mulu16_sel::return#16 [ sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5#0 ] ) + [211] (word) sin16s::x5_128#0 ← (word) sin16s::x5#0 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5_128#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5_128#0 ] ) + [212] (word) sin16s::usinx#1 ← (word) sin16s::usinx#0 + (word) sin16s::x5_128#0 [ sin16s::isUpper#2 sin16s::usinx#1 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#1 ] ) + [213] if((byte) sin16s::isUpper#2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto sin16s::@15 [ sin16s::usinx#1 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::usinx#1 ] ) to:sin16s::@6 sin16s::@6: scope:[sin16s] from sin16s::@12 - [218] (signed word) sin16s::sinx#1 ← - (signed word)(word) sin16s::usinx#1 [ sin16s::sinx#1 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::sinx#1 ] ) + [214] (signed word) sin16s::sinx#1 ← - (signed word)(word) sin16s::usinx#1 [ sin16s::sinx#1 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::sinx#1 ] ) to:sin16s::@3 sin16s::@3: scope:[sin16s] from sin16s::@15 sin16s::@6 - [219] (signed word) sin16s::return#1 ← phi( sin16s::@15/(signed word~) sin16s::return#5 sin16s::@6/(signed word) sin16s::sinx#1 ) [ sin16s::return#1 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#1 ] ) + [215] (signed word) sin16s::return#1 ← phi( sin16s::@15/(signed word~) sin16s::return#5 sin16s::@6/(signed word) sin16s::sinx#1 ) [ sin16s::return#1 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#1 ] ) to:sin16s::@return sin16s::@return: scope:[sin16s] from sin16s::@3 - [220] return [ sin16s::return#1 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#1 ] ) + [216] return [ sin16s::return#1 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#1 ] ) to:@return sin16s::@15: scope:[sin16s] from sin16s::@12 - [221] (signed word~) sin16s::return#5 ← (signed word)(word) sin16s::usinx#1 [ sin16s::return#5 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#5 ] ) + [217] (signed word~) sin16s::return#5 ← (signed word)(word) sin16s::usinx#1 [ sin16s::return#5 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#5 ] ) to:sin16s::@3 diff --git a/src/test/java/dk/camelot64/kickc/test/ref/sinusgen16b.log b/src/test/java/dk/camelot64/kickc/test/ref/sinusgen16b.log index e26e26dba..ecd11494b 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/sinusgen16b.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/sinusgen16b.log @@ -4718,8 +4718,6 @@ Succesful SSA optimization Pass2ConstantIdentification Constant (const word) div32u16u::divisor#0 = sin16s_gen::wavelength#0 Constant (const word) div32u16u::divisor#1 = sin16s_genb::wavelength#0 Succesful SSA optimization Pass2ConstantIdentification -Multiple usages for variable. Not optimizing sub-constant (signed word*) main::st1#2 -Multiple usages for variable. Not optimizing sub-constant (signed word*) main::st2#2 Fixing inline constructor with div32u16u::$4 ← div32u16u::quotient_hi#0 dw= div32u16u::quotient_lo#0 Succesful SSA optimization Pass2FixInlineConstructors Eliminating unused variable - keeping the phi block (word) rem16u#26 @@ -4895,8 +4893,6 @@ Not aliassing across scopes: print_char_cursor#46 print_char_cursor#43 Not aliassing across scopes: print_char::ch#3 print_char::ch#1 Not aliassing across scopes: print_char_cursor#33 print_char_cursor#46 Not aliassing across scopes: print_sword::w#1 main::sw#0 -Multiple usages for variable. Not optimizing sub-constant (signed word*) main::st1#2 -Multiple usages for variable. Not optimizing sub-constant (signed word*) main::st2#2 Not aliassing across scopes: divr16u::dividend#5 divr16u::dividend#1 Not aliassing across scopes: divr16u::divisor#6 divr16u::divisor#0 Not aliassing across scopes: rem16u#1 divr16u::rem#11 @@ -4971,8 +4967,6 @@ Not aliassing across scopes: print_char_cursor#46 print_char_cursor#43 Not aliassing across scopes: print_char::ch#3 print_char::ch#1 Not aliassing across scopes: print_char_cursor#33 print_char_cursor#46 Not aliassing across scopes: print_sword::w#1 main::sw#0 -Multiple usages for variable. Not optimizing sub-constant (signed word*) main::st1#2 -Multiple usages for variable. Not optimizing sub-constant (signed word*) main::st2#2 OPTIMIZING CONTROL FLOW GRAPH Inlining constant with var siblings (const word) divr16u::quotient#0 Inlining constant with var siblings (const word) divr16u::quotient#0 @@ -5145,6 +5139,31 @@ Constant inlined print_str::str#2 = (const string) main::str1 Constant inlined div32u16u::divisor#0 = (const word) main::wavelength#0 Constant inlined print_str::str#1 = (const string) main::str Succesful SSA optimization Pass2ConstantInlining +Identical Phi Values (dword) div32u16u::dividend#2 (const dword) PI2_u4f28#0 +Identical Phi Values (word) div32u16u::divisor#2 (const word) main::wavelength#0 +Succesful SSA optimization Pass2IdenticalPhiElimination +Constant (const word) divr16u::dividend#1 = >PI2_u4f28#0 +Constant (const word) divr16u::divisor#0 = main::wavelength#0 +Constant (const word) divr16u::dividend#2 = (const dword) PI2_u4f28#0 +Constant inlined divr16u::divisor#0 = (const word) main::wavelength#0 +Constant inlined divr16u::dividend#2 = <(const dword) PI2_u4f28#0 +Succesful SSA optimization Pass2ConstantInlining +Identical Phi Values (word) divr16u::divisor#6 (const word) main::wavelength#0 +Succesful SSA optimization Pass2IdenticalPhiElimination Block Sequence Planned @begin @35 @end main main::@5 main::@6 main::@1 main::@3 main::@2 main::@8 main::@9 main::@return print_str print_str::@1 print_str::@return print_str::@2 print_sword print_sword::@2 print_sword::@4 print_sword::@1 print_sword::@return print_word print_word::@1 print_word::@return print_byte print_byte::@1 print_byte::@return print_char print_char::@return print_cls print_cls::@1 print_cls::@return sin16s_genb sin16s_genb::@3 sin16s_genb::@1 sin16s_genb::@4 sin16s_genb::@return sin16sb sin16sb::@4 sin16sb::@1 sin16sb::@5 sin16sb::@2 sin16sb::@8 sin16sb::@9 sin16sb::@10 sin16sb::@11 sin16sb::@12 sin16sb::@6 sin16sb::@3 sin16sb::@return mulu16_sel mulu16_sel::@2 mulu16_sel::@return mul16u mul16u::@1 mul16u::@return mul16u::@2 mul16u::@7 mul16u::@4 div32u16u div32u16u::@2 div32u16u::@3 div32u16u::@return divr16u divr16u::@1 divr16u::@4 divr16u::@2 divr16u::@5 divr16u::@3 divr16u::@6 divr16u::@return sin16s_gen sin16s_gen::@3 sin16s_gen::@1 sin16s_gen::@4 sin16s_gen::@return sin16s sin16s::@4 sin16s::@1 sin16s::@5 sin16s::@2 sin16s::@8 sin16s::@9 sin16s::@10 sin16s::@11 sin16s::@12 sin16s::@6 sin16s::@3 sin16s::@return Added new block during phi lifting main::@11(between main::@9 and main::@1) Added new block during phi lifting main::@12(between main::@1 and main::@2) @@ -5173,6 +5192,7 @@ Adding NOP phi() at start of main::@5 Adding NOP phi() at start of main::@6 Adding NOP phi() at start of print_cls Adding NOP phi() at start of sin16s_genb +Adding NOP phi() at start of div32u16u Adding NOP phi() at start of sin16s_gen CALL GRAPH Calls in [] to main:2 @@ -5183,9 +5203,9 @@ Calls in [print_byte] to print_char:67 print_char:72 Calls in [sin16s_genb] to div32u16u:86 sin16sb:91 Calls in [sin16sb] to mulu16_sel:116 mulu16_sel:123 mulu16_sel:128 mulu16_sel:136 mulu16_sel:143 Calls in [mulu16_sel] to mul16u:159 -Calls in [div32u16u] to divr16u:187 divr16u:196 -Calls in [sin16s_gen] to div32u16u:232 sin16s:237 -Calls in [sin16s] to mulu16_sel:263 mulu16_sel:270 mulu16_sel:275 mulu16_sel:283 mulu16_sel:290 +Calls in [div32u16u] to divr16u:183 divr16u:188 +Calls in [sin16s_gen] to div32u16u:224 sin16s:229 +Calls in [sin16s] to mulu16_sel:255 mulu16_sel:262 mulu16_sel:267 mulu16_sel:275 mulu16_sel:282 Propagating live ranges... Propagating live ranges... @@ -5229,7 +5249,7 @@ Propagating live ranges... Propagating live ranges... Propagating live ranges... Propagating live ranges... -Created 49 initial phi equivalence classes +Created 46 initial phi equivalence classes Coalesced [13] print_char_cursor#60 ← print_char_cursor#49 Coalesced [15] print_char_cursor#59 ← print_char_cursor#2 Coalesced [19] print_char_cursor#61 ← print_char_cursor#12 @@ -5280,41 +5300,37 @@ Coalesced [178] mul16u::a#8 ← mul16u::a#0 Coalesced [179] mul16u::res#7 ← mul16u::res#6 Coalesced [180] mul16u::mb#7 ← mul16u::mb#1 Coalesced (already) [181] mul16u::res#8 ← mul16u::res#2 -Coalesced [185] divr16u::dividend#9 ← divr16u::dividend#1 -Coalesced [186] divr16u::divisor#8 ← divr16u::divisor#0 -Coalesced [193] divr16u::rem#12 ← divr16u::rem#4 -Coalesced [194] divr16u::dividend#10 ← divr16u::dividend#2 -Coalesced [195] divr16u::divisor#9 ← divr16u::divisor#1 -Coalesced [202] divr16u::rem#13 ← divr16u::rem#10 -Coalesced [203] divr16u::dividend#11 ← divr16u::dividend#5 -Coalesced [210] divr16u::rem#16 ← divr16u::rem#1 -Coalesced [217] divr16u::rem#18 ← divr16u::rem#2 -Coalesced [218] divr16u::return#8 ← divr16u::quotient#2 -Coalesced [224] divr16u::rem#14 ← divr16u::rem#11 -Coalesced [225] divr16u::dividend#12 ← divr16u::dividend#0 -Coalesced [226] divr16u::quotient#9 ← divr16u::return#0 -Coalesced [227] divr16u::i#7 ← divr16u::i#1 -Coalesced [228] divr16u::rem#17 ← divr16u::rem#6 -Coalesced [229] divr16u::return#7 ← divr16u::quotient#1 -Coalesced [230] divr16u::rem#15 ← divr16u::rem#0 -Coalesced [246] sin16s_gen::x#4 ← sin16s_gen::x#1 -Coalesced [247] sin16s_gen::sintab#6 ← sin16s_gen::sintab#0 -Coalesced [248] sin16s_gen::i#4 ← sin16s_gen::i#1 -Coalesced [251] sin16s::x#9 ← sin16s::x#1 -Coalesced [255] sin16s::x#11 ← sin16s::x#2 -Coalesced [261] mulu16_sel::v1#13 ← mulu16_sel::v1#0 -Coalesced [262] mulu16_sel::v2#13 ← mulu16_sel::v2#0 -Coalesced [268] mulu16_sel::v1#14 ← mulu16_sel::v1#1 -Coalesced [269] mulu16_sel::v2#14 ← mulu16_sel::v2#1 -Coalesced [274] mulu16_sel::v1#15 ← mulu16_sel::v1#2 -Coalesced [281] mulu16_sel::v1#11 ← mulu16_sel::v1#3 -Coalesced [282] mulu16_sel::v2#11 ← mulu16_sel::v2#3 -Coalesced [288] mulu16_sel::v1#12 ← mulu16_sel::v1#4 -Coalesced [289] mulu16_sel::v2#12 ← mulu16_sel::v2#4 -Coalesced [297] sin16s::return#6 ← sin16s::sinx#1 -Coalesced [301] sin16s::x#10 ← sin16s::x#4 -Coalesced [302] sin16s::x#8 ← sin16s::x#0 -Coalesced down to 34 phi equivalence classes +Coalesced [187] divr16u::rem#12 ← divr16u::rem#4 +Coalesced [194] divr16u::rem#13 ← divr16u::rem#10 +Coalesced [195] divr16u::dividend#9 ← divr16u::dividend#5 +Coalesced [202] divr16u::rem#16 ← divr16u::rem#1 +Coalesced [209] divr16u::rem#18 ← divr16u::rem#2 +Coalesced [210] divr16u::return#8 ← divr16u::quotient#2 +Coalesced [216] divr16u::rem#14 ← divr16u::rem#11 +Coalesced [217] divr16u::dividend#10 ← divr16u::dividend#0 +Coalesced [218] divr16u::quotient#9 ← divr16u::return#0 +Coalesced [219] divr16u::i#7 ← divr16u::i#1 +Coalesced [220] divr16u::rem#17 ← divr16u::rem#6 +Coalesced [221] divr16u::return#7 ← divr16u::quotient#1 +Coalesced [222] divr16u::rem#15 ← divr16u::rem#0 +Coalesced [238] sin16s_gen::x#4 ← sin16s_gen::x#1 +Coalesced [239] sin16s_gen::sintab#6 ← sin16s_gen::sintab#0 +Coalesced [240] sin16s_gen::i#4 ← sin16s_gen::i#1 +Coalesced [243] sin16s::x#9 ← sin16s::x#1 +Coalesced [247] sin16s::x#11 ← sin16s::x#2 +Coalesced [253] mulu16_sel::v1#13 ← mulu16_sel::v1#0 +Coalesced [254] mulu16_sel::v2#13 ← mulu16_sel::v2#0 +Coalesced [260] mulu16_sel::v1#14 ← mulu16_sel::v1#1 +Coalesced [261] mulu16_sel::v2#14 ← mulu16_sel::v2#1 +Coalesced [266] mulu16_sel::v1#15 ← mulu16_sel::v1#2 +Coalesced [273] mulu16_sel::v1#11 ← mulu16_sel::v1#3 +Coalesced [274] mulu16_sel::v2#11 ← mulu16_sel::v2#3 +Coalesced [280] mulu16_sel::v1#12 ← mulu16_sel::v1#4 +Coalesced [281] mulu16_sel::v2#12 ← mulu16_sel::v2#4 +Coalesced [289] sin16s::return#6 ← sin16s::sinx#1 +Coalesced [293] sin16s::x#10 ← sin16s::x#4 +Coalesced [294] sin16s::x#8 ← sin16s::x#0 +Coalesced down to 31 phi equivalence classes Culled Empty Block (label) main::@11 Culled Empty Block (label) main::@12 Culled Empty Block (label) print_sword::@5 @@ -5341,6 +5357,7 @@ Adding NOP phi() at start of main::@8 Adding NOP phi() at start of print_sword::@2 Adding NOP phi() at start of print_cls Adding NOP phi() at start of sin16s_genb +Adding NOP phi() at start of div32u16u Adding NOP phi() at start of sin16s_gen Propagating live ranges... Propagating live ranges... @@ -5606,204 +5623,198 @@ sin16sb::@15: scope:[sin16sb] from sin16sb::@12 [115] (signed word~) sin16sb::return#5 ← (signed word)(word) sin16sb::usinx#1 [ sin16sb::return#5 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#5 ] ) to:sin16sb::@3 mulu16_sel: scope:[mulu16_sel] from sin16s::@10 sin16s::@11 sin16s::@2 sin16s::@8 sin16s::@9 sin16sb::@10 sin16sb::@11 sin16sb::@2 sin16sb::@8 sin16sb::@9 - [116] (byte) mulu16_sel::select#10 ← phi( sin16s::@10/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s::@11/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s::@2/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s::@8/(byte/signed byte/word/signed word/dword/signed dword) 1 sin16s::@9/(byte/signed byte/word/signed word/dword/signed dword) 1 sin16sb::@10/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16sb::@11/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16sb::@2/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16sb::@8/(byte/signed byte/word/signed word/dword/signed dword) 1 sin16sb::@9/(byte/signed byte/word/signed word/dword/signed dword) 1 ) [ mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] ) - [116] (word) mulu16_sel::v2#10 ← phi( sin16s::@10/(word) mulu16_sel::v2#3 sin16s::@11/(word) mulu16_sel::v2#4 sin16s::@2/(word) mulu16_sel::v2#0 sin16s::@8/(word) mulu16_sel::v2#1 sin16s::@9/(dword/signed dword) 65536/(byte/signed byte/word/signed word/dword/signed dword) 6 sin16sb::@10/(word) mulu16_sel::v2#8 sin16sb::@11/(word) mulu16_sel::v2#9 sin16sb::@2/(word) mulu16_sel::v2#5 sin16sb::@8/(word) mulu16_sel::v2#6 sin16sb::@9/(dword/signed dword) 65536/(byte/signed byte/word/signed word/dword/signed dword) 6 ) [ mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] ) - [116] (word) mulu16_sel::v1#10 ← phi( sin16s::@10/(word) mulu16_sel::v1#3 sin16s::@11/(word) mulu16_sel::v1#4 sin16s::@2/(word) mulu16_sel::v1#0 sin16s::@8/(word) mulu16_sel::v1#1 sin16s::@9/(word) mulu16_sel::v1#2 sin16sb::@10/(word) mulu16_sel::v1#8 sin16sb::@11/(word) mulu16_sel::v1#9 sin16sb::@2/(word) mulu16_sel::v1#5 sin16sb::@8/(word) mulu16_sel::v1#6 sin16sb::@9/(word) mulu16_sel::v1#7 ) [ mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] ) - [117] (word) mul16u::a#1 ← (word) mulu16_sel::v1#10 [ mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] ) - [118] (word) mul16u::b#0 ← (word) mulu16_sel::v2#10 [ mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] ) - [119] call mul16u param-assignment [ mulu16_sel::select#10 mul16u::res#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] ) - [120] (dword) mul16u::return#2 ← (dword) mul16u::res#2 [ mulu16_sel::select#10 mul16u::return#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] ) + [116] (byte) mulu16_sel::select#10 ← phi( sin16s::@10/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s::@11/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s::@2/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s::@8/(byte/signed byte/word/signed word/dword/signed dword) 1 sin16s::@9/(byte/signed byte/word/signed word/dword/signed dword) 1 sin16sb::@10/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16sb::@11/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16sb::@2/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16sb::@8/(byte/signed byte/word/signed word/dword/signed dword) 1 sin16sb::@9/(byte/signed byte/word/signed word/dword/signed dword) 1 ) [ mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] ) + [116] (word) mulu16_sel::v2#10 ← phi( sin16s::@10/(word) mulu16_sel::v2#3 sin16s::@11/(word) mulu16_sel::v2#4 sin16s::@2/(word) mulu16_sel::v2#0 sin16s::@8/(word) mulu16_sel::v2#1 sin16s::@9/(dword/signed dword) 65536/(byte/signed byte/word/signed word/dword/signed dword) 6 sin16sb::@10/(word) mulu16_sel::v2#8 sin16sb::@11/(word) mulu16_sel::v2#9 sin16sb::@2/(word) mulu16_sel::v2#5 sin16sb::@8/(word) mulu16_sel::v2#6 sin16sb::@9/(dword/signed dword) 65536/(byte/signed byte/word/signed word/dword/signed dword) 6 ) [ mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] ) + [116] (word) mulu16_sel::v1#10 ← phi( sin16s::@10/(word) mulu16_sel::v1#3 sin16s::@11/(word) mulu16_sel::v1#4 sin16s::@2/(word) mulu16_sel::v1#0 sin16s::@8/(word) mulu16_sel::v1#1 sin16s::@9/(word) mulu16_sel::v1#2 sin16sb::@10/(word) mulu16_sel::v1#8 sin16sb::@11/(word) mulu16_sel::v1#9 sin16sb::@2/(word) mulu16_sel::v1#5 sin16sb::@8/(word) mulu16_sel::v1#6 sin16sb::@9/(word) mulu16_sel::v1#7 ) [ mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] ) + [117] (word) mul16u::a#1 ← (word) mulu16_sel::v1#10 [ mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] ) + [118] (word) mul16u::b#0 ← (word) mulu16_sel::v2#10 [ mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] ) + [119] call mul16u param-assignment [ mulu16_sel::select#10 mul16u::res#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] ) + [120] (dword) mul16u::return#2 ← (dword) mul16u::res#2 [ mulu16_sel::select#10 mul16u::return#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] ) to:mulu16_sel::@2 mulu16_sel::@2: scope:[mulu16_sel] from mulu16_sel - [121] (dword~) mulu16_sel::$0 ← (dword) mul16u::return#2 [ mulu16_sel::select#10 mulu16_sel::$0 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] ) - [122] (dword~) mulu16_sel::$1 ← (dword~) mulu16_sel::$0 << (byte) mulu16_sel::select#10 [ mulu16_sel::$1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::$1 ] ) - [123] (word) mulu16_sel::return#17 ← > (dword~) mulu16_sel::$1 [ mulu16_sel::return#17 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#17 ] ) + [121] (dword~) mulu16_sel::$0 ← (dword) mul16u::return#2 [ mulu16_sel::select#10 mulu16_sel::$0 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] ) + [122] (dword~) mulu16_sel::$1 ← (dword~) mulu16_sel::$0 << (byte) mulu16_sel::select#10 [ mulu16_sel::$1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::$1 ] ) + [123] (word) mulu16_sel::return#17 ← > (dword~) mulu16_sel::$1 [ mulu16_sel::return#17 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#17 ] ) to:mulu16_sel::@return mulu16_sel::@return: scope:[mulu16_sel] from mulu16_sel::@2 - [124] return [ mulu16_sel::return#17 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#17 ] ) + [124] return [ mulu16_sel::return#17 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#17 ] ) to:@return mul16u: scope:[mul16u] from mulu16_sel - [125] (dword) mul16u::mb#0 ← ((dword)) (word) mul16u::b#0 [ mul16u::a#1 mul16u::mb#0 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] ) + [125] (dword) mul16u::mb#0 ← ((dword)) (word) mul16u::b#0 [ mul16u::a#1 mul16u::mb#0 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] ) to:mul16u::@1 mul16u::@1: scope:[mul16u] from mul16u mul16u::@4 - [126] (dword) mul16u::mb#2 ← phi( mul16u/(dword) mul16u::mb#0 mul16u::@4/(dword) mul16u::mb#1 ) [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ) - [126] (dword) mul16u::res#2 ← phi( mul16u/(byte/signed byte/word/signed word/dword/signed dword) 0 mul16u::@4/(dword) mul16u::res#6 ) [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ) - [126] (word) mul16u::a#2 ← phi( mul16u/(word) mul16u::a#1 mul16u::@4/(word) mul16u::a#0 ) [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ) - [127] if((word) mul16u::a#2!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul16u::@2 [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ) + [126] (dword) mul16u::mb#2 ← phi( mul16u/(dword) mul16u::mb#0 mul16u::@4/(dword) mul16u::mb#1 ) [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ) + [126] (dword) mul16u::res#2 ← phi( mul16u/(byte/signed byte/word/signed word/dword/signed dword) 0 mul16u::@4/(dword) mul16u::res#6 ) [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ) + [126] (word) mul16u::a#2 ← phi( mul16u/(word) mul16u::a#1 mul16u::@4/(word) mul16u::a#0 ) [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ) + [127] if((word) mul16u::a#2!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul16u::@2 [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ) to:mul16u::@return mul16u::@return: scope:[mul16u] from mul16u::@1 - [128] return [ mul16u::res#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] ) + [128] return [ mul16u::res#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] ) to:@return mul16u::@2: scope:[mul16u] from mul16u::@1 - [129] (byte/word~) mul16u::$1 ← (word) mul16u::a#2 & (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] ) - [130] if((byte/word~) mul16u::$1==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul16u::@4 [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ) + [129] (byte/word~) mul16u::$1 ← (word) mul16u::a#2 & (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] ) + [130] if((byte/word~) mul16u::$1==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul16u::@4 [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ) to:mul16u::@7 mul16u::@7: scope:[mul16u] from mul16u::@2 - [131] (dword) mul16u::res#1 ← (dword) mul16u::res#2 + (dword) mul16u::mb#2 [ mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] ) + [131] (dword) mul16u::res#1 ← (dword) mul16u::res#2 + (dword) mul16u::mb#2 [ mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] ) to:mul16u::@4 mul16u::@4: scope:[mul16u] from mul16u::@2 mul16u::@7 - [132] (dword) mul16u::res#6 ← phi( mul16u::@2/(dword) mul16u::res#2 mul16u::@7/(dword) mul16u::res#1 ) [ mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] ) - [133] (word) mul16u::a#0 ← (word) mul16u::a#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] ) - [134] (dword) mul16u::mb#1 ← (dword) mul16u::mb#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] ) + [132] (dword) mul16u::res#6 ← phi( mul16u::@2/(dword) mul16u::res#2 mul16u::@7/(dword) mul16u::res#1 ) [ mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] ) + [133] (word) mul16u::a#0 ← (word) mul16u::a#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] ) + [134] (dword) mul16u::mb#1 ← (dword) mul16u::mb#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] ) to:mul16u::@1 div32u16u: scope:[div32u16u] from sin16s_gen sin16s_genb - [135] (word) div32u16u::divisor#2 ← phi( sin16s_gen/(const word) main::wavelength#0 sin16s_genb/(const word) main::wavelength#0 ) [ div32u16u::dividend#2 div32u16u::divisor#2 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::dividend#2 div32u16u::divisor#2 ] ) - [135] (dword) div32u16u::dividend#2 ← phi( sin16s_gen/(const dword) PI2_u4f28#0 sin16s_genb/(const dword) PI2_u4f28#0 ) [ div32u16u::dividend#2 div32u16u::divisor#2 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::dividend#2 div32u16u::divisor#2 ] ) - [136] (word) divr16u::dividend#1 ← > (dword) div32u16u::dividend#2 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 ] ) - [137] (word) divr16u::divisor#0 ← (word) div32u16u::divisor#2 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 divr16u::divisor#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 divr16u::divisor#0 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 divr16u::divisor#0 ] ) - [138] call divr16u param-assignment [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#0 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#0 rem16u#1 ] ) - [139] (word) divr16u::return#2 ← (word) divr16u::return#0 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#2 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#2 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#2 rem16u#1 ] ) + [135] phi() [ ] ( main:2::sin16s_genb:7::div32u16u:63 [ ] main:2::sin16s_gen:5::div32u16u:164 [ ] ) + [136] call divr16u param-assignment [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:164 [ divr16u::return#0 rem16u#1 ] ) + [137] (word) divr16u::return#2 ← (word) divr16u::return#0 [ divr16u::return#2 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ divr16u::return#2 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:164 [ divr16u::return#2 rem16u#1 ] ) to:div32u16u::@2 div32u16u::@2: scope:[div32u16u] from div32u16u - [140] (word) div32u16u::quotient_hi#0 ← (word) divr16u::return#2 [ div32u16u::dividend#2 div32u16u::divisor#2 div32u16u::quotient_hi#0 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 div32u16u::quotient_hi#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::dividend#2 div32u16u::divisor#2 div32u16u::quotient_hi#0 rem16u#1 ] ) - [141] (word) divr16u::dividend#2 ← < (dword) div32u16u::dividend#2 [ div32u16u::divisor#2 div32u16u::quotient_hi#0 divr16u::dividend#2 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::divisor#2 div32u16u::quotient_hi#0 divr16u::dividend#2 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::divisor#2 div32u16u::quotient_hi#0 divr16u::dividend#2 rem16u#1 ] ) - [142] (word) divr16u::divisor#1 ← (word) div32u16u::divisor#2 [ div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 rem16u#1 ] ) - [143] (word) divr16u::rem#4 ← (word) rem16u#1 [ div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 divr16u::rem#4 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 divr16u::rem#4 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 divr16u::rem#4 ] ) - [144] call divr16u param-assignment [ divr16u::return#0 div32u16u::quotient_hi#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ divr16u::return#0 div32u16u::quotient_hi#0 ] main:2::sin16s_gen:5::div32u16u:168 [ divr16u::return#0 div32u16u::quotient_hi#0 ] ) - [145] (word) divr16u::return#3 ← (word) divr16u::return#0 [ div32u16u::quotient_hi#0 divr16u::return#3 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::quotient_hi#0 divr16u::return#3 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::quotient_hi#0 divr16u::return#3 ] ) + [138] (word) div32u16u::quotient_hi#0 ← (word) divr16u::return#2 [ div32u16u::quotient_hi#0 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::quotient_hi#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:164 [ div32u16u::quotient_hi#0 rem16u#1 ] ) + [139] (word) divr16u::rem#4 ← (word) rem16u#1 [ div32u16u::quotient_hi#0 divr16u::rem#4 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::quotient_hi#0 divr16u::rem#4 ] main:2::sin16s_gen:5::div32u16u:164 [ div32u16u::quotient_hi#0 divr16u::rem#4 ] ) + [140] call divr16u param-assignment [ divr16u::return#0 div32u16u::quotient_hi#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ divr16u::return#0 div32u16u::quotient_hi#0 ] main:2::sin16s_gen:5::div32u16u:164 [ divr16u::return#0 div32u16u::quotient_hi#0 ] ) + [141] (word) divr16u::return#3 ← (word) divr16u::return#0 [ div32u16u::quotient_hi#0 divr16u::return#3 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::quotient_hi#0 divr16u::return#3 ] main:2::sin16s_gen:5::div32u16u:164 [ div32u16u::quotient_hi#0 divr16u::return#3 ] ) to:div32u16u::@3 div32u16u::@3: scope:[div32u16u] from div32u16u::@2 - [146] (word) div32u16u::quotient_lo#0 ← (word) divr16u::return#3 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ) - [147] (dword) div32u16u::return#0 ← (word) div32u16u::quotient_hi#0 dw= (word) div32u16u::quotient_lo#0 [ div32u16u::return#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::return#0 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::return#0 ] ) + [142] (word) div32u16u::quotient_lo#0 ← (word) divr16u::return#3 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] main:2::sin16s_gen:5::div32u16u:164 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ) + [143] (dword) div32u16u::return#0 ← (word) div32u16u::quotient_hi#0 dw= (word) div32u16u::quotient_lo#0 [ div32u16u::return#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::return#0 ] main:2::sin16s_gen:5::div32u16u:164 [ div32u16u::return#0 ] ) to:div32u16u::@return div32u16u::@return: scope:[div32u16u] from div32u16u::@3 - [148] return [ div32u16u::return#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::return#0 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::return#0 ] ) + [144] return [ div32u16u::return#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::return#0 ] main:2::sin16s_gen:5::div32u16u:164 [ div32u16u::return#0 ] ) to:@return divr16u: scope:[divr16u] from div32u16u div32u16u::@2 - [149] (word) divr16u::divisor#6 ← phi( div32u16u/(word) divr16u::divisor#0 div32u16u::@2/(word) divr16u::divisor#1 ) [ divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ) - [149] (word) divr16u::dividend#5 ← phi( div32u16u/(word) divr16u::dividend#1 div32u16u::@2/(word) divr16u::dividend#2 ) [ divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ) - [149] (word) divr16u::rem#10 ← phi( div32u16u/(byte/signed byte/word/signed word/dword/signed dword) 0 div32u16u::@2/(word) divr16u::rem#4 ) [ divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ) + [145] (word) divr16u::dividend#5 ← phi( div32u16u/>(const dword) PI2_u4f28#0 div32u16u::@2/<(const dword) PI2_u4f28#0 ) [ divr16u::rem#10 divr16u::dividend#5 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::rem#10 divr16u::dividend#5 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::rem#10 divr16u::dividend#5 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::rem#10 divr16u::dividend#5 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::rem#10 divr16u::dividend#5 ] ) + [145] (word) divr16u::rem#10 ← phi( div32u16u/(byte/signed byte/word/signed word/dword/signed dword) 0 div32u16u::@2/(word) divr16u::rem#4 ) [ divr16u::rem#10 divr16u::dividend#5 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::rem#10 divr16u::dividend#5 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::rem#10 divr16u::dividend#5 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::rem#10 divr16u::dividend#5 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::rem#10 divr16u::dividend#5 ] ) to:divr16u::@1 divr16u::@1: scope:[divr16u] from divr16u divr16u::@3 - [150] (byte) divr16u::i#2 ← phi( divr16u/(byte/signed byte/word/signed word/dword/signed dword) 0 divr16u::@3/(byte) divr16u::i#1 ) [ divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ) - [150] (word) divr16u::quotient#3 ← phi( divr16u/(byte/signed byte/word/signed word/dword/signed dword) 0 divr16u::@3/(word) divr16u::return#0 ) [ divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ) - [150] (word) divr16u::dividend#3 ← phi( divr16u/(word) divr16u::dividend#5 divr16u::@3/(word) divr16u::dividend#0 ) [ divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ) - [150] (word) divr16u::rem#5 ← phi( divr16u/(word) divr16u::rem#10 divr16u::@3/(word) divr16u::rem#11 ) [ divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ) - [151] (word) divr16u::rem#0 ← (word) divr16u::rem#5 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) - [152] (byte~) divr16u::$1 ← > (word) divr16u::dividend#3 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) - [153] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) - [154] if((byte~) divr16u::$2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto divr16u::@2 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) + [146] (byte) divr16u::i#2 ← phi( divr16u/(byte/signed byte/word/signed word/dword/signed dword) 0 divr16u::@3/(byte) divr16u::i#1 ) [ divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ) + [146] (word) divr16u::quotient#3 ← phi( divr16u/(byte/signed byte/word/signed word/dword/signed dword) 0 divr16u::@3/(word) divr16u::return#0 ) [ divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ) + [146] (word) divr16u::dividend#3 ← phi( divr16u/(word) divr16u::dividend#5 divr16u::@3/(word) divr16u::dividend#0 ) [ divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ) + [146] (word) divr16u::rem#5 ← phi( divr16u/(word) divr16u::rem#10 divr16u::@3/(word) divr16u::rem#11 ) [ divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ) + [147] (word) divr16u::rem#0 ← (word) divr16u::rem#5 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) + [148] (byte~) divr16u::$1 ← > (word) divr16u::dividend#3 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) + [149] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) + [150] if((byte~) divr16u::$2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto divr16u::@2 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) to:divr16u::@4 divr16u::@4: scope:[divr16u] from divr16u::@1 - [155] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) + [151] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) to:divr16u::@2 divr16u::@2: scope:[divr16u] from divr16u::@1 divr16u::@4 - [156] (word) divr16u::rem#6 ← phi( divr16u::@1/(word) divr16u::rem#0 divr16u::@4/(word) divr16u::rem#1 ) [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] ) - [157] (word) divr16u::dividend#0 ← (word) divr16u::dividend#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ) - [158] (word) divr16u::quotient#1 ← (word) divr16u::quotient#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) - [159] if((word) divr16u::rem#6<(word) divr16u::divisor#6) goto divr16u::@3 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) + [152] (word) divr16u::rem#6 ← phi( divr16u::@1/(word) divr16u::rem#0 divr16u::@4/(word) divr16u::rem#1 ) [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] ) + [153] (word) divr16u::dividend#0 ← (word) divr16u::dividend#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ) + [154] (word) divr16u::quotient#1 ← (word) divr16u::quotient#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) + [155] if((word) divr16u::rem#6<(const word) main::wavelength#0) goto divr16u::@3 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) to:divr16u::@5 divr16u::@5: scope:[divr16u] from divr16u::@2 - [160] (word) divr16u::quotient#2 ← ++ (word) divr16u::quotient#1 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] ) - [161] (word) divr16u::rem#2 ← (word) divr16u::rem#6 - (word) divr16u::divisor#6 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ) + [156] (word) divr16u::quotient#2 ← ++ (word) divr16u::quotient#1 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] ) + [157] (word) divr16u::rem#2 ← (word) divr16u::rem#6 - (const word) main::wavelength#0 [ divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ) to:divr16u::@3 divr16u::@3: scope:[divr16u] from divr16u::@2 divr16u::@5 - [162] (word) divr16u::return#0 ← phi( divr16u::@2/(word) divr16u::quotient#1 divr16u::@5/(word) divr16u::quotient#2 ) [ divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] ) - [162] (word) divr16u::rem#11 ← phi( divr16u::@2/(word) divr16u::rem#6 divr16u::@5/(word) divr16u::rem#2 ) [ divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] ) - [163] (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2 [ divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ) - [164] if((byte) divr16u::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto divr16u::@1 [ divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ) + [158] (word) divr16u::return#0 ← phi( divr16u::@2/(word) divr16u::quotient#1 divr16u::@5/(word) divr16u::quotient#2 ) [ divr16u::return#0 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::return#0 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::return#0 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] ) + [158] (word) divr16u::rem#11 ← phi( divr16u::@2/(word) divr16u::rem#6 divr16u::@5/(word) divr16u::rem#2 ) [ divr16u::return#0 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::return#0 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::return#0 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] ) + [159] (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2 [ divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ) + [160] if((byte) divr16u::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto divr16u::@1 [ divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ) to:divr16u::@6 divr16u::@6: scope:[divr16u] from divr16u::@3 - [165] (word) rem16u#1 ← (word) divr16u::rem#11 [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#0 rem16u#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] ) + [161] (word) rem16u#1 ← (word) divr16u::rem#11 [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::return#0 rem16u#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] ) to:divr16u::@return divr16u::@return: scope:[divr16u] from divr16u::@6 - [166] return [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#0 rem16u#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] ) + [162] return [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::return#0 rem16u#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] ) to:@return sin16s_gen: scope:[sin16s_gen] from main - [167] phi() [ ] ( main:2::sin16s_gen:5 [ ] ) - [168] call div32u16u param-assignment [ div32u16u::return#0 ] ( main:2::sin16s_gen:5 [ div32u16u::return#0 ] ) - [169] (dword) div32u16u::return#2 ← (dword) div32u16u::return#0 [ div32u16u::return#2 ] ( main:2::sin16s_gen:5 [ div32u16u::return#2 ] ) + [163] phi() [ ] ( main:2::sin16s_gen:5 [ ] ) + [164] call div32u16u param-assignment [ div32u16u::return#0 ] ( main:2::sin16s_gen:5 [ div32u16u::return#0 ] ) + [165] (dword) div32u16u::return#2 ← (dword) div32u16u::return#0 [ div32u16u::return#2 ] ( main:2::sin16s_gen:5 [ div32u16u::return#2 ] ) to:sin16s_gen::@3 sin16s_gen::@3: scope:[sin16s_gen] from sin16s_gen - [170] (dword) sin16s_gen::step#0 ← (dword) div32u16u::return#2 [ sin16s_gen::step#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 ] ) + [166] (dword) sin16s_gen::step#0 ← (dword) div32u16u::return#2 [ sin16s_gen::step#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 ] ) to:sin16s_gen::@1 sin16s_gen::@1: scope:[sin16s_gen] from sin16s_gen::@3 sin16s_gen::@4 - [171] (word) sin16s_gen::i#2 ← phi( sin16s_gen::@3/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s_gen::@4/(word) sin16s_gen::i#1 ) [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ) - [171] (signed word*) sin16s_gen::sintab#2 ← phi( sin16s_gen::@3/(const signed word[120]) main::sintab1#0 sin16s_gen::@4/(signed word*) sin16s_gen::sintab#0 ) [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ) - [171] (dword) sin16s_gen::x#2 ← phi( sin16s_gen::@3/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s_gen::@4/(dword) sin16s_gen::x#1 ) [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ) - [172] (dword) sin16s::x#0 ← (dword) sin16s_gen::x#2 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#0 ] ) - [173] call sin16s param-assignment [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#1 ] ) - [174] (signed word) sin16s::return#0 ← (signed word) sin16s::return#1 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#0 ] ) + [167] (word) sin16s_gen::i#2 ← phi( sin16s_gen::@3/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s_gen::@4/(word) sin16s_gen::i#1 ) [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ) + [167] (signed word*) sin16s_gen::sintab#2 ← phi( sin16s_gen::@3/(const signed word[120]) main::sintab1#0 sin16s_gen::@4/(signed word*) sin16s_gen::sintab#0 ) [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ) + [167] (dword) sin16s_gen::x#2 ← phi( sin16s_gen::@3/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s_gen::@4/(dword) sin16s_gen::x#1 ) [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ) + [168] (dword) sin16s::x#0 ← (dword) sin16s_gen::x#2 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#0 ] ) + [169] call sin16s param-assignment [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#1 ] ) + [170] (signed word) sin16s::return#0 ← (signed word) sin16s::return#1 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#0 ] ) to:sin16s_gen::@4 sin16s_gen::@4: scope:[sin16s_gen] from sin16s_gen::@1 - [175] (signed word~) sin16s_gen::$1 ← (signed word) sin16s::return#0 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s_gen::$1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s_gen::$1 ] ) - [176] *((signed word*) sin16s_gen::sintab#2) ← (signed word~) sin16s_gen::$1 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ) - [177] (signed word*) sin16s_gen::sintab#0 ← (signed word*) sin16s_gen::sintab#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::i#2 sin16s_gen::sintab#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::i#2 sin16s_gen::sintab#0 ] ) - [178] (dword) sin16s_gen::x#1 ← (dword) sin16s_gen::x#2 + (dword) sin16s_gen::step#0 [ sin16s_gen::step#0 sin16s_gen::i#2 sin16s_gen::x#1 sin16s_gen::sintab#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::i#2 sin16s_gen::x#1 sin16s_gen::sintab#0 ] ) - [179] (word) sin16s_gen::i#1 ← ++ (word) sin16s_gen::i#2 [ sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ) - [180] if((word) sin16s_gen::i#1<(const word) main::wavelength#0) goto sin16s_gen::@1 [ sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ) + [171] (signed word~) sin16s_gen::$1 ← (signed word) sin16s::return#0 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s_gen::$1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s_gen::$1 ] ) + [172] *((signed word*) sin16s_gen::sintab#2) ← (signed word~) sin16s_gen::$1 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ) + [173] (signed word*) sin16s_gen::sintab#0 ← (signed word*) sin16s_gen::sintab#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::i#2 sin16s_gen::sintab#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::i#2 sin16s_gen::sintab#0 ] ) + [174] (dword) sin16s_gen::x#1 ← (dword) sin16s_gen::x#2 + (dword) sin16s_gen::step#0 [ sin16s_gen::step#0 sin16s_gen::i#2 sin16s_gen::x#1 sin16s_gen::sintab#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::i#2 sin16s_gen::x#1 sin16s_gen::sintab#0 ] ) + [175] (word) sin16s_gen::i#1 ← ++ (word) sin16s_gen::i#2 [ sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ) + [176] if((word) sin16s_gen::i#1<(const word) main::wavelength#0) goto sin16s_gen::@1 [ sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ) to:sin16s_gen::@return sin16s_gen::@return: scope:[sin16s_gen] from sin16s_gen::@4 - [181] return [ ] ( main:2::sin16s_gen:5 [ ] ) + [177] return [ ] ( main:2::sin16s_gen:5 [ ] ) to:@return sin16s: scope:[sin16s] from sin16s_gen::@1 - [182] if((dword) sin16s::x#0<(const dword) PI_u4f28#0) goto sin16s::@1 [ sin16s::x#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#0 ] ) + [178] if((dword) sin16s::x#0<(const dword) PI_u4f28#0) goto sin16s::@1 [ sin16s::x#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#0 ] ) to:sin16s::@4 sin16s::@4: scope:[sin16s] from sin16s - [183] (dword) sin16s::x#1 ← (dword) sin16s::x#0 - (const dword) PI_u4f28#0 [ sin16s::x#1 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#1 ] ) + [179] (dword) sin16s::x#1 ← (dword) sin16s::x#0 - (const dword) PI_u4f28#0 [ sin16s::x#1 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#1 ] ) to:sin16s::@1 sin16s::@1: scope:[sin16s] from sin16s sin16s::@4 - [184] (byte) sin16s::isUpper#2 ← phi( sin16s/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s::@4/(byte/signed byte/word/signed word/dword/signed dword) 1 ) [ sin16s::x#4 sin16s::isUpper#2 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#4 sin16s::isUpper#2 ] ) - [184] (dword) sin16s::x#4 ← phi( sin16s/(dword) sin16s::x#0 sin16s::@4/(dword) sin16s::x#1 ) [ sin16s::x#4 sin16s::isUpper#2 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#4 sin16s::isUpper#2 ] ) - [185] if((dword) sin16s::x#4<(const dword) PI_HALF_u4f28#0) goto sin16s::@2 [ sin16s::x#4 sin16s::isUpper#2 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#4 sin16s::isUpper#2 ] ) + [180] (byte) sin16s::isUpper#2 ← phi( sin16s/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s::@4/(byte/signed byte/word/signed word/dword/signed dword) 1 ) [ sin16s::x#4 sin16s::isUpper#2 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#4 sin16s::isUpper#2 ] ) + [180] (dword) sin16s::x#4 ← phi( sin16s/(dword) sin16s::x#0 sin16s::@4/(dword) sin16s::x#1 ) [ sin16s::x#4 sin16s::isUpper#2 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#4 sin16s::isUpper#2 ] ) + [181] if((dword) sin16s::x#4<(const dword) PI_HALF_u4f28#0) goto sin16s::@2 [ sin16s::x#4 sin16s::isUpper#2 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#4 sin16s::isUpper#2 ] ) to:sin16s::@5 sin16s::@5: scope:[sin16s] from sin16s::@1 - [186] (dword) sin16s::x#2 ← (const dword) PI_u4f28#0 - (dword) sin16s::x#4 [ sin16s::isUpper#2 sin16s::x#2 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x#2 ] ) + [182] (dword) sin16s::x#2 ← (const dword) PI_u4f28#0 - (dword) sin16s::x#4 [ sin16s::isUpper#2 sin16s::x#2 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x#2 ] ) to:sin16s::@2 sin16s::@2: scope:[sin16s] from sin16s::@1 sin16s::@5 - [187] (dword) sin16s::x#6 ← phi( sin16s::@1/(dword) sin16s::x#4 sin16s::@5/(dword) sin16s::x#2 ) [ sin16s::isUpper#2 sin16s::x#6 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x#6 ] ) - [188] (dword~) sin16s::$6 ← (dword) sin16s::x#6 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ sin16s::isUpper#2 sin16s::$6 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::$6 ] ) - [189] (word) sin16s::x1#0 ← > (dword~) sin16s::$6 [ sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 ] ) - [190] (word) mulu16_sel::v1#0 ← (word) sin16s::x1#0 [ mulu16_sel::v1#0 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#0 sin16s::isUpper#2 sin16s::x1#0 ] ) - [191] (word) mulu16_sel::v2#0 ← (word) sin16s::x1#0 [ mulu16_sel::v1#0 mulu16_sel::v2#0 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#0 mulu16_sel::v2#0 sin16s::isUpper#2 sin16s::x1#0 ] ) - [192] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 ] ) - [193] (word) mulu16_sel::return#0 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#0 ] ) + [183] (dword) sin16s::x#6 ← phi( sin16s::@1/(dword) sin16s::x#4 sin16s::@5/(dword) sin16s::x#2 ) [ sin16s::isUpper#2 sin16s::x#6 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x#6 ] ) + [184] (dword~) sin16s::$6 ← (dword) sin16s::x#6 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ sin16s::isUpper#2 sin16s::$6 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::$6 ] ) + [185] (word) sin16s::x1#0 ← > (dword~) sin16s::$6 [ sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 ] ) + [186] (word) mulu16_sel::v1#0 ← (word) sin16s::x1#0 [ mulu16_sel::v1#0 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#0 sin16s::isUpper#2 sin16s::x1#0 ] ) + [187] (word) mulu16_sel::v2#0 ← (word) sin16s::x1#0 [ mulu16_sel::v1#0 mulu16_sel::v2#0 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#0 mulu16_sel::v2#0 sin16s::isUpper#2 sin16s::x1#0 ] ) + [188] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 ] ) + [189] (word) mulu16_sel::return#0 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#0 ] ) to:sin16s::@8 sin16s::@8: scope:[sin16s] from sin16s::@2 - [194] (word) sin16s::x2#0 ← (word) mulu16_sel::return#0 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x2#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x2#0 ] ) - [195] (word) mulu16_sel::v1#1 ← (word) sin16s::x2#0 [ mulu16_sel::v1#1 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#1 sin16s::isUpper#2 sin16s::x1#0 ] ) - [196] (word) mulu16_sel::v2#1 ← (word) sin16s::x1#0 [ mulu16_sel::v1#1 mulu16_sel::v2#1 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#1 mulu16_sel::v2#1 sin16s::isUpper#2 sin16s::x1#0 ] ) - [197] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 ] ) - [198] (word) mulu16_sel::return#1 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#1 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#1 ] ) + [190] (word) sin16s::x2#0 ← (word) mulu16_sel::return#0 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x2#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x2#0 ] ) + [191] (word) mulu16_sel::v1#1 ← (word) sin16s::x2#0 [ mulu16_sel::v1#1 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#1 sin16s::isUpper#2 sin16s::x1#0 ] ) + [192] (word) mulu16_sel::v2#1 ← (word) sin16s::x1#0 [ mulu16_sel::v1#1 mulu16_sel::v2#1 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#1 mulu16_sel::v2#1 sin16s::isUpper#2 sin16s::x1#0 ] ) + [193] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 ] ) + [194] (word) mulu16_sel::return#1 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#1 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#1 ] ) to:sin16s::@9 sin16s::@9: scope:[sin16s] from sin16s::@8 - [199] (word) sin16s::x3#0 ← (word) mulu16_sel::return#1 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ) - [200] (word) mulu16_sel::v1#2 ← (word) sin16s::x3#0 [ mulu16_sel::v1#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ) - [201] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ) - [202] (word) mulu16_sel::return#14 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#14 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#14 ] ) + [195] (word) sin16s::x3#0 ← (word) mulu16_sel::return#1 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ) + [196] (word) mulu16_sel::v1#2 ← (word) sin16s::x3#0 [ mulu16_sel::v1#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ) + [197] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ) + [198] (word) mulu16_sel::return#14 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#14 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#14 ] ) to:sin16s::@10 sin16s::@10: scope:[sin16s] from sin16s::@9 - [203] (word) sin16s::x3_6#0 ← (word) mulu16_sel::return#14 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::x3_6#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::x3_6#0 ] ) - [204] (word) sin16s::usinx#0 ← (word) sin16s::x1#0 - (word) sin16s::x3_6#0 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::usinx#0 ] ) - [205] (word) mulu16_sel::v1#3 ← (word) sin16s::x3#0 [ mulu16_sel::v1#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) - [206] (word) mulu16_sel::v2#3 ← (word) sin16s::x1#0 [ mulu16_sel::v1#3 mulu16_sel::v2#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#3 mulu16_sel::v2#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) - [207] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) - [208] (word) mulu16_sel::return#15 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#15 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#15 ] ) + [199] (word) sin16s::x3_6#0 ← (word) mulu16_sel::return#14 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::x3_6#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::x3_6#0 ] ) + [200] (word) sin16s::usinx#0 ← (word) sin16s::x1#0 - (word) sin16s::x3_6#0 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::usinx#0 ] ) + [201] (word) mulu16_sel::v1#3 ← (word) sin16s::x3#0 [ mulu16_sel::v1#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) + [202] (word) mulu16_sel::v2#3 ← (word) sin16s::x1#0 [ mulu16_sel::v1#3 mulu16_sel::v2#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#3 mulu16_sel::v2#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) + [203] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) + [204] (word) mulu16_sel::return#15 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#15 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#15 ] ) to:sin16s::@11 sin16s::@11: scope:[sin16s] from sin16s::@10 - [209] (word) sin16s::x4#0 ← (word) mulu16_sel::return#15 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 sin16s::x4#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 sin16s::x4#0 ] ) - [210] (word) mulu16_sel::v1#4 ← (word) sin16s::x4#0 [ mulu16_sel::v1#4 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#4 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) - [211] (word) mulu16_sel::v2#4 ← (word) sin16s::x1#0 [ mulu16_sel::v1#4 mulu16_sel::v2#4 sin16s::isUpper#2 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#4 mulu16_sel::v2#4 sin16s::isUpper#2 sin16s::usinx#0 ] ) - [212] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::usinx#0 ] ) - [213] (word) mulu16_sel::return#16 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#16 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#16 ] ) + [205] (word) sin16s::x4#0 ← (word) mulu16_sel::return#15 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 sin16s::x4#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 sin16s::x4#0 ] ) + [206] (word) mulu16_sel::v1#4 ← (word) sin16s::x4#0 [ mulu16_sel::v1#4 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#4 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) + [207] (word) mulu16_sel::v2#4 ← (word) sin16s::x1#0 [ mulu16_sel::v1#4 mulu16_sel::v2#4 sin16s::isUpper#2 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#4 mulu16_sel::v2#4 sin16s::isUpper#2 sin16s::usinx#0 ] ) + [208] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::usinx#0 ] ) + [209] (word) mulu16_sel::return#16 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#16 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#16 ] ) to:sin16s::@12 sin16s::@12: scope:[sin16s] from sin16s::@11 - [214] (word) sin16s::x5#0 ← (word) mulu16_sel::return#16 [ sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5#0 ] ) - [215] (word) sin16s::x5_128#0 ← (word) sin16s::x5#0 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5_128#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5_128#0 ] ) - [216] (word) sin16s::usinx#1 ← (word) sin16s::usinx#0 + (word) sin16s::x5_128#0 [ sin16s::isUpper#2 sin16s::usinx#1 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#1 ] ) - [217] if((byte) sin16s::isUpper#2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto sin16s::@15 [ sin16s::usinx#1 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::usinx#1 ] ) + [210] (word) sin16s::x5#0 ← (word) mulu16_sel::return#16 [ sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5#0 ] ) + [211] (word) sin16s::x5_128#0 ← (word) sin16s::x5#0 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5_128#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5_128#0 ] ) + [212] (word) sin16s::usinx#1 ← (word) sin16s::usinx#0 + (word) sin16s::x5_128#0 [ sin16s::isUpper#2 sin16s::usinx#1 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#1 ] ) + [213] if((byte) sin16s::isUpper#2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto sin16s::@15 [ sin16s::usinx#1 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::usinx#1 ] ) to:sin16s::@6 sin16s::@6: scope:[sin16s] from sin16s::@12 - [218] (signed word) sin16s::sinx#1 ← - (signed word)(word) sin16s::usinx#1 [ sin16s::sinx#1 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::sinx#1 ] ) + [214] (signed word) sin16s::sinx#1 ← - (signed word)(word) sin16s::usinx#1 [ sin16s::sinx#1 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::sinx#1 ] ) to:sin16s::@3 sin16s::@3: scope:[sin16s] from sin16s::@15 sin16s::@6 - [219] (signed word) sin16s::return#1 ← phi( sin16s::@15/(signed word~) sin16s::return#5 sin16s::@6/(signed word) sin16s::sinx#1 ) [ sin16s::return#1 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#1 ] ) + [215] (signed word) sin16s::return#1 ← phi( sin16s::@15/(signed word~) sin16s::return#5 sin16s::@6/(signed word) sin16s::sinx#1 ) [ sin16s::return#1 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#1 ] ) to:sin16s::@return sin16s::@return: scope:[sin16s] from sin16s::@3 - [220] return [ sin16s::return#1 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#1 ] ) + [216] return [ sin16s::return#1 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#1 ] ) to:@return sin16s::@15: scope:[sin16s] from sin16s::@12 - [221] (signed word~) sin16s::return#5 ← (signed word)(word) sin16s::usinx#1 [ sin16s::return#5 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#5 ] ) + [217] (signed word~) sin16s::return#5 ← (signed word)(word) sin16s::usinx#1 [ sin16s::return#5 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#5 ] ) to:sin16s::@3 DOMINATORS @@ -5963,12 +5974,10 @@ VARIABLE REGISTER WEIGHTS (dword) PI_u4f28 (dword()) div32u16u((dword) div32u16u::dividend , (word) div32u16u::divisor) (dword) div32u16u::dividend -(dword) div32u16u::dividend#2 0.6666666666666666 (word) div32u16u::divisor -(word) div32u16u::divisor#2 0.5714285714285714 (dword) div32u16u::quotient (word) div32u16u::quotient_hi -(word) div32u16u::quotient_hi#0 0.5714285714285714 +(word) div32u16u::quotient_hi#0 0.8 (word) div32u16u::quotient_lo (word) div32u16u::quotient_lo#0 4.0 (dword) div32u16u::return @@ -5980,14 +5989,9 @@ VARIABLE REGISTER WEIGHTS (byte~) divr16u::$2 22.0 (word) divr16u::dividend (word) divr16u::dividend#0 2.75 -(word) divr16u::dividend#1 2.0 -(word) divr16u::dividend#2 1.3333333333333333 (word) divr16u::dividend#3 5.0 -(word) divr16u::dividend#5 6.0 +(word) divr16u::dividend#5 2.0 (word) divr16u::divisor -(word) divr16u::divisor#0 4.0 -(word) divr16u::divisor#1 2.0 -(word) divr16u::divisor#6 1.625 (byte) divr16u::i (byte) divr16u::i#1 16.5 (byte) divr16u::i#2 1.6923076923076923 @@ -6122,7 +6126,7 @@ VARIABLE REGISTER WEIGHTS (void()) print_word((word) print_word::w) (word) print_word::w (word) rem16u -(word) rem16u#1 0.5714285714285714 +(word) rem16u#1 0.8 (signed word()) sin16s((dword) sin16s::x) (dword~) sin16s::$6 4.0 (byte) sin16s::isUpper @@ -6239,11 +6243,8 @@ Initial phi equivalence classes [ mul16u::a#2 mul16u::a#1 mul16u::a#0 ] [ mul16u::res#2 mul16u::res#6 mul16u::res#1 ] [ mul16u::mb#2 mul16u::mb#0 mul16u::mb#1 ] -[ div32u16u::dividend#2 ] -[ div32u16u::divisor#2 ] -[ divr16u::divisor#6 divr16u::divisor#0 divr16u::divisor#1 ] [ divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] -[ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#1 divr16u::dividend#2 divr16u::dividend#0 ] +[ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#0 ] [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] [ divr16u::i#2 divr16u::i#1 ] [ sin16s_gen::x#2 sin16s_gen::x#1 ] @@ -6328,11 +6329,8 @@ Complete equivalence classes [ mul16u::a#2 mul16u::a#1 mul16u::a#0 ] [ mul16u::res#2 mul16u::res#6 mul16u::res#1 ] [ mul16u::mb#2 mul16u::mb#0 mul16u::mb#1 ] -[ div32u16u::dividend#2 ] -[ div32u16u::divisor#2 ] -[ divr16u::divisor#6 divr16u::divisor#0 divr16u::divisor#1 ] [ divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] -[ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#1 divr16u::dividend#2 divr16u::dividend#0 ] +[ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#0 ] [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] [ divr16u::i#2 divr16u::i#1 ] [ sin16s_gen::x#2 sin16s_gen::x#1 ] @@ -6416,73 +6414,70 @@ Allocated zp ZP_BYTE:34 [ mulu16_sel::select#10 ] Allocated zp ZP_WORD:35 [ mul16u::a#2 mul16u::a#1 mul16u::a#0 ] Allocated zp ZP_DWORD:37 [ mul16u::res#2 mul16u::res#6 mul16u::res#1 ] Allocated zp ZP_DWORD:41 [ mul16u::mb#2 mul16u::mb#0 mul16u::mb#1 ] -Allocated zp ZP_DWORD:45 [ div32u16u::dividend#2 ] -Allocated zp ZP_WORD:49 [ div32u16u::divisor#2 ] -Allocated zp ZP_WORD:51 [ divr16u::divisor#6 divr16u::divisor#0 divr16u::divisor#1 ] -Allocated zp ZP_WORD:53 [ divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] -Allocated zp ZP_WORD:55 [ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#1 divr16u::dividend#2 divr16u::dividend#0 ] -Allocated zp ZP_WORD:57 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] -Allocated zp ZP_BYTE:59 [ divr16u::i#2 divr16u::i#1 ] -Allocated zp ZP_DWORD:60 [ sin16s_gen::x#2 sin16s_gen::x#1 ] -Allocated zp ZP_WORD:64 [ sin16s_gen::sintab#2 sin16s_gen::sintab#0 ] -Allocated zp ZP_WORD:66 [ sin16s_gen::i#2 sin16s_gen::i#1 ] -Allocated zp ZP_BYTE:68 [ sin16s::isUpper#2 ] -Allocated zp ZP_DWORD:69 [ sin16s::x#6 sin16s::x#4 sin16s::x#0 sin16s::x#1 sin16s::x#2 ] -Allocated zp ZP_WORD:73 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 ] -Allocated zp ZP_WORD:75 [ main::sw#0 ] -Allocated zp ZP_BYTE:77 [ print_byte::$0 ] -Allocated zp ZP_BYTE:78 [ print_byte::$2 ] -Allocated zp ZP_DWORD:79 [ div32u16u::return#3 ] -Allocated zp ZP_DWORD:83 [ sin16s_genb::step#0 ] -Allocated zp ZP_WORD:87 [ sin16sb::return#0 ] -Allocated zp ZP_WORD:89 [ sin16s_genb::$2 ] -Allocated zp ZP_WORD:91 [ sin16sb::x1#0 ] -Allocated zp ZP_WORD:93 [ mulu16_sel::return#18 ] -Allocated zp ZP_WORD:95 [ sin16sb::x2#0 ] -Allocated zp ZP_WORD:97 [ mulu16_sel::return#19 ] -Allocated zp ZP_WORD:99 [ sin16sb::x3#0 ] -Allocated zp ZP_WORD:101 [ mulu16_sel::return#20 ] -Allocated zp ZP_WORD:103 [ sin16sb::x3_6#0 ] -Allocated zp ZP_WORD:105 [ sin16sb::usinx#0 ] -Allocated zp ZP_WORD:107 [ mulu16_sel::return#10 ] -Allocated zp ZP_WORD:109 [ sin16sb::x4#0 ] -Allocated zp ZP_WORD:111 [ mulu16_sel::return#11 ] -Allocated zp ZP_WORD:113 [ sin16sb::x5#0 ] -Allocated zp ZP_WORD:115 [ sin16sb::x5_128#0 ] -Allocated zp ZP_WORD:117 [ sin16sb::usinx#1 ] -Allocated zp ZP_WORD:119 [ mul16u::b#0 ] -Allocated zp ZP_DWORD:121 [ mul16u::return#2 ] -Allocated zp ZP_DWORD:125 [ mulu16_sel::$0 ] -Allocated zp ZP_DWORD:129 [ mulu16_sel::$1 ] -Allocated zp ZP_WORD:133 [ mulu16_sel::return#17 ] -Allocated zp ZP_BYTE:135 [ mul16u::$1 ] -Allocated zp ZP_WORD:136 [ divr16u::return#2 ] -Allocated zp ZP_WORD:138 [ div32u16u::quotient_hi#0 ] -Allocated zp ZP_WORD:140 [ divr16u::return#3 ] -Allocated zp ZP_WORD:142 [ div32u16u::quotient_lo#0 ] -Allocated zp ZP_DWORD:144 [ div32u16u::return#0 ] -Allocated zp ZP_BYTE:148 [ divr16u::$1 ] -Allocated zp ZP_BYTE:149 [ divr16u::$2 ] -Allocated zp ZP_WORD:150 [ rem16u#1 ] -Allocated zp ZP_DWORD:152 [ div32u16u::return#2 ] -Allocated zp ZP_DWORD:156 [ sin16s_gen::step#0 ] -Allocated zp ZP_WORD:160 [ sin16s::return#0 ] -Allocated zp ZP_WORD:162 [ sin16s_gen::$1 ] -Allocated zp ZP_DWORD:164 [ sin16s::$6 ] -Allocated zp ZP_WORD:168 [ sin16s::x1#0 ] -Allocated zp ZP_WORD:170 [ mulu16_sel::return#0 ] -Allocated zp ZP_WORD:172 [ sin16s::x2#0 ] -Allocated zp ZP_WORD:174 [ mulu16_sel::return#1 ] -Allocated zp ZP_WORD:176 [ sin16s::x3#0 ] -Allocated zp ZP_WORD:178 [ mulu16_sel::return#14 ] -Allocated zp ZP_WORD:180 [ sin16s::x3_6#0 ] -Allocated zp ZP_WORD:182 [ sin16s::usinx#0 ] -Allocated zp ZP_WORD:184 [ mulu16_sel::return#15 ] -Allocated zp ZP_WORD:186 [ sin16s::x4#0 ] -Allocated zp ZP_WORD:188 [ mulu16_sel::return#16 ] -Allocated zp ZP_WORD:190 [ sin16s::x5#0 ] -Allocated zp ZP_WORD:192 [ sin16s::x5_128#0 ] -Allocated zp ZP_WORD:194 [ sin16s::usinx#1 ] +Allocated zp ZP_WORD:45 [ divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] +Allocated zp ZP_WORD:47 [ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#0 ] +Allocated zp ZP_WORD:49 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] +Allocated zp ZP_BYTE:51 [ divr16u::i#2 divr16u::i#1 ] +Allocated zp ZP_DWORD:52 [ sin16s_gen::x#2 sin16s_gen::x#1 ] +Allocated zp ZP_WORD:56 [ sin16s_gen::sintab#2 sin16s_gen::sintab#0 ] +Allocated zp ZP_WORD:58 [ sin16s_gen::i#2 sin16s_gen::i#1 ] +Allocated zp ZP_BYTE:60 [ sin16s::isUpper#2 ] +Allocated zp ZP_DWORD:61 [ sin16s::x#6 sin16s::x#4 sin16s::x#0 sin16s::x#1 sin16s::x#2 ] +Allocated zp ZP_WORD:65 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 ] +Allocated zp ZP_WORD:67 [ main::sw#0 ] +Allocated zp ZP_BYTE:69 [ print_byte::$0 ] +Allocated zp ZP_BYTE:70 [ print_byte::$2 ] +Allocated zp ZP_DWORD:71 [ div32u16u::return#3 ] +Allocated zp ZP_DWORD:75 [ sin16s_genb::step#0 ] +Allocated zp ZP_WORD:79 [ sin16sb::return#0 ] +Allocated zp ZP_WORD:81 [ sin16s_genb::$2 ] +Allocated zp ZP_WORD:83 [ sin16sb::x1#0 ] +Allocated zp ZP_WORD:85 [ mulu16_sel::return#18 ] +Allocated zp ZP_WORD:87 [ sin16sb::x2#0 ] +Allocated zp ZP_WORD:89 [ mulu16_sel::return#19 ] +Allocated zp ZP_WORD:91 [ sin16sb::x3#0 ] +Allocated zp ZP_WORD:93 [ mulu16_sel::return#20 ] +Allocated zp ZP_WORD:95 [ sin16sb::x3_6#0 ] +Allocated zp ZP_WORD:97 [ sin16sb::usinx#0 ] +Allocated zp ZP_WORD:99 [ mulu16_sel::return#10 ] +Allocated zp ZP_WORD:101 [ sin16sb::x4#0 ] +Allocated zp ZP_WORD:103 [ mulu16_sel::return#11 ] +Allocated zp ZP_WORD:105 [ sin16sb::x5#0 ] +Allocated zp ZP_WORD:107 [ sin16sb::x5_128#0 ] +Allocated zp ZP_WORD:109 [ sin16sb::usinx#1 ] +Allocated zp ZP_WORD:111 [ mul16u::b#0 ] +Allocated zp ZP_DWORD:113 [ mul16u::return#2 ] +Allocated zp ZP_DWORD:117 [ mulu16_sel::$0 ] +Allocated zp ZP_DWORD:121 [ mulu16_sel::$1 ] +Allocated zp ZP_WORD:125 [ mulu16_sel::return#17 ] +Allocated zp ZP_BYTE:127 [ mul16u::$1 ] +Allocated zp ZP_WORD:128 [ divr16u::return#2 ] +Allocated zp ZP_WORD:130 [ div32u16u::quotient_hi#0 ] +Allocated zp ZP_WORD:132 [ divr16u::return#3 ] +Allocated zp ZP_WORD:134 [ div32u16u::quotient_lo#0 ] +Allocated zp ZP_DWORD:136 [ div32u16u::return#0 ] +Allocated zp ZP_BYTE:140 [ divr16u::$1 ] +Allocated zp ZP_BYTE:141 [ divr16u::$2 ] +Allocated zp ZP_WORD:142 [ rem16u#1 ] +Allocated zp ZP_DWORD:144 [ div32u16u::return#2 ] +Allocated zp ZP_DWORD:148 [ sin16s_gen::step#0 ] +Allocated zp ZP_WORD:152 [ sin16s::return#0 ] +Allocated zp ZP_WORD:154 [ sin16s_gen::$1 ] +Allocated zp ZP_DWORD:156 [ sin16s::$6 ] +Allocated zp ZP_WORD:160 [ sin16s::x1#0 ] +Allocated zp ZP_WORD:162 [ mulu16_sel::return#0 ] +Allocated zp ZP_WORD:164 [ sin16s::x2#0 ] +Allocated zp ZP_WORD:166 [ mulu16_sel::return#1 ] +Allocated zp ZP_WORD:168 [ sin16s::x3#0 ] +Allocated zp ZP_WORD:170 [ mulu16_sel::return#14 ] +Allocated zp ZP_WORD:172 [ sin16s::x3_6#0 ] +Allocated zp ZP_WORD:174 [ sin16s::usinx#0 ] +Allocated zp ZP_WORD:176 [ mulu16_sel::return#15 ] +Allocated zp ZP_WORD:178 [ sin16s::x4#0 ] +Allocated zp ZP_WORD:180 [ mulu16_sel::return#16 ] +Allocated zp ZP_WORD:182 [ sin16s::x5#0 ] +Allocated zp ZP_WORD:184 [ sin16s::x5_128#0 ] +Allocated zp ZP_WORD:186 [ sin16s::usinx#1 ] INITIAL ASM //SEG0 Basic Upstart @@ -6496,7 +6491,7 @@ INITIAL ASM .const PI_u4f12 = $3244 .const PI_HALF_u4f12 = $1922 .label print_line_cursor = $400 - .label rem16u = $96 + .label rem16u = $8e .label print_char_cursor = $d //SEG2 @begin bbegin: @@ -6517,12 +6512,12 @@ bend: //SEG9 main main: { .label wavelength = $78 - .label sw = $4b + .label sw = $43 .label st1 = 2 .label st2 = 4 .label i = 6 //SEG10 [5] call sin16s_gen param-assignment [ ] ( main:2 [ ] ) - //SEG11 [167] phi from main to sin16s_gen [phi:main->sin16s_gen] + //SEG11 [163] phi from main to sin16s_gen [phi:main->sin16s_gen] sin16s_gen_from_main: jsr sin16s_gen //SEG12 [6] phi from main to main::@5 [phi:main->main::@5] @@ -6784,8 +6779,8 @@ print_word: { } //SEG100 print_byte print_byte: { - .label _0 = $4d - .label _2 = $4e + .label _0 = $45 + .label _2 = $46 .label b = $b //SEG101 [45] (byte~) print_byte::$0 ← (byte) print_byte::b#2 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ print_byte::b#2 print_char_cursor#46 print_byte::$0 ] ( main:2::print_sword:17::print_word:37::print_byte:40 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 print_byte::b#2 print_char_cursor#46 print_byte::$0 ] main:2::print_sword:17::print_word:37::print_byte:42 [ main::st1#2 main::st2#2 main::i#2 print_byte::b#2 print_char_cursor#46 print_byte::$0 ] ) -- vbuz1=vbuz2_ror_4 lda b @@ -6886,30 +6881,16 @@ print_cls: { } //SEG132 sin16s_genb sin16s_genb: { - .label _2 = $59 - .label step = $53 + .label _2 = $51 + .label step = $4b .label sintab = $15 .label x = $11 .label i = $17 //SEG133 [63] call div32u16u param-assignment [ div32u16u::return#0 ] ( main:2::sin16s_genb:7 [ div32u16u::return#0 ] ) //SEG134 [135] phi from sin16s_genb to div32u16u [phi:sin16s_genb->div32u16u] div32u16u_from_sin16s_genb: - //SEG135 [135] phi (word) div32u16u::divisor#2 = (const word) main::wavelength#0 [phi:sin16s_genb->div32u16u#0] -- vwuz1=vwuc1 - lda #main.wavelength - sta div32u16u.divisor+1 - //SEG136 [135] phi (dword) div32u16u::dividend#2 = (const dword) PI2_u4f28#0 [phi:sin16s_genb->div32u16u#1] -- vduz1=vduc1 - lda #PI2_u4f28 - sta div32u16u.dividend+1 - lda #>$10 - sta div32u16u.dividend+2 - lda #>PI2_u4f28>>$10 - sta div32u16u.dividend+3 jsr div32u16u - //SEG137 [64] (dword) div32u16u::return#3 ← (dword) div32u16u::return#0 [ div32u16u::return#3 ] ( main:2::sin16s_genb:7 [ div32u16u::return#3 ] ) -- vduz1=vduz2 + //SEG135 [64] (dword) div32u16u::return#3 ← (dword) div32u16u::return#0 [ div32u16u::return#3 ] ( main:2::sin16s_genb:7 [ div32u16u::return#3 ] ) -- vduz1=vduz2 lda div32u16u.return sta div32u16u.return_3 lda div32u16u.return+1 @@ -6919,9 +6900,9 @@ sin16s_genb: { lda div32u16u.return+3 sta div32u16u.return_3+3 jmp b3 - //SEG138 sin16s_genb::@3 + //SEG136 sin16s_genb::@3 b3: - //SEG139 [65] (dword) sin16s_genb::step#0 ← (dword) div32u16u::return#3 [ sin16s_genb::step#0 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 ] ) -- vduz1=vduz2 + //SEG137 [65] (dword) sin16s_genb::step#0 ← (dword) div32u16u::return#3 [ sin16s_genb::step#0 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 ] ) -- vduz1=vduz2 lda div32u16u.return_3 sta step lda div32u16u.return_3+1 @@ -6930,19 +6911,19 @@ sin16s_genb: { sta step+2 lda div32u16u.return_3+3 sta step+3 - //SEG140 [66] phi from sin16s_genb::@3 to sin16s_genb::@1 [phi:sin16s_genb::@3->sin16s_genb::@1] + //SEG138 [66] phi from sin16s_genb::@3 to sin16s_genb::@1 [phi:sin16s_genb::@3->sin16s_genb::@1] b1_from_b3: - //SEG141 [66] phi (word) sin16s_genb::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s_genb::@3->sin16s_genb::@1#0] -- vwuz1=vbuc1 + //SEG139 [66] phi (word) sin16s_genb::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s_genb::@3->sin16s_genb::@1#0] -- vwuz1=vbuc1 lda #<0 sta i lda #>0 sta i+1 - //SEG142 [66] phi (signed word*) sin16s_genb::sintab#2 = (const signed word[120]) main::sintab2#0 [phi:sin16s_genb::@3->sin16s_genb::@1#1] -- pwsz1=pwsc1 + //SEG140 [66] phi (signed word*) sin16s_genb::sintab#2 = (const signed word[120]) main::sintab2#0 [phi:sin16s_genb::@3->sin16s_genb::@1#1] -- pwsz1=pwsc1 lda #main.sintab2 sta sintab+1 - //SEG143 [66] phi (dword) sin16s_genb::x#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s_genb::@3->sin16s_genb::@1#2] -- vduz1=vbuc1 + //SEG141 [66] phi (dword) sin16s_genb::x#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s_genb::@3->sin16s_genb::@1#2] -- vduz1=vbuc1 lda #0 sta x lda #0 @@ -6950,42 +6931,42 @@ sin16s_genb: { sta x+2 sta x+3 jmp b1 - //SEG144 [66] phi from sin16s_genb::@4 to sin16s_genb::@1 [phi:sin16s_genb::@4->sin16s_genb::@1] + //SEG142 [66] phi from sin16s_genb::@4 to sin16s_genb::@1 [phi:sin16s_genb::@4->sin16s_genb::@1] b1_from_b4: - //SEG145 [66] phi (word) sin16s_genb::i#2 = (word) sin16s_genb::i#1 [phi:sin16s_genb::@4->sin16s_genb::@1#0] -- register_copy - //SEG146 [66] phi (signed word*) sin16s_genb::sintab#2 = (signed word*) sin16s_genb::sintab#0 [phi:sin16s_genb::@4->sin16s_genb::@1#1] -- register_copy - //SEG147 [66] phi (dword) sin16s_genb::x#2 = (dword) sin16s_genb::x#1 [phi:sin16s_genb::@4->sin16s_genb::@1#2] -- register_copy + //SEG143 [66] phi (word) sin16s_genb::i#2 = (word) sin16s_genb::i#1 [phi:sin16s_genb::@4->sin16s_genb::@1#0] -- register_copy + //SEG144 [66] phi (signed word*) sin16s_genb::sintab#2 = (signed word*) sin16s_genb::sintab#0 [phi:sin16s_genb::@4->sin16s_genb::@1#1] -- register_copy + //SEG145 [66] phi (dword) sin16s_genb::x#2 = (dword) sin16s_genb::x#1 [phi:sin16s_genb::@4->sin16s_genb::@1#2] -- register_copy jmp b1 - //SEG148 sin16s_genb::@1 + //SEG146 sin16s_genb::@1 b1: - //SEG149 [67] (word) sin16sb::x#0 ← > (dword) sin16s_genb::x#2 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::x#0 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::x#0 ] ) -- vwuz1=_hi_vduz2 + //SEG147 [67] (word) sin16sb::x#0 ← > (dword) sin16s_genb::x#2 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::x#0 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::x#0 ] ) -- vwuz1=_hi_vduz2 lda x+2 sta sin16sb.x lda x+3 sta sin16sb.x+1 - //SEG150 [68] call sin16sb param-assignment [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#1 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#1 ] ) + //SEG148 [68] call sin16sb param-assignment [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#1 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#1 ] ) jsr sin16sb - //SEG151 [69] (signed word) sin16sb::return#0 ← (signed word) sin16sb::return#1 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#0 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#0 ] ) -- vwsz1=vwsz2 + //SEG149 [69] (signed word) sin16sb::return#0 ← (signed word) sin16sb::return#1 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#0 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#0 ] ) -- vwsz1=vwsz2 lda sin16sb.return_1 sta sin16sb.return lda sin16sb.return_1+1 sta sin16sb.return+1 jmp b4 - //SEG152 sin16s_genb::@4 + //SEG150 sin16s_genb::@4 b4: - //SEG153 [70] (signed word~) sin16s_genb::$2 ← (signed word) sin16sb::return#0 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16s_genb::$2 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16s_genb::$2 ] ) -- vwsz1=vwsz2 + //SEG151 [70] (signed word~) sin16s_genb::$2 ← (signed word) sin16sb::return#0 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16s_genb::$2 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16s_genb::$2 ] ) -- vwsz1=vwsz2 lda sin16sb.return sta _2 lda sin16sb.return+1 sta _2+1 - //SEG154 [71] *((signed word*) sin16s_genb::sintab#2) ← (signed word~) sin16s_genb::$2 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 ] ) -- _deref_pwsz1=vwsz2 + //SEG152 [71] *((signed word*) sin16s_genb::sintab#2) ← (signed word~) sin16s_genb::$2 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 ] ) -- _deref_pwsz1=vwsz2 ldy #0 lda _2 sta (sintab),y iny lda _2+1 sta (sintab),y - //SEG155 [72] (signed word*) sin16s_genb::sintab#0 ← (signed word*) sin16s_genb::sintab#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::i#2 sin16s_genb::sintab#0 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::i#2 sin16s_genb::sintab#0 ] ) -- pwsz1=pwsz1_plus_2 + //SEG153 [72] (signed word*) sin16s_genb::sintab#0 ← (signed word*) sin16s_genb::sintab#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::i#2 sin16s_genb::sintab#0 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::i#2 sin16s_genb::sintab#0 ] ) -- pwsz1=pwsz1_plus_2 lda sintab clc adc #2 @@ -6993,7 +6974,7 @@ sin16s_genb: { bcc !+ inc sintab+1 !: - //SEG156 [73] (dword) sin16s_genb::x#1 ← (dword) sin16s_genb::x#2 + (dword) sin16s_genb::step#0 [ sin16s_genb::step#0 sin16s_genb::i#2 sin16s_genb::x#1 sin16s_genb::sintab#0 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::i#2 sin16s_genb::x#1 sin16s_genb::sintab#0 ] ) -- vduz1=vduz1_plus_vduz2 + //SEG154 [73] (dword) sin16s_genb::x#1 ← (dword) sin16s_genb::x#2 + (dword) sin16s_genb::step#0 [ sin16s_genb::step#0 sin16s_genb::i#2 sin16s_genb::x#1 sin16s_genb::sintab#0 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::i#2 sin16s_genb::x#1 sin16s_genb::sintab#0 ] ) -- vduz1=vduz1_plus_vduz2 lda x clc adc step @@ -7007,12 +6988,12 @@ sin16s_genb: { lda x+3 adc step+3 sta x+3 - //SEG157 [74] (word) sin16s_genb::i#1 ← ++ (word) sin16s_genb::i#2 [ sin16s_genb::step#0 sin16s_genb::x#1 sin16s_genb::sintab#0 sin16s_genb::i#1 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#1 sin16s_genb::sintab#0 sin16s_genb::i#1 ] ) -- vwuz1=_inc_vwuz1 + //SEG155 [74] (word) sin16s_genb::i#1 ← ++ (word) sin16s_genb::i#2 [ sin16s_genb::step#0 sin16s_genb::x#1 sin16s_genb::sintab#0 sin16s_genb::i#1 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#1 sin16s_genb::sintab#0 sin16s_genb::i#1 ] ) -- vwuz1=_inc_vwuz1 inc i bne !+ inc i+1 !: - //SEG158 [75] if((word) sin16s_genb::i#1<(const word) main::wavelength#0) goto sin16s_genb::@1 [ sin16s_genb::step#0 sin16s_genb::x#1 sin16s_genb::sintab#0 sin16s_genb::i#1 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#1 sin16s_genb::sintab#0 sin16s_genb::i#1 ] ) -- vwuz1_lt_vwuc1_then_la1 + //SEG156 [75] if((word) sin16s_genb::i#1<(const word) main::wavelength#0) goto sin16s_genb::@1 [ sin16s_genb::step#0 sin16s_genb::x#1 sin16s_genb::sintab#0 sin16s_genb::i#1 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#1 sin16s_genb::sintab#0 sin16s_genb::i#1 ] ) -- vwuz1_lt_vwuc1_then_la1 lda i+1 cmp #>main.wavelength bcc b1_from_b4 @@ -7022,29 +7003,29 @@ sin16s_genb: { bcc b1_from_b4 !: jmp breturn - //SEG159 sin16s_genb::@return + //SEG157 sin16s_genb::@return breturn: - //SEG160 [76] return [ ] ( main:2::sin16s_genb:7 [ ] ) + //SEG158 [76] return [ ] ( main:2::sin16s_genb:7 [ ] ) rts } -//SEG161 sin16sb +//SEG159 sin16sb sin16sb: { .label x = $1a - .label return = $57 - .label x1 = $5b - .label x2 = $5f - .label x3 = $63 - .label x3_6 = $67 - .label usinx = $69 - .label x4 = $6d - .label x5 = $71 - .label x5_128 = $73 - .label usinx_1 = $75 + .label return = $4f + .label x1 = $53 + .label x2 = $57 + .label x3 = $5b + .label x3_6 = $5f + .label usinx = $61 + .label x4 = $65 + .label x5 = $69 + .label x5_128 = $6b + .label usinx_1 = $6d .label return_1 = $1c .label sinx = $1c .label isUpper = $19 .label return_5 = $1c - //SEG162 [77] if((word) sin16sb::x#0<(const word) PI_u4f12#0) goto sin16sb::@1 [ sin16sb::x#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::x#0 ] ) -- vwuz1_lt_vwuc1_then_la1 + //SEG160 [77] if((word) sin16sb::x#0<(const word) PI_u4f12#0) goto sin16sb::@1 [ sin16sb::x#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::x#0 ] ) -- vwuz1_lt_vwuc1_then_la1 lda x+1 cmp #>PI_u4f12 bcc b1_from_sin16sb @@ -7054,9 +7035,9 @@ sin16sb: { bcc b1_from_sin16sb !: jmp b4 - //SEG163 sin16sb::@4 + //SEG161 sin16sb::@4 b4: - //SEG164 [78] (word) sin16sb::x#1 ← (word) sin16sb::x#0 - (const word) PI_u4f12#0 [ sin16sb::x#1 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::x#1 ] ) -- vwuz1=vwuz1_minus_vwuc1 + //SEG162 [78] (word) sin16sb::x#1 ← (word) sin16sb::x#0 - (const word) PI_u4f12#0 [ sin16sb::x#1 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::x#1 ] ) -- vwuz1=vwuz1_minus_vwuc1 lda x sec sbc #PI_u4f12 sta x+1 - //SEG165 [79] phi from sin16sb::@4 to sin16sb::@1 [phi:sin16sb::@4->sin16sb::@1] + //SEG163 [79] phi from sin16sb::@4 to sin16sb::@1 [phi:sin16sb::@4->sin16sb::@1] b1_from_b4: - //SEG166 [79] phi (byte) sin16sb::isUpper#2 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin16sb::@4->sin16sb::@1#0] -- vbuz1=vbuc1 + //SEG164 [79] phi (byte) sin16sb::isUpper#2 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin16sb::@4->sin16sb::@1#0] -- vbuz1=vbuc1 lda #1 sta isUpper - //SEG167 [79] phi (word) sin16sb::x#4 = (word) sin16sb::x#1 [phi:sin16sb::@4->sin16sb::@1#1] -- register_copy + //SEG165 [79] phi (word) sin16sb::x#4 = (word) sin16sb::x#1 [phi:sin16sb::@4->sin16sb::@1#1] -- register_copy jmp b1 - //SEG168 [79] phi from sin16sb to sin16sb::@1 [phi:sin16sb->sin16sb::@1] + //SEG166 [79] phi from sin16sb to sin16sb::@1 [phi:sin16sb->sin16sb::@1] b1_from_sin16sb: - //SEG169 [79] phi (byte) sin16sb::isUpper#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16sb->sin16sb::@1#0] -- vbuz1=vbuc1 + //SEG167 [79] phi (byte) sin16sb::isUpper#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16sb->sin16sb::@1#0] -- vbuz1=vbuc1 lda #0 sta isUpper - //SEG170 [79] phi (word) sin16sb::x#4 = (word) sin16sb::x#0 [phi:sin16sb->sin16sb::@1#1] -- register_copy + //SEG168 [79] phi (word) sin16sb::x#4 = (word) sin16sb::x#0 [phi:sin16sb->sin16sb::@1#1] -- register_copy jmp b1 - //SEG171 sin16sb::@1 + //SEG169 sin16sb::@1 b1: - //SEG172 [80] if((word) sin16sb::x#4<(const word) PI_HALF_u4f12#0) goto sin16sb::@2 [ sin16sb::x#4 sin16sb::isUpper#2 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::x#4 sin16sb::isUpper#2 ] ) -- vwuz1_lt_vwuc1_then_la1 + //SEG170 [80] if((word) sin16sb::x#4<(const word) PI_HALF_u4f12#0) goto sin16sb::@2 [ sin16sb::x#4 sin16sb::isUpper#2 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::x#4 sin16sb::isUpper#2 ] ) -- vwuz1_lt_vwuc1_then_la1 lda x+1 cmp #>PI_HALF_u4f12 bcc b2_from_b1 @@ -7090,9 +7071,9 @@ sin16sb: { bcc b2_from_b1 !: jmp b5 - //SEG173 sin16sb::@5 + //SEG171 sin16sb::@5 b5: - //SEG174 [81] (word) sin16sb::x#2 ← (const word) PI_u4f12#0 - (word) sin16sb::x#4 [ sin16sb::isUpper#2 sin16sb::x#2 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x#2 ] ) -- vwuz1=vwuc1_minus_vwuz1 + //SEG172 [81] (word) sin16sb::x#2 ← (const word) PI_u4f12#0 - (word) sin16sb::x#4 [ sin16sb::isUpper#2 sin16sb::x#2 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x#2 ] ) -- vwuz1=vwuc1_minus_vwuz1 sec lda #PI_u4f12 sbc x+1 sta x+1 - //SEG175 [82] phi from sin16sb::@1 sin16sb::@5 to sin16sb::@2 [phi:sin16sb::@1/sin16sb::@5->sin16sb::@2] + //SEG173 [82] phi from sin16sb::@1 sin16sb::@5 to sin16sb::@2 [phi:sin16sb::@1/sin16sb::@5->sin16sb::@2] b2_from_b1: b2_from_b5: - //SEG176 [82] phi (word) sin16sb::x#6 = (word) sin16sb::x#4 [phi:sin16sb::@1/sin16sb::@5->sin16sb::@2#0] -- register_copy + //SEG174 [82] phi (word) sin16sb::x#6 = (word) sin16sb::x#4 [phi:sin16sb::@1/sin16sb::@5->sin16sb::@2#0] -- register_copy jmp b2 - //SEG177 sin16sb::@2 + //SEG175 sin16sb::@2 b2: - //SEG178 [83] (word) sin16sb::x1#0 ← (word) sin16sb::x#6 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ sin16sb::isUpper#2 sin16sb::x1#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 ] ) -- vwuz1=vwuz2_rol_3 + //SEG176 [83] (word) sin16sb::x1#0 ← (word) sin16sb::x#6 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ sin16sb::isUpper#2 sin16sb::x1#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 ] ) -- vwuz1=vwuz2_rol_3 lda x asl sta x1 @@ -7118,102 +7099,102 @@ sin16sb: { rol x1+1 asl x1 rol x1+1 - //SEG179 [84] (word) mulu16_sel::v1#5 ← (word) sin16sb::x1#0 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#5 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#5 ] ) -- vwuz1=vwuz2 + //SEG177 [84] (word) mulu16_sel::v1#5 ← (word) sin16sb::x1#0 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#5 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#5 ] ) -- vwuz1=vwuz2 lda x1 sta mulu16_sel.v1 lda x1+1 sta mulu16_sel.v1+1 - //SEG180 [85] (word) mulu16_sel::v2#5 ← (word) sin16sb::x1#0 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#5 mulu16_sel::v2#5 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#5 mulu16_sel::v2#5 ] ) -- vwuz1=vwuz2 + //SEG178 [85] (word) mulu16_sel::v2#5 ← (word) sin16sb::x1#0 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#5 mulu16_sel::v2#5 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#5 mulu16_sel::v2#5 ] ) -- vwuz1=vwuz2 lda x1 sta mulu16_sel.v2 lda x1+1 sta mulu16_sel.v2+1 - //SEG181 [86] call mulu16_sel param-assignment [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] ) - //SEG182 [116] phi from sin16sb::@2 to mulu16_sel [phi:sin16sb::@2->mulu16_sel] + //SEG179 [86] call mulu16_sel param-assignment [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] ) + //SEG180 [116] phi from sin16sb::@2 to mulu16_sel [phi:sin16sb::@2->mulu16_sel] mulu16_sel_from_b2: - //SEG183 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16sb::@2->mulu16_sel#0] -- vbuz1=vbuc1 + //SEG181 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16sb::@2->mulu16_sel#0] -- vbuz1=vbuc1 lda #0 sta mulu16_sel.select - //SEG184 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#5 [phi:sin16sb::@2->mulu16_sel#1] -- register_copy - //SEG185 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#5 [phi:sin16sb::@2->mulu16_sel#2] -- register_copy + //SEG182 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#5 [phi:sin16sb::@2->mulu16_sel#1] -- register_copy + //SEG183 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#5 [phi:sin16sb::@2->mulu16_sel#2] -- register_copy jsr mulu16_sel - //SEG186 [87] (word) mulu16_sel::return#18 ← (word) mulu16_sel::return#17 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#18 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#18 ] ) -- vwuz1=vwuz2 + //SEG184 [87] (word) mulu16_sel::return#18 ← (word) mulu16_sel::return#17 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#18 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#18 ] ) -- vwuz1=vwuz2 lda mulu16_sel.return_17 sta mulu16_sel.return_18 lda mulu16_sel.return_17+1 sta mulu16_sel.return_18+1 jmp b8 - //SEG187 sin16sb::@8 + //SEG185 sin16sb::@8 b8: - //SEG188 [88] (word) sin16sb::x2#0 ← (word) mulu16_sel::return#18 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x2#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x2#0 ] ) -- vwuz1=vwuz2 + //SEG186 [88] (word) sin16sb::x2#0 ← (word) mulu16_sel::return#18 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x2#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x2#0 ] ) -- vwuz1=vwuz2 lda mulu16_sel.return_18 sta x2 lda mulu16_sel.return_18+1 sta x2+1 - //SEG189 [89] (word) mulu16_sel::v1#6 ← (word) sin16sb::x2#0 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#6 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#6 ] ) -- vwuz1=vwuz2 + //SEG187 [89] (word) mulu16_sel::v1#6 ← (word) sin16sb::x2#0 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#6 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#6 ] ) -- vwuz1=vwuz2 lda x2 sta mulu16_sel.v1 lda x2+1 sta mulu16_sel.v1+1 - //SEG190 [90] (word) mulu16_sel::v2#6 ← (word) sin16sb::x1#0 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#6 mulu16_sel::v2#6 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#6 mulu16_sel::v2#6 ] ) -- vwuz1=vwuz2 + //SEG188 [90] (word) mulu16_sel::v2#6 ← (word) sin16sb::x1#0 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#6 mulu16_sel::v2#6 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#6 mulu16_sel::v2#6 ] ) -- vwuz1=vwuz2 lda x1 sta mulu16_sel.v2 lda x1+1 sta mulu16_sel.v2+1 - //SEG191 [91] call mulu16_sel param-assignment [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] ) - //SEG192 [116] phi from sin16sb::@8 to mulu16_sel [phi:sin16sb::@8->mulu16_sel] + //SEG189 [91] call mulu16_sel param-assignment [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] ) + //SEG190 [116] phi from sin16sb::@8 to mulu16_sel [phi:sin16sb::@8->mulu16_sel] mulu16_sel_from_b8: - //SEG193 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin16sb::@8->mulu16_sel#0] -- vbuz1=vbuc1 + //SEG191 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin16sb::@8->mulu16_sel#0] -- vbuz1=vbuc1 lda #1 sta mulu16_sel.select - //SEG194 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#6 [phi:sin16sb::@8->mulu16_sel#1] -- register_copy - //SEG195 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#6 [phi:sin16sb::@8->mulu16_sel#2] -- register_copy + //SEG192 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#6 [phi:sin16sb::@8->mulu16_sel#1] -- register_copy + //SEG193 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#6 [phi:sin16sb::@8->mulu16_sel#2] -- register_copy jsr mulu16_sel - //SEG196 [92] (word) mulu16_sel::return#19 ← (word) mulu16_sel::return#17 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#19 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#19 ] ) -- vwuz1=vwuz2 + //SEG194 [92] (word) mulu16_sel::return#19 ← (word) mulu16_sel::return#17 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#19 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#19 ] ) -- vwuz1=vwuz2 lda mulu16_sel.return_17 sta mulu16_sel.return_19 lda mulu16_sel.return_17+1 sta mulu16_sel.return_19+1 jmp b9 - //SEG197 sin16sb::@9 + //SEG195 sin16sb::@9 b9: - //SEG198 [93] (word) sin16sb::x3#0 ← (word) mulu16_sel::return#19 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 ] ) -- vwuz1=vwuz2 + //SEG196 [93] (word) sin16sb::x3#0 ← (word) mulu16_sel::return#19 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 ] ) -- vwuz1=vwuz2 lda mulu16_sel.return_19 sta x3 lda mulu16_sel.return_19+1 sta x3+1 - //SEG199 [94] (word) mulu16_sel::v1#7 ← (word) sin16sb::x3#0 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::v1#7 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::v1#7 ] ) -- vwuz1=vwuz2 + //SEG197 [94] (word) mulu16_sel::v1#7 ← (word) sin16sb::x3#0 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::v1#7 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::v1#7 ] ) -- vwuz1=vwuz2 lda x3 sta mulu16_sel.v1 lda x3+1 sta mulu16_sel.v1+1 - //SEG200 [95] call mulu16_sel param-assignment [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 sin16sb::x3#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 sin16sb::x3#0 ] ) - //SEG201 [116] phi from sin16sb::@9 to mulu16_sel [phi:sin16sb::@9->mulu16_sel] + //SEG198 [95] call mulu16_sel param-assignment [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 sin16sb::x3#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 sin16sb::x3#0 ] ) + //SEG199 [116] phi from sin16sb::@9 to mulu16_sel [phi:sin16sb::@9->mulu16_sel] mulu16_sel_from_b9: - //SEG202 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin16sb::@9->mulu16_sel#0] -- vbuz1=vbuc1 + //SEG200 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin16sb::@9->mulu16_sel#0] -- vbuz1=vbuc1 lda #1 sta mulu16_sel.select - //SEG203 [116] phi (word) mulu16_sel::v2#10 = (dword/signed dword) 65536/(byte/signed byte/word/signed word/dword/signed dword) 6 [phi:sin16sb::@9->mulu16_sel#1] -- vwuz1=vwuc1 + //SEG201 [116] phi (word) mulu16_sel::v2#10 = (dword/signed dword) 65536/(byte/signed byte/word/signed word/dword/signed dword) 6 [phi:sin16sb::@9->mulu16_sel#1] -- vwuz1=vwuc1 lda #<$10000/6 sta mulu16_sel.v2 lda #>$10000/6 sta mulu16_sel.v2+1 - //SEG204 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#7 [phi:sin16sb::@9->mulu16_sel#2] -- register_copy + //SEG202 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#7 [phi:sin16sb::@9->mulu16_sel#2] -- register_copy jsr mulu16_sel - //SEG205 [96] (word) mulu16_sel::return#20 ← (word) mulu16_sel::return#17 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::return#20 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::return#20 ] ) -- vwuz1=vwuz2 + //SEG203 [96] (word) mulu16_sel::return#20 ← (word) mulu16_sel::return#17 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::return#20 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::return#20 ] ) -- vwuz1=vwuz2 lda mulu16_sel.return_17 sta mulu16_sel.return_20 lda mulu16_sel.return_17+1 sta mulu16_sel.return_20+1 jmp b10 - //SEG206 sin16sb::@10 + //SEG204 sin16sb::@10 b10: - //SEG207 [97] (word) sin16sb::x3_6#0 ← (word) mulu16_sel::return#20 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 sin16sb::x3_6#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 sin16sb::x3_6#0 ] ) -- vwuz1=vwuz2 + //SEG205 [97] (word) sin16sb::x3_6#0 ← (word) mulu16_sel::return#20 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 sin16sb::x3_6#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 sin16sb::x3_6#0 ] ) -- vwuz1=vwuz2 lda mulu16_sel.return_20 sta x3_6 lda mulu16_sel.return_20+1 sta x3_6+1 - //SEG208 [98] (word) sin16sb::usinx#0 ← (word) sin16sb::x1#0 - (word) sin16sb::x3_6#0 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 sin16sb::usinx#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 sin16sb::usinx#0 ] ) -- vwuz1=vwuz2_minus_vwuz3 + //SEG206 [98] (word) sin16sb::usinx#0 ← (word) sin16sb::x1#0 - (word) sin16sb::x3_6#0 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 sin16sb::usinx#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 sin16sb::usinx#0 ] ) -- vwuz1=vwuz2_minus_vwuz3 lda x1 sec sbc x3_6 @@ -7221,71 +7202,71 @@ sin16sb: { lda x1+1 sbc x3_6+1 sta usinx+1 - //SEG209 [99] (word) mulu16_sel::v1#8 ← (word) sin16sb::x3#0 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#8 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#8 ] ) -- vwuz1=vwuz2 + //SEG207 [99] (word) mulu16_sel::v1#8 ← (word) sin16sb::x3#0 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#8 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#8 ] ) -- vwuz1=vwuz2 lda x3 sta mulu16_sel.v1 lda x3+1 sta mulu16_sel.v1+1 - //SEG210 [100] (word) mulu16_sel::v2#8 ← (word) sin16sb::x1#0 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#8 mulu16_sel::v2#8 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#8 mulu16_sel::v2#8 ] ) -- vwuz1=vwuz2 + //SEG208 [100] (word) mulu16_sel::v2#8 ← (word) sin16sb::x1#0 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#8 mulu16_sel::v2#8 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#8 mulu16_sel::v2#8 ] ) -- vwuz1=vwuz2 lda x1 sta mulu16_sel.v2 lda x1+1 sta mulu16_sel.v2+1 - //SEG211 [101] call mulu16_sel param-assignment [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 sin16sb::usinx#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 sin16sb::usinx#0 ] ) - //SEG212 [116] phi from sin16sb::@10 to mulu16_sel [phi:sin16sb::@10->mulu16_sel] + //SEG209 [101] call mulu16_sel param-assignment [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 sin16sb::usinx#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 sin16sb::usinx#0 ] ) + //SEG210 [116] phi from sin16sb::@10 to mulu16_sel [phi:sin16sb::@10->mulu16_sel] mulu16_sel_from_b10: - //SEG213 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16sb::@10->mulu16_sel#0] -- vbuz1=vbuc1 + //SEG211 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16sb::@10->mulu16_sel#0] -- vbuz1=vbuc1 lda #0 sta mulu16_sel.select - //SEG214 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#8 [phi:sin16sb::@10->mulu16_sel#1] -- register_copy - //SEG215 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#8 [phi:sin16sb::@10->mulu16_sel#2] -- register_copy + //SEG212 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#8 [phi:sin16sb::@10->mulu16_sel#1] -- register_copy + //SEG213 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#8 [phi:sin16sb::@10->mulu16_sel#2] -- register_copy jsr mulu16_sel - //SEG216 [102] (word) mulu16_sel::return#10 ← (word) mulu16_sel::return#17 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::return#10 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::return#10 ] ) -- vwuz1=vwuz2 + //SEG214 [102] (word) mulu16_sel::return#10 ← (word) mulu16_sel::return#17 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::return#10 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::return#10 ] ) -- vwuz1=vwuz2 lda mulu16_sel.return_17 sta mulu16_sel.return_10 lda mulu16_sel.return_17+1 sta mulu16_sel.return_10+1 jmp b11 - //SEG217 sin16sb::@11 + //SEG215 sin16sb::@11 b11: - //SEG218 [103] (word) sin16sb::x4#0 ← (word) mulu16_sel::return#10 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 sin16sb::x4#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 sin16sb::x4#0 ] ) -- vwuz1=vwuz2 + //SEG216 [103] (word) sin16sb::x4#0 ← (word) mulu16_sel::return#10 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 sin16sb::x4#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 sin16sb::x4#0 ] ) -- vwuz1=vwuz2 lda mulu16_sel.return_10 sta x4 lda mulu16_sel.return_10+1 sta x4+1 - //SEG219 [104] (word) mulu16_sel::v1#9 ← (word) sin16sb::x4#0 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#9 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#9 ] ) -- vwuz1=vwuz2 + //SEG217 [104] (word) mulu16_sel::v1#9 ← (word) sin16sb::x4#0 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#9 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#9 ] ) -- vwuz1=vwuz2 lda x4 sta mulu16_sel.v1 lda x4+1 sta mulu16_sel.v1+1 - //SEG220 [105] (word) mulu16_sel::v2#9 ← (word) sin16sb::x1#0 [ sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::v1#9 mulu16_sel::v2#9 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::v1#9 mulu16_sel::v2#9 ] ) -- vwuz1=vwuz2 + //SEG218 [105] (word) mulu16_sel::v2#9 ← (word) sin16sb::x1#0 [ sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::v1#9 mulu16_sel::v2#9 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::v1#9 mulu16_sel::v2#9 ] ) -- vwuz1=vwuz2 lda x1 sta mulu16_sel.v2 lda x1+1 sta mulu16_sel.v2+1 - //SEG221 [106] call mulu16_sel param-assignment [ sin16sb::isUpper#2 mulu16_sel::return#17 sin16sb::usinx#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 mulu16_sel::return#17 sin16sb::usinx#0 ] ) - //SEG222 [116] phi from sin16sb::@11 to mulu16_sel [phi:sin16sb::@11->mulu16_sel] + //SEG219 [106] call mulu16_sel param-assignment [ sin16sb::isUpper#2 mulu16_sel::return#17 sin16sb::usinx#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 mulu16_sel::return#17 sin16sb::usinx#0 ] ) + //SEG220 [116] phi from sin16sb::@11 to mulu16_sel [phi:sin16sb::@11->mulu16_sel] mulu16_sel_from_b11: - //SEG223 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16sb::@11->mulu16_sel#0] -- vbuz1=vbuc1 + //SEG221 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16sb::@11->mulu16_sel#0] -- vbuz1=vbuc1 lda #0 sta mulu16_sel.select - //SEG224 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#9 [phi:sin16sb::@11->mulu16_sel#1] -- register_copy - //SEG225 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#9 [phi:sin16sb::@11->mulu16_sel#2] -- register_copy + //SEG222 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#9 [phi:sin16sb::@11->mulu16_sel#1] -- register_copy + //SEG223 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#9 [phi:sin16sb::@11->mulu16_sel#2] -- register_copy jsr mulu16_sel - //SEG226 [107] (word) mulu16_sel::return#11 ← (word) mulu16_sel::return#17 [ sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::return#11 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::return#11 ] ) -- vwuz1=vwuz2 + //SEG224 [107] (word) mulu16_sel::return#11 ← (word) mulu16_sel::return#17 [ sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::return#11 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::return#11 ] ) -- vwuz1=vwuz2 lda mulu16_sel.return_17 sta mulu16_sel.return_11 lda mulu16_sel.return_17+1 sta mulu16_sel.return_11+1 jmp b12 - //SEG227 sin16sb::@12 + //SEG225 sin16sb::@12 b12: - //SEG228 [108] (word) sin16sb::x5#0 ← (word) mulu16_sel::return#11 [ sin16sb::isUpper#2 sin16sb::usinx#0 sin16sb::x5#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 sin16sb::x5#0 ] ) -- vwuz1=vwuz2 + //SEG226 [108] (word) sin16sb::x5#0 ← (word) mulu16_sel::return#11 [ sin16sb::isUpper#2 sin16sb::usinx#0 sin16sb::x5#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 sin16sb::x5#0 ] ) -- vwuz1=vwuz2 lda mulu16_sel.return_11 sta x5 lda mulu16_sel.return_11+1 sta x5+1 - //SEG229 [109] (word) sin16sb::x5_128#0 ← (word) sin16sb::x5#0 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ sin16sb::isUpper#2 sin16sb::usinx#0 sin16sb::x5_128#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 sin16sb::x5_128#0 ] ) -- vwuz1=vwuz2_ror_4 + //SEG227 [109] (word) sin16sb::x5_128#0 ← (word) sin16sb::x5#0 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ sin16sb::isUpper#2 sin16sb::usinx#0 sin16sb::x5_128#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 sin16sb::x5_128#0 ] ) -- vwuz1=vwuz2_ror_4 lda x5+1 sta x5_128+1 lda x5 @@ -7296,7 +7277,7 @@ sin16sb: { ror x5_128 dey bne !- - //SEG230 [110] (word) sin16sb::usinx#1 ← (word) sin16sb::usinx#0 + (word) sin16sb::x5_128#0 [ sin16sb::isUpper#2 sin16sb::usinx#1 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#1 ] ) -- vwuz1=vwuz2_plus_vwuz3 + //SEG228 [110] (word) sin16sb::usinx#1 ← (word) sin16sb::usinx#0 + (word) sin16sb::x5_128#0 [ sin16sb::isUpper#2 sin16sb::usinx#1 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#1 ] ) -- vwuz1=vwuz2_plus_vwuz3 lda usinx_1 clc adc usinx @@ -7304,13 +7285,13 @@ sin16sb: { lda usinx_1+1 adc usinx+1 sta x5_128+1 - //SEG231 [111] if((byte) sin16sb::isUpper#2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto sin16sb::@15 [ sin16sb::usinx#1 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::usinx#1 ] ) -- vbuz1_eq_0_then_la1 + //SEG229 [111] if((byte) sin16sb::isUpper#2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto sin16sb::@15 [ sin16sb::usinx#1 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::usinx#1 ] ) -- vbuz1_eq_0_then_la1 lda isUpper beq b15 jmp b6 - //SEG232 sin16sb::@6 + //SEG230 sin16sb::@6 b6: - //SEG233 [112] (signed word) sin16sb::sinx#1 ← - (signed word)(word) sin16sb::usinx#1 [ sin16sb::sinx#1 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::sinx#1 ] ) -- vwsz1=_neg_vwsz2 + //SEG231 [112] (signed word) sin16sb::sinx#1 ← - (signed word)(word) sin16sb::usinx#1 [ sin16sb::sinx#1 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::sinx#1 ] ) -- vwsz1=_neg_vwsz2 sec lda usinx_1 eor #$ff @@ -7320,58 +7301,58 @@ sin16sb: { eor #$ff adc #0 sta sinx+1 - //SEG234 [113] phi from sin16sb::@15 sin16sb::@6 to sin16sb::@3 [phi:sin16sb::@15/sin16sb::@6->sin16sb::@3] + //SEG232 [113] phi from sin16sb::@15 sin16sb::@6 to sin16sb::@3 [phi:sin16sb::@15/sin16sb::@6->sin16sb::@3] b3_from_b15: b3_from_b6: - //SEG235 [113] phi (signed word) sin16sb::return#1 = (signed word~) sin16sb::return#5 [phi:sin16sb::@15/sin16sb::@6->sin16sb::@3#0] -- register_copy + //SEG233 [113] phi (signed word) sin16sb::return#1 = (signed word~) sin16sb::return#5 [phi:sin16sb::@15/sin16sb::@6->sin16sb::@3#0] -- register_copy jmp b3 - //SEG236 sin16sb::@3 + //SEG234 sin16sb::@3 b3: jmp breturn - //SEG237 sin16sb::@return + //SEG235 sin16sb::@return breturn: - //SEG238 [114] return [ sin16sb::return#1 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#1 ] ) + //SEG236 [114] return [ sin16sb::return#1 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#1 ] ) rts - //SEG239 sin16sb::@15 + //SEG237 sin16sb::@15 b15: - //SEG240 [115] (signed word~) sin16sb::return#5 ← (signed word)(word) sin16sb::usinx#1 [ sin16sb::return#5 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#5 ] ) -- vwsz1=vwsz2 + //SEG238 [115] (signed word~) sin16sb::return#5 ← (signed word)(word) sin16sb::usinx#1 [ sin16sb::return#5 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#5 ] ) -- vwsz1=vwsz2 lda usinx_1 sta return_5 lda usinx_1+1 sta return_5+1 jmp b3_from_b15 } -//SEG241 mulu16_sel +//SEG239 mulu16_sel mulu16_sel: { - .label _0 = $7d - .label _1 = $81 + .label _0 = $75 + .label _1 = $79 .label v1 = $1e .label v2 = $20 - .label return = $aa - .label return_1 = $ae - .label return_10 = $6b - .label return_11 = $6f - .label return_14 = $b2 - .label return_15 = $b8 - .label return_16 = $bc + .label return = $a2 + .label return_1 = $a6 + .label return_10 = $63 + .label return_11 = $67 + .label return_14 = $aa + .label return_15 = $b0 + .label return_16 = $b4 .label select = $22 - .label return_17 = $85 - .label return_18 = $5d - .label return_19 = $61 - .label return_20 = $65 - //SEG242 [117] (word) mul16u::a#1 ← (word) mulu16_sel::v1#10 [ mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] ) -- vwuz1=vwuz2 + .label return_17 = $7d + .label return_18 = $55 + .label return_19 = $59 + .label return_20 = $5d + //SEG240 [117] (word) mul16u::a#1 ← (word) mulu16_sel::v1#10 [ mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] ) -- vwuz1=vwuz2 lda v1 sta mul16u.a lda v1+1 sta mul16u.a+1 - //SEG243 [118] (word) mul16u::b#0 ← (word) mulu16_sel::v2#10 [ mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] ) -- vwuz1=vwuz2 + //SEG241 [118] (word) mul16u::b#0 ← (word) mulu16_sel::v2#10 [ mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] ) -- vwuz1=vwuz2 lda v2 sta mul16u.b lda v2+1 sta mul16u.b+1 - //SEG244 [119] call mul16u param-assignment [ mulu16_sel::select#10 mul16u::res#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] ) + //SEG242 [119] call mul16u param-assignment [ mulu16_sel::select#10 mul16u::res#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] ) jsr mul16u - //SEG245 [120] (dword) mul16u::return#2 ← (dword) mul16u::res#2 [ mulu16_sel::select#10 mul16u::return#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] ) -- vduz1=vduz2 + //SEG243 [120] (dword) mul16u::return#2 ← (dword) mul16u::res#2 [ mulu16_sel::select#10 mul16u::return#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] ) -- vduz1=vduz2 lda mul16u.res sta mul16u.return lda mul16u.res+1 @@ -7381,9 +7362,9 @@ mulu16_sel: { lda mul16u.res+3 sta mul16u.return+3 jmp b2 - //SEG246 mulu16_sel::@2 + //SEG244 mulu16_sel::@2 b2: - //SEG247 [121] (dword~) mulu16_sel::$0 ← (dword) mul16u::return#2 [ mulu16_sel::select#10 mulu16_sel::$0 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] ) -- vduz1=vduz2 + //SEG245 [121] (dword~) mulu16_sel::$0 ← (dword) mul16u::return#2 [ mulu16_sel::select#10 mulu16_sel::$0 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] ) -- vduz1=vduz2 lda mul16u.return sta _0 lda mul16u.return+1 @@ -7392,7 +7373,7 @@ mulu16_sel: { sta _0+2 lda mul16u.return+3 sta _0+3 - //SEG248 [122] (dword~) mulu16_sel::$1 ← (dword~) mulu16_sel::$0 << (byte) mulu16_sel::select#10 [ mulu16_sel::$1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::$1 ] ) -- vduz1=vduz2_rol_vbuz3 + //SEG246 [122] (dword~) mulu16_sel::$1 ← (dword~) mulu16_sel::$0 << (byte) mulu16_sel::select#10 [ mulu16_sel::$1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::$1 ] ) -- vduz1=vduz2_rol_vbuz3 lda _0 sta _1 lda _0+1 @@ -7411,26 +7392,26 @@ mulu16_sel: { dex bne !- !e: - //SEG249 [123] (word) mulu16_sel::return#17 ← > (dword~) mulu16_sel::$1 [ mulu16_sel::return#17 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#17 ] ) -- vwuz1=_hi_vduz2 + //SEG247 [123] (word) mulu16_sel::return#17 ← > (dword~) mulu16_sel::$1 [ mulu16_sel::return#17 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#17 ] ) -- vwuz1=_hi_vduz2 lda _1+2 sta return_17 lda _1+3 sta return_17+1 jmp breturn - //SEG250 mulu16_sel::@return + //SEG248 mulu16_sel::@return breturn: - //SEG251 [124] return [ mulu16_sel::return#17 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#17 ] ) + //SEG249 [124] return [ mulu16_sel::return#17 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#17 ] ) rts } -//SEG252 mul16u +//SEG250 mul16u mul16u: { - .label _1 = $87 + .label _1 = $7f .label mb = $29 .label a = $23 .label res = $25 - .label b = $77 - .label return = $79 - //SEG253 [125] (dword) mul16u::mb#0 ← ((dword)) (word) mul16u::b#0 [ mul16u::a#1 mul16u::mb#0 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] ) -- vduz1=_dword_vwuz2 + .label b = $6f + .label return = $71 + //SEG251 [125] (dword) mul16u::mb#0 ← ((dword)) (word) mul16u::b#0 [ mul16u::a#1 mul16u::mb#0 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] ) -- vduz1=_dword_vwuz2 lda b sta mb lda b+1 @@ -7438,43 +7419,43 @@ mul16u: { lda #0 sta mb+2 sta mb+3 - //SEG254 [126] phi from mul16u to mul16u::@1 [phi:mul16u->mul16u::@1] + //SEG252 [126] phi from mul16u to mul16u::@1 [phi:mul16u->mul16u::@1] b1_from_mul16u: - //SEG255 [126] phi (dword) mul16u::mb#2 = (dword) mul16u::mb#0 [phi:mul16u->mul16u::@1#0] -- register_copy - //SEG256 [126] phi (dword) mul16u::res#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mul16u->mul16u::@1#1] -- vduz1=vbuc1 + //SEG253 [126] phi (dword) mul16u::mb#2 = (dword) mul16u::mb#0 [phi:mul16u->mul16u::@1#0] -- register_copy + //SEG254 [126] phi (dword) mul16u::res#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mul16u->mul16u::@1#1] -- vduz1=vbuc1 lda #0 sta res lda #0 sta res+1 sta res+2 sta res+3 - //SEG257 [126] phi (word) mul16u::a#2 = (word) mul16u::a#1 [phi:mul16u->mul16u::@1#2] -- register_copy + //SEG255 [126] phi (word) mul16u::a#2 = (word) mul16u::a#1 [phi:mul16u->mul16u::@1#2] -- register_copy jmp b1 - //SEG258 mul16u::@1 + //SEG256 mul16u::@1 b1: - //SEG259 [127] if((word) mul16u::a#2!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul16u::@2 [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ) -- vwuz1_neq_0_then_la1 + //SEG257 [127] if((word) mul16u::a#2!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul16u::@2 [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ) -- vwuz1_neq_0_then_la1 lda a bne b2 lda a+1 bne b2 jmp breturn - //SEG260 mul16u::@return + //SEG258 mul16u::@return breturn: - //SEG261 [128] return [ mul16u::res#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] ) + //SEG259 [128] return [ mul16u::res#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] ) rts - //SEG262 mul16u::@2 + //SEG260 mul16u::@2 b2: - //SEG263 [129] (byte/word~) mul16u::$1 ← (word) mul16u::a#2 & (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] ) -- vbuz1=vwuz2_band_vbuc1 + //SEG261 [129] (byte/word~) mul16u::$1 ← (word) mul16u::a#2 & (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] ) -- vbuz1=vwuz2_band_vbuc1 lda a and #1 sta _1 - //SEG264 [130] if((byte/word~) mul16u::$1==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul16u::@4 [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ) -- vbuz1_eq_0_then_la1 + //SEG262 [130] if((byte/word~) mul16u::$1==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul16u::@4 [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ) -- vbuz1_eq_0_then_la1 lda _1 beq b4_from_b2 jmp b7 - //SEG265 mul16u::@7 + //SEG263 mul16u::@7 b7: - //SEG266 [131] (dword) mul16u::res#1 ← (dword) mul16u::res#2 + (dword) mul16u::mb#2 [ mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] ) -- vduz1=vduz1_plus_vduz2 + //SEG264 [131] (dword) mul16u::res#1 ← (dword) mul16u::res#2 + (dword) mul16u::mb#2 [ mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] ) -- vduz1=vduz1_plus_vduz2 lda res clc adc mb @@ -7488,108 +7469,92 @@ mul16u: { lda res+3 adc mb+3 sta res+3 - //SEG267 [132] phi from mul16u::@2 mul16u::@7 to mul16u::@4 [phi:mul16u::@2/mul16u::@7->mul16u::@4] + //SEG265 [132] phi from mul16u::@2 mul16u::@7 to mul16u::@4 [phi:mul16u::@2/mul16u::@7->mul16u::@4] b4_from_b2: b4_from_b7: - //SEG268 [132] phi (dword) mul16u::res#6 = (dword) mul16u::res#2 [phi:mul16u::@2/mul16u::@7->mul16u::@4#0] -- register_copy + //SEG266 [132] phi (dword) mul16u::res#6 = (dword) mul16u::res#2 [phi:mul16u::@2/mul16u::@7->mul16u::@4#0] -- register_copy jmp b4 - //SEG269 mul16u::@4 + //SEG267 mul16u::@4 b4: - //SEG270 [133] (word) mul16u::a#0 ← (word) mul16u::a#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] ) -- vwuz1=vwuz1_ror_1 + //SEG268 [133] (word) mul16u::a#0 ← (word) mul16u::a#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] ) -- vwuz1=vwuz1_ror_1 clc ror a+1 ror a - //SEG271 [134] (dword) mul16u::mb#1 ← (dword) mul16u::mb#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] ) -- vduz1=vduz1_rol_1 + //SEG269 [134] (dword) mul16u::mb#1 ← (dword) mul16u::mb#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] ) -- vduz1=vduz1_rol_1 asl mb rol mb+1 rol mb+2 rol mb+3 - //SEG272 [126] phi from mul16u::@4 to mul16u::@1 [phi:mul16u::@4->mul16u::@1] + //SEG270 [126] phi from mul16u::@4 to mul16u::@1 [phi:mul16u::@4->mul16u::@1] b1_from_b4: - //SEG273 [126] phi (dword) mul16u::mb#2 = (dword) mul16u::mb#1 [phi:mul16u::@4->mul16u::@1#0] -- register_copy - //SEG274 [126] phi (dword) mul16u::res#2 = (dword) mul16u::res#6 [phi:mul16u::@4->mul16u::@1#1] -- register_copy - //SEG275 [126] phi (word) mul16u::a#2 = (word) mul16u::a#0 [phi:mul16u::@4->mul16u::@1#2] -- register_copy + //SEG271 [126] phi (dword) mul16u::mb#2 = (dword) mul16u::mb#1 [phi:mul16u::@4->mul16u::@1#0] -- register_copy + //SEG272 [126] phi (dword) mul16u::res#2 = (dword) mul16u::res#6 [phi:mul16u::@4->mul16u::@1#1] -- register_copy + //SEG273 [126] phi (word) mul16u::a#2 = (word) mul16u::a#0 [phi:mul16u::@4->mul16u::@1#2] -- register_copy jmp b1 } -//SEG276 div32u16u +//SEG274 div32u16u div32u16u: { - .label quotient_hi = $8a - .label quotient_lo = $8e - .label return = $90 - .label return_2 = $98 - .label return_3 = $4f - .label dividend = $2d - .label divisor = $31 - //SEG277 [136] (word) divr16u::dividend#1 ← > (dword) div32u16u::dividend#2 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 ] ) -- vwuz1=_hi_vduz2 - lda dividend+2 - sta divr16u.dividend - lda dividend+3 - sta divr16u.dividend+1 - //SEG278 [137] (word) divr16u::divisor#0 ← (word) div32u16u::divisor#2 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 divr16u::divisor#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 divr16u::divisor#0 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 divr16u::divisor#0 ] ) -- vwuz1=vwuz2 - lda divisor - sta divr16u.divisor - lda divisor+1 - sta divr16u.divisor+1 - //SEG279 [138] call divr16u param-assignment [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#0 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#0 rem16u#1 ] ) - //SEG280 [149] phi from div32u16u to divr16u [phi:div32u16u->divr16u] + .label quotient_hi = $82 + .label quotient_lo = $86 + .label return = $88 + .label return_2 = $90 + .label return_3 = $47 + //SEG275 [136] call divr16u param-assignment [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:164 [ divr16u::return#0 rem16u#1 ] ) + //SEG276 [145] phi from div32u16u to divr16u [phi:div32u16u->divr16u] divr16u_from_div32u16u: - //SEG281 [149] phi (word) divr16u::divisor#6 = (word) divr16u::divisor#0 [phi:div32u16u->divr16u#0] -- register_copy - //SEG282 [149] phi (word) divr16u::dividend#5 = (word) divr16u::dividend#1 [phi:div32u16u->divr16u#1] -- register_copy - //SEG283 [149] phi (word) divr16u::rem#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:div32u16u->divr16u#2] -- vwuz1=vbuc1 + //SEG277 [145] phi (word) divr16u::dividend#5 = >(const dword) PI2_u4f28#0 [phi:div32u16u->divr16u#0] -- vwuz1=vwuc1 + lda #>$10 + sta divr16u.dividend + lda #>PI2_u4f28>>$10 + sta divr16u.dividend+1 + //SEG278 [145] phi (word) divr16u::rem#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:div32u16u->divr16u#1] -- vwuz1=vbuc1 lda #<0 sta divr16u.rem lda #>0 sta divr16u.rem+1 jsr divr16u - //SEG284 [139] (word) divr16u::return#2 ← (word) divr16u::return#0 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#2 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#2 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#2 rem16u#1 ] ) -- vwuz1=vwuz2 + //SEG279 [137] (word) divr16u::return#2 ← (word) divr16u::return#0 [ divr16u::return#2 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ divr16u::return#2 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:164 [ divr16u::return#2 rem16u#1 ] ) -- vwuz1=vwuz2 lda divr16u.return sta divr16u.return_2 lda divr16u.return+1 sta divr16u.return_2+1 jmp b2 - //SEG285 div32u16u::@2 + //SEG280 div32u16u::@2 b2: - //SEG286 [140] (word) div32u16u::quotient_hi#0 ← (word) divr16u::return#2 [ div32u16u::dividend#2 div32u16u::divisor#2 div32u16u::quotient_hi#0 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 div32u16u::quotient_hi#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::dividend#2 div32u16u::divisor#2 div32u16u::quotient_hi#0 rem16u#1 ] ) -- vwuz1=vwuz2 + //SEG281 [138] (word) div32u16u::quotient_hi#0 ← (word) divr16u::return#2 [ div32u16u::quotient_hi#0 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::quotient_hi#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:164 [ div32u16u::quotient_hi#0 rem16u#1 ] ) -- vwuz1=vwuz2 lda divr16u.return_2 sta quotient_hi lda divr16u.return_2+1 sta quotient_hi+1 - //SEG287 [141] (word) divr16u::dividend#2 ← < (dword) div32u16u::dividend#2 [ div32u16u::divisor#2 div32u16u::quotient_hi#0 divr16u::dividend#2 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::divisor#2 div32u16u::quotient_hi#0 divr16u::dividend#2 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::divisor#2 div32u16u::quotient_hi#0 divr16u::dividend#2 rem16u#1 ] ) -- vwuz1=_lo_vduz2 - lda dividend - sta divr16u.dividend - lda dividend+1 - sta divr16u.dividend+1 - //SEG288 [142] (word) divr16u::divisor#1 ← (word) div32u16u::divisor#2 [ div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 rem16u#1 ] ) -- vwuz1=vwuz2 - lda divisor - sta divr16u.divisor - lda divisor+1 - sta divr16u.divisor+1 - //SEG289 [143] (word) divr16u::rem#4 ← (word) rem16u#1 [ div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 divr16u::rem#4 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 divr16u::rem#4 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 divr16u::rem#4 ] ) -- vwuz1=vwuz2 + //SEG282 [139] (word) divr16u::rem#4 ← (word) rem16u#1 [ div32u16u::quotient_hi#0 divr16u::rem#4 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::quotient_hi#0 divr16u::rem#4 ] main:2::sin16s_gen:5::div32u16u:164 [ div32u16u::quotient_hi#0 divr16u::rem#4 ] ) -- vwuz1=vwuz2 lda rem16u sta divr16u.rem lda rem16u+1 sta divr16u.rem+1 - //SEG290 [144] call divr16u param-assignment [ divr16u::return#0 div32u16u::quotient_hi#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ divr16u::return#0 div32u16u::quotient_hi#0 ] main:2::sin16s_gen:5::div32u16u:168 [ divr16u::return#0 div32u16u::quotient_hi#0 ] ) - //SEG291 [149] phi from div32u16u::@2 to divr16u [phi:div32u16u::@2->divr16u] + //SEG283 [140] call divr16u param-assignment [ divr16u::return#0 div32u16u::quotient_hi#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ divr16u::return#0 div32u16u::quotient_hi#0 ] main:2::sin16s_gen:5::div32u16u:164 [ divr16u::return#0 div32u16u::quotient_hi#0 ] ) + //SEG284 [145] phi from div32u16u::@2 to divr16u [phi:div32u16u::@2->divr16u] divr16u_from_b2: - //SEG292 [149] phi (word) divr16u::divisor#6 = (word) divr16u::divisor#1 [phi:div32u16u::@2->divr16u#0] -- register_copy - //SEG293 [149] phi (word) divr16u::dividend#5 = (word) divr16u::dividend#2 [phi:div32u16u::@2->divr16u#1] -- register_copy - //SEG294 [149] phi (word) divr16u::rem#10 = (word) divr16u::rem#4 [phi:div32u16u::@2->divr16u#2] -- register_copy + //SEG285 [145] phi (word) divr16u::dividend#5 = <(const dword) PI2_u4f28#0 [phi:div32u16u::@2->divr16u#0] -- vwuz1=vwuc1 + lda #PI2_u4f28&$ffff + sta divr16u.dividend+1 + //SEG286 [145] phi (word) divr16u::rem#10 = (word) divr16u::rem#4 [phi:div32u16u::@2->divr16u#1] -- register_copy jsr divr16u - //SEG295 [145] (word) divr16u::return#3 ← (word) divr16u::return#0 [ div32u16u::quotient_hi#0 divr16u::return#3 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::quotient_hi#0 divr16u::return#3 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::quotient_hi#0 divr16u::return#3 ] ) -- vwuz1=vwuz2 + //SEG287 [141] (word) divr16u::return#3 ← (word) divr16u::return#0 [ div32u16u::quotient_hi#0 divr16u::return#3 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::quotient_hi#0 divr16u::return#3 ] main:2::sin16s_gen:5::div32u16u:164 [ div32u16u::quotient_hi#0 divr16u::return#3 ] ) -- vwuz1=vwuz2 lda divr16u.return sta divr16u.return_3 lda divr16u.return+1 sta divr16u.return_3+1 jmp b3 - //SEG296 div32u16u::@3 + //SEG288 div32u16u::@3 b3: - //SEG297 [146] (word) div32u16u::quotient_lo#0 ← (word) divr16u::return#3 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ) -- vwuz1=vwuz2 + //SEG289 [142] (word) div32u16u::quotient_lo#0 ← (word) divr16u::return#3 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] main:2::sin16s_gen:5::div32u16u:164 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ) -- vwuz1=vwuz2 lda divr16u.return_3 sta quotient_lo lda divr16u.return_3+1 sta quotient_lo+1 - //SEG298 [147] (dword) div32u16u::return#0 ← (word) div32u16u::quotient_hi#0 dw= (word) div32u16u::quotient_lo#0 [ div32u16u::return#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::return#0 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::return#0 ] ) -- vduz1=vwuz2_dword_vwuz3 + //SEG290 [143] (dword) div32u16u::return#0 ← (word) div32u16u::quotient_hi#0 dw= (word) div32u16u::quotient_lo#0 [ div32u16u::return#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::return#0 ] main:2::sin16s_gen:5::div32u16u:164 [ div32u16u::return#0 ] ) -- vduz1=vwuz2_dword_vwuz3 lda quotient_hi sta return+2 lda quotient_hi+1 @@ -7599,157 +7564,142 @@ div32u16u: { lda quotient_lo+1 sta return+1 jmp breturn - //SEG299 div32u16u::@return + //SEG291 div32u16u::@return breturn: - //SEG300 [148] return [ div32u16u::return#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::return#0 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::return#0 ] ) + //SEG292 [144] return [ div32u16u::return#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::return#0 ] main:2::sin16s_gen:5::div32u16u:164 [ div32u16u::return#0 ] ) rts } -//SEG301 divr16u +//SEG293 divr16u divr16u: { - .label _1 = $94 - .label _2 = $95 - .label rem = $35 - .label dividend = $37 - .label quotient = $39 - .label i = $3b - .label return = $39 - .label divisor = $33 - .label return_2 = $88 - .label return_3 = $8c - //SEG302 [150] phi from divr16u to divr16u::@1 [phi:divr16u->divr16u::@1] + .label _1 = $8c + .label _2 = $8d + .label rem = $2d + .label dividend = $2f + .label quotient = $31 + .label i = $33 + .label return = $31 + .label return_2 = $80 + .label return_3 = $84 + //SEG294 [146] phi from divr16u to divr16u::@1 [phi:divr16u->divr16u::@1] b1_from_divr16u: - //SEG303 [150] phi (byte) divr16u::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#0] -- vbuz1=vbuc1 + //SEG295 [146] phi (byte) divr16u::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#0] -- vbuz1=vbuc1 lda #0 sta i - //SEG304 [150] phi (word) divr16u::quotient#3 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#1] -- vwuz1=vbuc1 + //SEG296 [146] phi (word) divr16u::quotient#3 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#1] -- vwuz1=vbuc1 lda #<0 sta quotient lda #>0 sta quotient+1 - //SEG305 [150] phi (word) divr16u::dividend#3 = (word) divr16u::dividend#5 [phi:divr16u->divr16u::@1#2] -- register_copy - //SEG306 [150] phi (word) divr16u::rem#5 = (word) divr16u::rem#10 [phi:divr16u->divr16u::@1#3] -- register_copy + //SEG297 [146] phi (word) divr16u::dividend#3 = (word) divr16u::dividend#5 [phi:divr16u->divr16u::@1#2] -- register_copy + //SEG298 [146] phi (word) divr16u::rem#5 = (word) divr16u::rem#10 [phi:divr16u->divr16u::@1#3] -- register_copy jmp b1 - //SEG307 [150] phi from divr16u::@3 to divr16u::@1 [phi:divr16u::@3->divr16u::@1] + //SEG299 [146] phi from divr16u::@3 to divr16u::@1 [phi:divr16u::@3->divr16u::@1] b1_from_b3: - //SEG308 [150] phi (byte) divr16u::i#2 = (byte) divr16u::i#1 [phi:divr16u::@3->divr16u::@1#0] -- register_copy - //SEG309 [150] phi (word) divr16u::quotient#3 = (word) divr16u::return#0 [phi:divr16u::@3->divr16u::@1#1] -- register_copy - //SEG310 [150] phi (word) divr16u::dividend#3 = (word) divr16u::dividend#0 [phi:divr16u::@3->divr16u::@1#2] -- register_copy - //SEG311 [150] phi (word) divr16u::rem#5 = (word) divr16u::rem#11 [phi:divr16u::@3->divr16u::@1#3] -- register_copy + //SEG300 [146] phi (byte) divr16u::i#2 = (byte) divr16u::i#1 [phi:divr16u::@3->divr16u::@1#0] -- register_copy + //SEG301 [146] phi (word) divr16u::quotient#3 = (word) divr16u::return#0 [phi:divr16u::@3->divr16u::@1#1] -- register_copy + //SEG302 [146] phi (word) divr16u::dividend#3 = (word) divr16u::dividend#0 [phi:divr16u::@3->divr16u::@1#2] -- register_copy + //SEG303 [146] phi (word) divr16u::rem#5 = (word) divr16u::rem#11 [phi:divr16u::@3->divr16u::@1#3] -- register_copy jmp b1 - //SEG312 divr16u::@1 + //SEG304 divr16u::@1 b1: - //SEG313 [151] (word) divr16u::rem#0 ← (word) divr16u::rem#5 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) -- vwuz1=vwuz1_rol_1 + //SEG305 [147] (word) divr16u::rem#0 ← (word) divr16u::rem#5 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) -- vwuz1=vwuz1_rol_1 asl rem rol rem+1 - //SEG314 [152] (byte~) divr16u::$1 ← > (word) divr16u::dividend#3 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) -- vbuz1=_hi_vwuz2 + //SEG306 [148] (byte~) divr16u::$1 ← > (word) divr16u::dividend#3 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) -- vbuz1=_hi_vwuz2 lda dividend+1 sta _1 - //SEG315 [153] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) -- vbuz1=vbuz2_band_vbuc1 + //SEG307 [149] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) -- vbuz1=vbuz2_band_vbuc1 lda #$80 and _1 sta _2 - //SEG316 [154] if((byte~) divr16u::$2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto divr16u::@2 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) -- vbuz1_eq_0_then_la1 + //SEG308 [150] if((byte~) divr16u::$2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto divr16u::@2 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) -- vbuz1_eq_0_then_la1 lda _2 beq b2_from_b1 jmp b4 - //SEG317 divr16u::@4 + //SEG309 divr16u::@4 b4: - //SEG318 [155] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) -- vwuz1=vwuz1_bor_vbuc1 + //SEG310 [151] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) -- vwuz1=vwuz1_bor_vbuc1 lda #1 ora rem sta rem - //SEG319 [156] phi from divr16u::@1 divr16u::@4 to divr16u::@2 [phi:divr16u::@1/divr16u::@4->divr16u::@2] + //SEG311 [152] phi from divr16u::@1 divr16u::@4 to divr16u::@2 [phi:divr16u::@1/divr16u::@4->divr16u::@2] b2_from_b1: b2_from_b4: - //SEG320 [156] phi (word) divr16u::rem#6 = (word) divr16u::rem#0 [phi:divr16u::@1/divr16u::@4->divr16u::@2#0] -- register_copy + //SEG312 [152] phi (word) divr16u::rem#6 = (word) divr16u::rem#0 [phi:divr16u::@1/divr16u::@4->divr16u::@2#0] -- register_copy jmp b2 - //SEG321 divr16u::@2 + //SEG313 divr16u::@2 b2: - //SEG322 [157] (word) divr16u::dividend#0 ← (word) divr16u::dividend#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ) -- vwuz1=vwuz1_rol_1 + //SEG314 [153] (word) divr16u::dividend#0 ← (word) divr16u::dividend#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ) -- vwuz1=vwuz1_rol_1 asl dividend rol dividend+1 - //SEG323 [158] (word) divr16u::quotient#1 ← (word) divr16u::quotient#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) -- vwuz1=vwuz1_rol_1 + //SEG315 [154] (word) divr16u::quotient#1 ← (word) divr16u::quotient#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) -- vwuz1=vwuz1_rol_1 asl quotient rol quotient+1 - //SEG324 [159] if((word) divr16u::rem#6<(word) divr16u::divisor#6) goto divr16u::@3 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) -- vwuz1_lt_vwuz2_then_la1 + //SEG316 [155] if((word) divr16u::rem#6<(const word) main::wavelength#0) goto divr16u::@3 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) -- vwuz1_lt_vwuc1_then_la1 lda rem+1 - cmp divisor+1 + cmp #>main.wavelength bcc b3_from_b2 bne !+ lda rem - cmp divisor + cmp #main.wavelength sta rem+1 - //SEG328 [162] phi from divr16u::@2 divr16u::@5 to divr16u::@3 [phi:divr16u::@2/divr16u::@5->divr16u::@3] + //SEG320 [158] phi from divr16u::@2 divr16u::@5 to divr16u::@3 [phi:divr16u::@2/divr16u::@5->divr16u::@3] b3_from_b2: b3_from_b5: - //SEG329 [162] phi (word) divr16u::return#0 = (word) divr16u::quotient#1 [phi:divr16u::@2/divr16u::@5->divr16u::@3#0] -- register_copy - //SEG330 [162] phi (word) divr16u::rem#11 = (word) divr16u::rem#6 [phi:divr16u::@2/divr16u::@5->divr16u::@3#1] -- register_copy + //SEG321 [158] phi (word) divr16u::return#0 = (word) divr16u::quotient#1 [phi:divr16u::@2/divr16u::@5->divr16u::@3#0] -- register_copy + //SEG322 [158] phi (word) divr16u::rem#11 = (word) divr16u::rem#6 [phi:divr16u::@2/divr16u::@5->divr16u::@3#1] -- register_copy jmp b3 - //SEG331 divr16u::@3 + //SEG323 divr16u::@3 b3: - //SEG332 [163] (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2 [ divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ) -- vbuz1=_inc_vbuz1 + //SEG324 [159] (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2 [ divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ) -- vbuz1=_inc_vbuz1 inc i - //SEG333 [164] if((byte) divr16u::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto divr16u::@1 [ divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ) -- vbuz1_neq_vbuc1_then_la1 + //SEG325 [160] if((byte) divr16u::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto divr16u::@1 [ divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ) -- vbuz1_neq_vbuc1_then_la1 lda i cmp #$10 bne b1_from_b3 jmp b6 - //SEG334 divr16u::@6 + //SEG326 divr16u::@6 b6: - //SEG335 [165] (word) rem16u#1 ← (word) divr16u::rem#11 [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#0 rem16u#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] ) -- vwuz1=vwuz2 + //SEG327 [161] (word) rem16u#1 ← (word) divr16u::rem#11 [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::return#0 rem16u#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] ) -- vwuz1=vwuz2 lda rem sta rem16u lda rem+1 sta rem16u+1 jmp breturn - //SEG336 divr16u::@return + //SEG328 divr16u::@return breturn: - //SEG337 [166] return [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#0 rem16u#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] ) + //SEG329 [162] return [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::return#0 rem16u#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] ) rts } -//SEG338 sin16s_gen +//SEG330 sin16s_gen sin16s_gen: { - .label _1 = $a2 - .label step = $9c - .label sintab = $40 - .label x = $3c - .label i = $42 - //SEG339 [168] call div32u16u param-assignment [ div32u16u::return#0 ] ( main:2::sin16s_gen:5 [ div32u16u::return#0 ] ) - //SEG340 [135] phi from sin16s_gen to div32u16u [phi:sin16s_gen->div32u16u] + .label _1 = $9a + .label step = $94 + .label sintab = $38 + .label x = $34 + .label i = $3a + //SEG331 [164] call div32u16u param-assignment [ div32u16u::return#0 ] ( main:2::sin16s_gen:5 [ div32u16u::return#0 ] ) + //SEG332 [135] phi from sin16s_gen to div32u16u [phi:sin16s_gen->div32u16u] div32u16u_from_sin16s_gen: - //SEG341 [135] phi (word) div32u16u::divisor#2 = (const word) main::wavelength#0 [phi:sin16s_gen->div32u16u#0] -- vwuz1=vwuc1 - lda #main.wavelength - sta div32u16u.divisor+1 - //SEG342 [135] phi (dword) div32u16u::dividend#2 = (const dword) PI2_u4f28#0 [phi:sin16s_gen->div32u16u#1] -- vduz1=vduc1 - lda #PI2_u4f28 - sta div32u16u.dividend+1 - lda #>$10 - sta div32u16u.dividend+2 - lda #>PI2_u4f28>>$10 - sta div32u16u.dividend+3 jsr div32u16u - //SEG343 [169] (dword) div32u16u::return#2 ← (dword) div32u16u::return#0 [ div32u16u::return#2 ] ( main:2::sin16s_gen:5 [ div32u16u::return#2 ] ) -- vduz1=vduz2 + //SEG333 [165] (dword) div32u16u::return#2 ← (dword) div32u16u::return#0 [ div32u16u::return#2 ] ( main:2::sin16s_gen:5 [ div32u16u::return#2 ] ) -- vduz1=vduz2 lda div32u16u.return sta div32u16u.return_2 lda div32u16u.return+1 @@ -7759,9 +7709,9 @@ sin16s_gen: { lda div32u16u.return+3 sta div32u16u.return_2+3 jmp b3 - //SEG344 sin16s_gen::@3 + //SEG334 sin16s_gen::@3 b3: - //SEG345 [170] (dword) sin16s_gen::step#0 ← (dword) div32u16u::return#2 [ sin16s_gen::step#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 ] ) -- vduz1=vduz2 + //SEG335 [166] (dword) sin16s_gen::step#0 ← (dword) div32u16u::return#2 [ sin16s_gen::step#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 ] ) -- vduz1=vduz2 lda div32u16u.return_2 sta step lda div32u16u.return_2+1 @@ -7770,19 +7720,19 @@ sin16s_gen: { sta step+2 lda div32u16u.return_2+3 sta step+3 - //SEG346 [171] phi from sin16s_gen::@3 to sin16s_gen::@1 [phi:sin16s_gen::@3->sin16s_gen::@1] + //SEG336 [167] phi from sin16s_gen::@3 to sin16s_gen::@1 [phi:sin16s_gen::@3->sin16s_gen::@1] b1_from_b3: - //SEG347 [171] phi (word) sin16s_gen::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s_gen::@3->sin16s_gen::@1#0] -- vwuz1=vbuc1 + //SEG337 [167] phi (word) sin16s_gen::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s_gen::@3->sin16s_gen::@1#0] -- vwuz1=vbuc1 lda #<0 sta i lda #>0 sta i+1 - //SEG348 [171] phi (signed word*) sin16s_gen::sintab#2 = (const signed word[120]) main::sintab1#0 [phi:sin16s_gen::@3->sin16s_gen::@1#1] -- pwsz1=pwsc1 + //SEG338 [167] phi (signed word*) sin16s_gen::sintab#2 = (const signed word[120]) main::sintab1#0 [phi:sin16s_gen::@3->sin16s_gen::@1#1] -- pwsz1=pwsc1 lda #main.sintab1 sta sintab+1 - //SEG349 [171] phi (dword) sin16s_gen::x#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s_gen::@3->sin16s_gen::@1#2] -- vduz1=vbuc1 + //SEG339 [167] phi (dword) sin16s_gen::x#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s_gen::@3->sin16s_gen::@1#2] -- vduz1=vbuc1 lda #0 sta x lda #0 @@ -7790,15 +7740,15 @@ sin16s_gen: { sta x+2 sta x+3 jmp b1 - //SEG350 [171] phi from sin16s_gen::@4 to sin16s_gen::@1 [phi:sin16s_gen::@4->sin16s_gen::@1] + //SEG340 [167] phi from sin16s_gen::@4 to sin16s_gen::@1 [phi:sin16s_gen::@4->sin16s_gen::@1] b1_from_b4: - //SEG351 [171] phi (word) sin16s_gen::i#2 = (word) sin16s_gen::i#1 [phi:sin16s_gen::@4->sin16s_gen::@1#0] -- register_copy - //SEG352 [171] phi (signed word*) sin16s_gen::sintab#2 = (signed word*) sin16s_gen::sintab#0 [phi:sin16s_gen::@4->sin16s_gen::@1#1] -- register_copy - //SEG353 [171] phi (dword) sin16s_gen::x#2 = (dword) sin16s_gen::x#1 [phi:sin16s_gen::@4->sin16s_gen::@1#2] -- register_copy + //SEG341 [167] phi (word) sin16s_gen::i#2 = (word) sin16s_gen::i#1 [phi:sin16s_gen::@4->sin16s_gen::@1#0] -- register_copy + //SEG342 [167] phi (signed word*) sin16s_gen::sintab#2 = (signed word*) sin16s_gen::sintab#0 [phi:sin16s_gen::@4->sin16s_gen::@1#1] -- register_copy + //SEG343 [167] phi (dword) sin16s_gen::x#2 = (dword) sin16s_gen::x#1 [phi:sin16s_gen::@4->sin16s_gen::@1#2] -- register_copy jmp b1 - //SEG354 sin16s_gen::@1 + //SEG344 sin16s_gen::@1 b1: - //SEG355 [172] (dword) sin16s::x#0 ← (dword) sin16s_gen::x#2 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#0 ] ) -- vduz1=vduz2 + //SEG345 [168] (dword) sin16s::x#0 ← (dword) sin16s_gen::x#2 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#0 ] ) -- vduz1=vduz2 lda x sta sin16s.x lda x+1 @@ -7807,29 +7757,29 @@ sin16s_gen: { sta sin16s.x+2 lda x+3 sta sin16s.x+3 - //SEG356 [173] call sin16s param-assignment [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#1 ] ) + //SEG346 [169] call sin16s param-assignment [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#1 ] ) jsr sin16s - //SEG357 [174] (signed word) sin16s::return#0 ← (signed word) sin16s::return#1 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#0 ] ) -- vwsz1=vwsz2 + //SEG347 [170] (signed word) sin16s::return#0 ← (signed word) sin16s::return#1 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#0 ] ) -- vwsz1=vwsz2 lda sin16s.return_1 sta sin16s.return lda sin16s.return_1+1 sta sin16s.return+1 jmp b4 - //SEG358 sin16s_gen::@4 + //SEG348 sin16s_gen::@4 b4: - //SEG359 [175] (signed word~) sin16s_gen::$1 ← (signed word) sin16s::return#0 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s_gen::$1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s_gen::$1 ] ) -- vwsz1=vwsz2 + //SEG349 [171] (signed word~) sin16s_gen::$1 ← (signed word) sin16s::return#0 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s_gen::$1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s_gen::$1 ] ) -- vwsz1=vwsz2 lda sin16s.return sta _1 lda sin16s.return+1 sta _1+1 - //SEG360 [176] *((signed word*) sin16s_gen::sintab#2) ← (signed word~) sin16s_gen::$1 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ) -- _deref_pwsz1=vwsz2 + //SEG350 [172] *((signed word*) sin16s_gen::sintab#2) ← (signed word~) sin16s_gen::$1 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ) -- _deref_pwsz1=vwsz2 ldy #0 lda _1 sta (sintab),y iny lda _1+1 sta (sintab),y - //SEG361 [177] (signed word*) sin16s_gen::sintab#0 ← (signed word*) sin16s_gen::sintab#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::i#2 sin16s_gen::sintab#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::i#2 sin16s_gen::sintab#0 ] ) -- pwsz1=pwsz1_plus_2 + //SEG351 [173] (signed word*) sin16s_gen::sintab#0 ← (signed word*) sin16s_gen::sintab#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::i#2 sin16s_gen::sintab#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::i#2 sin16s_gen::sintab#0 ] ) -- pwsz1=pwsz1_plus_2 lda sintab clc adc #2 @@ -7837,7 +7787,7 @@ sin16s_gen: { bcc !+ inc sintab+1 !: - //SEG362 [178] (dword) sin16s_gen::x#1 ← (dword) sin16s_gen::x#2 + (dword) sin16s_gen::step#0 [ sin16s_gen::step#0 sin16s_gen::i#2 sin16s_gen::x#1 sin16s_gen::sintab#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::i#2 sin16s_gen::x#1 sin16s_gen::sintab#0 ] ) -- vduz1=vduz1_plus_vduz2 + //SEG352 [174] (dword) sin16s_gen::x#1 ← (dword) sin16s_gen::x#2 + (dword) sin16s_gen::step#0 [ sin16s_gen::step#0 sin16s_gen::i#2 sin16s_gen::x#1 sin16s_gen::sintab#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::i#2 sin16s_gen::x#1 sin16s_gen::sintab#0 ] ) -- vduz1=vduz1_plus_vduz2 lda x clc adc step @@ -7851,12 +7801,12 @@ sin16s_gen: { lda x+3 adc step+3 sta x+3 - //SEG363 [179] (word) sin16s_gen::i#1 ← ++ (word) sin16s_gen::i#2 [ sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ) -- vwuz1=_inc_vwuz1 + //SEG353 [175] (word) sin16s_gen::i#1 ← ++ (word) sin16s_gen::i#2 [ sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ) -- vwuz1=_inc_vwuz1 inc i bne !+ inc i+1 !: - //SEG364 [180] if((word) sin16s_gen::i#1<(const word) main::wavelength#0) goto sin16s_gen::@1 [ sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ) -- vwuz1_lt_vwuc1_then_la1 + //SEG354 [176] if((word) sin16s_gen::i#1<(const word) main::wavelength#0) goto sin16s_gen::@1 [ sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ) -- vwuz1_lt_vwuc1_then_la1 lda i+1 cmp #>main.wavelength bcc b1_from_b4 @@ -7866,30 +7816,30 @@ sin16s_gen: { bcc b1_from_b4 !: jmp breturn - //SEG365 sin16s_gen::@return + //SEG355 sin16s_gen::@return breturn: - //SEG366 [181] return [ ] ( main:2::sin16s_gen:5 [ ] ) + //SEG356 [177] return [ ] ( main:2::sin16s_gen:5 [ ] ) rts } -//SEG367 sin16s +//SEG357 sin16s sin16s: { - .label _6 = $a4 - .label x = $45 - .label return = $a0 - .label x1 = $a8 - .label x2 = $ac - .label x3 = $b0 - .label x3_6 = $b4 - .label usinx = $b6 - .label x4 = $ba - .label x5 = $be - .label x5_128 = $c0 - .label usinx_1 = $c2 - .label return_1 = $49 - .label sinx = $49 - .label isUpper = $44 - .label return_5 = $49 - //SEG368 [182] if((dword) sin16s::x#0<(const dword) PI_u4f28#0) goto sin16s::@1 [ sin16s::x#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#0 ] ) -- vduz1_lt_vduc1_then_la1 + .label _6 = $9c + .label x = $3d + .label return = $98 + .label x1 = $a0 + .label x2 = $a4 + .label x3 = $a8 + .label x3_6 = $ac + .label usinx = $ae + .label x4 = $b2 + .label x5 = $b6 + .label x5_128 = $b8 + .label usinx_1 = $ba + .label return_1 = $41 + .label sinx = $41 + .label isUpper = $3c + .label return_5 = $41 + //SEG358 [178] if((dword) sin16s::x#0<(const dword) PI_u4f28#0) goto sin16s::@1 [ sin16s::x#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#0 ] ) -- vduz1_lt_vduc1_then_la1 lda x+3 cmp #>PI_u4f28>>$10 bcc b1_from_sin16s @@ -7907,9 +7857,9 @@ sin16s: { bcc b1_from_sin16s !: jmp b4 - //SEG369 sin16s::@4 + //SEG359 sin16s::@4 b4: - //SEG370 [183] (dword) sin16s::x#1 ← (dword) sin16s::x#0 - (const dword) PI_u4f28#0 [ sin16s::x#1 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#1 ] ) -- vduz1=vduz1_minus_vduc1 + //SEG360 [179] (dword) sin16s::x#1 ← (dword) sin16s::x#0 - (const dword) PI_u4f28#0 [ sin16s::x#1 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#1 ] ) -- vduz1=vduz1_minus_vduc1 lda x sec sbc #PI_u4f28>>$10 sta x+3 - //SEG371 [184] phi from sin16s::@4 to sin16s::@1 [phi:sin16s::@4->sin16s::@1] + //SEG361 [180] phi from sin16s::@4 to sin16s::@1 [phi:sin16s::@4->sin16s::@1] b1_from_b4: - //SEG372 [184] phi (byte) sin16s::isUpper#2 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin16s::@4->sin16s::@1#0] -- vbuz1=vbuc1 + //SEG362 [180] phi (byte) sin16s::isUpper#2 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin16s::@4->sin16s::@1#0] -- vbuz1=vbuc1 lda #1 sta isUpper - //SEG373 [184] phi (dword) sin16s::x#4 = (dword) sin16s::x#1 [phi:sin16s::@4->sin16s::@1#1] -- register_copy + //SEG363 [180] phi (dword) sin16s::x#4 = (dword) sin16s::x#1 [phi:sin16s::@4->sin16s::@1#1] -- register_copy jmp b1 - //SEG374 [184] phi from sin16s to sin16s::@1 [phi:sin16s->sin16s::@1] + //SEG364 [180] phi from sin16s to sin16s::@1 [phi:sin16s->sin16s::@1] b1_from_sin16s: - //SEG375 [184] phi (byte) sin16s::isUpper#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s->sin16s::@1#0] -- vbuz1=vbuc1 + //SEG365 [180] phi (byte) sin16s::isUpper#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s->sin16s::@1#0] -- vbuz1=vbuc1 lda #0 sta isUpper - //SEG376 [184] phi (dword) sin16s::x#4 = (dword) sin16s::x#0 [phi:sin16s->sin16s::@1#1] -- register_copy + //SEG366 [180] phi (dword) sin16s::x#4 = (dword) sin16s::x#0 [phi:sin16s->sin16s::@1#1] -- register_copy jmp b1 - //SEG377 sin16s::@1 + //SEG367 sin16s::@1 b1: - //SEG378 [185] if((dword) sin16s::x#4<(const dword) PI_HALF_u4f28#0) goto sin16s::@2 [ sin16s::x#4 sin16s::isUpper#2 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#4 sin16s::isUpper#2 ] ) -- vduz1_lt_vduc1_then_la1 + //SEG368 [181] if((dword) sin16s::x#4<(const dword) PI_HALF_u4f28#0) goto sin16s::@2 [ sin16s::x#4 sin16s::isUpper#2 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#4 sin16s::isUpper#2 ] ) -- vduz1_lt_vduc1_then_la1 lda x+3 cmp #>PI_HALF_u4f28>>$10 bcc b2_from_b1 @@ -7957,9 +7907,9 @@ sin16s: { bcc b2_from_b1 !: jmp b5 - //SEG379 sin16s::@5 + //SEG369 sin16s::@5 b5: - //SEG380 [186] (dword) sin16s::x#2 ← (const dword) PI_u4f28#0 - (dword) sin16s::x#4 [ sin16s::isUpper#2 sin16s::x#2 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x#2 ] ) -- vduz1=vduc1_minus_vduz1 + //SEG370 [182] (dword) sin16s::x#2 ← (const dword) PI_u4f28#0 - (dword) sin16s::x#4 [ sin16s::isUpper#2 sin16s::x#2 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x#2 ] ) -- vduz1=vduc1_minus_vduz1 lda #PI_u4f28>>$10 sbc x+3 sta x+3 - //SEG381 [187] phi from sin16s::@1 sin16s::@5 to sin16s::@2 [phi:sin16s::@1/sin16s::@5->sin16s::@2] + //SEG371 [183] phi from sin16s::@1 sin16s::@5 to sin16s::@2 [phi:sin16s::@1/sin16s::@5->sin16s::@2] b2_from_b1: b2_from_b5: - //SEG382 [187] phi (dword) sin16s::x#6 = (dword) sin16s::x#4 [phi:sin16s::@1/sin16s::@5->sin16s::@2#0] -- register_copy + //SEG372 [183] phi (dword) sin16s::x#6 = (dword) sin16s::x#4 [phi:sin16s::@1/sin16s::@5->sin16s::@2#0] -- register_copy jmp b2 - //SEG383 sin16s::@2 + //SEG373 sin16s::@2 b2: - //SEG384 [188] (dword~) sin16s::$6 ← (dword) sin16s::x#6 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ sin16s::isUpper#2 sin16s::$6 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::$6 ] ) -- vduz1=vduz2_rol_3 + //SEG374 [184] (dword~) sin16s::$6 ← (dword) sin16s::x#6 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ sin16s::isUpper#2 sin16s::$6 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::$6 ] ) -- vduz1=vduz2_rol_3 lda x sta _6 lda x+1 @@ -7997,107 +7947,107 @@ sin16s: { rol _6+3 dey bne !- - //SEG385 [189] (word) sin16s::x1#0 ← > (dword~) sin16s::$6 [ sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 ] ) -- vwuz1=_hi_vduz2 + //SEG375 [185] (word) sin16s::x1#0 ← > (dword~) sin16s::$6 [ sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 ] ) -- vwuz1=_hi_vduz2 lda _6+2 sta x1 lda _6+3 sta x1+1 - //SEG386 [190] (word) mulu16_sel::v1#0 ← (word) sin16s::x1#0 [ mulu16_sel::v1#0 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#0 sin16s::isUpper#2 sin16s::x1#0 ] ) -- vwuz1=vwuz2 + //SEG376 [186] (word) mulu16_sel::v1#0 ← (word) sin16s::x1#0 [ mulu16_sel::v1#0 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#0 sin16s::isUpper#2 sin16s::x1#0 ] ) -- vwuz1=vwuz2 lda x1 sta mulu16_sel.v1 lda x1+1 sta mulu16_sel.v1+1 - //SEG387 [191] (word) mulu16_sel::v2#0 ← (word) sin16s::x1#0 [ mulu16_sel::v1#0 mulu16_sel::v2#0 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#0 mulu16_sel::v2#0 sin16s::isUpper#2 sin16s::x1#0 ] ) -- vwuz1=vwuz2 + //SEG377 [187] (word) mulu16_sel::v2#0 ← (word) sin16s::x1#0 [ mulu16_sel::v1#0 mulu16_sel::v2#0 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#0 mulu16_sel::v2#0 sin16s::isUpper#2 sin16s::x1#0 ] ) -- vwuz1=vwuz2 lda x1 sta mulu16_sel.v2 lda x1+1 sta mulu16_sel.v2+1 - //SEG388 [192] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 ] ) - //SEG389 [116] phi from sin16s::@2 to mulu16_sel [phi:sin16s::@2->mulu16_sel] + //SEG378 [188] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 ] ) + //SEG379 [116] phi from sin16s::@2 to mulu16_sel [phi:sin16s::@2->mulu16_sel] mulu16_sel_from_b2: - //SEG390 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s::@2->mulu16_sel#0] -- vbuz1=vbuc1 + //SEG380 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s::@2->mulu16_sel#0] -- vbuz1=vbuc1 lda #0 sta mulu16_sel.select - //SEG391 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#0 [phi:sin16s::@2->mulu16_sel#1] -- register_copy - //SEG392 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#0 [phi:sin16s::@2->mulu16_sel#2] -- register_copy + //SEG381 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#0 [phi:sin16s::@2->mulu16_sel#1] -- register_copy + //SEG382 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#0 [phi:sin16s::@2->mulu16_sel#2] -- register_copy jsr mulu16_sel - //SEG393 [193] (word) mulu16_sel::return#0 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#0 ] ) -- vwuz1=vwuz2 + //SEG383 [189] (word) mulu16_sel::return#0 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#0 ] ) -- vwuz1=vwuz2 lda mulu16_sel.return_17 sta mulu16_sel.return lda mulu16_sel.return_17+1 sta mulu16_sel.return+1 jmp b8 - //SEG394 sin16s::@8 + //SEG384 sin16s::@8 b8: - //SEG395 [194] (word) sin16s::x2#0 ← (word) mulu16_sel::return#0 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x2#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x2#0 ] ) -- vwuz1=vwuz2 + //SEG385 [190] (word) sin16s::x2#0 ← (word) mulu16_sel::return#0 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x2#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x2#0 ] ) -- vwuz1=vwuz2 lda mulu16_sel.return sta x2 lda mulu16_sel.return+1 sta x2+1 - //SEG396 [195] (word) mulu16_sel::v1#1 ← (word) sin16s::x2#0 [ mulu16_sel::v1#1 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#1 sin16s::isUpper#2 sin16s::x1#0 ] ) -- vwuz1=vwuz2 + //SEG386 [191] (word) mulu16_sel::v1#1 ← (word) sin16s::x2#0 [ mulu16_sel::v1#1 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#1 sin16s::isUpper#2 sin16s::x1#0 ] ) -- vwuz1=vwuz2 lda x2 sta mulu16_sel.v1 lda x2+1 sta mulu16_sel.v1+1 - //SEG397 [196] (word) mulu16_sel::v2#1 ← (word) sin16s::x1#0 [ mulu16_sel::v1#1 mulu16_sel::v2#1 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#1 mulu16_sel::v2#1 sin16s::isUpper#2 sin16s::x1#0 ] ) -- vwuz1=vwuz2 + //SEG387 [192] (word) mulu16_sel::v2#1 ← (word) sin16s::x1#0 [ mulu16_sel::v1#1 mulu16_sel::v2#1 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#1 mulu16_sel::v2#1 sin16s::isUpper#2 sin16s::x1#0 ] ) -- vwuz1=vwuz2 lda x1 sta mulu16_sel.v2 lda x1+1 sta mulu16_sel.v2+1 - //SEG398 [197] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 ] ) - //SEG399 [116] phi from sin16s::@8 to mulu16_sel [phi:sin16s::@8->mulu16_sel] + //SEG388 [193] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 ] ) + //SEG389 [116] phi from sin16s::@8 to mulu16_sel [phi:sin16s::@8->mulu16_sel] mulu16_sel_from_b8: - //SEG400 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin16s::@8->mulu16_sel#0] -- vbuz1=vbuc1 + //SEG390 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin16s::@8->mulu16_sel#0] -- vbuz1=vbuc1 lda #1 sta mulu16_sel.select - //SEG401 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#1 [phi:sin16s::@8->mulu16_sel#1] -- register_copy - //SEG402 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#1 [phi:sin16s::@8->mulu16_sel#2] -- register_copy + //SEG391 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#1 [phi:sin16s::@8->mulu16_sel#1] -- register_copy + //SEG392 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#1 [phi:sin16s::@8->mulu16_sel#2] -- register_copy jsr mulu16_sel - //SEG403 [198] (word) mulu16_sel::return#1 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#1 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#1 ] ) -- vwuz1=vwuz2 + //SEG393 [194] (word) mulu16_sel::return#1 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#1 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#1 ] ) -- vwuz1=vwuz2 lda mulu16_sel.return_17 sta mulu16_sel.return_1 lda mulu16_sel.return_17+1 sta mulu16_sel.return_1+1 jmp b9 - //SEG404 sin16s::@9 + //SEG394 sin16s::@9 b9: - //SEG405 [199] (word) sin16s::x3#0 ← (word) mulu16_sel::return#1 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ) -- vwuz1=vwuz2 + //SEG395 [195] (word) sin16s::x3#0 ← (word) mulu16_sel::return#1 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ) -- vwuz1=vwuz2 lda mulu16_sel.return_1 sta x3 lda mulu16_sel.return_1+1 sta x3+1 - //SEG406 [200] (word) mulu16_sel::v1#2 ← (word) sin16s::x3#0 [ mulu16_sel::v1#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ) -- vwuz1=vwuz2 + //SEG396 [196] (word) mulu16_sel::v1#2 ← (word) sin16s::x3#0 [ mulu16_sel::v1#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ) -- vwuz1=vwuz2 lda x3 sta mulu16_sel.v1 lda x3+1 sta mulu16_sel.v1+1 - //SEG407 [201] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ) - //SEG408 [116] phi from sin16s::@9 to mulu16_sel [phi:sin16s::@9->mulu16_sel] + //SEG397 [197] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ) + //SEG398 [116] phi from sin16s::@9 to mulu16_sel [phi:sin16s::@9->mulu16_sel] mulu16_sel_from_b9: - //SEG409 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin16s::@9->mulu16_sel#0] -- vbuz1=vbuc1 + //SEG399 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin16s::@9->mulu16_sel#0] -- vbuz1=vbuc1 lda #1 sta mulu16_sel.select - //SEG410 [116] phi (word) mulu16_sel::v2#10 = (dword/signed dword) 65536/(byte/signed byte/word/signed word/dword/signed dword) 6 [phi:sin16s::@9->mulu16_sel#1] -- vwuz1=vwuc1 + //SEG400 [116] phi (word) mulu16_sel::v2#10 = (dword/signed dword) 65536/(byte/signed byte/word/signed word/dword/signed dword) 6 [phi:sin16s::@9->mulu16_sel#1] -- vwuz1=vwuc1 lda #<$10000/6 sta mulu16_sel.v2 lda #>$10000/6 sta mulu16_sel.v2+1 - //SEG411 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#2 [phi:sin16s::@9->mulu16_sel#2] -- register_copy + //SEG401 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#2 [phi:sin16s::@9->mulu16_sel#2] -- register_copy jsr mulu16_sel - //SEG412 [202] (word) mulu16_sel::return#14 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#14 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#14 ] ) -- vwuz1=vwuz2 + //SEG402 [198] (word) mulu16_sel::return#14 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#14 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#14 ] ) -- vwuz1=vwuz2 lda mulu16_sel.return_17 sta mulu16_sel.return_14 lda mulu16_sel.return_17+1 sta mulu16_sel.return_14+1 jmp b10 - //SEG413 sin16s::@10 + //SEG403 sin16s::@10 b10: - //SEG414 [203] (word) sin16s::x3_6#0 ← (word) mulu16_sel::return#14 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::x3_6#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::x3_6#0 ] ) -- vwuz1=vwuz2 + //SEG404 [199] (word) sin16s::x3_6#0 ← (word) mulu16_sel::return#14 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::x3_6#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::x3_6#0 ] ) -- vwuz1=vwuz2 lda mulu16_sel.return_14 sta x3_6 lda mulu16_sel.return_14+1 sta x3_6+1 - //SEG415 [204] (word) sin16s::usinx#0 ← (word) sin16s::x1#0 - (word) sin16s::x3_6#0 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::usinx#0 ] ) -- vwuz1=vwuz2_minus_vwuz3 + //SEG405 [200] (word) sin16s::usinx#0 ← (word) sin16s::x1#0 - (word) sin16s::x3_6#0 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::usinx#0 ] ) -- vwuz1=vwuz2_minus_vwuz3 lda x1 sec sbc x3_6 @@ -8105,71 +8055,71 @@ sin16s: { lda x1+1 sbc x3_6+1 sta usinx+1 - //SEG416 [205] (word) mulu16_sel::v1#3 ← (word) sin16s::x3#0 [ mulu16_sel::v1#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) -- vwuz1=vwuz2 + //SEG406 [201] (word) mulu16_sel::v1#3 ← (word) sin16s::x3#0 [ mulu16_sel::v1#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) -- vwuz1=vwuz2 lda x3 sta mulu16_sel.v1 lda x3+1 sta mulu16_sel.v1+1 - //SEG417 [206] (word) mulu16_sel::v2#3 ← (word) sin16s::x1#0 [ mulu16_sel::v1#3 mulu16_sel::v2#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#3 mulu16_sel::v2#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) -- vwuz1=vwuz2 + //SEG407 [202] (word) mulu16_sel::v2#3 ← (word) sin16s::x1#0 [ mulu16_sel::v1#3 mulu16_sel::v2#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#3 mulu16_sel::v2#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) -- vwuz1=vwuz2 lda x1 sta mulu16_sel.v2 lda x1+1 sta mulu16_sel.v2+1 - //SEG418 [207] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) - //SEG419 [116] phi from sin16s::@10 to mulu16_sel [phi:sin16s::@10->mulu16_sel] + //SEG408 [203] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) + //SEG409 [116] phi from sin16s::@10 to mulu16_sel [phi:sin16s::@10->mulu16_sel] mulu16_sel_from_b10: - //SEG420 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s::@10->mulu16_sel#0] -- vbuz1=vbuc1 + //SEG410 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s::@10->mulu16_sel#0] -- vbuz1=vbuc1 lda #0 sta mulu16_sel.select - //SEG421 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#3 [phi:sin16s::@10->mulu16_sel#1] -- register_copy - //SEG422 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#3 [phi:sin16s::@10->mulu16_sel#2] -- register_copy + //SEG411 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#3 [phi:sin16s::@10->mulu16_sel#1] -- register_copy + //SEG412 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#3 [phi:sin16s::@10->mulu16_sel#2] -- register_copy jsr mulu16_sel - //SEG423 [208] (word) mulu16_sel::return#15 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#15 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#15 ] ) -- vwuz1=vwuz2 + //SEG413 [204] (word) mulu16_sel::return#15 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#15 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#15 ] ) -- vwuz1=vwuz2 lda mulu16_sel.return_17 sta mulu16_sel.return_15 lda mulu16_sel.return_17+1 sta mulu16_sel.return_15+1 jmp b11 - //SEG424 sin16s::@11 + //SEG414 sin16s::@11 b11: - //SEG425 [209] (word) sin16s::x4#0 ← (word) mulu16_sel::return#15 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 sin16s::x4#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 sin16s::x4#0 ] ) -- vwuz1=vwuz2 + //SEG415 [205] (word) sin16s::x4#0 ← (word) mulu16_sel::return#15 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 sin16s::x4#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 sin16s::x4#0 ] ) -- vwuz1=vwuz2 lda mulu16_sel.return_15 sta x4 lda mulu16_sel.return_15+1 sta x4+1 - //SEG426 [210] (word) mulu16_sel::v1#4 ← (word) sin16s::x4#0 [ mulu16_sel::v1#4 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#4 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) -- vwuz1=vwuz2 + //SEG416 [206] (word) mulu16_sel::v1#4 ← (word) sin16s::x4#0 [ mulu16_sel::v1#4 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#4 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) -- vwuz1=vwuz2 lda x4 sta mulu16_sel.v1 lda x4+1 sta mulu16_sel.v1+1 - //SEG427 [211] (word) mulu16_sel::v2#4 ← (word) sin16s::x1#0 [ mulu16_sel::v1#4 mulu16_sel::v2#4 sin16s::isUpper#2 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#4 mulu16_sel::v2#4 sin16s::isUpper#2 sin16s::usinx#0 ] ) -- vwuz1=vwuz2 + //SEG417 [207] (word) mulu16_sel::v2#4 ← (word) sin16s::x1#0 [ mulu16_sel::v1#4 mulu16_sel::v2#4 sin16s::isUpper#2 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#4 mulu16_sel::v2#4 sin16s::isUpper#2 sin16s::usinx#0 ] ) -- vwuz1=vwuz2 lda x1 sta mulu16_sel.v2 lda x1+1 sta mulu16_sel.v2+1 - //SEG428 [212] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::usinx#0 ] ) - //SEG429 [116] phi from sin16s::@11 to mulu16_sel [phi:sin16s::@11->mulu16_sel] + //SEG418 [208] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::usinx#0 ] ) + //SEG419 [116] phi from sin16s::@11 to mulu16_sel [phi:sin16s::@11->mulu16_sel] mulu16_sel_from_b11: - //SEG430 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s::@11->mulu16_sel#0] -- vbuz1=vbuc1 + //SEG420 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s::@11->mulu16_sel#0] -- vbuz1=vbuc1 lda #0 sta mulu16_sel.select - //SEG431 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#4 [phi:sin16s::@11->mulu16_sel#1] -- register_copy - //SEG432 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#4 [phi:sin16s::@11->mulu16_sel#2] -- register_copy + //SEG421 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#4 [phi:sin16s::@11->mulu16_sel#1] -- register_copy + //SEG422 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#4 [phi:sin16s::@11->mulu16_sel#2] -- register_copy jsr mulu16_sel - //SEG433 [213] (word) mulu16_sel::return#16 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#16 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#16 ] ) -- vwuz1=vwuz2 + //SEG423 [209] (word) mulu16_sel::return#16 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#16 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#16 ] ) -- vwuz1=vwuz2 lda mulu16_sel.return_17 sta mulu16_sel.return_16 lda mulu16_sel.return_17+1 sta mulu16_sel.return_16+1 jmp b12 - //SEG434 sin16s::@12 + //SEG424 sin16s::@12 b12: - //SEG435 [214] (word) sin16s::x5#0 ← (word) mulu16_sel::return#16 [ sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5#0 ] ) -- vwuz1=vwuz2 + //SEG425 [210] (word) sin16s::x5#0 ← (word) mulu16_sel::return#16 [ sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5#0 ] ) -- vwuz1=vwuz2 lda mulu16_sel.return_16 sta x5 lda mulu16_sel.return_16+1 sta x5+1 - //SEG436 [215] (word) sin16s::x5_128#0 ← (word) sin16s::x5#0 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5_128#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5_128#0 ] ) -- vwuz1=vwuz2_ror_4 + //SEG426 [211] (word) sin16s::x5_128#0 ← (word) sin16s::x5#0 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5_128#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5_128#0 ] ) -- vwuz1=vwuz2_ror_4 lda x5+1 sta x5_128+1 lda x5 @@ -8180,7 +8130,7 @@ sin16s: { ror x5_128 dey bne !- - //SEG437 [216] (word) sin16s::usinx#1 ← (word) sin16s::usinx#0 + (word) sin16s::x5_128#0 [ sin16s::isUpper#2 sin16s::usinx#1 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#1 ] ) -- vwuz1=vwuz2_plus_vwuz3 + //SEG427 [212] (word) sin16s::usinx#1 ← (word) sin16s::usinx#0 + (word) sin16s::x5_128#0 [ sin16s::isUpper#2 sin16s::usinx#1 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#1 ] ) -- vwuz1=vwuz2_plus_vwuz3 lda usinx_1 clc adc usinx @@ -8188,13 +8138,13 @@ sin16s: { lda usinx_1+1 adc usinx+1 sta x5_128+1 - //SEG438 [217] if((byte) sin16s::isUpper#2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto sin16s::@15 [ sin16s::usinx#1 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::usinx#1 ] ) -- vbuz1_eq_0_then_la1 + //SEG428 [213] if((byte) sin16s::isUpper#2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto sin16s::@15 [ sin16s::usinx#1 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::usinx#1 ] ) -- vbuz1_eq_0_then_la1 lda isUpper beq b15 jmp b6 - //SEG439 sin16s::@6 + //SEG429 sin16s::@6 b6: - //SEG440 [218] (signed word) sin16s::sinx#1 ← - (signed word)(word) sin16s::usinx#1 [ sin16s::sinx#1 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::sinx#1 ] ) -- vwsz1=_neg_vwsz2 + //SEG430 [214] (signed word) sin16s::sinx#1 ← - (signed word)(word) sin16s::usinx#1 [ sin16s::sinx#1 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::sinx#1 ] ) -- vwsz1=_neg_vwsz2 sec lda usinx_1 eor #$ff @@ -8204,21 +8154,21 @@ sin16s: { eor #$ff adc #0 sta sinx+1 - //SEG441 [219] phi from sin16s::@15 sin16s::@6 to sin16s::@3 [phi:sin16s::@15/sin16s::@6->sin16s::@3] + //SEG431 [215] phi from sin16s::@15 sin16s::@6 to sin16s::@3 [phi:sin16s::@15/sin16s::@6->sin16s::@3] b3_from_b15: b3_from_b6: - //SEG442 [219] phi (signed word) sin16s::return#1 = (signed word~) sin16s::return#5 [phi:sin16s::@15/sin16s::@6->sin16s::@3#0] -- register_copy + //SEG432 [215] phi (signed word) sin16s::return#1 = (signed word~) sin16s::return#5 [phi:sin16s::@15/sin16s::@6->sin16s::@3#0] -- register_copy jmp b3 - //SEG443 sin16s::@3 + //SEG433 sin16s::@3 b3: jmp breturn - //SEG444 sin16s::@return + //SEG434 sin16s::@return breturn: - //SEG445 [220] return [ sin16s::return#1 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#1 ] ) + //SEG435 [216] return [ sin16s::return#1 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#1 ] ) rts - //SEG446 sin16s::@15 + //SEG436 sin16s::@15 b15: - //SEG447 [221] (signed word~) sin16s::return#5 ← (signed word)(word) sin16s::usinx#1 [ sin16s::return#5 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#5 ] ) -- vwsz1=vwsz2 + //SEG437 [217] (signed word~) sin16s::return#5 ← (signed word)(word) sin16s::usinx#1 [ sin16s::return#5 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#5 ] ) -- vwsz1=vwsz2 lda usinx_1 sta return_5 lda usinx_1+1 @@ -8286,75 +8236,71 @@ Removing always clobbered register reg byte y as potential for zp ZP_BYTE:25 [ s Statement [110] (word) sin16sb::usinx#1 ← (word) sin16sb::usinx#0 + (word) sin16sb::x5_128#0 [ sin16sb::isUpper#2 sin16sb::usinx#1 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#1 ] ) always clobbers reg byte a Statement [112] (signed word) sin16sb::sinx#1 ← - (signed word)(word) sin16sb::usinx#1 [ sin16sb::sinx#1 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::sinx#1 ] ) always clobbers reg byte a Statement [115] (signed word~) sin16sb::return#5 ← (signed word)(word) sin16sb::usinx#1 [ sin16sb::return#5 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#5 ] ) always clobbers reg byte a -Statement [117] (word) mul16u::a#1 ← (word) mulu16_sel::v1#10 [ mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] ) always clobbers reg byte a +Statement [117] (word) mul16u::a#1 ← (word) mulu16_sel::v1#10 [ mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp ZP_BYTE:34 [ mulu16_sel::select#10 ] -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:68 [ sin16s::isUpper#2 ] -Statement [118] (word) mul16u::b#0 ← (word) mulu16_sel::v2#10 [ mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] ) always clobbers reg byte a -Statement [120] (dword) mul16u::return#2 ← (dword) mul16u::res#2 [ mulu16_sel::select#10 mul16u::return#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] ) always clobbers reg byte a -Statement [121] (dword~) mulu16_sel::$0 ← (dword) mul16u::return#2 [ mulu16_sel::select#10 mulu16_sel::$0 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] ) always clobbers reg byte a -Statement [122] (dword~) mulu16_sel::$1 ← (dword~) mulu16_sel::$0 << (byte) mulu16_sel::select#10 [ mulu16_sel::$1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::$1 ] ) always clobbers reg byte a -Statement [123] (word) mulu16_sel::return#17 ← > (dword~) mulu16_sel::$1 [ mulu16_sel::return#17 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#17 ] ) always clobbers reg byte a -Statement [125] (dword) mul16u::mb#0 ← ((dword)) (word) mul16u::b#0 [ mul16u::a#1 mul16u::mb#0 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] ) always clobbers reg byte a -Statement [127] if((word) mul16u::a#2!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul16u::@2 [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ) always clobbers reg byte a -Statement [129] (byte/word~) mul16u::$1 ← (word) mul16u::a#2 & (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] ) always clobbers reg byte a -Statement [131] (dword) mul16u::res#1 ← (dword) mul16u::res#2 + (dword) mul16u::mb#2 [ mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] ) always clobbers reg byte a -Statement [136] (word) divr16u::dividend#1 ← > (dword) div32u16u::dividend#2 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 ] ) always clobbers reg byte a -Statement [137] (word) divr16u::divisor#0 ← (word) div32u16u::divisor#2 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 divr16u::divisor#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 divr16u::divisor#0 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 divr16u::divisor#0 ] ) always clobbers reg byte a -Statement [139] (word) divr16u::return#2 ← (word) divr16u::return#0 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#2 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#2 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#2 rem16u#1 ] ) always clobbers reg byte a -Statement [140] (word) div32u16u::quotient_hi#0 ← (word) divr16u::return#2 [ div32u16u::dividend#2 div32u16u::divisor#2 div32u16u::quotient_hi#0 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 div32u16u::quotient_hi#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::dividend#2 div32u16u::divisor#2 div32u16u::quotient_hi#0 rem16u#1 ] ) always clobbers reg byte a -Statement [141] (word) divr16u::dividend#2 ← < (dword) div32u16u::dividend#2 [ div32u16u::divisor#2 div32u16u::quotient_hi#0 divr16u::dividend#2 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::divisor#2 div32u16u::quotient_hi#0 divr16u::dividend#2 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::divisor#2 div32u16u::quotient_hi#0 divr16u::dividend#2 rem16u#1 ] ) always clobbers reg byte a -Statement [142] (word) divr16u::divisor#1 ← (word) div32u16u::divisor#2 [ div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 rem16u#1 ] ) always clobbers reg byte a -Statement [143] (word) divr16u::rem#4 ← (word) rem16u#1 [ div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 divr16u::rem#4 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 divr16u::rem#4 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 divr16u::rem#4 ] ) always clobbers reg byte a -Statement [145] (word) divr16u::return#3 ← (word) divr16u::return#0 [ div32u16u::quotient_hi#0 divr16u::return#3 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::quotient_hi#0 divr16u::return#3 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::quotient_hi#0 divr16u::return#3 ] ) always clobbers reg byte a -Statement [146] (word) div32u16u::quotient_lo#0 ← (word) divr16u::return#3 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ) always clobbers reg byte a -Statement [147] (dword) div32u16u::return#0 ← (word) div32u16u::quotient_hi#0 dw= (word) div32u16u::quotient_lo#0 [ div32u16u::return#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::return#0 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::return#0 ] ) always clobbers reg byte a -Statement [152] (byte~) divr16u::$1 ← > (word) divr16u::dividend#3 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:59 [ divr16u::i#2 divr16u::i#1 ] -Statement [153] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) always clobbers reg byte a -Statement [155] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) always clobbers reg byte a -Statement [159] if((word) divr16u::rem#6<(word) divr16u::divisor#6) goto divr16u::@3 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) always clobbers reg byte a -Statement [161] (word) divr16u::rem#2 ← (word) divr16u::rem#6 - (word) divr16u::divisor#6 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ) always clobbers reg byte a -Statement [165] (word) rem16u#1 ← (word) divr16u::rem#11 [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#0 rem16u#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] ) always clobbers reg byte a -Statement [169] (dword) div32u16u::return#2 ← (dword) div32u16u::return#0 [ div32u16u::return#2 ] ( main:2::sin16s_gen:5 [ div32u16u::return#2 ] ) always clobbers reg byte a -Statement [170] (dword) sin16s_gen::step#0 ← (dword) div32u16u::return#2 [ sin16s_gen::step#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 ] ) always clobbers reg byte a -Statement [172] (dword) sin16s::x#0 ← (dword) sin16s_gen::x#2 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#0 ] ) always clobbers reg byte a -Statement [174] (signed word) sin16s::return#0 ← (signed word) sin16s::return#1 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#0 ] ) always clobbers reg byte a -Statement [175] (signed word~) sin16s_gen::$1 ← (signed word) sin16s::return#0 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s_gen::$1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s_gen::$1 ] ) always clobbers reg byte a -Statement [176] *((signed word*) sin16s_gen::sintab#2) ← (signed word~) sin16s_gen::$1 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ) always clobbers reg byte a reg byte y -Statement [177] (signed word*) sin16s_gen::sintab#0 ← (signed word*) sin16s_gen::sintab#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::i#2 sin16s_gen::sintab#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::i#2 sin16s_gen::sintab#0 ] ) always clobbers reg byte a -Statement [178] (dword) sin16s_gen::x#1 ← (dword) sin16s_gen::x#2 + (dword) sin16s_gen::step#0 [ sin16s_gen::step#0 sin16s_gen::i#2 sin16s_gen::x#1 sin16s_gen::sintab#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::i#2 sin16s_gen::x#1 sin16s_gen::sintab#0 ] ) always clobbers reg byte a -Statement [180] if((word) sin16s_gen::i#1<(const word) main::wavelength#0) goto sin16s_gen::@1 [ sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ) always clobbers reg byte a -Statement [182] if((dword) sin16s::x#0<(const dword) PI_u4f28#0) goto sin16s::@1 [ sin16s::x#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#0 ] ) always clobbers reg byte a -Statement [183] (dword) sin16s::x#1 ← (dword) sin16s::x#0 - (const dword) PI_u4f28#0 [ sin16s::x#1 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#1 ] ) always clobbers reg byte a -Statement [185] if((dword) sin16s::x#4<(const dword) PI_HALF_u4f28#0) goto sin16s::@2 [ sin16s::x#4 sin16s::isUpper#2 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#4 sin16s::isUpper#2 ] ) always clobbers reg byte a -Statement [186] (dword) sin16s::x#2 ← (const dword) PI_u4f28#0 - (dword) sin16s::x#4 [ sin16s::isUpper#2 sin16s::x#2 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x#2 ] ) always clobbers reg byte a -Statement [188] (dword~) sin16s::$6 ← (dword) sin16s::x#6 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ sin16s::isUpper#2 sin16s::$6 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::$6 ] ) always clobbers reg byte a reg byte y -Removing always clobbered register reg byte y as potential for zp ZP_BYTE:68 [ sin16s::isUpper#2 ] -Statement [189] (word) sin16s::x1#0 ← > (dword~) sin16s::$6 [ sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 ] ) always clobbers reg byte a -Statement [190] (word) mulu16_sel::v1#0 ← (word) sin16s::x1#0 [ mulu16_sel::v1#0 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#0 sin16s::isUpper#2 sin16s::x1#0 ] ) always clobbers reg byte a -Statement [191] (word) mulu16_sel::v2#0 ← (word) sin16s::x1#0 [ mulu16_sel::v1#0 mulu16_sel::v2#0 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#0 mulu16_sel::v2#0 sin16s::isUpper#2 sin16s::x1#0 ] ) always clobbers reg byte a -Statement [193] (word) mulu16_sel::return#0 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#0 ] ) always clobbers reg byte a -Statement [194] (word) sin16s::x2#0 ← (word) mulu16_sel::return#0 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x2#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x2#0 ] ) always clobbers reg byte a -Statement [195] (word) mulu16_sel::v1#1 ← (word) sin16s::x2#0 [ mulu16_sel::v1#1 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#1 sin16s::isUpper#2 sin16s::x1#0 ] ) always clobbers reg byte a -Statement [196] (word) mulu16_sel::v2#1 ← (word) sin16s::x1#0 [ mulu16_sel::v1#1 mulu16_sel::v2#1 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#1 mulu16_sel::v2#1 sin16s::isUpper#2 sin16s::x1#0 ] ) always clobbers reg byte a -Statement [198] (word) mulu16_sel::return#1 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#1 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#1 ] ) always clobbers reg byte a -Statement [199] (word) sin16s::x3#0 ← (word) mulu16_sel::return#1 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ) always clobbers reg byte a -Statement [200] (word) mulu16_sel::v1#2 ← (word) sin16s::x3#0 [ mulu16_sel::v1#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ) always clobbers reg byte a -Statement [202] (word) mulu16_sel::return#14 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#14 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#14 ] ) always clobbers reg byte a -Statement [203] (word) sin16s::x3_6#0 ← (word) mulu16_sel::return#14 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::x3_6#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::x3_6#0 ] ) always clobbers reg byte a -Statement [204] (word) sin16s::usinx#0 ← (word) sin16s::x1#0 - (word) sin16s::x3_6#0 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::usinx#0 ] ) always clobbers reg byte a -Statement [205] (word) mulu16_sel::v1#3 ← (word) sin16s::x3#0 [ mulu16_sel::v1#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) always clobbers reg byte a -Statement [206] (word) mulu16_sel::v2#3 ← (word) sin16s::x1#0 [ mulu16_sel::v1#3 mulu16_sel::v2#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#3 mulu16_sel::v2#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) always clobbers reg byte a -Statement [208] (word) mulu16_sel::return#15 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#15 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#15 ] ) always clobbers reg byte a -Statement [209] (word) sin16s::x4#0 ← (word) mulu16_sel::return#15 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 sin16s::x4#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 sin16s::x4#0 ] ) always clobbers reg byte a -Statement [210] (word) mulu16_sel::v1#4 ← (word) sin16s::x4#0 [ mulu16_sel::v1#4 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#4 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) always clobbers reg byte a -Statement [211] (word) mulu16_sel::v2#4 ← (word) sin16s::x1#0 [ mulu16_sel::v1#4 mulu16_sel::v2#4 sin16s::isUpper#2 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#4 mulu16_sel::v2#4 sin16s::isUpper#2 sin16s::usinx#0 ] ) always clobbers reg byte a -Statement [213] (word) mulu16_sel::return#16 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#16 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#16 ] ) always clobbers reg byte a -Statement [214] (word) sin16s::x5#0 ← (word) mulu16_sel::return#16 [ sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5#0 ] ) always clobbers reg byte a -Statement [215] (word) sin16s::x5_128#0 ← (word) sin16s::x5#0 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5_128#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5_128#0 ] ) always clobbers reg byte a reg byte y -Statement [216] (word) sin16s::usinx#1 ← (word) sin16s::usinx#0 + (word) sin16s::x5_128#0 [ sin16s::isUpper#2 sin16s::usinx#1 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#1 ] ) always clobbers reg byte a -Statement [218] (signed word) sin16s::sinx#1 ← - (signed word)(word) sin16s::usinx#1 [ sin16s::sinx#1 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::sinx#1 ] ) always clobbers reg byte a -Statement [221] (signed word~) sin16s::return#5 ← (signed word)(word) sin16s::usinx#1 [ sin16s::return#5 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#5 ] ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:60 [ sin16s::isUpper#2 ] +Statement [118] (word) mul16u::b#0 ← (word) mulu16_sel::v2#10 [ mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] ) always clobbers reg byte a +Statement [120] (dword) mul16u::return#2 ← (dword) mul16u::res#2 [ mulu16_sel::select#10 mul16u::return#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] ) always clobbers reg byte a +Statement [121] (dword~) mulu16_sel::$0 ← (dword) mul16u::return#2 [ mulu16_sel::select#10 mulu16_sel::$0 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] ) always clobbers reg byte a +Statement [122] (dword~) mulu16_sel::$1 ← (dword~) mulu16_sel::$0 << (byte) mulu16_sel::select#10 [ mulu16_sel::$1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::$1 ] ) always clobbers reg byte a +Statement [123] (word) mulu16_sel::return#17 ← > (dword~) mulu16_sel::$1 [ mulu16_sel::return#17 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#17 ] ) always clobbers reg byte a +Statement [125] (dword) mul16u::mb#0 ← ((dword)) (word) mul16u::b#0 [ mul16u::a#1 mul16u::mb#0 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] ) always clobbers reg byte a +Statement [127] if((word) mul16u::a#2!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul16u::@2 [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ) always clobbers reg byte a +Statement [129] (byte/word~) mul16u::$1 ← (word) mul16u::a#2 & (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] ) always clobbers reg byte a +Statement [131] (dword) mul16u::res#1 ← (dword) mul16u::res#2 + (dword) mul16u::mb#2 [ mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] ) always clobbers reg byte a +Statement [137] (word) divr16u::return#2 ← (word) divr16u::return#0 [ divr16u::return#2 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ divr16u::return#2 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:164 [ divr16u::return#2 rem16u#1 ] ) always clobbers reg byte a +Statement [138] (word) div32u16u::quotient_hi#0 ← (word) divr16u::return#2 [ div32u16u::quotient_hi#0 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::quotient_hi#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:164 [ div32u16u::quotient_hi#0 rem16u#1 ] ) always clobbers reg byte a +Statement [139] (word) divr16u::rem#4 ← (word) rem16u#1 [ div32u16u::quotient_hi#0 divr16u::rem#4 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::quotient_hi#0 divr16u::rem#4 ] main:2::sin16s_gen:5::div32u16u:164 [ div32u16u::quotient_hi#0 divr16u::rem#4 ] ) always clobbers reg byte a +Statement [141] (word) divr16u::return#3 ← (word) divr16u::return#0 [ div32u16u::quotient_hi#0 divr16u::return#3 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::quotient_hi#0 divr16u::return#3 ] main:2::sin16s_gen:5::div32u16u:164 [ div32u16u::quotient_hi#0 divr16u::return#3 ] ) always clobbers reg byte a +Statement [142] (word) div32u16u::quotient_lo#0 ← (word) divr16u::return#3 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] main:2::sin16s_gen:5::div32u16u:164 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ) always clobbers reg byte a +Statement [143] (dword) div32u16u::return#0 ← (word) div32u16u::quotient_hi#0 dw= (word) div32u16u::quotient_lo#0 [ div32u16u::return#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::return#0 ] main:2::sin16s_gen:5::div32u16u:164 [ div32u16u::return#0 ] ) always clobbers reg byte a +Statement [148] (byte~) divr16u::$1 ← > (word) divr16u::dividend#3 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:51 [ divr16u::i#2 divr16u::i#1 ] +Statement [149] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) always clobbers reg byte a +Statement [151] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) always clobbers reg byte a +Statement [155] if((word) divr16u::rem#6<(const word) main::wavelength#0) goto divr16u::@3 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) always clobbers reg byte a +Statement [157] (word) divr16u::rem#2 ← (word) divr16u::rem#6 - (const word) main::wavelength#0 [ divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ) always clobbers reg byte a +Statement [161] (word) rem16u#1 ← (word) divr16u::rem#11 [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::return#0 rem16u#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] ) always clobbers reg byte a +Statement [165] (dword) div32u16u::return#2 ← (dword) div32u16u::return#0 [ div32u16u::return#2 ] ( main:2::sin16s_gen:5 [ div32u16u::return#2 ] ) always clobbers reg byte a +Statement [166] (dword) sin16s_gen::step#0 ← (dword) div32u16u::return#2 [ sin16s_gen::step#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 ] ) always clobbers reg byte a +Statement [168] (dword) sin16s::x#0 ← (dword) sin16s_gen::x#2 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#0 ] ) always clobbers reg byte a +Statement [170] (signed word) sin16s::return#0 ← (signed word) sin16s::return#1 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#0 ] ) always clobbers reg byte a +Statement [171] (signed word~) sin16s_gen::$1 ← (signed word) sin16s::return#0 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s_gen::$1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s_gen::$1 ] ) always clobbers reg byte a +Statement [172] *((signed word*) sin16s_gen::sintab#2) ← (signed word~) sin16s_gen::$1 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ) always clobbers reg byte a reg byte y +Statement [173] (signed word*) sin16s_gen::sintab#0 ← (signed word*) sin16s_gen::sintab#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::i#2 sin16s_gen::sintab#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::i#2 sin16s_gen::sintab#0 ] ) always clobbers reg byte a +Statement [174] (dword) sin16s_gen::x#1 ← (dword) sin16s_gen::x#2 + (dword) sin16s_gen::step#0 [ sin16s_gen::step#0 sin16s_gen::i#2 sin16s_gen::x#1 sin16s_gen::sintab#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::i#2 sin16s_gen::x#1 sin16s_gen::sintab#0 ] ) always clobbers reg byte a +Statement [176] if((word) sin16s_gen::i#1<(const word) main::wavelength#0) goto sin16s_gen::@1 [ sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ) always clobbers reg byte a +Statement [178] if((dword) sin16s::x#0<(const dword) PI_u4f28#0) goto sin16s::@1 [ sin16s::x#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#0 ] ) always clobbers reg byte a +Statement [179] (dword) sin16s::x#1 ← (dword) sin16s::x#0 - (const dword) PI_u4f28#0 [ sin16s::x#1 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#1 ] ) always clobbers reg byte a +Statement [181] if((dword) sin16s::x#4<(const dword) PI_HALF_u4f28#0) goto sin16s::@2 [ sin16s::x#4 sin16s::isUpper#2 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#4 sin16s::isUpper#2 ] ) always clobbers reg byte a +Statement [182] (dword) sin16s::x#2 ← (const dword) PI_u4f28#0 - (dword) sin16s::x#4 [ sin16s::isUpper#2 sin16s::x#2 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x#2 ] ) always clobbers reg byte a +Statement [184] (dword~) sin16s::$6 ← (dword) sin16s::x#6 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ sin16s::isUpper#2 sin16s::$6 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::$6 ] ) always clobbers reg byte a reg byte y +Removing always clobbered register reg byte y as potential for zp ZP_BYTE:60 [ sin16s::isUpper#2 ] +Statement [185] (word) sin16s::x1#0 ← > (dword~) sin16s::$6 [ sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 ] ) always clobbers reg byte a +Statement [186] (word) mulu16_sel::v1#0 ← (word) sin16s::x1#0 [ mulu16_sel::v1#0 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#0 sin16s::isUpper#2 sin16s::x1#0 ] ) always clobbers reg byte a +Statement [187] (word) mulu16_sel::v2#0 ← (word) sin16s::x1#0 [ mulu16_sel::v1#0 mulu16_sel::v2#0 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#0 mulu16_sel::v2#0 sin16s::isUpper#2 sin16s::x1#0 ] ) always clobbers reg byte a +Statement [189] (word) mulu16_sel::return#0 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#0 ] ) always clobbers reg byte a +Statement [190] (word) sin16s::x2#0 ← (word) mulu16_sel::return#0 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x2#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x2#0 ] ) always clobbers reg byte a +Statement [191] (word) mulu16_sel::v1#1 ← (word) sin16s::x2#0 [ mulu16_sel::v1#1 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#1 sin16s::isUpper#2 sin16s::x1#0 ] ) always clobbers reg byte a +Statement [192] (word) mulu16_sel::v2#1 ← (word) sin16s::x1#0 [ mulu16_sel::v1#1 mulu16_sel::v2#1 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#1 mulu16_sel::v2#1 sin16s::isUpper#2 sin16s::x1#0 ] ) always clobbers reg byte a +Statement [194] (word) mulu16_sel::return#1 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#1 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#1 ] ) always clobbers reg byte a +Statement [195] (word) sin16s::x3#0 ← (word) mulu16_sel::return#1 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ) always clobbers reg byte a +Statement [196] (word) mulu16_sel::v1#2 ← (word) sin16s::x3#0 [ mulu16_sel::v1#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ) always clobbers reg byte a +Statement [198] (word) mulu16_sel::return#14 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#14 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#14 ] ) always clobbers reg byte a +Statement [199] (word) sin16s::x3_6#0 ← (word) mulu16_sel::return#14 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::x3_6#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::x3_6#0 ] ) always clobbers reg byte a +Statement [200] (word) sin16s::usinx#0 ← (word) sin16s::x1#0 - (word) sin16s::x3_6#0 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::usinx#0 ] ) always clobbers reg byte a +Statement [201] (word) mulu16_sel::v1#3 ← (word) sin16s::x3#0 [ mulu16_sel::v1#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) always clobbers reg byte a +Statement [202] (word) mulu16_sel::v2#3 ← (word) sin16s::x1#0 [ mulu16_sel::v1#3 mulu16_sel::v2#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#3 mulu16_sel::v2#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) always clobbers reg byte a +Statement [204] (word) mulu16_sel::return#15 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#15 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#15 ] ) always clobbers reg byte a +Statement [205] (word) sin16s::x4#0 ← (word) mulu16_sel::return#15 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 sin16s::x4#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 sin16s::x4#0 ] ) always clobbers reg byte a +Statement [206] (word) mulu16_sel::v1#4 ← (word) sin16s::x4#0 [ mulu16_sel::v1#4 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#4 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) always clobbers reg byte a +Statement [207] (word) mulu16_sel::v2#4 ← (word) sin16s::x1#0 [ mulu16_sel::v1#4 mulu16_sel::v2#4 sin16s::isUpper#2 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#4 mulu16_sel::v2#4 sin16s::isUpper#2 sin16s::usinx#0 ] ) always clobbers reg byte a +Statement [209] (word) mulu16_sel::return#16 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#16 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#16 ] ) always clobbers reg byte a +Statement [210] (word) sin16s::x5#0 ← (word) mulu16_sel::return#16 [ sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5#0 ] ) always clobbers reg byte a +Statement [211] (word) sin16s::x5_128#0 ← (word) sin16s::x5#0 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5_128#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5_128#0 ] ) always clobbers reg byte a reg byte y +Statement [212] (word) sin16s::usinx#1 ← (word) sin16s::usinx#0 + (word) sin16s::x5_128#0 [ sin16s::isUpper#2 sin16s::usinx#1 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#1 ] ) always clobbers reg byte a +Statement [214] (signed word) sin16s::sinx#1 ← - (signed word)(word) sin16s::usinx#1 [ sin16s::sinx#1 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::sinx#1 ] ) always clobbers reg byte a +Statement [217] (signed word~) sin16s::return#5 ← (signed word)(word) sin16s::usinx#1 [ sin16s::return#5 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#5 ] ) always clobbers reg byte a Statement [11] (signed word) main::sw#0 ← *((signed word*) main::st1#2) - *((signed word*) main::st2#2) [ main::st1#2 main::st2#2 print_char_cursor#49 main::i#2 main::sw#0 ] ( main:2 [ main::st1#2 main::st2#2 print_char_cursor#49 main::i#2 main::sw#0 ] ) always clobbers reg byte a reg byte y Statement [12] if((signed word) main::sw#0<(byte/signed byte/word/signed word/dword/signed dword) 0) goto main::@2 [ main::st1#2 main::st2#2 print_char_cursor#49 main::i#2 main::sw#0 ] ( main:2 [ main::st1#2 main::st2#2 print_char_cursor#49 main::i#2 main::sw#0 ] ) always clobbers reg byte a Statement [16] (signed word) print_sword::w#1 ← (signed word) main::sw#0 [ main::st1#2 main::st2#2 main::i#2 print_char_cursor#48 print_sword::w#1 ] ( main:2 [ main::st1#2 main::st2#2 main::i#2 print_char_cursor#48 print_sword::w#1 ] ) always clobbers reg byte a @@ -8408,71 +8354,67 @@ Statement [109] (word) sin16sb::x5_128#0 ← (word) sin16sb::x5#0 >> (byte/signe Statement [110] (word) sin16sb::usinx#1 ← (word) sin16sb::usinx#0 + (word) sin16sb::x5_128#0 [ sin16sb::isUpper#2 sin16sb::usinx#1 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#1 ] ) always clobbers reg byte a Statement [112] (signed word) sin16sb::sinx#1 ← - (signed word)(word) sin16sb::usinx#1 [ sin16sb::sinx#1 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::sinx#1 ] ) always clobbers reg byte a Statement [115] (signed word~) sin16sb::return#5 ← (signed word)(word) sin16sb::usinx#1 [ sin16sb::return#5 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#5 ] ) always clobbers reg byte a -Statement [117] (word) mul16u::a#1 ← (word) mulu16_sel::v1#10 [ mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] ) always clobbers reg byte a -Statement [118] (word) mul16u::b#0 ← (word) mulu16_sel::v2#10 [ mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] ) always clobbers reg byte a -Statement [120] (dword) mul16u::return#2 ← (dword) mul16u::res#2 [ mulu16_sel::select#10 mul16u::return#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] ) always clobbers reg byte a -Statement [121] (dword~) mulu16_sel::$0 ← (dword) mul16u::return#2 [ mulu16_sel::select#10 mulu16_sel::$0 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] ) always clobbers reg byte a -Statement [122] (dword~) mulu16_sel::$1 ← (dword~) mulu16_sel::$0 << (byte) mulu16_sel::select#10 [ mulu16_sel::$1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::$1 ] ) always clobbers reg byte a -Statement [123] (word) mulu16_sel::return#17 ← > (dword~) mulu16_sel::$1 [ mulu16_sel::return#17 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#17 ] ) always clobbers reg byte a -Statement [125] (dword) mul16u::mb#0 ← ((dword)) (word) mul16u::b#0 [ mul16u::a#1 mul16u::mb#0 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] ) always clobbers reg byte a -Statement [127] if((word) mul16u::a#2!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul16u::@2 [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ) always clobbers reg byte a -Statement [129] (byte/word~) mul16u::$1 ← (word) mul16u::a#2 & (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] ) always clobbers reg byte a -Statement [131] (dword) mul16u::res#1 ← (dword) mul16u::res#2 + (dword) mul16u::mb#2 [ mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] ) always clobbers reg byte a -Statement [136] (word) divr16u::dividend#1 ← > (dword) div32u16u::dividend#2 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 ] ) always clobbers reg byte a -Statement [137] (word) divr16u::divisor#0 ← (word) div32u16u::divisor#2 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 divr16u::divisor#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 divr16u::divisor#0 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 divr16u::divisor#0 ] ) always clobbers reg byte a -Statement [139] (word) divr16u::return#2 ← (word) divr16u::return#0 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#2 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#2 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#2 rem16u#1 ] ) always clobbers reg byte a -Statement [140] (word) div32u16u::quotient_hi#0 ← (word) divr16u::return#2 [ div32u16u::dividend#2 div32u16u::divisor#2 div32u16u::quotient_hi#0 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 div32u16u::quotient_hi#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::dividend#2 div32u16u::divisor#2 div32u16u::quotient_hi#0 rem16u#1 ] ) always clobbers reg byte a -Statement [141] (word) divr16u::dividend#2 ← < (dword) div32u16u::dividend#2 [ div32u16u::divisor#2 div32u16u::quotient_hi#0 divr16u::dividend#2 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::divisor#2 div32u16u::quotient_hi#0 divr16u::dividend#2 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::divisor#2 div32u16u::quotient_hi#0 divr16u::dividend#2 rem16u#1 ] ) always clobbers reg byte a -Statement [142] (word) divr16u::divisor#1 ← (word) div32u16u::divisor#2 [ div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 rem16u#1 ] ) always clobbers reg byte a -Statement [143] (word) divr16u::rem#4 ← (word) rem16u#1 [ div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 divr16u::rem#4 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 divr16u::rem#4 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 divr16u::rem#4 ] ) always clobbers reg byte a -Statement [145] (word) divr16u::return#3 ← (word) divr16u::return#0 [ div32u16u::quotient_hi#0 divr16u::return#3 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::quotient_hi#0 divr16u::return#3 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::quotient_hi#0 divr16u::return#3 ] ) always clobbers reg byte a -Statement [146] (word) div32u16u::quotient_lo#0 ← (word) divr16u::return#3 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ) always clobbers reg byte a -Statement [147] (dword) div32u16u::return#0 ← (word) div32u16u::quotient_hi#0 dw= (word) div32u16u::quotient_lo#0 [ div32u16u::return#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::return#0 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::return#0 ] ) always clobbers reg byte a -Statement [152] (byte~) divr16u::$1 ← > (word) divr16u::dividend#3 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) always clobbers reg byte a -Statement [153] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) always clobbers reg byte a -Statement [155] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) always clobbers reg byte a -Statement [159] if((word) divr16u::rem#6<(word) divr16u::divisor#6) goto divr16u::@3 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) always clobbers reg byte a -Statement [161] (word) divr16u::rem#2 ← (word) divr16u::rem#6 - (word) divr16u::divisor#6 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ) always clobbers reg byte a -Statement [165] (word) rem16u#1 ← (word) divr16u::rem#11 [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#0 rem16u#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] ) always clobbers reg byte a -Statement [169] (dword) div32u16u::return#2 ← (dword) div32u16u::return#0 [ div32u16u::return#2 ] ( main:2::sin16s_gen:5 [ div32u16u::return#2 ] ) always clobbers reg byte a -Statement [170] (dword) sin16s_gen::step#0 ← (dword) div32u16u::return#2 [ sin16s_gen::step#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 ] ) always clobbers reg byte a -Statement [172] (dword) sin16s::x#0 ← (dword) sin16s_gen::x#2 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#0 ] ) always clobbers reg byte a -Statement [174] (signed word) sin16s::return#0 ← (signed word) sin16s::return#1 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#0 ] ) always clobbers reg byte a -Statement [175] (signed word~) sin16s_gen::$1 ← (signed word) sin16s::return#0 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s_gen::$1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s_gen::$1 ] ) always clobbers reg byte a -Statement [176] *((signed word*) sin16s_gen::sintab#2) ← (signed word~) sin16s_gen::$1 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ) always clobbers reg byte a reg byte y -Statement [177] (signed word*) sin16s_gen::sintab#0 ← (signed word*) sin16s_gen::sintab#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::i#2 sin16s_gen::sintab#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::i#2 sin16s_gen::sintab#0 ] ) always clobbers reg byte a -Statement [178] (dword) sin16s_gen::x#1 ← (dword) sin16s_gen::x#2 + (dword) sin16s_gen::step#0 [ sin16s_gen::step#0 sin16s_gen::i#2 sin16s_gen::x#1 sin16s_gen::sintab#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::i#2 sin16s_gen::x#1 sin16s_gen::sintab#0 ] ) always clobbers reg byte a -Statement [180] if((word) sin16s_gen::i#1<(const word) main::wavelength#0) goto sin16s_gen::@1 [ sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ) always clobbers reg byte a -Statement [182] if((dword) sin16s::x#0<(const dword) PI_u4f28#0) goto sin16s::@1 [ sin16s::x#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#0 ] ) always clobbers reg byte a -Statement [183] (dword) sin16s::x#1 ← (dword) sin16s::x#0 - (const dword) PI_u4f28#0 [ sin16s::x#1 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#1 ] ) always clobbers reg byte a -Statement [185] if((dword) sin16s::x#4<(const dword) PI_HALF_u4f28#0) goto sin16s::@2 [ sin16s::x#4 sin16s::isUpper#2 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#4 sin16s::isUpper#2 ] ) always clobbers reg byte a -Statement [186] (dword) sin16s::x#2 ← (const dword) PI_u4f28#0 - (dword) sin16s::x#4 [ sin16s::isUpper#2 sin16s::x#2 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x#2 ] ) always clobbers reg byte a -Statement [188] (dword~) sin16s::$6 ← (dword) sin16s::x#6 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ sin16s::isUpper#2 sin16s::$6 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::$6 ] ) always clobbers reg byte a reg byte y -Statement [189] (word) sin16s::x1#0 ← > (dword~) sin16s::$6 [ sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 ] ) always clobbers reg byte a -Statement [190] (word) mulu16_sel::v1#0 ← (word) sin16s::x1#0 [ mulu16_sel::v1#0 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#0 sin16s::isUpper#2 sin16s::x1#0 ] ) always clobbers reg byte a -Statement [191] (word) mulu16_sel::v2#0 ← (word) sin16s::x1#0 [ mulu16_sel::v1#0 mulu16_sel::v2#0 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#0 mulu16_sel::v2#0 sin16s::isUpper#2 sin16s::x1#0 ] ) always clobbers reg byte a -Statement [193] (word) mulu16_sel::return#0 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#0 ] ) always clobbers reg byte a -Statement [194] (word) sin16s::x2#0 ← (word) mulu16_sel::return#0 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x2#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x2#0 ] ) always clobbers reg byte a -Statement [195] (word) mulu16_sel::v1#1 ← (word) sin16s::x2#0 [ mulu16_sel::v1#1 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#1 sin16s::isUpper#2 sin16s::x1#0 ] ) always clobbers reg byte a -Statement [196] (word) mulu16_sel::v2#1 ← (word) sin16s::x1#0 [ mulu16_sel::v1#1 mulu16_sel::v2#1 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#1 mulu16_sel::v2#1 sin16s::isUpper#2 sin16s::x1#0 ] ) always clobbers reg byte a -Statement [198] (word) mulu16_sel::return#1 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#1 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#1 ] ) always clobbers reg byte a -Statement [199] (word) sin16s::x3#0 ← (word) mulu16_sel::return#1 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ) always clobbers reg byte a -Statement [200] (word) mulu16_sel::v1#2 ← (word) sin16s::x3#0 [ mulu16_sel::v1#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ) always clobbers reg byte a -Statement [202] (word) mulu16_sel::return#14 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#14 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#14 ] ) always clobbers reg byte a -Statement [203] (word) sin16s::x3_6#0 ← (word) mulu16_sel::return#14 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::x3_6#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::x3_6#0 ] ) always clobbers reg byte a -Statement [204] (word) sin16s::usinx#0 ← (word) sin16s::x1#0 - (word) sin16s::x3_6#0 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::usinx#0 ] ) always clobbers reg byte a -Statement [205] (word) mulu16_sel::v1#3 ← (word) sin16s::x3#0 [ mulu16_sel::v1#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) always clobbers reg byte a -Statement [206] (word) mulu16_sel::v2#3 ← (word) sin16s::x1#0 [ mulu16_sel::v1#3 mulu16_sel::v2#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#3 mulu16_sel::v2#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) always clobbers reg byte a -Statement [208] (word) mulu16_sel::return#15 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#15 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#15 ] ) always clobbers reg byte a -Statement [209] (word) sin16s::x4#0 ← (word) mulu16_sel::return#15 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 sin16s::x4#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 sin16s::x4#0 ] ) always clobbers reg byte a -Statement [210] (word) mulu16_sel::v1#4 ← (word) sin16s::x4#0 [ mulu16_sel::v1#4 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#4 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) always clobbers reg byte a -Statement [211] (word) mulu16_sel::v2#4 ← (word) sin16s::x1#0 [ mulu16_sel::v1#4 mulu16_sel::v2#4 sin16s::isUpper#2 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#4 mulu16_sel::v2#4 sin16s::isUpper#2 sin16s::usinx#0 ] ) always clobbers reg byte a -Statement [213] (word) mulu16_sel::return#16 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#16 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#16 ] ) always clobbers reg byte a -Statement [214] (word) sin16s::x5#0 ← (word) mulu16_sel::return#16 [ sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5#0 ] ) always clobbers reg byte a -Statement [215] (word) sin16s::x5_128#0 ← (word) sin16s::x5#0 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5_128#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5_128#0 ] ) always clobbers reg byte a reg byte y -Statement [216] (word) sin16s::usinx#1 ← (word) sin16s::usinx#0 + (word) sin16s::x5_128#0 [ sin16s::isUpper#2 sin16s::usinx#1 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#1 ] ) always clobbers reg byte a -Statement [218] (signed word) sin16s::sinx#1 ← - (signed word)(word) sin16s::usinx#1 [ sin16s::sinx#1 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::sinx#1 ] ) always clobbers reg byte a -Statement [221] (signed word~) sin16s::return#5 ← (signed word)(word) sin16s::usinx#1 [ sin16s::return#5 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#5 ] ) always clobbers reg byte a +Statement [117] (word) mul16u::a#1 ← (word) mulu16_sel::v1#10 [ mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] ) always clobbers reg byte a +Statement [118] (word) mul16u::b#0 ← (word) mulu16_sel::v2#10 [ mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] ) always clobbers reg byte a +Statement [120] (dword) mul16u::return#2 ← (dword) mul16u::res#2 [ mulu16_sel::select#10 mul16u::return#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] ) always clobbers reg byte a +Statement [121] (dword~) mulu16_sel::$0 ← (dword) mul16u::return#2 [ mulu16_sel::select#10 mulu16_sel::$0 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] ) always clobbers reg byte a +Statement [122] (dword~) mulu16_sel::$1 ← (dword~) mulu16_sel::$0 << (byte) mulu16_sel::select#10 [ mulu16_sel::$1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::$1 ] ) always clobbers reg byte a +Statement [123] (word) mulu16_sel::return#17 ← > (dword~) mulu16_sel::$1 [ mulu16_sel::return#17 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#17 ] ) always clobbers reg byte a +Statement [125] (dword) mul16u::mb#0 ← ((dword)) (word) mul16u::b#0 [ mul16u::a#1 mul16u::mb#0 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] ) always clobbers reg byte a +Statement [127] if((word) mul16u::a#2!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul16u::@2 [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ) always clobbers reg byte a +Statement [129] (byte/word~) mul16u::$1 ← (word) mul16u::a#2 & (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] ) always clobbers reg byte a +Statement [131] (dword) mul16u::res#1 ← (dword) mul16u::res#2 + (dword) mul16u::mb#2 [ mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] ) always clobbers reg byte a +Statement [137] (word) divr16u::return#2 ← (word) divr16u::return#0 [ divr16u::return#2 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ divr16u::return#2 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:164 [ divr16u::return#2 rem16u#1 ] ) always clobbers reg byte a +Statement [138] (word) div32u16u::quotient_hi#0 ← (word) divr16u::return#2 [ div32u16u::quotient_hi#0 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::quotient_hi#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:164 [ div32u16u::quotient_hi#0 rem16u#1 ] ) always clobbers reg byte a +Statement [139] (word) divr16u::rem#4 ← (word) rem16u#1 [ div32u16u::quotient_hi#0 divr16u::rem#4 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::quotient_hi#0 divr16u::rem#4 ] main:2::sin16s_gen:5::div32u16u:164 [ div32u16u::quotient_hi#0 divr16u::rem#4 ] ) always clobbers reg byte a +Statement [141] (word) divr16u::return#3 ← (word) divr16u::return#0 [ div32u16u::quotient_hi#0 divr16u::return#3 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::quotient_hi#0 divr16u::return#3 ] main:2::sin16s_gen:5::div32u16u:164 [ div32u16u::quotient_hi#0 divr16u::return#3 ] ) always clobbers reg byte a +Statement [142] (word) div32u16u::quotient_lo#0 ← (word) divr16u::return#3 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] main:2::sin16s_gen:5::div32u16u:164 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ) always clobbers reg byte a +Statement [143] (dword) div32u16u::return#0 ← (word) div32u16u::quotient_hi#0 dw= (word) div32u16u::quotient_lo#0 [ div32u16u::return#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::return#0 ] main:2::sin16s_gen:5::div32u16u:164 [ div32u16u::return#0 ] ) always clobbers reg byte a +Statement [148] (byte~) divr16u::$1 ← > (word) divr16u::dividend#3 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) always clobbers reg byte a +Statement [149] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) always clobbers reg byte a +Statement [151] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) always clobbers reg byte a +Statement [155] if((word) divr16u::rem#6<(const word) main::wavelength#0) goto divr16u::@3 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) always clobbers reg byte a +Statement [157] (word) divr16u::rem#2 ← (word) divr16u::rem#6 - (const word) main::wavelength#0 [ divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ) always clobbers reg byte a +Statement [161] (word) rem16u#1 ← (word) divr16u::rem#11 [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::return#0 rem16u#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] ) always clobbers reg byte a +Statement [165] (dword) div32u16u::return#2 ← (dword) div32u16u::return#0 [ div32u16u::return#2 ] ( main:2::sin16s_gen:5 [ div32u16u::return#2 ] ) always clobbers reg byte a +Statement [166] (dword) sin16s_gen::step#0 ← (dword) div32u16u::return#2 [ sin16s_gen::step#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 ] ) always clobbers reg byte a +Statement [168] (dword) sin16s::x#0 ← (dword) sin16s_gen::x#2 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#0 ] ) always clobbers reg byte a +Statement [170] (signed word) sin16s::return#0 ← (signed word) sin16s::return#1 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#0 ] ) always clobbers reg byte a +Statement [171] (signed word~) sin16s_gen::$1 ← (signed word) sin16s::return#0 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s_gen::$1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s_gen::$1 ] ) always clobbers reg byte a +Statement [172] *((signed word*) sin16s_gen::sintab#2) ← (signed word~) sin16s_gen::$1 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ) always clobbers reg byte a reg byte y +Statement [173] (signed word*) sin16s_gen::sintab#0 ← (signed word*) sin16s_gen::sintab#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::i#2 sin16s_gen::sintab#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::i#2 sin16s_gen::sintab#0 ] ) always clobbers reg byte a +Statement [174] (dword) sin16s_gen::x#1 ← (dword) sin16s_gen::x#2 + (dword) sin16s_gen::step#0 [ sin16s_gen::step#0 sin16s_gen::i#2 sin16s_gen::x#1 sin16s_gen::sintab#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::i#2 sin16s_gen::x#1 sin16s_gen::sintab#0 ] ) always clobbers reg byte a +Statement [176] if((word) sin16s_gen::i#1<(const word) main::wavelength#0) goto sin16s_gen::@1 [ sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ) always clobbers reg byte a +Statement [178] if((dword) sin16s::x#0<(const dword) PI_u4f28#0) goto sin16s::@1 [ sin16s::x#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#0 ] ) always clobbers reg byte a +Statement [179] (dword) sin16s::x#1 ← (dword) sin16s::x#0 - (const dword) PI_u4f28#0 [ sin16s::x#1 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#1 ] ) always clobbers reg byte a +Statement [181] if((dword) sin16s::x#4<(const dword) PI_HALF_u4f28#0) goto sin16s::@2 [ sin16s::x#4 sin16s::isUpper#2 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#4 sin16s::isUpper#2 ] ) always clobbers reg byte a +Statement [182] (dword) sin16s::x#2 ← (const dword) PI_u4f28#0 - (dword) sin16s::x#4 [ sin16s::isUpper#2 sin16s::x#2 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x#2 ] ) always clobbers reg byte a +Statement [184] (dword~) sin16s::$6 ← (dword) sin16s::x#6 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ sin16s::isUpper#2 sin16s::$6 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::$6 ] ) always clobbers reg byte a reg byte y +Statement [185] (word) sin16s::x1#0 ← > (dword~) sin16s::$6 [ sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 ] ) always clobbers reg byte a +Statement [186] (word) mulu16_sel::v1#0 ← (word) sin16s::x1#0 [ mulu16_sel::v1#0 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#0 sin16s::isUpper#2 sin16s::x1#0 ] ) always clobbers reg byte a +Statement [187] (word) mulu16_sel::v2#0 ← (word) sin16s::x1#0 [ mulu16_sel::v1#0 mulu16_sel::v2#0 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#0 mulu16_sel::v2#0 sin16s::isUpper#2 sin16s::x1#0 ] ) always clobbers reg byte a +Statement [189] (word) mulu16_sel::return#0 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#0 ] ) always clobbers reg byte a +Statement [190] (word) sin16s::x2#0 ← (word) mulu16_sel::return#0 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x2#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x2#0 ] ) always clobbers reg byte a +Statement [191] (word) mulu16_sel::v1#1 ← (word) sin16s::x2#0 [ mulu16_sel::v1#1 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#1 sin16s::isUpper#2 sin16s::x1#0 ] ) always clobbers reg byte a +Statement [192] (word) mulu16_sel::v2#1 ← (word) sin16s::x1#0 [ mulu16_sel::v1#1 mulu16_sel::v2#1 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#1 mulu16_sel::v2#1 sin16s::isUpper#2 sin16s::x1#0 ] ) always clobbers reg byte a +Statement [194] (word) mulu16_sel::return#1 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#1 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#1 ] ) always clobbers reg byte a +Statement [195] (word) sin16s::x3#0 ← (word) mulu16_sel::return#1 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ) always clobbers reg byte a +Statement [196] (word) mulu16_sel::v1#2 ← (word) sin16s::x3#0 [ mulu16_sel::v1#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ) always clobbers reg byte a +Statement [198] (word) mulu16_sel::return#14 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#14 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#14 ] ) always clobbers reg byte a +Statement [199] (word) sin16s::x3_6#0 ← (word) mulu16_sel::return#14 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::x3_6#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::x3_6#0 ] ) always clobbers reg byte a +Statement [200] (word) sin16s::usinx#0 ← (word) sin16s::x1#0 - (word) sin16s::x3_6#0 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::usinx#0 ] ) always clobbers reg byte a +Statement [201] (word) mulu16_sel::v1#3 ← (word) sin16s::x3#0 [ mulu16_sel::v1#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) always clobbers reg byte a +Statement [202] (word) mulu16_sel::v2#3 ← (word) sin16s::x1#0 [ mulu16_sel::v1#3 mulu16_sel::v2#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#3 mulu16_sel::v2#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) always clobbers reg byte a +Statement [204] (word) mulu16_sel::return#15 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#15 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#15 ] ) always clobbers reg byte a +Statement [205] (word) sin16s::x4#0 ← (word) mulu16_sel::return#15 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 sin16s::x4#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 sin16s::x4#0 ] ) always clobbers reg byte a +Statement [206] (word) mulu16_sel::v1#4 ← (word) sin16s::x4#0 [ mulu16_sel::v1#4 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#4 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) always clobbers reg byte a +Statement [207] (word) mulu16_sel::v2#4 ← (word) sin16s::x1#0 [ mulu16_sel::v1#4 mulu16_sel::v2#4 sin16s::isUpper#2 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#4 mulu16_sel::v2#4 sin16s::isUpper#2 sin16s::usinx#0 ] ) always clobbers reg byte a +Statement [209] (word) mulu16_sel::return#16 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#16 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#16 ] ) always clobbers reg byte a +Statement [210] (word) sin16s::x5#0 ← (word) mulu16_sel::return#16 [ sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5#0 ] ) always clobbers reg byte a +Statement [211] (word) sin16s::x5_128#0 ← (word) sin16s::x5#0 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5_128#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5_128#0 ] ) always clobbers reg byte a reg byte y +Statement [212] (word) sin16s::usinx#1 ← (word) sin16s::usinx#0 + (word) sin16s::x5_128#0 [ sin16s::isUpper#2 sin16s::usinx#1 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#1 ] ) always clobbers reg byte a +Statement [214] (signed word) sin16s::sinx#1 ← - (signed word)(word) sin16s::usinx#1 [ sin16s::sinx#1 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::sinx#1 ] ) always clobbers reg byte a +Statement [217] (signed word~) sin16s::return#5 ← (signed word)(word) sin16s::usinx#1 [ sin16s::return#5 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#5 ] ) always clobbers reg byte a Potential registers zp ZP_WORD:2 [ main::st1#2 main::st1#1 ] : zp ZP_WORD:2 , Potential registers zp ZP_WORD:4 [ main::st2#2 main::st2#1 ] : zp ZP_WORD:4 , Potential registers zp ZP_BYTE:6 [ main::i#2 main::i#1 ] : zp ZP_BYTE:6 , reg byte x , @@ -8494,191 +8436,185 @@ Potential registers zp ZP_BYTE:34 [ mulu16_sel::select#10 ] : zp ZP_BYTE:34 , re Potential registers zp ZP_WORD:35 [ mul16u::a#2 mul16u::a#1 mul16u::a#0 ] : zp ZP_WORD:35 , Potential registers zp ZP_DWORD:37 [ mul16u::res#2 mul16u::res#6 mul16u::res#1 ] : zp ZP_DWORD:37 , Potential registers zp ZP_DWORD:41 [ mul16u::mb#2 mul16u::mb#0 mul16u::mb#1 ] : zp ZP_DWORD:41 , -Potential registers zp ZP_DWORD:45 [ div32u16u::dividend#2 ] : zp ZP_DWORD:45 , -Potential registers zp ZP_WORD:49 [ div32u16u::divisor#2 ] : zp ZP_WORD:49 , -Potential registers zp ZP_WORD:51 [ divr16u::divisor#6 divr16u::divisor#0 divr16u::divisor#1 ] : zp ZP_WORD:51 , -Potential registers zp ZP_WORD:53 [ divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] : zp ZP_WORD:53 , -Potential registers zp ZP_WORD:55 [ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#1 divr16u::dividend#2 divr16u::dividend#0 ] : zp ZP_WORD:55 , -Potential registers zp ZP_WORD:57 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] : zp ZP_WORD:57 , -Potential registers zp ZP_BYTE:59 [ divr16u::i#2 divr16u::i#1 ] : zp ZP_BYTE:59 , reg byte x , reg byte y , -Potential registers zp ZP_DWORD:60 [ sin16s_gen::x#2 sin16s_gen::x#1 ] : zp ZP_DWORD:60 , -Potential registers zp ZP_WORD:64 [ sin16s_gen::sintab#2 sin16s_gen::sintab#0 ] : zp ZP_WORD:64 , -Potential registers zp ZP_WORD:66 [ sin16s_gen::i#2 sin16s_gen::i#1 ] : zp ZP_WORD:66 , -Potential registers zp ZP_BYTE:68 [ sin16s::isUpper#2 ] : zp ZP_BYTE:68 , reg byte x , -Potential registers zp ZP_DWORD:69 [ sin16s::x#6 sin16s::x#4 sin16s::x#0 sin16s::x#1 sin16s::x#2 ] : zp ZP_DWORD:69 , -Potential registers zp ZP_WORD:73 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 ] : zp ZP_WORD:73 , -Potential registers zp ZP_WORD:75 [ main::sw#0 ] : zp ZP_WORD:75 , -Potential registers zp ZP_BYTE:77 [ print_byte::$0 ] : zp ZP_BYTE:77 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:78 [ print_byte::$2 ] : zp ZP_BYTE:78 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_DWORD:79 [ div32u16u::return#3 ] : zp ZP_DWORD:79 , -Potential registers zp ZP_DWORD:83 [ sin16s_genb::step#0 ] : zp ZP_DWORD:83 , -Potential registers zp ZP_WORD:87 [ sin16sb::return#0 ] : zp ZP_WORD:87 , -Potential registers zp ZP_WORD:89 [ sin16s_genb::$2 ] : zp ZP_WORD:89 , -Potential registers zp ZP_WORD:91 [ sin16sb::x1#0 ] : zp ZP_WORD:91 , -Potential registers zp ZP_WORD:93 [ mulu16_sel::return#18 ] : zp ZP_WORD:93 , -Potential registers zp ZP_WORD:95 [ sin16sb::x2#0 ] : zp ZP_WORD:95 , -Potential registers zp ZP_WORD:97 [ mulu16_sel::return#19 ] : zp ZP_WORD:97 , -Potential registers zp ZP_WORD:99 [ sin16sb::x3#0 ] : zp ZP_WORD:99 , -Potential registers zp ZP_WORD:101 [ mulu16_sel::return#20 ] : zp ZP_WORD:101 , -Potential registers zp ZP_WORD:103 [ sin16sb::x3_6#0 ] : zp ZP_WORD:103 , -Potential registers zp ZP_WORD:105 [ sin16sb::usinx#0 ] : zp ZP_WORD:105 , -Potential registers zp ZP_WORD:107 [ mulu16_sel::return#10 ] : zp ZP_WORD:107 , -Potential registers zp ZP_WORD:109 [ sin16sb::x4#0 ] : zp ZP_WORD:109 , -Potential registers zp ZP_WORD:111 [ mulu16_sel::return#11 ] : zp ZP_WORD:111 , -Potential registers zp ZP_WORD:113 [ sin16sb::x5#0 ] : zp ZP_WORD:113 , -Potential registers zp ZP_WORD:115 [ sin16sb::x5_128#0 ] : zp ZP_WORD:115 , -Potential registers zp ZP_WORD:117 [ sin16sb::usinx#1 ] : zp ZP_WORD:117 , -Potential registers zp ZP_WORD:119 [ mul16u::b#0 ] : zp ZP_WORD:119 , -Potential registers zp ZP_DWORD:121 [ mul16u::return#2 ] : zp ZP_DWORD:121 , -Potential registers zp ZP_DWORD:125 [ mulu16_sel::$0 ] : zp ZP_DWORD:125 , -Potential registers zp ZP_DWORD:129 [ mulu16_sel::$1 ] : zp ZP_DWORD:129 , -Potential registers zp ZP_WORD:133 [ mulu16_sel::return#17 ] : zp ZP_WORD:133 , -Potential registers zp ZP_BYTE:135 [ mul16u::$1 ] : zp ZP_BYTE:135 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_WORD:136 [ divr16u::return#2 ] : zp ZP_WORD:136 , -Potential registers zp ZP_WORD:138 [ div32u16u::quotient_hi#0 ] : zp ZP_WORD:138 , -Potential registers zp ZP_WORD:140 [ divr16u::return#3 ] : zp ZP_WORD:140 , -Potential registers zp ZP_WORD:142 [ div32u16u::quotient_lo#0 ] : zp ZP_WORD:142 , -Potential registers zp ZP_DWORD:144 [ div32u16u::return#0 ] : zp ZP_DWORD:144 , -Potential registers zp ZP_BYTE:148 [ divr16u::$1 ] : zp ZP_BYTE:148 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:149 [ divr16u::$2 ] : zp ZP_BYTE:149 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_WORD:150 [ rem16u#1 ] : zp ZP_WORD:150 , -Potential registers zp ZP_DWORD:152 [ div32u16u::return#2 ] : zp ZP_DWORD:152 , -Potential registers zp ZP_DWORD:156 [ sin16s_gen::step#0 ] : zp ZP_DWORD:156 , -Potential registers zp ZP_WORD:160 [ sin16s::return#0 ] : zp ZP_WORD:160 , -Potential registers zp ZP_WORD:162 [ sin16s_gen::$1 ] : zp ZP_WORD:162 , -Potential registers zp ZP_DWORD:164 [ sin16s::$6 ] : zp ZP_DWORD:164 , -Potential registers zp ZP_WORD:168 [ sin16s::x1#0 ] : zp ZP_WORD:168 , -Potential registers zp ZP_WORD:170 [ mulu16_sel::return#0 ] : zp ZP_WORD:170 , -Potential registers zp ZP_WORD:172 [ sin16s::x2#0 ] : zp ZP_WORD:172 , -Potential registers zp ZP_WORD:174 [ mulu16_sel::return#1 ] : zp ZP_WORD:174 , -Potential registers zp ZP_WORD:176 [ sin16s::x3#0 ] : zp ZP_WORD:176 , -Potential registers zp ZP_WORD:178 [ mulu16_sel::return#14 ] : zp ZP_WORD:178 , -Potential registers zp ZP_WORD:180 [ sin16s::x3_6#0 ] : zp ZP_WORD:180 , -Potential registers zp ZP_WORD:182 [ sin16s::usinx#0 ] : zp ZP_WORD:182 , -Potential registers zp ZP_WORD:184 [ mulu16_sel::return#15 ] : zp ZP_WORD:184 , -Potential registers zp ZP_WORD:186 [ sin16s::x4#0 ] : zp ZP_WORD:186 , -Potential registers zp ZP_WORD:188 [ mulu16_sel::return#16 ] : zp ZP_WORD:188 , -Potential registers zp ZP_WORD:190 [ sin16s::x5#0 ] : zp ZP_WORD:190 , -Potential registers zp ZP_WORD:192 [ sin16s::x5_128#0 ] : zp ZP_WORD:192 , -Potential registers zp ZP_WORD:194 [ sin16s::usinx#1 ] : zp ZP_WORD:194 , +Potential registers zp ZP_WORD:45 [ divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] : zp ZP_WORD:45 , +Potential registers zp ZP_WORD:47 [ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#0 ] : zp ZP_WORD:47 , +Potential registers zp ZP_WORD:49 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] : zp ZP_WORD:49 , +Potential registers zp ZP_BYTE:51 [ divr16u::i#2 divr16u::i#1 ] : zp ZP_BYTE:51 , reg byte x , reg byte y , +Potential registers zp ZP_DWORD:52 [ sin16s_gen::x#2 sin16s_gen::x#1 ] : zp ZP_DWORD:52 , +Potential registers zp ZP_WORD:56 [ sin16s_gen::sintab#2 sin16s_gen::sintab#0 ] : zp ZP_WORD:56 , +Potential registers zp ZP_WORD:58 [ sin16s_gen::i#2 sin16s_gen::i#1 ] : zp ZP_WORD:58 , +Potential registers zp ZP_BYTE:60 [ sin16s::isUpper#2 ] : zp ZP_BYTE:60 , reg byte x , +Potential registers zp ZP_DWORD:61 [ sin16s::x#6 sin16s::x#4 sin16s::x#0 sin16s::x#1 sin16s::x#2 ] : zp ZP_DWORD:61 , +Potential registers zp ZP_WORD:65 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 ] : zp ZP_WORD:65 , +Potential registers zp ZP_WORD:67 [ main::sw#0 ] : zp ZP_WORD:67 , +Potential registers zp ZP_BYTE:69 [ print_byte::$0 ] : zp ZP_BYTE:69 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:70 [ print_byte::$2 ] : zp ZP_BYTE:70 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_DWORD:71 [ div32u16u::return#3 ] : zp ZP_DWORD:71 , +Potential registers zp ZP_DWORD:75 [ sin16s_genb::step#0 ] : zp ZP_DWORD:75 , +Potential registers zp ZP_WORD:79 [ sin16sb::return#0 ] : zp ZP_WORD:79 , +Potential registers zp ZP_WORD:81 [ sin16s_genb::$2 ] : zp ZP_WORD:81 , +Potential registers zp ZP_WORD:83 [ sin16sb::x1#0 ] : zp ZP_WORD:83 , +Potential registers zp ZP_WORD:85 [ mulu16_sel::return#18 ] : zp ZP_WORD:85 , +Potential registers zp ZP_WORD:87 [ sin16sb::x2#0 ] : zp ZP_WORD:87 , +Potential registers zp ZP_WORD:89 [ mulu16_sel::return#19 ] : zp ZP_WORD:89 , +Potential registers zp ZP_WORD:91 [ sin16sb::x3#0 ] : zp ZP_WORD:91 , +Potential registers zp ZP_WORD:93 [ mulu16_sel::return#20 ] : zp ZP_WORD:93 , +Potential registers zp ZP_WORD:95 [ sin16sb::x3_6#0 ] : zp ZP_WORD:95 , +Potential registers zp ZP_WORD:97 [ sin16sb::usinx#0 ] : zp ZP_WORD:97 , +Potential registers zp ZP_WORD:99 [ mulu16_sel::return#10 ] : zp ZP_WORD:99 , +Potential registers zp ZP_WORD:101 [ sin16sb::x4#0 ] : zp ZP_WORD:101 , +Potential registers zp ZP_WORD:103 [ mulu16_sel::return#11 ] : zp ZP_WORD:103 , +Potential registers zp ZP_WORD:105 [ sin16sb::x5#0 ] : zp ZP_WORD:105 , +Potential registers zp ZP_WORD:107 [ sin16sb::x5_128#0 ] : zp ZP_WORD:107 , +Potential registers zp ZP_WORD:109 [ sin16sb::usinx#1 ] : zp ZP_WORD:109 , +Potential registers zp ZP_WORD:111 [ mul16u::b#0 ] : zp ZP_WORD:111 , +Potential registers zp ZP_DWORD:113 [ mul16u::return#2 ] : zp ZP_DWORD:113 , +Potential registers zp ZP_DWORD:117 [ mulu16_sel::$0 ] : zp ZP_DWORD:117 , +Potential registers zp ZP_DWORD:121 [ mulu16_sel::$1 ] : zp ZP_DWORD:121 , +Potential registers zp ZP_WORD:125 [ mulu16_sel::return#17 ] : zp ZP_WORD:125 , +Potential registers zp ZP_BYTE:127 [ mul16u::$1 ] : zp ZP_BYTE:127 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_WORD:128 [ divr16u::return#2 ] : zp ZP_WORD:128 , +Potential registers zp ZP_WORD:130 [ div32u16u::quotient_hi#0 ] : zp ZP_WORD:130 , +Potential registers zp ZP_WORD:132 [ divr16u::return#3 ] : zp ZP_WORD:132 , +Potential registers zp ZP_WORD:134 [ div32u16u::quotient_lo#0 ] : zp ZP_WORD:134 , +Potential registers zp ZP_DWORD:136 [ div32u16u::return#0 ] : zp ZP_DWORD:136 , +Potential registers zp ZP_BYTE:140 [ divr16u::$1 ] : zp ZP_BYTE:140 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:141 [ divr16u::$2 ] : zp ZP_BYTE:141 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_WORD:142 [ rem16u#1 ] : zp ZP_WORD:142 , +Potential registers zp ZP_DWORD:144 [ div32u16u::return#2 ] : zp ZP_DWORD:144 , +Potential registers zp ZP_DWORD:148 [ sin16s_gen::step#0 ] : zp ZP_DWORD:148 , +Potential registers zp ZP_WORD:152 [ sin16s::return#0 ] : zp ZP_WORD:152 , +Potential registers zp ZP_WORD:154 [ sin16s_gen::$1 ] : zp ZP_WORD:154 , +Potential registers zp ZP_DWORD:156 [ sin16s::$6 ] : zp ZP_DWORD:156 , +Potential registers zp ZP_WORD:160 [ sin16s::x1#0 ] : zp ZP_WORD:160 , +Potential registers zp ZP_WORD:162 [ mulu16_sel::return#0 ] : zp ZP_WORD:162 , +Potential registers zp ZP_WORD:164 [ sin16s::x2#0 ] : zp ZP_WORD:164 , +Potential registers zp ZP_WORD:166 [ mulu16_sel::return#1 ] : zp ZP_WORD:166 , +Potential registers zp ZP_WORD:168 [ sin16s::x3#0 ] : zp ZP_WORD:168 , +Potential registers zp ZP_WORD:170 [ mulu16_sel::return#14 ] : zp ZP_WORD:170 , +Potential registers zp ZP_WORD:172 [ sin16s::x3_6#0 ] : zp ZP_WORD:172 , +Potential registers zp ZP_WORD:174 [ sin16s::usinx#0 ] : zp ZP_WORD:174 , +Potential registers zp ZP_WORD:176 [ mulu16_sel::return#15 ] : zp ZP_WORD:176 , +Potential registers zp ZP_WORD:178 [ sin16s::x4#0 ] : zp ZP_WORD:178 , +Potential registers zp ZP_WORD:180 [ mulu16_sel::return#16 ] : zp ZP_WORD:180 , +Potential registers zp ZP_WORD:182 [ sin16s::x5#0 ] : zp ZP_WORD:182 , +Potential registers zp ZP_WORD:184 [ sin16s::x5_128#0 ] : zp ZP_WORD:184 , +Potential registers zp ZP_WORD:186 [ sin16s::usinx#1 ] : zp ZP_WORD:186 , REGISTER UPLIFT SCOPES -Uplift Scope [mul16u] 353.83: zp ZP_DWORD:37 [ mul16u::res#2 mul16u::res#6 mul16u::res#1 ] 249.57: zp ZP_DWORD:41 [ mul16u::mb#2 mul16u::mb#0 mul16u::mb#1 ] 202: zp ZP_BYTE:135 [ mul16u::$1 ] 170: zp ZP_WORD:35 [ mul16u::a#2 mul16u::a#1 mul16u::a#0 ] 4: zp ZP_WORD:119 [ mul16u::b#0 ] 4: zp ZP_DWORD:121 [ mul16u::return#2 ] +Uplift Scope [mul16u] 353.83: zp ZP_DWORD:37 [ mul16u::res#2 mul16u::res#6 mul16u::res#1 ] 249.57: zp ZP_DWORD:41 [ mul16u::mb#2 mul16u::mb#0 mul16u::mb#1 ] 202: zp ZP_BYTE:127 [ mul16u::$1 ] 170: zp ZP_WORD:35 [ mul16u::a#2 mul16u::a#1 mul16u::a#0 ] 4: zp ZP_WORD:111 [ mul16u::b#0 ] 4: zp ZP_DWORD:113 [ mul16u::return#2 ] Uplift Scope [print_str] 305.5: zp ZP_WORD:7 [ print_str::str#3 print_str::str#5 print_str::str#0 ] -Uplift Scope [divr16u] 106.92: zp ZP_WORD:53 [ divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] 35.54: zp ZP_WORD:57 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] 22: zp ZP_BYTE:148 [ divr16u::$1 ] 22: zp ZP_BYTE:149 [ divr16u::$2 ] 18.19: zp ZP_BYTE:59 [ divr16u::i#2 divr16u::i#1 ] 17.08: zp ZP_WORD:55 [ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#1 divr16u::dividend#2 divr16u::dividend#0 ] 7.62: zp ZP_WORD:51 [ divr16u::divisor#6 divr16u::divisor#0 divr16u::divisor#1 ] 4: zp ZP_WORD:136 [ divr16u::return#2 ] 4: zp ZP_WORD:140 [ divr16u::return#3 ] -Uplift Scope [] 183.57: zp ZP_WORD:13 [ print_char_cursor#33 print_char_cursor#46 print_char_cursor#43 print_char_cursor#51 print_char_cursor#48 print_char_cursor#49 print_char_cursor#2 print_char_cursor#12 print_char_cursor#1 ] 0.57: zp ZP_WORD:150 [ rem16u#1 ] -Uplift Scope [mulu16_sel] 46: zp ZP_WORD:30 [ mulu16_sel::v1#10 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 mulu16_sel::v1#8 mulu16_sel::v1#9 mulu16_sel::v1#5 mulu16_sel::v1#6 mulu16_sel::v1#7 ] 41: zp ZP_WORD:32 [ mulu16_sel::v2#10 mulu16_sel::v2#3 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 mulu16_sel::v2#8 mulu16_sel::v2#9 mulu16_sel::v2#5 mulu16_sel::v2#6 ] 4: zp ZP_WORD:93 [ mulu16_sel::return#18 ] 4: zp ZP_WORD:97 [ mulu16_sel::return#19 ] 4: zp ZP_WORD:101 [ mulu16_sel::return#20 ] 4: zp ZP_WORD:107 [ mulu16_sel::return#10 ] 4: zp ZP_WORD:111 [ mulu16_sel::return#11 ] 4: zp ZP_DWORD:125 [ mulu16_sel::$0 ] 4: zp ZP_DWORD:129 [ mulu16_sel::$1 ] 4: zp ZP_WORD:170 [ mulu16_sel::return#0 ] 4: zp ZP_WORD:174 [ mulu16_sel::return#1 ] 4: zp ZP_WORD:178 [ mulu16_sel::return#14 ] 4: zp ZP_WORD:184 [ mulu16_sel::return#15 ] 4: zp ZP_WORD:188 [ mulu16_sel::return#16 ] 1.83: zp ZP_WORD:133 [ mulu16_sel::return#17 ] 0.33: zp ZP_BYTE:34 [ mulu16_sel::select#10 ] -Uplift Scope [sin16s] 27.5: zp ZP_DWORD:69 [ sin16s::x#6 sin16s::x#4 sin16s::x#0 sin16s::x#1 sin16s::x#2 ] 22: zp ZP_WORD:160 [ sin16s::return#0 ] 13: zp ZP_WORD:73 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 ] 4: zp ZP_DWORD:164 [ sin16s::$6 ] 4: zp ZP_WORD:172 [ sin16s::x2#0 ] 4: zp ZP_WORD:180 [ sin16s::x3_6#0 ] 4: zp ZP_WORD:186 [ sin16s::x4#0 ] 4: zp ZP_WORD:190 [ sin16s::x5#0 ] 4: zp ZP_WORD:192 [ sin16s::x5_128#0 ] 1: zp ZP_WORD:176 [ sin16s::x3#0 ] 1: zp ZP_WORD:194 [ sin16s::usinx#1 ] 0.64: zp ZP_WORD:168 [ sin16s::x1#0 ] 0.33: zp ZP_WORD:182 [ sin16s::usinx#0 ] 0.06: zp ZP_BYTE:68 [ sin16s::isUpper#2 ] -Uplift Scope [sin16sb] 27.5: zp ZP_WORD:26 [ sin16sb::x#6 sin16sb::x#4 sin16sb::x#0 sin16sb::x#1 sin16sb::x#2 ] 22: zp ZP_WORD:87 [ sin16sb::return#0 ] 13: zp ZP_WORD:28 [ sin16sb::return#1 sin16sb::return#5 sin16sb::sinx#1 ] 4: zp ZP_WORD:95 [ sin16sb::x2#0 ] 4: zp ZP_WORD:103 [ sin16sb::x3_6#0 ] 4: zp ZP_WORD:109 [ sin16sb::x4#0 ] 4: zp ZP_WORD:113 [ sin16sb::x5#0 ] 4: zp ZP_WORD:115 [ sin16sb::x5_128#0 ] 1: zp ZP_WORD:99 [ sin16sb::x3#0 ] 1: zp ZP_WORD:117 [ sin16sb::usinx#1 ] 0.64: zp ZP_WORD:91 [ sin16sb::x1#0 ] 0.33: zp ZP_WORD:105 [ sin16sb::usinx#0 ] 0.06: zp ZP_BYTE:25 [ sin16sb::isUpper#2 ] -Uplift Scope [sin16s_gen] 22: zp ZP_WORD:162 [ sin16s_gen::$1 ] 19.25: zp ZP_WORD:66 [ sin16s_gen::i#2 sin16s_gen::i#1 ] 12.05: zp ZP_DWORD:60 [ sin16s_gen::x#2 sin16s_gen::x#1 ] 11: zp ZP_WORD:64 [ sin16s_gen::sintab#2 sin16s_gen::sintab#0 ] 1.18: zp ZP_DWORD:156 [ sin16s_gen::step#0 ] -Uplift Scope [sin16s_genb] 22: zp ZP_WORD:89 [ sin16s_genb::$2 ] 19.25: zp ZP_WORD:23 [ sin16s_genb::i#2 sin16s_genb::i#1 ] 12.05: zp ZP_DWORD:17 [ sin16s_genb::x#2 sin16s_genb::x#1 ] 11: zp ZP_WORD:21 [ sin16s_genb::sintab#2 sin16s_genb::sintab#0 ] 1.18: zp ZP_DWORD:83 [ sin16s_genb::step#0 ] -Uplift Scope [main] 18.33: zp ZP_BYTE:6 [ main::i#2 main::i#1 ] 10.33: zp ZP_WORD:4 [ main::st2#2 main::st2#1 ] 8.8: zp ZP_WORD:2 [ main::st1#2 main::st1#1 ] 6.6: zp ZP_WORD:75 [ main::sw#0 ] +Uplift Scope [divr16u] 106.92: zp ZP_WORD:45 [ divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] 35.54: zp ZP_WORD:49 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] 22: zp ZP_BYTE:140 [ divr16u::$1 ] 22: zp ZP_BYTE:141 [ divr16u::$2 ] 18.19: zp ZP_BYTE:51 [ divr16u::i#2 divr16u::i#1 ] 9.75: zp ZP_WORD:47 [ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#0 ] 4: zp ZP_WORD:128 [ divr16u::return#2 ] 4: zp ZP_WORD:132 [ divr16u::return#3 ] +Uplift Scope [] 183.57: zp ZP_WORD:13 [ print_char_cursor#33 print_char_cursor#46 print_char_cursor#43 print_char_cursor#51 print_char_cursor#48 print_char_cursor#49 print_char_cursor#2 print_char_cursor#12 print_char_cursor#1 ] 0.8: zp ZP_WORD:142 [ rem16u#1 ] +Uplift Scope [mulu16_sel] 46: zp ZP_WORD:30 [ mulu16_sel::v1#10 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 mulu16_sel::v1#8 mulu16_sel::v1#9 mulu16_sel::v1#5 mulu16_sel::v1#6 mulu16_sel::v1#7 ] 41: zp ZP_WORD:32 [ mulu16_sel::v2#10 mulu16_sel::v2#3 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 mulu16_sel::v2#8 mulu16_sel::v2#9 mulu16_sel::v2#5 mulu16_sel::v2#6 ] 4: zp ZP_WORD:85 [ mulu16_sel::return#18 ] 4: zp ZP_WORD:89 [ mulu16_sel::return#19 ] 4: zp ZP_WORD:93 [ mulu16_sel::return#20 ] 4: zp ZP_WORD:99 [ mulu16_sel::return#10 ] 4: zp ZP_WORD:103 [ mulu16_sel::return#11 ] 4: zp ZP_DWORD:117 [ mulu16_sel::$0 ] 4: zp ZP_DWORD:121 [ mulu16_sel::$1 ] 4: zp ZP_WORD:162 [ mulu16_sel::return#0 ] 4: zp ZP_WORD:166 [ mulu16_sel::return#1 ] 4: zp ZP_WORD:170 [ mulu16_sel::return#14 ] 4: zp ZP_WORD:176 [ mulu16_sel::return#15 ] 4: zp ZP_WORD:180 [ mulu16_sel::return#16 ] 1.83: zp ZP_WORD:125 [ mulu16_sel::return#17 ] 0.33: zp ZP_BYTE:34 [ mulu16_sel::select#10 ] +Uplift Scope [sin16s] 27.5: zp ZP_DWORD:61 [ sin16s::x#6 sin16s::x#4 sin16s::x#0 sin16s::x#1 sin16s::x#2 ] 22: zp ZP_WORD:152 [ sin16s::return#0 ] 13: zp ZP_WORD:65 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 ] 4: zp ZP_DWORD:156 [ sin16s::$6 ] 4: zp ZP_WORD:164 [ sin16s::x2#0 ] 4: zp ZP_WORD:172 [ sin16s::x3_6#0 ] 4: zp ZP_WORD:178 [ sin16s::x4#0 ] 4: zp ZP_WORD:182 [ sin16s::x5#0 ] 4: zp ZP_WORD:184 [ sin16s::x5_128#0 ] 1: zp ZP_WORD:168 [ sin16s::x3#0 ] 1: zp ZP_WORD:186 [ sin16s::usinx#1 ] 0.64: zp ZP_WORD:160 [ sin16s::x1#0 ] 0.33: zp ZP_WORD:174 [ sin16s::usinx#0 ] 0.06: zp ZP_BYTE:60 [ sin16s::isUpper#2 ] +Uplift Scope [sin16sb] 27.5: zp ZP_WORD:26 [ sin16sb::x#6 sin16sb::x#4 sin16sb::x#0 sin16sb::x#1 sin16sb::x#2 ] 22: zp ZP_WORD:79 [ sin16sb::return#0 ] 13: zp ZP_WORD:28 [ sin16sb::return#1 sin16sb::return#5 sin16sb::sinx#1 ] 4: zp ZP_WORD:87 [ sin16sb::x2#0 ] 4: zp ZP_WORD:95 [ sin16sb::x3_6#0 ] 4: zp ZP_WORD:101 [ sin16sb::x4#0 ] 4: zp ZP_WORD:105 [ sin16sb::x5#0 ] 4: zp ZP_WORD:107 [ sin16sb::x5_128#0 ] 1: zp ZP_WORD:91 [ sin16sb::x3#0 ] 1: zp ZP_WORD:109 [ sin16sb::usinx#1 ] 0.64: zp ZP_WORD:83 [ sin16sb::x1#0 ] 0.33: zp ZP_WORD:97 [ sin16sb::usinx#0 ] 0.06: zp ZP_BYTE:25 [ sin16sb::isUpper#2 ] +Uplift Scope [sin16s_gen] 22: zp ZP_WORD:154 [ sin16s_gen::$1 ] 19.25: zp ZP_WORD:58 [ sin16s_gen::i#2 sin16s_gen::i#1 ] 12.05: zp ZP_DWORD:52 [ sin16s_gen::x#2 sin16s_gen::x#1 ] 11: zp ZP_WORD:56 [ sin16s_gen::sintab#2 sin16s_gen::sintab#0 ] 1.18: zp ZP_DWORD:148 [ sin16s_gen::step#0 ] +Uplift Scope [sin16s_genb] 22: zp ZP_WORD:81 [ sin16s_genb::$2 ] 19.25: zp ZP_WORD:23 [ sin16s_genb::i#2 sin16s_genb::i#1 ] 12.05: zp ZP_DWORD:17 [ sin16s_genb::x#2 sin16s_genb::x#1 ] 11: zp ZP_WORD:21 [ sin16s_genb::sintab#2 sin16s_genb::sintab#0 ] 1.18: zp ZP_DWORD:75 [ sin16s_genb::step#0 ] +Uplift Scope [main] 18.33: zp ZP_BYTE:6 [ main::i#2 main::i#1 ] 10.33: zp ZP_WORD:4 [ main::st2#2 main::st2#1 ] 8.8: zp ZP_WORD:2 [ main::st1#2 main::st1#1 ] 6.6: zp ZP_WORD:67 [ main::sw#0 ] Uplift Scope [print_cls] 33: zp ZP_WORD:15 [ print_cls::sc#2 print_cls::sc#1 ] -Uplift Scope [print_byte] 10: zp ZP_BYTE:11 [ print_byte::b#2 print_byte::b#0 print_byte::b#1 ] 4: zp ZP_BYTE:77 [ print_byte::$0 ] 4: zp ZP_BYTE:78 [ print_byte::$2 ] -Uplift Scope [div32u16u] 4: zp ZP_DWORD:79 [ div32u16u::return#3 ] 4: zp ZP_WORD:142 [ div32u16u::quotient_lo#0 ] 4: zp ZP_DWORD:152 [ div32u16u::return#2 ] 1.5: zp ZP_DWORD:144 [ div32u16u::return#0 ] 0.67: zp ZP_DWORD:45 [ div32u16u::dividend#2 ] 0.57: zp ZP_WORD:49 [ div32u16u::divisor#2 ] 0.57: zp ZP_WORD:138 [ div32u16u::quotient_hi#0 ] +Uplift Scope [print_byte] 10: zp ZP_BYTE:11 [ print_byte::b#2 print_byte::b#0 print_byte::b#1 ] 4: zp ZP_BYTE:69 [ print_byte::$0 ] 4: zp ZP_BYTE:70 [ print_byte::$2 ] +Uplift Scope [div32u16u] 4: zp ZP_DWORD:71 [ div32u16u::return#3 ] 4: zp ZP_WORD:134 [ div32u16u::quotient_lo#0 ] 4: zp ZP_DWORD:144 [ div32u16u::return#2 ] 1.5: zp ZP_DWORD:136 [ div32u16u::return#0 ] 0.8: zp ZP_WORD:130 [ div32u16u::quotient_hi#0 ] Uplift Scope [print_char] 14: zp ZP_BYTE:12 [ print_char::ch#3 print_char::ch#1 print_char::ch#2 ] Uplift Scope [print_sword] 9.58: zp ZP_WORD:9 [ print_sword::w#3 print_sword::w#1 print_sword::w#0 ] Uplift Scope [print_word] -Uplifting [mul16u] best 28218 combination zp ZP_DWORD:37 [ mul16u::res#2 mul16u::res#6 mul16u::res#1 ] zp ZP_DWORD:41 [ mul16u::mb#2 mul16u::mb#0 mul16u::mb#1 ] reg byte a [ mul16u::$1 ] zp ZP_WORD:35 [ mul16u::a#2 mul16u::a#1 mul16u::a#0 ] zp ZP_WORD:119 [ mul16u::b#0 ] zp ZP_DWORD:121 [ mul16u::return#2 ] -Uplifting [print_str] best 28218 combination zp ZP_WORD:7 [ print_str::str#3 print_str::str#5 print_str::str#0 ] -Uplifting [divr16u] best 28028 combination zp ZP_WORD:53 [ divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] zp ZP_WORD:57 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] reg byte a [ divr16u::$1 ] reg byte a [ divr16u::$2 ] reg byte x [ divr16u::i#2 divr16u::i#1 ] zp ZP_WORD:55 [ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#1 divr16u::dividend#2 divr16u::dividend#0 ] zp ZP_WORD:51 [ divr16u::divisor#6 divr16u::divisor#0 divr16u::divisor#1 ] zp ZP_WORD:136 [ divr16u::return#2 ] zp ZP_WORD:140 [ divr16u::return#3 ] -Uplifting [] best 28028 combination zp ZP_WORD:13 [ print_char_cursor#33 print_char_cursor#46 print_char_cursor#43 print_char_cursor#51 print_char_cursor#48 print_char_cursor#49 print_char_cursor#2 print_char_cursor#12 print_char_cursor#1 ] zp ZP_WORD:150 [ rem16u#1 ] -Uplifting [mulu16_sel] best 27997 combination zp ZP_WORD:30 [ mulu16_sel::v1#10 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 mulu16_sel::v1#8 mulu16_sel::v1#9 mulu16_sel::v1#5 mulu16_sel::v1#6 mulu16_sel::v1#7 ] zp ZP_WORD:32 [ mulu16_sel::v2#10 mulu16_sel::v2#3 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 mulu16_sel::v2#8 mulu16_sel::v2#9 mulu16_sel::v2#5 mulu16_sel::v2#6 ] zp ZP_WORD:93 [ mulu16_sel::return#18 ] zp ZP_WORD:97 [ mulu16_sel::return#19 ] zp ZP_WORD:101 [ mulu16_sel::return#20 ] zp ZP_WORD:107 [ mulu16_sel::return#10 ] zp ZP_WORD:111 [ mulu16_sel::return#11 ] zp ZP_DWORD:125 [ mulu16_sel::$0 ] zp ZP_DWORD:129 [ mulu16_sel::$1 ] zp ZP_WORD:170 [ mulu16_sel::return#0 ] zp ZP_WORD:174 [ mulu16_sel::return#1 ] zp ZP_WORD:178 [ mulu16_sel::return#14 ] zp ZP_WORD:184 [ mulu16_sel::return#15 ] zp ZP_WORD:188 [ mulu16_sel::return#16 ] zp ZP_WORD:133 [ mulu16_sel::return#17 ] reg byte x [ mulu16_sel::select#10 ] -Uplifting [sin16s] best 27997 combination zp ZP_DWORD:69 [ sin16s::x#6 sin16s::x#4 sin16s::x#0 sin16s::x#1 sin16s::x#2 ] zp ZP_WORD:160 [ sin16s::return#0 ] zp ZP_WORD:73 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 ] zp ZP_DWORD:164 [ sin16s::$6 ] zp ZP_WORD:172 [ sin16s::x2#0 ] zp ZP_WORD:180 [ sin16s::x3_6#0 ] zp ZP_WORD:186 [ sin16s::x4#0 ] zp ZP_WORD:190 [ sin16s::x5#0 ] zp ZP_WORD:192 [ sin16s::x5_128#0 ] zp ZP_WORD:176 [ sin16s::x3#0 ] zp ZP_WORD:194 [ sin16s::usinx#1 ] zp ZP_WORD:168 [ sin16s::x1#0 ] zp ZP_WORD:182 [ sin16s::usinx#0 ] zp ZP_BYTE:68 [ sin16s::isUpper#2 ] -Uplifting [sin16sb] best 27997 combination zp ZP_WORD:26 [ sin16sb::x#6 sin16sb::x#4 sin16sb::x#0 sin16sb::x#1 sin16sb::x#2 ] zp ZP_WORD:87 [ sin16sb::return#0 ] zp ZP_WORD:28 [ sin16sb::return#1 sin16sb::return#5 sin16sb::sinx#1 ] zp ZP_WORD:95 [ sin16sb::x2#0 ] zp ZP_WORD:103 [ sin16sb::x3_6#0 ] zp ZP_WORD:109 [ sin16sb::x4#0 ] zp ZP_WORD:113 [ sin16sb::x5#0 ] zp ZP_WORD:115 [ sin16sb::x5_128#0 ] zp ZP_WORD:99 [ sin16sb::x3#0 ] zp ZP_WORD:117 [ sin16sb::usinx#1 ] zp ZP_WORD:91 [ sin16sb::x1#0 ] zp ZP_WORD:105 [ sin16sb::usinx#0 ] zp ZP_BYTE:25 [ sin16sb::isUpper#2 ] -Uplifting [sin16s_gen] best 27997 combination zp ZP_WORD:162 [ sin16s_gen::$1 ] zp ZP_WORD:66 [ sin16s_gen::i#2 sin16s_gen::i#1 ] zp ZP_DWORD:60 [ sin16s_gen::x#2 sin16s_gen::x#1 ] zp ZP_WORD:64 [ sin16s_gen::sintab#2 sin16s_gen::sintab#0 ] zp ZP_DWORD:156 [ sin16s_gen::step#0 ] -Uplifting [sin16s_genb] best 27997 combination zp ZP_WORD:89 [ sin16s_genb::$2 ] zp ZP_WORD:23 [ sin16s_genb::i#2 sin16s_genb::i#1 ] zp ZP_DWORD:17 [ sin16s_genb::x#2 sin16s_genb::x#1 ] zp ZP_WORD:21 [ sin16s_genb::sintab#2 sin16s_genb::sintab#0 ] zp ZP_DWORD:83 [ sin16s_genb::step#0 ] -Uplifting [main] best 27907 combination reg byte x [ main::i#2 main::i#1 ] zp ZP_WORD:4 [ main::st2#2 main::st2#1 ] zp ZP_WORD:2 [ main::st1#2 main::st1#1 ] zp ZP_WORD:75 [ main::sw#0 ] -Uplifting [print_cls] best 27907 combination zp ZP_WORD:15 [ print_cls::sc#2 print_cls::sc#1 ] -Uplifting [print_byte] best 27899 combination zp ZP_BYTE:11 [ print_byte::b#2 print_byte::b#0 print_byte::b#1 ] reg byte a [ print_byte::$0 ] reg byte a [ print_byte::$2 ] -Uplifting [div32u16u] best 27899 combination zp ZP_DWORD:79 [ div32u16u::return#3 ] zp ZP_WORD:142 [ div32u16u::quotient_lo#0 ] zp ZP_DWORD:152 [ div32u16u::return#2 ] zp ZP_DWORD:144 [ div32u16u::return#0 ] zp ZP_DWORD:45 [ div32u16u::dividend#2 ] zp ZP_WORD:49 [ div32u16u::divisor#2 ] zp ZP_WORD:138 [ div32u16u::quotient_hi#0 ] -Uplifting [print_char] best 27887 combination reg byte a [ print_char::ch#3 print_char::ch#1 print_char::ch#2 ] -Uplifting [print_sword] best 27887 combination zp ZP_WORD:9 [ print_sword::w#3 print_sword::w#1 print_sword::w#0 ] -Uplifting [print_word] best 27887 combination +Uplifting [mul16u] best 28090 combination zp ZP_DWORD:37 [ mul16u::res#2 mul16u::res#6 mul16u::res#1 ] zp ZP_DWORD:41 [ mul16u::mb#2 mul16u::mb#0 mul16u::mb#1 ] reg byte a [ mul16u::$1 ] zp ZP_WORD:35 [ mul16u::a#2 mul16u::a#1 mul16u::a#0 ] zp ZP_WORD:111 [ mul16u::b#0 ] zp ZP_DWORD:113 [ mul16u::return#2 ] +Uplifting [print_str] best 28090 combination zp ZP_WORD:7 [ print_str::str#3 print_str::str#5 print_str::str#0 ] +Uplifting [divr16u] best 27900 combination zp ZP_WORD:45 [ divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] zp ZP_WORD:49 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] reg byte a [ divr16u::$1 ] reg byte a [ divr16u::$2 ] reg byte x [ divr16u::i#2 divr16u::i#1 ] zp ZP_WORD:47 [ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#0 ] zp ZP_WORD:128 [ divr16u::return#2 ] zp ZP_WORD:132 [ divr16u::return#3 ] +Uplifting [] best 27900 combination zp ZP_WORD:13 [ print_char_cursor#33 print_char_cursor#46 print_char_cursor#43 print_char_cursor#51 print_char_cursor#48 print_char_cursor#49 print_char_cursor#2 print_char_cursor#12 print_char_cursor#1 ] zp ZP_WORD:142 [ rem16u#1 ] +Uplifting [mulu16_sel] best 27869 combination zp ZP_WORD:30 [ mulu16_sel::v1#10 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 mulu16_sel::v1#8 mulu16_sel::v1#9 mulu16_sel::v1#5 mulu16_sel::v1#6 mulu16_sel::v1#7 ] zp ZP_WORD:32 [ mulu16_sel::v2#10 mulu16_sel::v2#3 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 mulu16_sel::v2#8 mulu16_sel::v2#9 mulu16_sel::v2#5 mulu16_sel::v2#6 ] zp ZP_WORD:85 [ mulu16_sel::return#18 ] zp ZP_WORD:89 [ mulu16_sel::return#19 ] zp ZP_WORD:93 [ mulu16_sel::return#20 ] zp ZP_WORD:99 [ mulu16_sel::return#10 ] zp ZP_WORD:103 [ mulu16_sel::return#11 ] zp ZP_DWORD:117 [ mulu16_sel::$0 ] zp ZP_DWORD:121 [ mulu16_sel::$1 ] zp ZP_WORD:162 [ mulu16_sel::return#0 ] zp ZP_WORD:166 [ mulu16_sel::return#1 ] zp ZP_WORD:170 [ mulu16_sel::return#14 ] zp ZP_WORD:176 [ mulu16_sel::return#15 ] zp ZP_WORD:180 [ mulu16_sel::return#16 ] zp ZP_WORD:125 [ mulu16_sel::return#17 ] reg byte x [ mulu16_sel::select#10 ] +Uplifting [sin16s] best 27869 combination zp ZP_DWORD:61 [ sin16s::x#6 sin16s::x#4 sin16s::x#0 sin16s::x#1 sin16s::x#2 ] zp ZP_WORD:152 [ sin16s::return#0 ] zp ZP_WORD:65 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 ] zp ZP_DWORD:156 [ sin16s::$6 ] zp ZP_WORD:164 [ sin16s::x2#0 ] zp ZP_WORD:172 [ sin16s::x3_6#0 ] zp ZP_WORD:178 [ sin16s::x4#0 ] zp ZP_WORD:182 [ sin16s::x5#0 ] zp ZP_WORD:184 [ sin16s::x5_128#0 ] zp ZP_WORD:168 [ sin16s::x3#0 ] zp ZP_WORD:186 [ sin16s::usinx#1 ] zp ZP_WORD:160 [ sin16s::x1#0 ] zp ZP_WORD:174 [ sin16s::usinx#0 ] zp ZP_BYTE:60 [ sin16s::isUpper#2 ] +Uplifting [sin16sb] best 27869 combination zp ZP_WORD:26 [ sin16sb::x#6 sin16sb::x#4 sin16sb::x#0 sin16sb::x#1 sin16sb::x#2 ] zp ZP_WORD:79 [ sin16sb::return#0 ] zp ZP_WORD:28 [ sin16sb::return#1 sin16sb::return#5 sin16sb::sinx#1 ] zp ZP_WORD:87 [ sin16sb::x2#0 ] zp ZP_WORD:95 [ sin16sb::x3_6#0 ] zp ZP_WORD:101 [ sin16sb::x4#0 ] zp ZP_WORD:105 [ sin16sb::x5#0 ] zp ZP_WORD:107 [ sin16sb::x5_128#0 ] zp ZP_WORD:91 [ sin16sb::x3#0 ] zp ZP_WORD:109 [ sin16sb::usinx#1 ] zp ZP_WORD:83 [ sin16sb::x1#0 ] zp ZP_WORD:97 [ sin16sb::usinx#0 ] zp ZP_BYTE:25 [ sin16sb::isUpper#2 ] +Uplifting [sin16s_gen] best 27869 combination zp ZP_WORD:154 [ sin16s_gen::$1 ] zp ZP_WORD:58 [ sin16s_gen::i#2 sin16s_gen::i#1 ] zp ZP_DWORD:52 [ sin16s_gen::x#2 sin16s_gen::x#1 ] zp ZP_WORD:56 [ sin16s_gen::sintab#2 sin16s_gen::sintab#0 ] zp ZP_DWORD:148 [ sin16s_gen::step#0 ] +Uplifting [sin16s_genb] best 27869 combination zp ZP_WORD:81 [ sin16s_genb::$2 ] zp ZP_WORD:23 [ sin16s_genb::i#2 sin16s_genb::i#1 ] zp ZP_DWORD:17 [ sin16s_genb::x#2 sin16s_genb::x#1 ] zp ZP_WORD:21 [ sin16s_genb::sintab#2 sin16s_genb::sintab#0 ] zp ZP_DWORD:75 [ sin16s_genb::step#0 ] +Uplifting [main] best 27779 combination reg byte x [ main::i#2 main::i#1 ] zp ZP_WORD:4 [ main::st2#2 main::st2#1 ] zp ZP_WORD:2 [ main::st1#2 main::st1#1 ] zp ZP_WORD:67 [ main::sw#0 ] +Uplifting [print_cls] best 27779 combination zp ZP_WORD:15 [ print_cls::sc#2 print_cls::sc#1 ] +Uplifting [print_byte] best 27771 combination zp ZP_BYTE:11 [ print_byte::b#2 print_byte::b#0 print_byte::b#1 ] reg byte a [ print_byte::$0 ] reg byte a [ print_byte::$2 ] +Uplifting [div32u16u] best 27771 combination zp ZP_DWORD:71 [ div32u16u::return#3 ] zp ZP_WORD:134 [ div32u16u::quotient_lo#0 ] zp ZP_DWORD:144 [ div32u16u::return#2 ] zp ZP_DWORD:136 [ div32u16u::return#0 ] zp ZP_WORD:130 [ div32u16u::quotient_hi#0 ] +Uplifting [print_char] best 27759 combination reg byte a [ print_char::ch#3 print_char::ch#1 print_char::ch#2 ] +Uplifting [print_sword] best 27759 combination zp ZP_WORD:9 [ print_sword::w#3 print_sword::w#1 print_sword::w#0 ] +Uplifting [print_word] best 27759 combination Attempting to uplift remaining variables inzp ZP_BYTE:11 [ print_byte::b#2 print_byte::b#0 print_byte::b#1 ] -Uplifting [print_byte] best 27887 combination zp ZP_BYTE:11 [ print_byte::b#2 print_byte::b#0 print_byte::b#1 ] +Uplifting [print_byte] best 27759 combination zp ZP_BYTE:11 [ print_byte::b#2 print_byte::b#0 print_byte::b#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:25 [ sin16sb::isUpper#2 ] -Uplifting [sin16sb] best 27887 combination zp ZP_BYTE:25 [ sin16sb::isUpper#2 ] -Attempting to uplift remaining variables inzp ZP_BYTE:68 [ sin16s::isUpper#2 ] -Uplifting [sin16s] best 27887 combination zp ZP_BYTE:68 [ sin16s::isUpper#2 ] -Coalescing zero page register with common assignment [ zp ZP_WORD:28 [ sin16sb::return#1 sin16sb::return#5 sin16sb::sinx#1 ] ] with [ zp ZP_WORD:117 [ sin16sb::usinx#1 ] ] - score: 2 -Coalescing zero page register with common assignment [ zp ZP_WORD:30 [ mulu16_sel::v1#10 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 mulu16_sel::v1#8 mulu16_sel::v1#9 mulu16_sel::v1#5 mulu16_sel::v1#6 mulu16_sel::v1#7 ] ] with [ zp ZP_WORD:99 [ sin16sb::x3#0 ] ] - score: 2 -Coalescing zero page register with common assignment [ zp ZP_WORD:30 [ mulu16_sel::v1#10 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 mulu16_sel::v1#8 mulu16_sel::v1#9 mulu16_sel::v1#5 mulu16_sel::v1#6 mulu16_sel::v1#7 sin16sb::x3#0 ] ] with [ zp ZP_WORD:176 [ sin16s::x3#0 ] ] - score: 2 -Coalescing zero page register with common assignment [ zp ZP_WORD:49 [ div32u16u::divisor#2 ] ] with [ zp ZP_WORD:51 [ divr16u::divisor#6 divr16u::divisor#0 divr16u::divisor#1 ] ] - score: 2 -Coalescing zero page register with common assignment [ zp ZP_WORD:53 [ divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] ] with [ zp ZP_WORD:150 [ rem16u#1 ] ] - score: 2 -Coalescing zero page register with common assignment [ zp ZP_WORD:73 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 ] ] with [ zp ZP_WORD:194 [ sin16s::usinx#1 ] ] - score: 2 -Coalescing zero page register with common assignment [ zp ZP_WORD:9 [ print_sword::w#3 print_sword::w#1 print_sword::w#0 ] ] with [ zp ZP_WORD:75 [ main::sw#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:26 [ sin16sb::x#6 sin16sb::x#4 sin16sb::x#0 sin16sb::x#1 sin16sb::x#2 ] ] with [ zp ZP_WORD:91 [ sin16sb::x1#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:28 [ sin16sb::return#1 sin16sb::return#5 sin16sb::sinx#1 sin16sb::usinx#1 ] ] with [ zp ZP_WORD:87 [ sin16sb::return#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:30 [ mulu16_sel::v1#10 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 mulu16_sel::v1#8 mulu16_sel::v1#9 mulu16_sel::v1#5 mulu16_sel::v1#6 mulu16_sel::v1#7 sin16sb::x3#0 sin16s::x3#0 ] ] with [ zp ZP_WORD:95 [ sin16sb::x2#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:30 [ mulu16_sel::v1#10 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 mulu16_sel::v1#8 mulu16_sel::v1#9 mulu16_sel::v1#5 mulu16_sel::v1#6 mulu16_sel::v1#7 sin16sb::x3#0 sin16s::x3#0 sin16sb::x2#0 ] ] with [ zp ZP_WORD:109 [ sin16sb::x4#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:30 [ mulu16_sel::v1#10 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 mulu16_sel::v1#8 mulu16_sel::v1#9 mulu16_sel::v1#5 mulu16_sel::v1#6 mulu16_sel::v1#7 sin16sb::x3#0 sin16s::x3#0 sin16sb::x2#0 sin16sb::x4#0 ] ] with [ zp ZP_WORD:172 [ sin16s::x2#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:30 [ mulu16_sel::v1#10 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 mulu16_sel::v1#8 mulu16_sel::v1#9 mulu16_sel::v1#5 mulu16_sel::v1#6 mulu16_sel::v1#7 sin16sb::x3#0 sin16s::x3#0 sin16sb::x2#0 sin16sb::x4#0 sin16s::x2#0 ] ] with [ zp ZP_WORD:186 [ sin16s::x4#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:32 [ mulu16_sel::v2#10 mulu16_sel::v2#3 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 mulu16_sel::v2#8 mulu16_sel::v2#9 mulu16_sel::v2#5 mulu16_sel::v2#6 ] ] with [ zp ZP_WORD:119 [ mul16u::b#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_DWORD:37 [ mul16u::res#2 mul16u::res#6 mul16u::res#1 ] ] with [ zp ZP_DWORD:121 [ mul16u::return#2 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:57 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] ] with [ zp ZP_WORD:136 [ divr16u::return#2 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:57 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 ] ] with [ zp ZP_WORD:140 [ divr16u::return#3 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_DWORD:69 [ sin16s::x#6 sin16s::x#4 sin16s::x#0 sin16s::x#1 sin16s::x#2 ] ] with [ zp ZP_DWORD:164 [ sin16s::$6 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:73 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 sin16s::usinx#1 ] ] with [ zp ZP_WORD:160 [ sin16s::return#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_DWORD:79 [ div32u16u::return#3 ] ] with [ zp ZP_DWORD:83 [ sin16s_genb::step#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_DWORD:79 [ div32u16u::return#3 sin16s_genb::step#0 ] ] with [ zp ZP_DWORD:144 [ div32u16u::return#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:93 [ mulu16_sel::return#18 ] ] with [ zp ZP_WORD:133 [ mulu16_sel::return#17 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:101 [ mulu16_sel::return#20 ] ] with [ zp ZP_WORD:103 [ sin16sb::x3_6#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:111 [ mulu16_sel::return#11 ] ] with [ zp ZP_WORD:113 [ sin16sb::x5#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_DWORD:125 [ mulu16_sel::$0 ] ] with [ zp ZP_DWORD:129 [ mulu16_sel::$1 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_DWORD:152 [ div32u16u::return#2 ] ] with [ zp ZP_DWORD:156 [ sin16s_gen::step#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:178 [ mulu16_sel::return#14 ] ] with [ zp ZP_WORD:180 [ sin16s::x3_6#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:188 [ mulu16_sel::return#16 ] ] with [ zp ZP_WORD:190 [ sin16s::x5#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:28 [ sin16sb::return#1 sin16sb::return#5 sin16sb::sinx#1 sin16sb::usinx#1 sin16sb::return#0 ] ] with [ zp ZP_WORD:89 [ sin16s_genb::$2 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:28 [ sin16sb::return#1 sin16sb::return#5 sin16sb::sinx#1 sin16sb::usinx#1 sin16sb::return#0 sin16s_genb::$2 ] ] with [ zp ZP_WORD:105 [ sin16sb::usinx#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:30 [ mulu16_sel::v1#10 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 mulu16_sel::v1#8 mulu16_sel::v1#9 mulu16_sel::v1#5 mulu16_sel::v1#6 mulu16_sel::v1#7 sin16sb::x3#0 sin16s::x3#0 sin16sb::x2#0 sin16sb::x4#0 sin16s::x2#0 sin16s::x4#0 ] ] with [ zp ZP_WORD:97 [ mulu16_sel::return#19 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:30 [ mulu16_sel::v1#10 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 mulu16_sel::v1#8 mulu16_sel::v1#9 mulu16_sel::v1#5 mulu16_sel::v1#6 mulu16_sel::v1#7 sin16sb::x3#0 sin16s::x3#0 sin16sb::x2#0 sin16sb::x4#0 sin16s::x2#0 sin16s::x4#0 mulu16_sel::return#19 ] ] with [ zp ZP_WORD:107 [ mulu16_sel::return#10 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:30 [ mulu16_sel::v1#10 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 mulu16_sel::v1#8 mulu16_sel::v1#9 mulu16_sel::v1#5 mulu16_sel::v1#6 mulu16_sel::v1#7 sin16sb::x3#0 sin16s::x3#0 sin16sb::x2#0 sin16sb::x4#0 sin16s::x2#0 sin16s::x4#0 mulu16_sel::return#19 mulu16_sel::return#10 ] ] with [ zp ZP_WORD:170 [ mulu16_sel::return#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:30 [ mulu16_sel::v1#10 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 mulu16_sel::v1#8 mulu16_sel::v1#9 mulu16_sel::v1#5 mulu16_sel::v1#6 mulu16_sel::v1#7 sin16sb::x3#0 sin16s::x3#0 sin16sb::x2#0 sin16sb::x4#0 sin16s::x2#0 sin16s::x4#0 mulu16_sel::return#19 mulu16_sel::return#10 mulu16_sel::return#0 ] ] with [ zp ZP_WORD:174 [ mulu16_sel::return#1 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:30 [ mulu16_sel::v1#10 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 mulu16_sel::v1#8 mulu16_sel::v1#9 mulu16_sel::v1#5 mulu16_sel::v1#6 mulu16_sel::v1#7 sin16sb::x3#0 sin16s::x3#0 sin16sb::x2#0 sin16sb::x4#0 sin16s::x2#0 sin16s::x4#0 mulu16_sel::return#19 mulu16_sel::return#10 mulu16_sel::return#0 mulu16_sel::return#1 ] ] with [ zp ZP_WORD:184 [ mulu16_sel::return#15 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_DWORD:37 [ mul16u::res#2 mul16u::res#6 mul16u::res#1 mul16u::return#2 ] ] with [ zp ZP_DWORD:125 [ mulu16_sel::$0 mulu16_sel::$1 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:57 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 divr16u::return#3 ] ] with [ zp ZP_WORD:142 [ div32u16u::quotient_lo#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:73 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 sin16s::usinx#1 sin16s::return#0 ] ] with [ zp ZP_WORD:162 [ sin16s_gen::$1 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:73 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 sin16s::usinx#1 sin16s::return#0 sin16s_gen::$1 ] ] with [ zp ZP_WORD:182 [ sin16s::usinx#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_DWORD:79 [ div32u16u::return#3 sin16s_genb::step#0 div32u16u::return#0 ] ] with [ zp ZP_DWORD:152 [ div32u16u::return#2 sin16s_gen::step#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:93 [ mulu16_sel::return#18 mulu16_sel::return#17 ] ] with [ zp ZP_WORD:101 [ mulu16_sel::return#20 sin16sb::x3_6#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:93 [ mulu16_sel::return#18 mulu16_sel::return#17 mulu16_sel::return#20 sin16sb::x3_6#0 ] ] with [ zp ZP_WORD:111 [ mulu16_sel::return#11 sin16sb::x5#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:93 [ mulu16_sel::return#18 mulu16_sel::return#17 mulu16_sel::return#20 sin16sb::x3_6#0 mulu16_sel::return#11 sin16sb::x5#0 ] ] with [ zp ZP_WORD:178 [ mulu16_sel::return#14 sin16s::x3_6#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:93 [ mulu16_sel::return#18 mulu16_sel::return#17 mulu16_sel::return#20 sin16sb::x3_6#0 mulu16_sel::return#11 sin16sb::x5#0 mulu16_sel::return#14 sin16s::x3_6#0 ] ] with [ zp ZP_WORD:188 [ mulu16_sel::return#16 sin16s::x5#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:93 [ mulu16_sel::return#18 mulu16_sel::return#17 mulu16_sel::return#20 sin16sb::x3_6#0 mulu16_sel::return#11 sin16sb::x5#0 mulu16_sel::return#14 sin16s::x3_6#0 mulu16_sel::return#16 sin16s::x5#0 ] ] with [ zp ZP_WORD:115 [ sin16sb::x5_128#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:93 [ mulu16_sel::return#18 mulu16_sel::return#17 mulu16_sel::return#20 sin16sb::x3_6#0 mulu16_sel::return#11 sin16sb::x5#0 mulu16_sel::return#14 sin16s::x3_6#0 mulu16_sel::return#16 sin16s::x5#0 sin16sb::x5_128#0 ] ] with [ zp ZP_WORD:192 [ sin16s::x5_128#0 ] ] - score: 1 +Uplifting [sin16sb] best 27759 combination zp ZP_BYTE:25 [ sin16sb::isUpper#2 ] +Attempting to uplift remaining variables inzp ZP_BYTE:60 [ sin16s::isUpper#2 ] +Uplifting [sin16s] best 27759 combination zp ZP_BYTE:60 [ sin16s::isUpper#2 ] +Coalescing zero page register with common assignment [ zp ZP_WORD:28 [ sin16sb::return#1 sin16sb::return#5 sin16sb::sinx#1 ] ] with [ zp ZP_WORD:109 [ sin16sb::usinx#1 ] ] - score: 2 +Coalescing zero page register with common assignment [ zp ZP_WORD:30 [ mulu16_sel::v1#10 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 mulu16_sel::v1#8 mulu16_sel::v1#9 mulu16_sel::v1#5 mulu16_sel::v1#6 mulu16_sel::v1#7 ] ] with [ zp ZP_WORD:91 [ sin16sb::x3#0 ] ] - score: 2 +Coalescing zero page register with common assignment [ zp ZP_WORD:30 [ mulu16_sel::v1#10 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 mulu16_sel::v1#8 mulu16_sel::v1#9 mulu16_sel::v1#5 mulu16_sel::v1#6 mulu16_sel::v1#7 sin16sb::x3#0 ] ] with [ zp ZP_WORD:168 [ sin16s::x3#0 ] ] - score: 2 +Coalescing zero page register with common assignment [ zp ZP_WORD:45 [ divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] ] with [ zp ZP_WORD:142 [ rem16u#1 ] ] - score: 2 +Coalescing zero page register with common assignment [ zp ZP_WORD:65 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 ] ] with [ zp ZP_WORD:186 [ sin16s::usinx#1 ] ] - score: 2 +Coalescing zero page register with common assignment [ zp ZP_WORD:9 [ print_sword::w#3 print_sword::w#1 print_sword::w#0 ] ] with [ zp ZP_WORD:67 [ main::sw#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:26 [ sin16sb::x#6 sin16sb::x#4 sin16sb::x#0 sin16sb::x#1 sin16sb::x#2 ] ] with [ zp ZP_WORD:83 [ sin16sb::x1#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:28 [ sin16sb::return#1 sin16sb::return#5 sin16sb::sinx#1 sin16sb::usinx#1 ] ] with [ zp ZP_WORD:79 [ sin16sb::return#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:30 [ mulu16_sel::v1#10 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 mulu16_sel::v1#8 mulu16_sel::v1#9 mulu16_sel::v1#5 mulu16_sel::v1#6 mulu16_sel::v1#7 sin16sb::x3#0 sin16s::x3#0 ] ] with [ zp ZP_WORD:87 [ sin16sb::x2#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:30 [ mulu16_sel::v1#10 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 mulu16_sel::v1#8 mulu16_sel::v1#9 mulu16_sel::v1#5 mulu16_sel::v1#6 mulu16_sel::v1#7 sin16sb::x3#0 sin16s::x3#0 sin16sb::x2#0 ] ] with [ zp ZP_WORD:101 [ sin16sb::x4#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:30 [ mulu16_sel::v1#10 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 mulu16_sel::v1#8 mulu16_sel::v1#9 mulu16_sel::v1#5 mulu16_sel::v1#6 mulu16_sel::v1#7 sin16sb::x3#0 sin16s::x3#0 sin16sb::x2#0 sin16sb::x4#0 ] ] with [ zp ZP_WORD:164 [ sin16s::x2#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:30 [ mulu16_sel::v1#10 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 mulu16_sel::v1#8 mulu16_sel::v1#9 mulu16_sel::v1#5 mulu16_sel::v1#6 mulu16_sel::v1#7 sin16sb::x3#0 sin16s::x3#0 sin16sb::x2#0 sin16sb::x4#0 sin16s::x2#0 ] ] with [ zp ZP_WORD:178 [ sin16s::x4#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:32 [ mulu16_sel::v2#10 mulu16_sel::v2#3 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 mulu16_sel::v2#8 mulu16_sel::v2#9 mulu16_sel::v2#5 mulu16_sel::v2#6 ] ] with [ zp ZP_WORD:111 [ mul16u::b#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_DWORD:37 [ mul16u::res#2 mul16u::res#6 mul16u::res#1 ] ] with [ zp ZP_DWORD:113 [ mul16u::return#2 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:49 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] ] with [ zp ZP_WORD:128 [ divr16u::return#2 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:49 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 ] ] with [ zp ZP_WORD:132 [ divr16u::return#3 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_DWORD:61 [ sin16s::x#6 sin16s::x#4 sin16s::x#0 sin16s::x#1 sin16s::x#2 ] ] with [ zp ZP_DWORD:156 [ sin16s::$6 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:65 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 sin16s::usinx#1 ] ] with [ zp ZP_WORD:152 [ sin16s::return#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_DWORD:71 [ div32u16u::return#3 ] ] with [ zp ZP_DWORD:75 [ sin16s_genb::step#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_DWORD:71 [ div32u16u::return#3 sin16s_genb::step#0 ] ] with [ zp ZP_DWORD:136 [ div32u16u::return#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:85 [ mulu16_sel::return#18 ] ] with [ zp ZP_WORD:125 [ mulu16_sel::return#17 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:93 [ mulu16_sel::return#20 ] ] with [ zp ZP_WORD:95 [ sin16sb::x3_6#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:103 [ mulu16_sel::return#11 ] ] with [ zp ZP_WORD:105 [ sin16sb::x5#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_DWORD:117 [ mulu16_sel::$0 ] ] with [ zp ZP_DWORD:121 [ mulu16_sel::$1 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_DWORD:144 [ div32u16u::return#2 ] ] with [ zp ZP_DWORD:148 [ sin16s_gen::step#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:170 [ mulu16_sel::return#14 ] ] with [ zp ZP_WORD:172 [ sin16s::x3_6#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:180 [ mulu16_sel::return#16 ] ] with [ zp ZP_WORD:182 [ sin16s::x5#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:28 [ sin16sb::return#1 sin16sb::return#5 sin16sb::sinx#1 sin16sb::usinx#1 sin16sb::return#0 ] ] with [ zp ZP_WORD:81 [ sin16s_genb::$2 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:28 [ sin16sb::return#1 sin16sb::return#5 sin16sb::sinx#1 sin16sb::usinx#1 sin16sb::return#0 sin16s_genb::$2 ] ] with [ zp ZP_WORD:97 [ sin16sb::usinx#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:30 [ mulu16_sel::v1#10 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 mulu16_sel::v1#8 mulu16_sel::v1#9 mulu16_sel::v1#5 mulu16_sel::v1#6 mulu16_sel::v1#7 sin16sb::x3#0 sin16s::x3#0 sin16sb::x2#0 sin16sb::x4#0 sin16s::x2#0 sin16s::x4#0 ] ] with [ zp ZP_WORD:89 [ mulu16_sel::return#19 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:30 [ mulu16_sel::v1#10 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 mulu16_sel::v1#8 mulu16_sel::v1#9 mulu16_sel::v1#5 mulu16_sel::v1#6 mulu16_sel::v1#7 sin16sb::x3#0 sin16s::x3#0 sin16sb::x2#0 sin16sb::x4#0 sin16s::x2#0 sin16s::x4#0 mulu16_sel::return#19 ] ] with [ zp ZP_WORD:99 [ mulu16_sel::return#10 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:30 [ mulu16_sel::v1#10 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 mulu16_sel::v1#8 mulu16_sel::v1#9 mulu16_sel::v1#5 mulu16_sel::v1#6 mulu16_sel::v1#7 sin16sb::x3#0 sin16s::x3#0 sin16sb::x2#0 sin16sb::x4#0 sin16s::x2#0 sin16s::x4#0 mulu16_sel::return#19 mulu16_sel::return#10 ] ] with [ zp ZP_WORD:162 [ mulu16_sel::return#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:30 [ mulu16_sel::v1#10 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 mulu16_sel::v1#8 mulu16_sel::v1#9 mulu16_sel::v1#5 mulu16_sel::v1#6 mulu16_sel::v1#7 sin16sb::x3#0 sin16s::x3#0 sin16sb::x2#0 sin16sb::x4#0 sin16s::x2#0 sin16s::x4#0 mulu16_sel::return#19 mulu16_sel::return#10 mulu16_sel::return#0 ] ] with [ zp ZP_WORD:166 [ mulu16_sel::return#1 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:30 [ mulu16_sel::v1#10 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 mulu16_sel::v1#8 mulu16_sel::v1#9 mulu16_sel::v1#5 mulu16_sel::v1#6 mulu16_sel::v1#7 sin16sb::x3#0 sin16s::x3#0 sin16sb::x2#0 sin16sb::x4#0 sin16s::x2#0 sin16s::x4#0 mulu16_sel::return#19 mulu16_sel::return#10 mulu16_sel::return#0 mulu16_sel::return#1 ] ] with [ zp ZP_WORD:176 [ mulu16_sel::return#15 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_DWORD:37 [ mul16u::res#2 mul16u::res#6 mul16u::res#1 mul16u::return#2 ] ] with [ zp ZP_DWORD:117 [ mulu16_sel::$0 mulu16_sel::$1 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:49 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 divr16u::return#3 ] ] with [ zp ZP_WORD:134 [ div32u16u::quotient_lo#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:65 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 sin16s::usinx#1 sin16s::return#0 ] ] with [ zp ZP_WORD:154 [ sin16s_gen::$1 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:65 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 sin16s::usinx#1 sin16s::return#0 sin16s_gen::$1 ] ] with [ zp ZP_WORD:174 [ sin16s::usinx#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_DWORD:71 [ div32u16u::return#3 sin16s_genb::step#0 div32u16u::return#0 ] ] with [ zp ZP_DWORD:144 [ div32u16u::return#2 sin16s_gen::step#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:85 [ mulu16_sel::return#18 mulu16_sel::return#17 ] ] with [ zp ZP_WORD:93 [ mulu16_sel::return#20 sin16sb::x3_6#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:85 [ mulu16_sel::return#18 mulu16_sel::return#17 mulu16_sel::return#20 sin16sb::x3_6#0 ] ] with [ zp ZP_WORD:103 [ mulu16_sel::return#11 sin16sb::x5#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:85 [ mulu16_sel::return#18 mulu16_sel::return#17 mulu16_sel::return#20 sin16sb::x3_6#0 mulu16_sel::return#11 sin16sb::x5#0 ] ] with [ zp ZP_WORD:170 [ mulu16_sel::return#14 sin16s::x3_6#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:85 [ mulu16_sel::return#18 mulu16_sel::return#17 mulu16_sel::return#20 sin16sb::x3_6#0 mulu16_sel::return#11 sin16sb::x5#0 mulu16_sel::return#14 sin16s::x3_6#0 ] ] with [ zp ZP_WORD:180 [ mulu16_sel::return#16 sin16s::x5#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:85 [ mulu16_sel::return#18 mulu16_sel::return#17 mulu16_sel::return#20 sin16sb::x3_6#0 mulu16_sel::return#11 sin16sb::x5#0 mulu16_sel::return#14 sin16s::x3_6#0 mulu16_sel::return#16 sin16s::x5#0 ] ] with [ zp ZP_WORD:107 [ sin16sb::x5_128#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:85 [ mulu16_sel::return#18 mulu16_sel::return#17 mulu16_sel::return#20 sin16sb::x3_6#0 mulu16_sel::return#11 sin16sb::x5#0 mulu16_sel::return#14 sin16s::x3_6#0 mulu16_sel::return#16 sin16s::x5#0 sin16sb::x5_128#0 ] ] with [ zp ZP_WORD:184 [ sin16s::x5_128#0 ] ] - score: 1 Coalescing zero page register [ zp ZP_WORD:2 [ main::st1#2 main::st1#1 ] ] with [ zp ZP_WORD:15 [ print_cls::sc#2 print_cls::sc#1 ] ] Coalescing zero page register [ zp ZP_WORD:2 [ main::st1#2 main::st1#1 print_cls::sc#2 print_cls::sc#1 ] ] with [ zp ZP_WORD:21 [ sin16s_genb::sintab#2 sin16s_genb::sintab#0 ] ] -Coalescing zero page register [ zp ZP_WORD:2 [ main::st1#2 main::st1#1 print_cls::sc#2 print_cls::sc#1 sin16s_genb::sintab#2 sin16s_genb::sintab#0 ] ] with [ zp ZP_WORD:49 [ div32u16u::divisor#2 divr16u::divisor#6 divr16u::divisor#0 divr16u::divisor#1 ] ] -Coalescing zero page register [ zp ZP_WORD:2 [ main::st1#2 main::st1#1 print_cls::sc#2 print_cls::sc#1 sin16s_genb::sintab#2 sin16s_genb::sintab#0 div32u16u::divisor#2 divr16u::divisor#6 divr16u::divisor#0 divr16u::divisor#1 ] ] with [ zp ZP_WORD:64 [ sin16s_gen::sintab#2 sin16s_gen::sintab#0 ] ] +Coalescing zero page register [ zp ZP_WORD:2 [ main::st1#2 main::st1#1 print_cls::sc#2 print_cls::sc#1 sin16s_genb::sintab#2 sin16s_genb::sintab#0 ] ] with [ zp ZP_WORD:45 [ divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 rem16u#1 ] ] +Coalescing zero page register [ zp ZP_WORD:2 [ main::st1#2 main::st1#1 print_cls::sc#2 print_cls::sc#1 sin16s_genb::sintab#2 sin16s_genb::sintab#0 divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 rem16u#1 ] ] with [ zp ZP_WORD:56 [ sin16s_gen::sintab#2 sin16s_gen::sintab#0 ] ] Coalescing zero page register [ zp ZP_WORD:4 [ main::st2#2 main::st2#1 ] ] with [ zp ZP_WORD:23 [ sin16s_genb::i#2 sin16s_genb::i#1 ] ] -Coalescing zero page register [ zp ZP_WORD:4 [ main::st2#2 main::st2#1 sin16s_genb::i#2 sin16s_genb::i#1 ] ] with [ zp ZP_WORD:53 [ divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 rem16u#1 ] ] -Coalescing zero page register [ zp ZP_WORD:4 [ main::st2#2 main::st2#1 sin16s_genb::i#2 sin16s_genb::i#1 divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 rem16u#1 ] ] with [ zp ZP_WORD:66 [ sin16s_gen::i#2 sin16s_gen::i#1 ] ] +Coalescing zero page register [ zp ZP_WORD:4 [ main::st2#2 main::st2#1 sin16s_genb::i#2 sin16s_genb::i#1 ] ] with [ zp ZP_WORD:47 [ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#0 ] ] +Coalescing zero page register [ zp ZP_WORD:4 [ main::st2#2 main::st2#1 sin16s_genb::i#2 sin16s_genb::i#1 divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#0 ] ] with [ zp ZP_WORD:58 [ sin16s_gen::i#2 sin16s_gen::i#1 ] ] Coalescing zero page register [ zp ZP_WORD:7 [ print_str::str#3 print_str::str#5 print_str::str#0 ] ] with [ zp ZP_WORD:26 [ sin16sb::x#6 sin16sb::x#4 sin16sb::x#0 sin16sb::x#1 sin16sb::x#2 sin16sb::x1#0 ] ] -Coalescing zero page register [ zp ZP_WORD:7 [ print_str::str#3 print_str::str#5 print_str::str#0 sin16sb::x#6 sin16sb::x#4 sin16sb::x#0 sin16sb::x#1 sin16sb::x#2 sin16sb::x1#0 ] ] with [ zp ZP_WORD:55 [ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#1 divr16u::dividend#2 divr16u::dividend#0 ] ] -Coalescing zero page register [ zp ZP_WORD:7 [ print_str::str#3 print_str::str#5 print_str::str#0 sin16sb::x#6 sin16sb::x#4 sin16sb::x#0 sin16sb::x#1 sin16sb::x#2 sin16sb::x1#0 divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#1 divr16u::dividend#2 divr16u::dividend#0 ] ] with [ zp ZP_WORD:73 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 sin16s::usinx#1 sin16s::return#0 sin16s_gen::$1 sin16s::usinx#0 ] ] +Coalescing zero page register [ zp ZP_WORD:7 [ print_str::str#3 print_str::str#5 print_str::str#0 sin16sb::x#6 sin16sb::x#4 sin16sb::x#0 sin16sb::x#1 sin16sb::x#2 sin16sb::x1#0 ] ] with [ zp ZP_WORD:49 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 divr16u::return#3 div32u16u::quotient_lo#0 ] ] +Coalescing zero page register [ zp ZP_WORD:7 [ print_str::str#3 print_str::str#5 print_str::str#0 sin16sb::x#6 sin16sb::x#4 sin16sb::x#0 sin16sb::x#1 sin16sb::x#2 sin16sb::x1#0 divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 divr16u::return#3 div32u16u::quotient_lo#0 ] ] with [ zp ZP_WORD:65 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 sin16s::usinx#1 sin16s::return#0 sin16s_gen::$1 sin16s::usinx#0 ] ] Coalescing zero page register [ zp ZP_WORD:9 [ print_sword::w#3 print_sword::w#1 print_sword::w#0 main::sw#0 ] ] with [ zp ZP_WORD:28 [ sin16sb::return#1 sin16sb::return#5 sin16sb::sinx#1 sin16sb::usinx#1 sin16sb::return#0 sin16s_genb::$2 sin16sb::usinx#0 ] ] -Coalescing zero page register [ zp ZP_WORD:9 [ print_sword::w#3 print_sword::w#1 print_sword::w#0 main::sw#0 sin16sb::return#1 sin16sb::return#5 sin16sb::sinx#1 sin16sb::usinx#1 sin16sb::return#0 sin16s_genb::$2 sin16sb::usinx#0 ] ] with [ zp ZP_WORD:57 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 divr16u::return#3 div32u16u::quotient_lo#0 ] ] -Coalescing zero page register [ zp ZP_WORD:9 [ print_sword::w#3 print_sword::w#1 print_sword::w#0 main::sw#0 sin16sb::return#1 sin16sb::return#5 sin16sb::sinx#1 sin16sb::usinx#1 sin16sb::return#0 sin16s_genb::$2 sin16sb::usinx#0 divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 divr16u::return#3 div32u16u::quotient_lo#0 ] ] with [ zp ZP_WORD:168 [ sin16s::x1#0 ] ] +Coalescing zero page register [ zp ZP_WORD:9 [ print_sword::w#3 print_sword::w#1 print_sword::w#0 main::sw#0 sin16sb::return#1 sin16sb::return#5 sin16sb::sinx#1 sin16sb::usinx#1 sin16sb::return#0 sin16s_genb::$2 sin16sb::usinx#0 ] ] with [ zp ZP_WORD:130 [ div32u16u::quotient_hi#0 ] ] +Coalescing zero page register [ zp ZP_WORD:9 [ print_sword::w#3 print_sword::w#1 print_sword::w#0 main::sw#0 sin16sb::return#1 sin16sb::return#5 sin16sb::sinx#1 sin16sb::usinx#1 sin16sb::return#0 sin16s_genb::$2 sin16sb::usinx#0 div32u16u::quotient_hi#0 ] ] with [ zp ZP_WORD:160 [ sin16s::x1#0 ] ] Coalescing zero page register [ zp ZP_BYTE:11 [ print_byte::b#2 print_byte::b#0 print_byte::b#1 ] ] with [ zp ZP_BYTE:25 [ sin16sb::isUpper#2 ] ] -Coalescing zero page register [ zp ZP_BYTE:11 [ print_byte::b#2 print_byte::b#0 print_byte::b#1 sin16sb::isUpper#2 ] ] with [ zp ZP_BYTE:68 [ sin16s::isUpper#2 ] ] +Coalescing zero page register [ zp ZP_BYTE:11 [ print_byte::b#2 print_byte::b#0 print_byte::b#1 sin16sb::isUpper#2 ] ] with [ zp ZP_BYTE:60 [ sin16s::isUpper#2 ] ] Coalescing zero page register [ zp ZP_WORD:13 [ print_char_cursor#33 print_char_cursor#46 print_char_cursor#43 print_char_cursor#51 print_char_cursor#48 print_char_cursor#49 print_char_cursor#2 print_char_cursor#12 print_char_cursor#1 ] ] with [ zp ZP_WORD:30 [ mulu16_sel::v1#10 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 mulu16_sel::v1#8 mulu16_sel::v1#9 mulu16_sel::v1#5 mulu16_sel::v1#6 mulu16_sel::v1#7 sin16sb::x3#0 sin16s::x3#0 sin16sb::x2#0 sin16sb::x4#0 sin16s::x2#0 sin16s::x4#0 mulu16_sel::return#19 mulu16_sel::return#10 mulu16_sel::return#0 mulu16_sel::return#1 mulu16_sel::return#15 ] ] -Coalescing zero page register [ zp ZP_WORD:13 [ print_char_cursor#33 print_char_cursor#46 print_char_cursor#43 print_char_cursor#51 print_char_cursor#48 print_char_cursor#49 print_char_cursor#2 print_char_cursor#12 print_char_cursor#1 mulu16_sel::v1#10 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 mulu16_sel::v1#8 mulu16_sel::v1#9 mulu16_sel::v1#5 mulu16_sel::v1#6 mulu16_sel::v1#7 sin16sb::x3#0 sin16s::x3#0 sin16sb::x2#0 sin16sb::x4#0 sin16s::x2#0 sin16s::x4#0 mulu16_sel::return#19 mulu16_sel::return#10 mulu16_sel::return#0 mulu16_sel::return#1 mulu16_sel::return#15 ] ] with [ zp ZP_WORD:138 [ div32u16u::quotient_hi#0 ] ] -Coalescing zero page register [ zp ZP_DWORD:17 [ sin16s_genb::x#2 sin16s_genb::x#1 ] ] with [ zp ZP_DWORD:45 [ div32u16u::dividend#2 ] ] -Coalescing zero page register [ zp ZP_DWORD:17 [ sin16s_genb::x#2 sin16s_genb::x#1 div32u16u::dividend#2 ] ] with [ zp ZP_DWORD:60 [ sin16s_gen::x#2 sin16s_gen::x#1 ] ] -Coalescing zero page register [ zp ZP_WORD:32 [ mulu16_sel::v2#10 mulu16_sel::v2#3 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 mulu16_sel::v2#8 mulu16_sel::v2#9 mulu16_sel::v2#5 mulu16_sel::v2#6 mul16u::b#0 ] ] with [ zp ZP_WORD:93 [ mulu16_sel::return#18 mulu16_sel::return#17 mulu16_sel::return#20 sin16sb::x3_6#0 mulu16_sel::return#11 sin16sb::x5#0 mulu16_sel::return#14 sin16s::x3_6#0 mulu16_sel::return#16 sin16s::x5#0 sin16sb::x5_128#0 sin16s::x5_128#0 ] ] -Coalescing zero page register [ zp ZP_DWORD:37 [ mul16u::res#2 mul16u::res#6 mul16u::res#1 mul16u::return#2 mulu16_sel::$0 mulu16_sel::$1 ] ] with [ zp ZP_DWORD:69 [ sin16s::x#6 sin16s::x#4 sin16s::x#0 sin16s::x#1 sin16s::x#2 sin16s::$6 ] ] -Allocated (was zp ZP_WORD:7) zp ZP_WORD:6 [ print_str::str#3 print_str::str#5 print_str::str#0 sin16sb::x#6 sin16sb::x#4 sin16sb::x#0 sin16sb::x#1 sin16sb::x#2 sin16sb::x1#0 divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#1 divr16u::dividend#2 divr16u::dividend#0 sin16s::return#1 sin16s::return#5 sin16s::sinx#1 sin16s::usinx#1 sin16s::return#0 sin16s_gen::$1 sin16s::usinx#0 ] -Allocated (was zp ZP_WORD:9) zp ZP_WORD:8 [ print_sword::w#3 print_sword::w#1 print_sword::w#0 main::sw#0 sin16sb::return#1 sin16sb::return#5 sin16sb::sinx#1 sin16sb::usinx#1 sin16sb::return#0 sin16s_genb::$2 sin16sb::usinx#0 divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 divr16u::return#3 div32u16u::quotient_lo#0 sin16s::x1#0 ] +Coalescing zero page register [ zp ZP_DWORD:17 [ sin16s_genb::x#2 sin16s_genb::x#1 ] ] with [ zp ZP_DWORD:52 [ sin16s_gen::x#2 sin16s_gen::x#1 ] ] +Coalescing zero page register [ zp ZP_WORD:32 [ mulu16_sel::v2#10 mulu16_sel::v2#3 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 mulu16_sel::v2#8 mulu16_sel::v2#9 mulu16_sel::v2#5 mulu16_sel::v2#6 mul16u::b#0 ] ] with [ zp ZP_WORD:85 [ mulu16_sel::return#18 mulu16_sel::return#17 mulu16_sel::return#20 sin16sb::x3_6#0 mulu16_sel::return#11 sin16sb::x5#0 mulu16_sel::return#14 sin16s::x3_6#0 mulu16_sel::return#16 sin16s::x5#0 sin16sb::x5_128#0 sin16s::x5_128#0 ] ] +Coalescing zero page register [ zp ZP_DWORD:37 [ mul16u::res#2 mul16u::res#6 mul16u::res#1 mul16u::return#2 mulu16_sel::$0 mulu16_sel::$1 ] ] with [ zp ZP_DWORD:61 [ sin16s::x#6 sin16s::x#4 sin16s::x#0 sin16s::x#1 sin16s::x#2 sin16s::$6 ] ] +Allocated (was zp ZP_WORD:7) zp ZP_WORD:6 [ print_str::str#3 print_str::str#5 print_str::str#0 sin16sb::x#6 sin16sb::x#4 sin16sb::x#0 sin16sb::x#1 sin16sb::x#2 sin16sb::x1#0 divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 divr16u::return#3 div32u16u::quotient_lo#0 sin16s::return#1 sin16s::return#5 sin16s::sinx#1 sin16s::usinx#1 sin16s::return#0 sin16s_gen::$1 sin16s::usinx#0 ] +Allocated (was zp ZP_WORD:9) zp ZP_WORD:8 [ print_sword::w#3 print_sword::w#1 print_sword::w#0 main::sw#0 sin16sb::return#1 sin16sb::return#5 sin16sb::sinx#1 sin16sb::usinx#1 sin16sb::return#0 sin16s_genb::$2 sin16sb::usinx#0 div32u16u::quotient_hi#0 sin16s::x1#0 ] Allocated (was zp ZP_BYTE:11) zp ZP_BYTE:10 [ print_byte::b#2 print_byte::b#0 print_byte::b#1 sin16sb::isUpper#2 sin16s::isUpper#2 ] -Allocated (was zp ZP_WORD:13) zp ZP_WORD:11 [ print_char_cursor#33 print_char_cursor#46 print_char_cursor#43 print_char_cursor#51 print_char_cursor#48 print_char_cursor#49 print_char_cursor#2 print_char_cursor#12 print_char_cursor#1 mulu16_sel::v1#10 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 mulu16_sel::v1#8 mulu16_sel::v1#9 mulu16_sel::v1#5 mulu16_sel::v1#6 mulu16_sel::v1#7 sin16sb::x3#0 sin16s::x3#0 sin16sb::x2#0 sin16sb::x4#0 sin16s::x2#0 sin16s::x4#0 mulu16_sel::return#19 mulu16_sel::return#10 mulu16_sel::return#0 mulu16_sel::return#1 mulu16_sel::return#15 div32u16u::quotient_hi#0 ] -Allocated (was zp ZP_DWORD:17) zp ZP_DWORD:13 [ sin16s_genb::x#2 sin16s_genb::x#1 div32u16u::dividend#2 sin16s_gen::x#2 sin16s_gen::x#1 ] +Allocated (was zp ZP_WORD:13) zp ZP_WORD:11 [ print_char_cursor#33 print_char_cursor#46 print_char_cursor#43 print_char_cursor#51 print_char_cursor#48 print_char_cursor#49 print_char_cursor#2 print_char_cursor#12 print_char_cursor#1 mulu16_sel::v1#10 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 mulu16_sel::v1#8 mulu16_sel::v1#9 mulu16_sel::v1#5 mulu16_sel::v1#6 mulu16_sel::v1#7 sin16sb::x3#0 sin16s::x3#0 sin16sb::x2#0 sin16sb::x4#0 sin16s::x2#0 sin16s::x4#0 mulu16_sel::return#19 mulu16_sel::return#10 mulu16_sel::return#0 mulu16_sel::return#1 mulu16_sel::return#15 ] +Allocated (was zp ZP_DWORD:17) zp ZP_DWORD:13 [ sin16s_genb::x#2 sin16s_genb::x#1 sin16s_gen::x#2 sin16s_gen::x#1 ] Allocated (was zp ZP_WORD:32) zp ZP_WORD:17 [ mulu16_sel::v2#10 mulu16_sel::v2#3 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 mulu16_sel::v2#8 mulu16_sel::v2#9 mulu16_sel::v2#5 mulu16_sel::v2#6 mul16u::b#0 mulu16_sel::return#18 mulu16_sel::return#17 mulu16_sel::return#20 sin16sb::x3_6#0 mulu16_sel::return#11 sin16sb::x5#0 mulu16_sel::return#14 sin16s::x3_6#0 mulu16_sel::return#16 sin16s::x5#0 sin16sb::x5_128#0 sin16s::x5_128#0 ] Allocated (was zp ZP_WORD:35) zp ZP_WORD:19 [ mul16u::a#2 mul16u::a#1 mul16u::a#0 ] Allocated (was zp ZP_DWORD:37) zp ZP_DWORD:21 [ mul16u::res#2 mul16u::res#6 mul16u::res#1 mul16u::return#2 mulu16_sel::$0 mulu16_sel::$1 sin16s::x#6 sin16s::x#4 sin16s::x#0 sin16s::x#1 sin16s::x#2 sin16s::$6 ] Allocated (was zp ZP_DWORD:41) zp ZP_DWORD:25 [ mul16u::mb#2 mul16u::mb#0 mul16u::mb#1 ] -Allocated (was zp ZP_DWORD:79) zp ZP_DWORD:29 [ div32u16u::return#3 sin16s_genb::step#0 div32u16u::return#0 div32u16u::return#2 sin16s_gen::step#0 ] +Allocated (was zp ZP_DWORD:71) zp ZP_DWORD:29 [ div32u16u::return#3 sin16s_genb::step#0 div32u16u::return#0 div32u16u::return#2 sin16s_gen::step#0 ] ASSEMBLER BEFORE OPTIMIZATION //SEG0 Basic Upstart @@ -8692,7 +8628,7 @@ ASSEMBLER BEFORE OPTIMIZATION .const PI_u4f12 = $3244 .const PI_HALF_u4f12 = $1922 .label print_line_cursor = $400 - .label rem16u = 4 + .label rem16u = 2 .label print_char_cursor = $b //SEG2 @begin bbegin: @@ -8717,7 +8653,7 @@ main: { .label st1 = 2 .label st2 = 4 //SEG10 [5] call sin16s_gen param-assignment [ ] ( main:2 [ ] ) - //SEG11 [167] phi from main to sin16s_gen [phi:main->sin16s_gen] + //SEG11 [163] phi from main to sin16s_gen [phi:main->sin16s_gen] sin16s_gen_from_main: jsr sin16s_gen //SEG12 [6] phi from main to main::@5 [phi:main->main::@5] @@ -9075,41 +9011,27 @@ sin16s_genb: { //SEG133 [63] call div32u16u param-assignment [ div32u16u::return#0 ] ( main:2::sin16s_genb:7 [ div32u16u::return#0 ] ) //SEG134 [135] phi from sin16s_genb to div32u16u [phi:sin16s_genb->div32u16u] div32u16u_from_sin16s_genb: - //SEG135 [135] phi (word) div32u16u::divisor#2 = (const word) main::wavelength#0 [phi:sin16s_genb->div32u16u#0] -- vwuz1=vwuc1 - lda #main.wavelength - sta div32u16u.divisor+1 - //SEG136 [135] phi (dword) div32u16u::dividend#2 = (const dword) PI2_u4f28#0 [phi:sin16s_genb->div32u16u#1] -- vduz1=vduc1 - lda #PI2_u4f28 - sta div32u16u.dividend+1 - lda #>$10 - sta div32u16u.dividend+2 - lda #>PI2_u4f28>>$10 - sta div32u16u.dividend+3 jsr div32u16u - //SEG137 [64] (dword) div32u16u::return#3 ← (dword) div32u16u::return#0 [ div32u16u::return#3 ] ( main:2::sin16s_genb:7 [ div32u16u::return#3 ] ) + //SEG135 [64] (dword) div32u16u::return#3 ← (dword) div32u16u::return#0 [ div32u16u::return#3 ] ( main:2::sin16s_genb:7 [ div32u16u::return#3 ] ) // (dword) div32u16u::return#3 = (dword) div32u16u::return#0 // register copy zp ZP_DWORD:29 jmp b3 - //SEG138 sin16s_genb::@3 + //SEG136 sin16s_genb::@3 b3: - //SEG139 [65] (dword) sin16s_genb::step#0 ← (dword) div32u16u::return#3 [ sin16s_genb::step#0 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 ] ) + //SEG137 [65] (dword) sin16s_genb::step#0 ← (dword) div32u16u::return#3 [ sin16s_genb::step#0 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 ] ) // (dword) sin16s_genb::step#0 = (dword) div32u16u::return#3 // register copy zp ZP_DWORD:29 - //SEG140 [66] phi from sin16s_genb::@3 to sin16s_genb::@1 [phi:sin16s_genb::@3->sin16s_genb::@1] + //SEG138 [66] phi from sin16s_genb::@3 to sin16s_genb::@1 [phi:sin16s_genb::@3->sin16s_genb::@1] b1_from_b3: - //SEG141 [66] phi (word) sin16s_genb::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s_genb::@3->sin16s_genb::@1#0] -- vwuz1=vbuc1 + //SEG139 [66] phi (word) sin16s_genb::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s_genb::@3->sin16s_genb::@1#0] -- vwuz1=vbuc1 lda #<0 sta i lda #>0 sta i+1 - //SEG142 [66] phi (signed word*) sin16s_genb::sintab#2 = (const signed word[120]) main::sintab2#0 [phi:sin16s_genb::@3->sin16s_genb::@1#1] -- pwsz1=pwsc1 + //SEG140 [66] phi (signed word*) sin16s_genb::sintab#2 = (const signed word[120]) main::sintab2#0 [phi:sin16s_genb::@3->sin16s_genb::@1#1] -- pwsz1=pwsc1 lda #main.sintab2 sta sintab+1 - //SEG143 [66] phi (dword) sin16s_genb::x#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s_genb::@3->sin16s_genb::@1#2] -- vduz1=vbuc1 + //SEG141 [66] phi (dword) sin16s_genb::x#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s_genb::@3->sin16s_genb::@1#2] -- vduz1=vbuc1 lda #0 sta x lda #0 @@ -9117,36 +9039,36 @@ sin16s_genb: { sta x+2 sta x+3 jmp b1 - //SEG144 [66] phi from sin16s_genb::@4 to sin16s_genb::@1 [phi:sin16s_genb::@4->sin16s_genb::@1] + //SEG142 [66] phi from sin16s_genb::@4 to sin16s_genb::@1 [phi:sin16s_genb::@4->sin16s_genb::@1] b1_from_b4: - //SEG145 [66] phi (word) sin16s_genb::i#2 = (word) sin16s_genb::i#1 [phi:sin16s_genb::@4->sin16s_genb::@1#0] -- register_copy - //SEG146 [66] phi (signed word*) sin16s_genb::sintab#2 = (signed word*) sin16s_genb::sintab#0 [phi:sin16s_genb::@4->sin16s_genb::@1#1] -- register_copy - //SEG147 [66] phi (dword) sin16s_genb::x#2 = (dword) sin16s_genb::x#1 [phi:sin16s_genb::@4->sin16s_genb::@1#2] -- register_copy + //SEG143 [66] phi (word) sin16s_genb::i#2 = (word) sin16s_genb::i#1 [phi:sin16s_genb::@4->sin16s_genb::@1#0] -- register_copy + //SEG144 [66] phi (signed word*) sin16s_genb::sintab#2 = (signed word*) sin16s_genb::sintab#0 [phi:sin16s_genb::@4->sin16s_genb::@1#1] -- register_copy + //SEG145 [66] phi (dword) sin16s_genb::x#2 = (dword) sin16s_genb::x#1 [phi:sin16s_genb::@4->sin16s_genb::@1#2] -- register_copy jmp b1 - //SEG148 sin16s_genb::@1 + //SEG146 sin16s_genb::@1 b1: - //SEG149 [67] (word) sin16sb::x#0 ← > (dword) sin16s_genb::x#2 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::x#0 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::x#0 ] ) -- vwuz1=_hi_vduz2 + //SEG147 [67] (word) sin16sb::x#0 ← > (dword) sin16s_genb::x#2 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::x#0 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::x#0 ] ) -- vwuz1=_hi_vduz2 lda x+2 sta sin16sb.x lda x+3 sta sin16sb.x+1 - //SEG150 [68] call sin16sb param-assignment [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#1 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#1 ] ) + //SEG148 [68] call sin16sb param-assignment [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#1 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#1 ] ) jsr sin16sb - //SEG151 [69] (signed word) sin16sb::return#0 ← (signed word) sin16sb::return#1 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#0 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#0 ] ) + //SEG149 [69] (signed word) sin16sb::return#0 ← (signed word) sin16sb::return#1 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#0 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#0 ] ) // (signed word) sin16sb::return#0 = (signed word) sin16sb::return#1 // register copy zp ZP_WORD:8 jmp b4 - //SEG152 sin16s_genb::@4 + //SEG150 sin16s_genb::@4 b4: - //SEG153 [70] (signed word~) sin16s_genb::$2 ← (signed word) sin16sb::return#0 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16s_genb::$2 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16s_genb::$2 ] ) + //SEG151 [70] (signed word~) sin16s_genb::$2 ← (signed word) sin16sb::return#0 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16s_genb::$2 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16s_genb::$2 ] ) // (signed word~) sin16s_genb::$2 = (signed word) sin16sb::return#0 // register copy zp ZP_WORD:8 - //SEG154 [71] *((signed word*) sin16s_genb::sintab#2) ← (signed word~) sin16s_genb::$2 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 ] ) -- _deref_pwsz1=vwsz2 + //SEG152 [71] *((signed word*) sin16s_genb::sintab#2) ← (signed word~) sin16s_genb::$2 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 ] ) -- _deref_pwsz1=vwsz2 ldy #0 lda _2 sta (sintab),y iny lda _2+1 sta (sintab),y - //SEG155 [72] (signed word*) sin16s_genb::sintab#0 ← (signed word*) sin16s_genb::sintab#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::i#2 sin16s_genb::sintab#0 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::i#2 sin16s_genb::sintab#0 ] ) -- pwsz1=pwsz1_plus_2 + //SEG153 [72] (signed word*) sin16s_genb::sintab#0 ← (signed word*) sin16s_genb::sintab#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::i#2 sin16s_genb::sintab#0 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::i#2 sin16s_genb::sintab#0 ] ) -- pwsz1=pwsz1_plus_2 lda sintab clc adc #2 @@ -9154,7 +9076,7 @@ sin16s_genb: { bcc !+ inc sintab+1 !: - //SEG156 [73] (dword) sin16s_genb::x#1 ← (dword) sin16s_genb::x#2 + (dword) sin16s_genb::step#0 [ sin16s_genb::step#0 sin16s_genb::i#2 sin16s_genb::x#1 sin16s_genb::sintab#0 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::i#2 sin16s_genb::x#1 sin16s_genb::sintab#0 ] ) -- vduz1=vduz1_plus_vduz2 + //SEG154 [73] (dword) sin16s_genb::x#1 ← (dword) sin16s_genb::x#2 + (dword) sin16s_genb::step#0 [ sin16s_genb::step#0 sin16s_genb::i#2 sin16s_genb::x#1 sin16s_genb::sintab#0 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::i#2 sin16s_genb::x#1 sin16s_genb::sintab#0 ] ) -- vduz1=vduz1_plus_vduz2 lda x clc adc step @@ -9168,12 +9090,12 @@ sin16s_genb: { lda x+3 adc step+3 sta x+3 - //SEG157 [74] (word) sin16s_genb::i#1 ← ++ (word) sin16s_genb::i#2 [ sin16s_genb::step#0 sin16s_genb::x#1 sin16s_genb::sintab#0 sin16s_genb::i#1 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#1 sin16s_genb::sintab#0 sin16s_genb::i#1 ] ) -- vwuz1=_inc_vwuz1 + //SEG155 [74] (word) sin16s_genb::i#1 ← ++ (word) sin16s_genb::i#2 [ sin16s_genb::step#0 sin16s_genb::x#1 sin16s_genb::sintab#0 sin16s_genb::i#1 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#1 sin16s_genb::sintab#0 sin16s_genb::i#1 ] ) -- vwuz1=_inc_vwuz1 inc i bne !+ inc i+1 !: - //SEG158 [75] if((word) sin16s_genb::i#1<(const word) main::wavelength#0) goto sin16s_genb::@1 [ sin16s_genb::step#0 sin16s_genb::x#1 sin16s_genb::sintab#0 sin16s_genb::i#1 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#1 sin16s_genb::sintab#0 sin16s_genb::i#1 ] ) -- vwuz1_lt_vwuc1_then_la1 + //SEG156 [75] if((word) sin16s_genb::i#1<(const word) main::wavelength#0) goto sin16s_genb::@1 [ sin16s_genb::step#0 sin16s_genb::x#1 sin16s_genb::sintab#0 sin16s_genb::i#1 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#1 sin16s_genb::sintab#0 sin16s_genb::i#1 ] ) -- vwuz1_lt_vwuc1_then_la1 lda i+1 cmp #>main.wavelength bcc b1_from_b4 @@ -9183,12 +9105,12 @@ sin16s_genb: { bcc b1_from_b4 !: jmp breturn - //SEG159 sin16s_genb::@return + //SEG157 sin16s_genb::@return breturn: - //SEG160 [76] return [ ] ( main:2::sin16s_genb:7 [ ] ) + //SEG158 [76] return [ ] ( main:2::sin16s_genb:7 [ ] ) rts } -//SEG161 sin16sb +//SEG159 sin16sb sin16sb: { .label x = 6 .label return = 8 @@ -9202,7 +9124,7 @@ sin16sb: { .label x5_128 = $11 .label sinx = 8 .label isUpper = $a - //SEG162 [77] if((word) sin16sb::x#0<(const word) PI_u4f12#0) goto sin16sb::@1 [ sin16sb::x#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::x#0 ] ) -- vwuz1_lt_vwuc1_then_la1 + //SEG160 [77] if((word) sin16sb::x#0<(const word) PI_u4f12#0) goto sin16sb::@1 [ sin16sb::x#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::x#0 ] ) -- vwuz1_lt_vwuc1_then_la1 lda x+1 cmp #>PI_u4f12 bcc b1_from_sin16sb @@ -9212,9 +9134,9 @@ sin16sb: { bcc b1_from_sin16sb !: jmp b4 - //SEG163 sin16sb::@4 + //SEG161 sin16sb::@4 b4: - //SEG164 [78] (word) sin16sb::x#1 ← (word) sin16sb::x#0 - (const word) PI_u4f12#0 [ sin16sb::x#1 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::x#1 ] ) -- vwuz1=vwuz1_minus_vwuc1 + //SEG162 [78] (word) sin16sb::x#1 ← (word) sin16sb::x#0 - (const word) PI_u4f12#0 [ sin16sb::x#1 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::x#1 ] ) -- vwuz1=vwuz1_minus_vwuc1 lda x sec sbc #PI_u4f12 sta x+1 - //SEG165 [79] phi from sin16sb::@4 to sin16sb::@1 [phi:sin16sb::@4->sin16sb::@1] + //SEG163 [79] phi from sin16sb::@4 to sin16sb::@1 [phi:sin16sb::@4->sin16sb::@1] b1_from_b4: - //SEG166 [79] phi (byte) sin16sb::isUpper#2 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin16sb::@4->sin16sb::@1#0] -- vbuz1=vbuc1 + //SEG164 [79] phi (byte) sin16sb::isUpper#2 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin16sb::@4->sin16sb::@1#0] -- vbuz1=vbuc1 lda #1 sta isUpper - //SEG167 [79] phi (word) sin16sb::x#4 = (word) sin16sb::x#1 [phi:sin16sb::@4->sin16sb::@1#1] -- register_copy + //SEG165 [79] phi (word) sin16sb::x#4 = (word) sin16sb::x#1 [phi:sin16sb::@4->sin16sb::@1#1] -- register_copy jmp b1 - //SEG168 [79] phi from sin16sb to sin16sb::@1 [phi:sin16sb->sin16sb::@1] + //SEG166 [79] phi from sin16sb to sin16sb::@1 [phi:sin16sb->sin16sb::@1] b1_from_sin16sb: - //SEG169 [79] phi (byte) sin16sb::isUpper#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16sb->sin16sb::@1#0] -- vbuz1=vbuc1 + //SEG167 [79] phi (byte) sin16sb::isUpper#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16sb->sin16sb::@1#0] -- vbuz1=vbuc1 lda #0 sta isUpper - //SEG170 [79] phi (word) sin16sb::x#4 = (word) sin16sb::x#0 [phi:sin16sb->sin16sb::@1#1] -- register_copy + //SEG168 [79] phi (word) sin16sb::x#4 = (word) sin16sb::x#0 [phi:sin16sb->sin16sb::@1#1] -- register_copy jmp b1 - //SEG171 sin16sb::@1 + //SEG169 sin16sb::@1 b1: - //SEG172 [80] if((word) sin16sb::x#4<(const word) PI_HALF_u4f12#0) goto sin16sb::@2 [ sin16sb::x#4 sin16sb::isUpper#2 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::x#4 sin16sb::isUpper#2 ] ) -- vwuz1_lt_vwuc1_then_la1 + //SEG170 [80] if((word) sin16sb::x#4<(const word) PI_HALF_u4f12#0) goto sin16sb::@2 [ sin16sb::x#4 sin16sb::isUpper#2 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::x#4 sin16sb::isUpper#2 ] ) -- vwuz1_lt_vwuc1_then_la1 lda x+1 cmp #>PI_HALF_u4f12 bcc b2_from_b1 @@ -9248,9 +9170,9 @@ sin16sb: { bcc b2_from_b1 !: jmp b5 - //SEG173 sin16sb::@5 + //SEG171 sin16sb::@5 b5: - //SEG174 [81] (word) sin16sb::x#2 ← (const word) PI_u4f12#0 - (word) sin16sb::x#4 [ sin16sb::isUpper#2 sin16sb::x#2 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x#2 ] ) -- vwuz1=vwuc1_minus_vwuz1 + //SEG172 [81] (word) sin16sb::x#2 ← (const word) PI_u4f12#0 - (word) sin16sb::x#4 [ sin16sb::isUpper#2 sin16sb::x#2 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x#2 ] ) -- vwuz1=vwuc1_minus_vwuz1 sec lda #PI_u4f12 sbc x+1 sta x+1 - //SEG175 [82] phi from sin16sb::@1 sin16sb::@5 to sin16sb::@2 [phi:sin16sb::@1/sin16sb::@5->sin16sb::@2] + //SEG173 [82] phi from sin16sb::@1 sin16sb::@5 to sin16sb::@2 [phi:sin16sb::@1/sin16sb::@5->sin16sb::@2] b2_from_b1: b2_from_b5: - //SEG176 [82] phi (word) sin16sb::x#6 = (word) sin16sb::x#4 [phi:sin16sb::@1/sin16sb::@5->sin16sb::@2#0] -- register_copy + //SEG174 [82] phi (word) sin16sb::x#6 = (word) sin16sb::x#4 [phi:sin16sb::@1/sin16sb::@5->sin16sb::@2#0] -- register_copy jmp b2 - //SEG177 sin16sb::@2 + //SEG175 sin16sb::@2 b2: - //SEG178 [83] (word) sin16sb::x1#0 ← (word) sin16sb::x#6 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ sin16sb::isUpper#2 sin16sb::x1#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 ] ) -- vwuz1=vwuz1_rol_3 + //SEG176 [83] (word) sin16sb::x1#0 ← (word) sin16sb::x#6 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ sin16sb::isUpper#2 sin16sb::x1#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 ] ) -- vwuz1=vwuz1_rol_3 asl x1 rol x1+1 asl x1 rol x1+1 asl x1 rol x1+1 - //SEG179 [84] (word) mulu16_sel::v1#5 ← (word) sin16sb::x1#0 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#5 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#5 ] ) -- vwuz1=vwuz2 + //SEG177 [84] (word) mulu16_sel::v1#5 ← (word) sin16sb::x1#0 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#5 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#5 ] ) -- vwuz1=vwuz2 lda x1 sta mulu16_sel.v1 lda x1+1 sta mulu16_sel.v1+1 - //SEG180 [85] (word) mulu16_sel::v2#5 ← (word) sin16sb::x1#0 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#5 mulu16_sel::v2#5 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#5 mulu16_sel::v2#5 ] ) -- vwuz1=vwuz2 + //SEG178 [85] (word) mulu16_sel::v2#5 ← (word) sin16sb::x1#0 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#5 mulu16_sel::v2#5 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#5 mulu16_sel::v2#5 ] ) -- vwuz1=vwuz2 lda x1 sta mulu16_sel.v2 lda x1+1 sta mulu16_sel.v2+1 - //SEG181 [86] call mulu16_sel param-assignment [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] ) - //SEG182 [116] phi from sin16sb::@2 to mulu16_sel [phi:sin16sb::@2->mulu16_sel] + //SEG179 [86] call mulu16_sel param-assignment [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] ) + //SEG180 [116] phi from sin16sb::@2 to mulu16_sel [phi:sin16sb::@2->mulu16_sel] mulu16_sel_from_b2: - //SEG183 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16sb::@2->mulu16_sel#0] -- vbuxx=vbuc1 + //SEG181 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16sb::@2->mulu16_sel#0] -- vbuxx=vbuc1 ldx #0 - //SEG184 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#5 [phi:sin16sb::@2->mulu16_sel#1] -- register_copy - //SEG185 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#5 [phi:sin16sb::@2->mulu16_sel#2] -- register_copy + //SEG182 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#5 [phi:sin16sb::@2->mulu16_sel#1] -- register_copy + //SEG183 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#5 [phi:sin16sb::@2->mulu16_sel#2] -- register_copy jsr mulu16_sel - //SEG186 [87] (word) mulu16_sel::return#18 ← (word) mulu16_sel::return#17 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#18 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#18 ] ) + //SEG184 [87] (word) mulu16_sel::return#18 ← (word) mulu16_sel::return#17 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#18 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#18 ] ) // (word) mulu16_sel::return#18 = (word) mulu16_sel::return#17 // register copy zp ZP_WORD:17 jmp b8 - //SEG187 sin16sb::@8 + //SEG185 sin16sb::@8 b8: - //SEG188 [88] (word) sin16sb::x2#0 ← (word) mulu16_sel::return#18 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x2#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x2#0 ] ) -- vwuz1=vwuz2 + //SEG186 [88] (word) sin16sb::x2#0 ← (word) mulu16_sel::return#18 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x2#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x2#0 ] ) -- vwuz1=vwuz2 lda mulu16_sel.return_18 sta x2 lda mulu16_sel.return_18+1 sta x2+1 - //SEG189 [89] (word) mulu16_sel::v1#6 ← (word) sin16sb::x2#0 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#6 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#6 ] ) + //SEG187 [89] (word) mulu16_sel::v1#6 ← (word) sin16sb::x2#0 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#6 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#6 ] ) // (word) mulu16_sel::v1#6 = (word) sin16sb::x2#0 // register copy zp ZP_WORD:11 - //SEG190 [90] (word) mulu16_sel::v2#6 ← (word) sin16sb::x1#0 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#6 mulu16_sel::v2#6 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#6 mulu16_sel::v2#6 ] ) -- vwuz1=vwuz2 + //SEG188 [90] (word) mulu16_sel::v2#6 ← (word) sin16sb::x1#0 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#6 mulu16_sel::v2#6 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#6 mulu16_sel::v2#6 ] ) -- vwuz1=vwuz2 lda x1 sta mulu16_sel.v2 lda x1+1 sta mulu16_sel.v2+1 - //SEG191 [91] call mulu16_sel param-assignment [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] ) - //SEG192 [116] phi from sin16sb::@8 to mulu16_sel [phi:sin16sb::@8->mulu16_sel] + //SEG189 [91] call mulu16_sel param-assignment [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] ) + //SEG190 [116] phi from sin16sb::@8 to mulu16_sel [phi:sin16sb::@8->mulu16_sel] mulu16_sel_from_b8: - //SEG193 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin16sb::@8->mulu16_sel#0] -- vbuxx=vbuc1 + //SEG191 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin16sb::@8->mulu16_sel#0] -- vbuxx=vbuc1 ldx #1 - //SEG194 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#6 [phi:sin16sb::@8->mulu16_sel#1] -- register_copy - //SEG195 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#6 [phi:sin16sb::@8->mulu16_sel#2] -- register_copy + //SEG192 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#6 [phi:sin16sb::@8->mulu16_sel#1] -- register_copy + //SEG193 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#6 [phi:sin16sb::@8->mulu16_sel#2] -- register_copy jsr mulu16_sel - //SEG196 [92] (word) mulu16_sel::return#19 ← (word) mulu16_sel::return#17 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#19 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#19 ] ) -- vwuz1=vwuz2 + //SEG194 [92] (word) mulu16_sel::return#19 ← (word) mulu16_sel::return#17 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#19 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#19 ] ) -- vwuz1=vwuz2 lda mulu16_sel.return_17 sta mulu16_sel.return lda mulu16_sel.return_17+1 sta mulu16_sel.return+1 jmp b9 - //SEG197 sin16sb::@9 + //SEG195 sin16sb::@9 b9: - //SEG198 [93] (word) sin16sb::x3#0 ← (word) mulu16_sel::return#19 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 ] ) + //SEG196 [93] (word) sin16sb::x3#0 ← (word) mulu16_sel::return#19 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 ] ) // (word) sin16sb::x3#0 = (word) mulu16_sel::return#19 // register copy zp ZP_WORD:11 - //SEG199 [94] (word) mulu16_sel::v1#7 ← (word) sin16sb::x3#0 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::v1#7 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::v1#7 ] ) + //SEG197 [94] (word) mulu16_sel::v1#7 ← (word) sin16sb::x3#0 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::v1#7 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::v1#7 ] ) // (word) mulu16_sel::v1#7 = (word) sin16sb::x3#0 // register copy zp ZP_WORD:11 - //SEG200 [95] call mulu16_sel param-assignment [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 sin16sb::x3#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 sin16sb::x3#0 ] ) - //SEG201 [116] phi from sin16sb::@9 to mulu16_sel [phi:sin16sb::@9->mulu16_sel] + //SEG198 [95] call mulu16_sel param-assignment [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 sin16sb::x3#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 sin16sb::x3#0 ] ) + //SEG199 [116] phi from sin16sb::@9 to mulu16_sel [phi:sin16sb::@9->mulu16_sel] mulu16_sel_from_b9: - //SEG202 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin16sb::@9->mulu16_sel#0] -- vbuxx=vbuc1 + //SEG200 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin16sb::@9->mulu16_sel#0] -- vbuxx=vbuc1 ldx #1 - //SEG203 [116] phi (word) mulu16_sel::v2#10 = (dword/signed dword) 65536/(byte/signed byte/word/signed word/dword/signed dword) 6 [phi:sin16sb::@9->mulu16_sel#1] -- vwuz1=vwuc1 + //SEG201 [116] phi (word) mulu16_sel::v2#10 = (dword/signed dword) 65536/(byte/signed byte/word/signed word/dword/signed dword) 6 [phi:sin16sb::@9->mulu16_sel#1] -- vwuz1=vwuc1 lda #<$10000/6 sta mulu16_sel.v2 lda #>$10000/6 sta mulu16_sel.v2+1 - //SEG204 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#7 [phi:sin16sb::@9->mulu16_sel#2] -- register_copy + //SEG202 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#7 [phi:sin16sb::@9->mulu16_sel#2] -- register_copy jsr mulu16_sel - //SEG205 [96] (word) mulu16_sel::return#20 ← (word) mulu16_sel::return#17 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::return#20 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::return#20 ] ) + //SEG203 [96] (word) mulu16_sel::return#20 ← (word) mulu16_sel::return#17 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::return#20 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::return#20 ] ) // (word) mulu16_sel::return#20 = (word) mulu16_sel::return#17 // register copy zp ZP_WORD:17 jmp b10 - //SEG206 sin16sb::@10 + //SEG204 sin16sb::@10 b10: - //SEG207 [97] (word) sin16sb::x3_6#0 ← (word) mulu16_sel::return#20 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 sin16sb::x3_6#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 sin16sb::x3_6#0 ] ) + //SEG205 [97] (word) sin16sb::x3_6#0 ← (word) mulu16_sel::return#20 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 sin16sb::x3_6#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 sin16sb::x3_6#0 ] ) // (word) sin16sb::x3_6#0 = (word) mulu16_sel::return#20 // register copy zp ZP_WORD:17 - //SEG208 [98] (word) sin16sb::usinx#0 ← (word) sin16sb::x1#0 - (word) sin16sb::x3_6#0 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 sin16sb::usinx#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 sin16sb::usinx#0 ] ) -- vwuz1=vwuz2_minus_vwuz3 + //SEG206 [98] (word) sin16sb::usinx#0 ← (word) sin16sb::x1#0 - (word) sin16sb::x3_6#0 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 sin16sb::usinx#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 sin16sb::usinx#0 ] ) -- vwuz1=vwuz2_minus_vwuz3 lda x1 sec sbc x3_6 @@ -9354,61 +9276,61 @@ sin16sb: { lda x1+1 sbc x3_6+1 sta usinx+1 - //SEG209 [99] (word) mulu16_sel::v1#8 ← (word) sin16sb::x3#0 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#8 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#8 ] ) + //SEG207 [99] (word) mulu16_sel::v1#8 ← (word) sin16sb::x3#0 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#8 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#8 ] ) // (word) mulu16_sel::v1#8 = (word) sin16sb::x3#0 // register copy zp ZP_WORD:11 - //SEG210 [100] (word) mulu16_sel::v2#8 ← (word) sin16sb::x1#0 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#8 mulu16_sel::v2#8 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#8 mulu16_sel::v2#8 ] ) -- vwuz1=vwuz2 + //SEG208 [100] (word) mulu16_sel::v2#8 ← (word) sin16sb::x1#0 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#8 mulu16_sel::v2#8 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#8 mulu16_sel::v2#8 ] ) -- vwuz1=vwuz2 lda x1 sta mulu16_sel.v2 lda x1+1 sta mulu16_sel.v2+1 - //SEG211 [101] call mulu16_sel param-assignment [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 sin16sb::usinx#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 sin16sb::usinx#0 ] ) - //SEG212 [116] phi from sin16sb::@10 to mulu16_sel [phi:sin16sb::@10->mulu16_sel] + //SEG209 [101] call mulu16_sel param-assignment [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 sin16sb::usinx#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 sin16sb::usinx#0 ] ) + //SEG210 [116] phi from sin16sb::@10 to mulu16_sel [phi:sin16sb::@10->mulu16_sel] mulu16_sel_from_b10: - //SEG213 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16sb::@10->mulu16_sel#0] -- vbuxx=vbuc1 + //SEG211 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16sb::@10->mulu16_sel#0] -- vbuxx=vbuc1 ldx #0 - //SEG214 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#8 [phi:sin16sb::@10->mulu16_sel#1] -- register_copy - //SEG215 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#8 [phi:sin16sb::@10->mulu16_sel#2] -- register_copy + //SEG212 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#8 [phi:sin16sb::@10->mulu16_sel#1] -- register_copy + //SEG213 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#8 [phi:sin16sb::@10->mulu16_sel#2] -- register_copy jsr mulu16_sel - //SEG216 [102] (word) mulu16_sel::return#10 ← (word) mulu16_sel::return#17 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::return#10 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::return#10 ] ) -- vwuz1=vwuz2 + //SEG214 [102] (word) mulu16_sel::return#10 ← (word) mulu16_sel::return#17 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::return#10 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::return#10 ] ) -- vwuz1=vwuz2 lda mulu16_sel.return_17 sta mulu16_sel.return lda mulu16_sel.return_17+1 sta mulu16_sel.return+1 jmp b11 - //SEG217 sin16sb::@11 + //SEG215 sin16sb::@11 b11: - //SEG218 [103] (word) sin16sb::x4#0 ← (word) mulu16_sel::return#10 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 sin16sb::x4#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 sin16sb::x4#0 ] ) + //SEG216 [103] (word) sin16sb::x4#0 ← (word) mulu16_sel::return#10 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 sin16sb::x4#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 sin16sb::x4#0 ] ) // (word) sin16sb::x4#0 = (word) mulu16_sel::return#10 // register copy zp ZP_WORD:11 - //SEG219 [104] (word) mulu16_sel::v1#9 ← (word) sin16sb::x4#0 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#9 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#9 ] ) + //SEG217 [104] (word) mulu16_sel::v1#9 ← (word) sin16sb::x4#0 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#9 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#9 ] ) // (word) mulu16_sel::v1#9 = (word) sin16sb::x4#0 // register copy zp ZP_WORD:11 - //SEG220 [105] (word) mulu16_sel::v2#9 ← (word) sin16sb::x1#0 [ sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::v1#9 mulu16_sel::v2#9 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::v1#9 mulu16_sel::v2#9 ] ) -- vwuz1=vwuz2 + //SEG218 [105] (word) mulu16_sel::v2#9 ← (word) sin16sb::x1#0 [ sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::v1#9 mulu16_sel::v2#9 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::v1#9 mulu16_sel::v2#9 ] ) -- vwuz1=vwuz2 lda x1 sta mulu16_sel.v2 lda x1+1 sta mulu16_sel.v2+1 - //SEG221 [106] call mulu16_sel param-assignment [ sin16sb::isUpper#2 mulu16_sel::return#17 sin16sb::usinx#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 mulu16_sel::return#17 sin16sb::usinx#0 ] ) - //SEG222 [116] phi from sin16sb::@11 to mulu16_sel [phi:sin16sb::@11->mulu16_sel] + //SEG219 [106] call mulu16_sel param-assignment [ sin16sb::isUpper#2 mulu16_sel::return#17 sin16sb::usinx#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 mulu16_sel::return#17 sin16sb::usinx#0 ] ) + //SEG220 [116] phi from sin16sb::@11 to mulu16_sel [phi:sin16sb::@11->mulu16_sel] mulu16_sel_from_b11: - //SEG223 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16sb::@11->mulu16_sel#0] -- vbuxx=vbuc1 + //SEG221 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16sb::@11->mulu16_sel#0] -- vbuxx=vbuc1 ldx #0 - //SEG224 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#9 [phi:sin16sb::@11->mulu16_sel#1] -- register_copy - //SEG225 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#9 [phi:sin16sb::@11->mulu16_sel#2] -- register_copy + //SEG222 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#9 [phi:sin16sb::@11->mulu16_sel#1] -- register_copy + //SEG223 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#9 [phi:sin16sb::@11->mulu16_sel#2] -- register_copy jsr mulu16_sel - //SEG226 [107] (word) mulu16_sel::return#11 ← (word) mulu16_sel::return#17 [ sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::return#11 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::return#11 ] ) + //SEG224 [107] (word) mulu16_sel::return#11 ← (word) mulu16_sel::return#17 [ sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::return#11 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::return#11 ] ) // (word) mulu16_sel::return#11 = (word) mulu16_sel::return#17 // register copy zp ZP_WORD:17 jmp b12 - //SEG227 sin16sb::@12 + //SEG225 sin16sb::@12 b12: - //SEG228 [108] (word) sin16sb::x5#0 ← (word) mulu16_sel::return#11 [ sin16sb::isUpper#2 sin16sb::usinx#0 sin16sb::x5#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 sin16sb::x5#0 ] ) + //SEG226 [108] (word) sin16sb::x5#0 ← (word) mulu16_sel::return#11 [ sin16sb::isUpper#2 sin16sb::usinx#0 sin16sb::x5#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 sin16sb::x5#0 ] ) // (word) sin16sb::x5#0 = (word) mulu16_sel::return#11 // register copy zp ZP_WORD:17 - //SEG229 [109] (word) sin16sb::x5_128#0 ← (word) sin16sb::x5#0 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ sin16sb::isUpper#2 sin16sb::usinx#0 sin16sb::x5_128#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 sin16sb::x5_128#0 ] ) -- vwuz1=vwuz1_ror_4 + //SEG227 [109] (word) sin16sb::x5_128#0 ← (word) sin16sb::x5#0 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ sin16sb::isUpper#2 sin16sb::usinx#0 sin16sb::x5_128#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 sin16sb::x5_128#0 ] ) -- vwuz1=vwuz1_ror_4 ldy #4 !: lsr x5_128+1 ror x5_128 dey bne !- - //SEG230 [110] (word) sin16sb::usinx#1 ← (word) sin16sb::usinx#0 + (word) sin16sb::x5_128#0 [ sin16sb::isUpper#2 sin16sb::usinx#1 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#1 ] ) -- vwuz1=vwuz1_plus_vwuz2 + //SEG228 [110] (word) sin16sb::usinx#1 ← (word) sin16sb::usinx#0 + (word) sin16sb::x5_128#0 [ sin16sb::isUpper#2 sin16sb::usinx#1 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#1 ] ) -- vwuz1=vwuz1_plus_vwuz2 lda usinx clc adc x5_128 @@ -9416,13 +9338,13 @@ sin16sb: { lda usinx+1 adc x5_128+1 sta usinx+1 - //SEG231 [111] if((byte) sin16sb::isUpper#2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto sin16sb::@15 [ sin16sb::usinx#1 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::usinx#1 ] ) -- vbuz1_eq_0_then_la1 + //SEG229 [111] if((byte) sin16sb::isUpper#2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto sin16sb::@15 [ sin16sb::usinx#1 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::usinx#1 ] ) -- vbuz1_eq_0_then_la1 lda isUpper beq b15 jmp b6 - //SEG232 sin16sb::@6 + //SEG230 sin16sb::@6 b6: - //SEG233 [112] (signed word) sin16sb::sinx#1 ← - (signed word)(word) sin16sb::usinx#1 [ sin16sb::sinx#1 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::sinx#1 ] ) -- vwsz1=_neg_vwsz1 + //SEG231 [112] (signed word) sin16sb::sinx#1 ← - (signed word)(word) sin16sb::usinx#1 [ sin16sb::sinx#1 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::sinx#1 ] ) -- vwsz1=_neg_vwsz1 sec lda sinx eor #$ff @@ -9432,25 +9354,25 @@ sin16sb: { eor #$ff adc #0 sta sinx+1 - //SEG234 [113] phi from sin16sb::@15 sin16sb::@6 to sin16sb::@3 [phi:sin16sb::@15/sin16sb::@6->sin16sb::@3] + //SEG232 [113] phi from sin16sb::@15 sin16sb::@6 to sin16sb::@3 [phi:sin16sb::@15/sin16sb::@6->sin16sb::@3] b3_from_b15: b3_from_b6: - //SEG235 [113] phi (signed word) sin16sb::return#1 = (signed word~) sin16sb::return#5 [phi:sin16sb::@15/sin16sb::@6->sin16sb::@3#0] -- register_copy + //SEG233 [113] phi (signed word) sin16sb::return#1 = (signed word~) sin16sb::return#5 [phi:sin16sb::@15/sin16sb::@6->sin16sb::@3#0] -- register_copy jmp b3 - //SEG236 sin16sb::@3 + //SEG234 sin16sb::@3 b3: jmp breturn - //SEG237 sin16sb::@return + //SEG235 sin16sb::@return breturn: - //SEG238 [114] return [ sin16sb::return#1 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#1 ] ) + //SEG236 [114] return [ sin16sb::return#1 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#1 ] ) rts - //SEG239 sin16sb::@15 + //SEG237 sin16sb::@15 b15: - //SEG240 [115] (signed word~) sin16sb::return#5 ← (signed word)(word) sin16sb::usinx#1 [ sin16sb::return#5 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#5 ] ) + //SEG238 [115] (signed word~) sin16sb::return#5 ← (signed word)(word) sin16sb::usinx#1 [ sin16sb::return#5 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#5 ] ) // (signed word~) sin16sb::return#5 = (signed word)(word) sin16sb::usinx#1 // register copy zp ZP_WORD:8 jmp b3_from_b15 } -//SEG241 mulu16_sel +//SEG239 mulu16_sel mulu16_sel: { .label _0 = $15 .label _1 = $15 @@ -9463,23 +9385,23 @@ mulu16_sel: { .label return_17 = $11 .label return_18 = $11 .label return_20 = $11 - //SEG242 [117] (word) mul16u::a#1 ← (word) mulu16_sel::v1#10 [ mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] ) -- vwuz1=vwuz2 + //SEG240 [117] (word) mul16u::a#1 ← (word) mulu16_sel::v1#10 [ mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] ) -- vwuz1=vwuz2 lda v1 sta mul16u.a lda v1+1 sta mul16u.a+1 - //SEG243 [118] (word) mul16u::b#0 ← (word) mulu16_sel::v2#10 [ mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] ) + //SEG241 [118] (word) mul16u::b#0 ← (word) mulu16_sel::v2#10 [ mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] ) // (word) mul16u::b#0 = (word) mulu16_sel::v2#10 // register copy zp ZP_WORD:17 - //SEG244 [119] call mul16u param-assignment [ mulu16_sel::select#10 mul16u::res#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] ) + //SEG242 [119] call mul16u param-assignment [ mulu16_sel::select#10 mul16u::res#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] ) jsr mul16u - //SEG245 [120] (dword) mul16u::return#2 ← (dword) mul16u::res#2 [ mulu16_sel::select#10 mul16u::return#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] ) + //SEG243 [120] (dword) mul16u::return#2 ← (dword) mul16u::res#2 [ mulu16_sel::select#10 mul16u::return#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] ) // (dword) mul16u::return#2 = (dword) mul16u::res#2 // register copy zp ZP_DWORD:21 jmp b2 - //SEG246 mulu16_sel::@2 + //SEG244 mulu16_sel::@2 b2: - //SEG247 [121] (dword~) mulu16_sel::$0 ← (dword) mul16u::return#2 [ mulu16_sel::select#10 mulu16_sel::$0 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] ) + //SEG245 [121] (dword~) mulu16_sel::$0 ← (dword) mul16u::return#2 [ mulu16_sel::select#10 mulu16_sel::$0 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] ) // (dword~) mulu16_sel::$0 = (dword) mul16u::return#2 // register copy zp ZP_DWORD:21 - //SEG248 [122] (dword~) mulu16_sel::$1 ← (dword~) mulu16_sel::$0 << (byte) mulu16_sel::select#10 [ mulu16_sel::$1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::$1 ] ) -- vduz1=vduz1_rol_vbuxx + //SEG246 [122] (dword~) mulu16_sel::$1 ← (dword~) mulu16_sel::$0 << (byte) mulu16_sel::select#10 [ mulu16_sel::$1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::$1 ] ) -- vduz1=vduz1_rol_vbuxx cpx #0 beq !e+ !: @@ -9490,25 +9412,25 @@ mulu16_sel: { dex bne !- !e: - //SEG249 [123] (word) mulu16_sel::return#17 ← > (dword~) mulu16_sel::$1 [ mulu16_sel::return#17 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#17 ] ) -- vwuz1=_hi_vduz2 + //SEG247 [123] (word) mulu16_sel::return#17 ← > (dword~) mulu16_sel::$1 [ mulu16_sel::return#17 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#17 ] ) -- vwuz1=_hi_vduz2 lda _1+2 sta return_17 lda _1+3 sta return_17+1 jmp breturn - //SEG250 mulu16_sel::@return + //SEG248 mulu16_sel::@return breturn: - //SEG251 [124] return [ mulu16_sel::return#17 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#17 ] ) + //SEG249 [124] return [ mulu16_sel::return#17 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#17 ] ) rts } -//SEG252 mul16u +//SEG250 mul16u mul16u: { .label mb = $19 .label a = $13 .label res = $15 .label b = $11 .label return = $15 - //SEG253 [125] (dword) mul16u::mb#0 ← ((dword)) (word) mul16u::b#0 [ mul16u::a#1 mul16u::mb#0 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] ) -- vduz1=_dword_vwuz2 + //SEG251 [125] (dword) mul16u::mb#0 ← ((dword)) (word) mul16u::b#0 [ mul16u::a#1 mul16u::mb#0 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] ) -- vduz1=_dword_vwuz2 lda b sta mb lda b+1 @@ -9516,42 +9438,42 @@ mul16u: { lda #0 sta mb+2 sta mb+3 - //SEG254 [126] phi from mul16u to mul16u::@1 [phi:mul16u->mul16u::@1] + //SEG252 [126] phi from mul16u to mul16u::@1 [phi:mul16u->mul16u::@1] b1_from_mul16u: - //SEG255 [126] phi (dword) mul16u::mb#2 = (dword) mul16u::mb#0 [phi:mul16u->mul16u::@1#0] -- register_copy - //SEG256 [126] phi (dword) mul16u::res#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mul16u->mul16u::@1#1] -- vduz1=vbuc1 + //SEG253 [126] phi (dword) mul16u::mb#2 = (dword) mul16u::mb#0 [phi:mul16u->mul16u::@1#0] -- register_copy + //SEG254 [126] phi (dword) mul16u::res#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mul16u->mul16u::@1#1] -- vduz1=vbuc1 lda #0 sta res lda #0 sta res+1 sta res+2 sta res+3 - //SEG257 [126] phi (word) mul16u::a#2 = (word) mul16u::a#1 [phi:mul16u->mul16u::@1#2] -- register_copy + //SEG255 [126] phi (word) mul16u::a#2 = (word) mul16u::a#1 [phi:mul16u->mul16u::@1#2] -- register_copy jmp b1 - //SEG258 mul16u::@1 + //SEG256 mul16u::@1 b1: - //SEG259 [127] if((word) mul16u::a#2!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul16u::@2 [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ) -- vwuz1_neq_0_then_la1 + //SEG257 [127] if((word) mul16u::a#2!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul16u::@2 [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ) -- vwuz1_neq_0_then_la1 lda a bne b2 lda a+1 bne b2 jmp breturn - //SEG260 mul16u::@return + //SEG258 mul16u::@return breturn: - //SEG261 [128] return [ mul16u::res#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] ) + //SEG259 [128] return [ mul16u::res#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] ) rts - //SEG262 mul16u::@2 + //SEG260 mul16u::@2 b2: - //SEG263 [129] (byte/word~) mul16u::$1 ← (word) mul16u::a#2 & (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] ) -- vbuaa=vwuz1_band_vbuc1 + //SEG261 [129] (byte/word~) mul16u::$1 ← (word) mul16u::a#2 & (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] ) -- vbuaa=vwuz1_band_vbuc1 lda a and #1 - //SEG264 [130] if((byte/word~) mul16u::$1==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul16u::@4 [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ) -- vbuaa_eq_0_then_la1 + //SEG262 [130] if((byte/word~) mul16u::$1==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul16u::@4 [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ) -- vbuaa_eq_0_then_la1 cmp #0 beq b4_from_b2 jmp b7 - //SEG265 mul16u::@7 + //SEG263 mul16u::@7 b7: - //SEG266 [131] (dword) mul16u::res#1 ← (dword) mul16u::res#2 + (dword) mul16u::mb#2 [ mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] ) -- vduz1=vduz1_plus_vduz2 + //SEG264 [131] (dword) mul16u::res#1 ← (dword) mul16u::res#2 + (dword) mul16u::mb#2 [ mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] ) -- vduz1=vduz1_plus_vduz2 lda res clc adc mb @@ -9565,88 +9487,78 @@ mul16u: { lda res+3 adc mb+3 sta res+3 - //SEG267 [132] phi from mul16u::@2 mul16u::@7 to mul16u::@4 [phi:mul16u::@2/mul16u::@7->mul16u::@4] + //SEG265 [132] phi from mul16u::@2 mul16u::@7 to mul16u::@4 [phi:mul16u::@2/mul16u::@7->mul16u::@4] b4_from_b2: b4_from_b7: - //SEG268 [132] phi (dword) mul16u::res#6 = (dword) mul16u::res#2 [phi:mul16u::@2/mul16u::@7->mul16u::@4#0] -- register_copy + //SEG266 [132] phi (dword) mul16u::res#6 = (dword) mul16u::res#2 [phi:mul16u::@2/mul16u::@7->mul16u::@4#0] -- register_copy jmp b4 - //SEG269 mul16u::@4 + //SEG267 mul16u::@4 b4: - //SEG270 [133] (word) mul16u::a#0 ← (word) mul16u::a#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] ) -- vwuz1=vwuz1_ror_1 + //SEG268 [133] (word) mul16u::a#0 ← (word) mul16u::a#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] ) -- vwuz1=vwuz1_ror_1 clc ror a+1 ror a - //SEG271 [134] (dword) mul16u::mb#1 ← (dword) mul16u::mb#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] ) -- vduz1=vduz1_rol_1 + //SEG269 [134] (dword) mul16u::mb#1 ← (dword) mul16u::mb#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] ) -- vduz1=vduz1_rol_1 asl mb rol mb+1 rol mb+2 rol mb+3 - //SEG272 [126] phi from mul16u::@4 to mul16u::@1 [phi:mul16u::@4->mul16u::@1] + //SEG270 [126] phi from mul16u::@4 to mul16u::@1 [phi:mul16u::@4->mul16u::@1] b1_from_b4: - //SEG273 [126] phi (dword) mul16u::mb#2 = (dword) mul16u::mb#1 [phi:mul16u::@4->mul16u::@1#0] -- register_copy - //SEG274 [126] phi (dword) mul16u::res#2 = (dword) mul16u::res#6 [phi:mul16u::@4->mul16u::@1#1] -- register_copy - //SEG275 [126] phi (word) mul16u::a#2 = (word) mul16u::a#0 [phi:mul16u::@4->mul16u::@1#2] -- register_copy + //SEG271 [126] phi (dword) mul16u::mb#2 = (dword) mul16u::mb#1 [phi:mul16u::@4->mul16u::@1#0] -- register_copy + //SEG272 [126] phi (dword) mul16u::res#2 = (dword) mul16u::res#6 [phi:mul16u::@4->mul16u::@1#1] -- register_copy + //SEG273 [126] phi (word) mul16u::a#2 = (word) mul16u::a#0 [phi:mul16u::@4->mul16u::@1#2] -- register_copy jmp b1 } -//SEG276 div32u16u +//SEG274 div32u16u div32u16u: { - .label quotient_hi = $b - .label quotient_lo = 8 + .label quotient_hi = 8 + .label quotient_lo = 6 .label return = $1d - .label dividend = $d - .label divisor = 2 - //SEG277 [136] (word) divr16u::dividend#1 ← > (dword) div32u16u::dividend#2 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 ] ) -- vwuz1=_hi_vduz2 - lda dividend+2 - sta divr16u.dividend - lda dividend+3 - sta divr16u.dividend+1 - //SEG278 [137] (word) divr16u::divisor#0 ← (word) div32u16u::divisor#2 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 divr16u::divisor#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 divr16u::divisor#0 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 divr16u::divisor#0 ] ) - // (word) divr16u::divisor#0 = (word) div32u16u::divisor#2 // register copy zp ZP_WORD:2 - //SEG279 [138] call divr16u param-assignment [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#0 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#0 rem16u#1 ] ) - //SEG280 [149] phi from div32u16u to divr16u [phi:div32u16u->divr16u] + //SEG275 [136] call divr16u param-assignment [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:164 [ divr16u::return#0 rem16u#1 ] ) + //SEG276 [145] phi from div32u16u to divr16u [phi:div32u16u->divr16u] divr16u_from_div32u16u: - //SEG281 [149] phi (word) divr16u::divisor#6 = (word) divr16u::divisor#0 [phi:div32u16u->divr16u#0] -- register_copy - //SEG282 [149] phi (word) divr16u::dividend#5 = (word) divr16u::dividend#1 [phi:div32u16u->divr16u#1] -- register_copy - //SEG283 [149] phi (word) divr16u::rem#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:div32u16u->divr16u#2] -- vwuz1=vbuc1 + //SEG277 [145] phi (word) divr16u::dividend#5 = >(const dword) PI2_u4f28#0 [phi:div32u16u->divr16u#0] -- vwuz1=vwuc1 + lda #>$10 + sta divr16u.dividend + lda #>PI2_u4f28>>$10 + sta divr16u.dividend+1 + //SEG278 [145] phi (word) divr16u::rem#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:div32u16u->divr16u#1] -- vwuz1=vbuc1 lda #<0 sta divr16u.rem lda #>0 sta divr16u.rem+1 jsr divr16u - //SEG284 [139] (word) divr16u::return#2 ← (word) divr16u::return#0 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#2 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#2 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#2 rem16u#1 ] ) - // (word) divr16u::return#2 = (word) divr16u::return#0 // register copy zp ZP_WORD:8 + //SEG279 [137] (word) divr16u::return#2 ← (word) divr16u::return#0 [ divr16u::return#2 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ divr16u::return#2 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:164 [ divr16u::return#2 rem16u#1 ] ) + // (word) divr16u::return#2 = (word) divr16u::return#0 // register copy zp ZP_WORD:6 jmp b2 - //SEG285 div32u16u::@2 + //SEG280 div32u16u::@2 b2: - //SEG286 [140] (word) div32u16u::quotient_hi#0 ← (word) divr16u::return#2 [ div32u16u::dividend#2 div32u16u::divisor#2 div32u16u::quotient_hi#0 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 div32u16u::quotient_hi#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::dividend#2 div32u16u::divisor#2 div32u16u::quotient_hi#0 rem16u#1 ] ) -- vwuz1=vwuz2 + //SEG281 [138] (word) div32u16u::quotient_hi#0 ← (word) divr16u::return#2 [ div32u16u::quotient_hi#0 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::quotient_hi#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:164 [ div32u16u::quotient_hi#0 rem16u#1 ] ) -- vwuz1=vwuz2 lda divr16u.return sta quotient_hi lda divr16u.return+1 sta quotient_hi+1 - //SEG287 [141] (word) divr16u::dividend#2 ← < (dword) div32u16u::dividend#2 [ div32u16u::divisor#2 div32u16u::quotient_hi#0 divr16u::dividend#2 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::divisor#2 div32u16u::quotient_hi#0 divr16u::dividend#2 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::divisor#2 div32u16u::quotient_hi#0 divr16u::dividend#2 rem16u#1 ] ) -- vwuz1=_lo_vduz2 - lda dividend - sta divr16u.dividend - lda dividend+1 - sta divr16u.dividend+1 - //SEG288 [142] (word) divr16u::divisor#1 ← (word) div32u16u::divisor#2 [ div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 rem16u#1 ] ) - // (word) divr16u::divisor#1 = (word) div32u16u::divisor#2 // register copy zp ZP_WORD:2 - //SEG289 [143] (word) divr16u::rem#4 ← (word) rem16u#1 [ div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 divr16u::rem#4 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 divr16u::rem#4 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 divr16u::rem#4 ] ) - // (word) divr16u::rem#4 = (word) rem16u#1 // register copy zp ZP_WORD:4 - //SEG290 [144] call divr16u param-assignment [ divr16u::return#0 div32u16u::quotient_hi#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ divr16u::return#0 div32u16u::quotient_hi#0 ] main:2::sin16s_gen:5::div32u16u:168 [ divr16u::return#0 div32u16u::quotient_hi#0 ] ) - //SEG291 [149] phi from div32u16u::@2 to divr16u [phi:div32u16u::@2->divr16u] + //SEG282 [139] (word) divr16u::rem#4 ← (word) rem16u#1 [ div32u16u::quotient_hi#0 divr16u::rem#4 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::quotient_hi#0 divr16u::rem#4 ] main:2::sin16s_gen:5::div32u16u:164 [ div32u16u::quotient_hi#0 divr16u::rem#4 ] ) + // (word) divr16u::rem#4 = (word) rem16u#1 // register copy zp ZP_WORD:2 + //SEG283 [140] call divr16u param-assignment [ divr16u::return#0 div32u16u::quotient_hi#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ divr16u::return#0 div32u16u::quotient_hi#0 ] main:2::sin16s_gen:5::div32u16u:164 [ divr16u::return#0 div32u16u::quotient_hi#0 ] ) + //SEG284 [145] phi from div32u16u::@2 to divr16u [phi:div32u16u::@2->divr16u] divr16u_from_b2: - //SEG292 [149] phi (word) divr16u::divisor#6 = (word) divr16u::divisor#1 [phi:div32u16u::@2->divr16u#0] -- register_copy - //SEG293 [149] phi (word) divr16u::dividend#5 = (word) divr16u::dividend#2 [phi:div32u16u::@2->divr16u#1] -- register_copy - //SEG294 [149] phi (word) divr16u::rem#10 = (word) divr16u::rem#4 [phi:div32u16u::@2->divr16u#2] -- register_copy + //SEG285 [145] phi (word) divr16u::dividend#5 = <(const dword) PI2_u4f28#0 [phi:div32u16u::@2->divr16u#0] -- vwuz1=vwuc1 + lda #PI2_u4f28&$ffff + sta divr16u.dividend+1 + //SEG286 [145] phi (word) divr16u::rem#10 = (word) divr16u::rem#4 [phi:div32u16u::@2->divr16u#1] -- register_copy jsr divr16u - //SEG295 [145] (word) divr16u::return#3 ← (word) divr16u::return#0 [ div32u16u::quotient_hi#0 divr16u::return#3 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::quotient_hi#0 divr16u::return#3 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::quotient_hi#0 divr16u::return#3 ] ) - // (word) divr16u::return#3 = (word) divr16u::return#0 // register copy zp ZP_WORD:8 + //SEG287 [141] (word) divr16u::return#3 ← (word) divr16u::return#0 [ div32u16u::quotient_hi#0 divr16u::return#3 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::quotient_hi#0 divr16u::return#3 ] main:2::sin16s_gen:5::div32u16u:164 [ div32u16u::quotient_hi#0 divr16u::return#3 ] ) + // (word) divr16u::return#3 = (word) divr16u::return#0 // register copy zp ZP_WORD:6 jmp b3 - //SEG296 div32u16u::@3 + //SEG288 div32u16u::@3 b3: - //SEG297 [146] (word) div32u16u::quotient_lo#0 ← (word) divr16u::return#3 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ) - // (word) div32u16u::quotient_lo#0 = (word) divr16u::return#3 // register copy zp ZP_WORD:8 - //SEG298 [147] (dword) div32u16u::return#0 ← (word) div32u16u::quotient_hi#0 dw= (word) div32u16u::quotient_lo#0 [ div32u16u::return#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::return#0 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::return#0 ] ) -- vduz1=vwuz2_dword_vwuz3 + //SEG289 [142] (word) div32u16u::quotient_lo#0 ← (word) divr16u::return#3 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] main:2::sin16s_gen:5::div32u16u:164 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ) + // (word) div32u16u::quotient_lo#0 = (word) divr16u::return#3 // register copy zp ZP_WORD:6 + //SEG290 [143] (dword) div32u16u::return#0 ← (word) div32u16u::quotient_hi#0 dw= (word) div32u16u::quotient_lo#0 [ div32u16u::return#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::return#0 ] main:2::sin16s_gen:5::div32u16u:164 [ div32u16u::return#0 ] ) -- vduz1=vwuz2_dword_vwuz3 lda quotient_hi sta return+2 lda quotient_hi+1 @@ -9656,163 +9568,148 @@ div32u16u: { lda quotient_lo+1 sta return+1 jmp breturn - //SEG299 div32u16u::@return + //SEG291 div32u16u::@return breturn: - //SEG300 [148] return [ div32u16u::return#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::return#0 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::return#0 ] ) + //SEG292 [144] return [ div32u16u::return#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::return#0 ] main:2::sin16s_gen:5::div32u16u:164 [ div32u16u::return#0 ] ) rts } -//SEG301 divr16u +//SEG293 divr16u divr16u: { - .label rem = 4 - .label dividend = 6 - .label quotient = 8 - .label return = 8 - .label divisor = 2 - //SEG302 [150] phi from divr16u to divr16u::@1 [phi:divr16u->divr16u::@1] + .label rem = 2 + .label dividend = 4 + .label quotient = 6 + .label return = 6 + //SEG294 [146] phi from divr16u to divr16u::@1 [phi:divr16u->divr16u::@1] b1_from_divr16u: - //SEG303 [150] phi (byte) divr16u::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#0] -- vbuxx=vbuc1 + //SEG295 [146] phi (byte) divr16u::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#0] -- vbuxx=vbuc1 ldx #0 - //SEG304 [150] phi (word) divr16u::quotient#3 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#1] -- vwuz1=vbuc1 + //SEG296 [146] phi (word) divr16u::quotient#3 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#1] -- vwuz1=vbuc1 lda #<0 sta quotient lda #>0 sta quotient+1 - //SEG305 [150] phi (word) divr16u::dividend#3 = (word) divr16u::dividend#5 [phi:divr16u->divr16u::@1#2] -- register_copy - //SEG306 [150] phi (word) divr16u::rem#5 = (word) divr16u::rem#10 [phi:divr16u->divr16u::@1#3] -- register_copy + //SEG297 [146] phi (word) divr16u::dividend#3 = (word) divr16u::dividend#5 [phi:divr16u->divr16u::@1#2] -- register_copy + //SEG298 [146] phi (word) divr16u::rem#5 = (word) divr16u::rem#10 [phi:divr16u->divr16u::@1#3] -- register_copy jmp b1 - //SEG307 [150] phi from divr16u::@3 to divr16u::@1 [phi:divr16u::@3->divr16u::@1] + //SEG299 [146] phi from divr16u::@3 to divr16u::@1 [phi:divr16u::@3->divr16u::@1] b1_from_b3: - //SEG308 [150] phi (byte) divr16u::i#2 = (byte) divr16u::i#1 [phi:divr16u::@3->divr16u::@1#0] -- register_copy - //SEG309 [150] phi (word) divr16u::quotient#3 = (word) divr16u::return#0 [phi:divr16u::@3->divr16u::@1#1] -- register_copy - //SEG310 [150] phi (word) divr16u::dividend#3 = (word) divr16u::dividend#0 [phi:divr16u::@3->divr16u::@1#2] -- register_copy - //SEG311 [150] phi (word) divr16u::rem#5 = (word) divr16u::rem#11 [phi:divr16u::@3->divr16u::@1#3] -- register_copy + //SEG300 [146] phi (byte) divr16u::i#2 = (byte) divr16u::i#1 [phi:divr16u::@3->divr16u::@1#0] -- register_copy + //SEG301 [146] phi (word) divr16u::quotient#3 = (word) divr16u::return#0 [phi:divr16u::@3->divr16u::@1#1] -- register_copy + //SEG302 [146] phi (word) divr16u::dividend#3 = (word) divr16u::dividend#0 [phi:divr16u::@3->divr16u::@1#2] -- register_copy + //SEG303 [146] phi (word) divr16u::rem#5 = (word) divr16u::rem#11 [phi:divr16u::@3->divr16u::@1#3] -- register_copy jmp b1 - //SEG312 divr16u::@1 + //SEG304 divr16u::@1 b1: - //SEG313 [151] (word) divr16u::rem#0 ← (word) divr16u::rem#5 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) -- vwuz1=vwuz1_rol_1 + //SEG305 [147] (word) divr16u::rem#0 ← (word) divr16u::rem#5 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) -- vwuz1=vwuz1_rol_1 asl rem rol rem+1 - //SEG314 [152] (byte~) divr16u::$1 ← > (word) divr16u::dividend#3 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) -- vbuaa=_hi_vwuz1 + //SEG306 [148] (byte~) divr16u::$1 ← > (word) divr16u::dividend#3 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) -- vbuaa=_hi_vwuz1 lda dividend+1 - //SEG315 [153] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) -- vbuaa=vbuaa_band_vbuc1 + //SEG307 [149] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) -- vbuaa=vbuaa_band_vbuc1 and #$80 - //SEG316 [154] if((byte~) divr16u::$2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto divr16u::@2 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) -- vbuaa_eq_0_then_la1 + //SEG308 [150] if((byte~) divr16u::$2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto divr16u::@2 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) -- vbuaa_eq_0_then_la1 cmp #0 beq b2_from_b1 jmp b4 - //SEG317 divr16u::@4 + //SEG309 divr16u::@4 b4: - //SEG318 [155] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) -- vwuz1=vwuz1_bor_vbuc1 + //SEG310 [151] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) -- vwuz1=vwuz1_bor_vbuc1 lda #1 ora rem sta rem - //SEG319 [156] phi from divr16u::@1 divr16u::@4 to divr16u::@2 [phi:divr16u::@1/divr16u::@4->divr16u::@2] + //SEG311 [152] phi from divr16u::@1 divr16u::@4 to divr16u::@2 [phi:divr16u::@1/divr16u::@4->divr16u::@2] b2_from_b1: b2_from_b4: - //SEG320 [156] phi (word) divr16u::rem#6 = (word) divr16u::rem#0 [phi:divr16u::@1/divr16u::@4->divr16u::@2#0] -- register_copy + //SEG312 [152] phi (word) divr16u::rem#6 = (word) divr16u::rem#0 [phi:divr16u::@1/divr16u::@4->divr16u::@2#0] -- register_copy jmp b2 - //SEG321 divr16u::@2 + //SEG313 divr16u::@2 b2: - //SEG322 [157] (word) divr16u::dividend#0 ← (word) divr16u::dividend#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ) -- vwuz1=vwuz1_rol_1 + //SEG314 [153] (word) divr16u::dividend#0 ← (word) divr16u::dividend#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ) -- vwuz1=vwuz1_rol_1 asl dividend rol dividend+1 - //SEG323 [158] (word) divr16u::quotient#1 ← (word) divr16u::quotient#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) -- vwuz1=vwuz1_rol_1 + //SEG315 [154] (word) divr16u::quotient#1 ← (word) divr16u::quotient#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) -- vwuz1=vwuz1_rol_1 asl quotient rol quotient+1 - //SEG324 [159] if((word) divr16u::rem#6<(word) divr16u::divisor#6) goto divr16u::@3 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) -- vwuz1_lt_vwuz2_then_la1 + //SEG316 [155] if((word) divr16u::rem#6<(const word) main::wavelength#0) goto divr16u::@3 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) -- vwuz1_lt_vwuc1_then_la1 lda rem+1 - cmp divisor+1 + cmp #>main.wavelength bcc b3_from_b2 bne !+ lda rem - cmp divisor + cmp #main.wavelength sta rem+1 - //SEG328 [162] phi from divr16u::@2 divr16u::@5 to divr16u::@3 [phi:divr16u::@2/divr16u::@5->divr16u::@3] + //SEG320 [158] phi from divr16u::@2 divr16u::@5 to divr16u::@3 [phi:divr16u::@2/divr16u::@5->divr16u::@3] b3_from_b2: b3_from_b5: - //SEG329 [162] phi (word) divr16u::return#0 = (word) divr16u::quotient#1 [phi:divr16u::@2/divr16u::@5->divr16u::@3#0] -- register_copy - //SEG330 [162] phi (word) divr16u::rem#11 = (word) divr16u::rem#6 [phi:divr16u::@2/divr16u::@5->divr16u::@3#1] -- register_copy + //SEG321 [158] phi (word) divr16u::return#0 = (word) divr16u::quotient#1 [phi:divr16u::@2/divr16u::@5->divr16u::@3#0] -- register_copy + //SEG322 [158] phi (word) divr16u::rem#11 = (word) divr16u::rem#6 [phi:divr16u::@2/divr16u::@5->divr16u::@3#1] -- register_copy jmp b3 - //SEG331 divr16u::@3 + //SEG323 divr16u::@3 b3: - //SEG332 [163] (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2 [ divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ) -- vbuxx=_inc_vbuxx + //SEG324 [159] (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2 [ divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ) -- vbuxx=_inc_vbuxx inx - //SEG333 [164] if((byte) divr16u::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto divr16u::@1 [ divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ) -- vbuxx_neq_vbuc1_then_la1 + //SEG325 [160] if((byte) divr16u::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto divr16u::@1 [ divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ) -- vbuxx_neq_vbuc1_then_la1 cpx #$10 bne b1_from_b3 jmp b6 - //SEG334 divr16u::@6 + //SEG326 divr16u::@6 b6: - //SEG335 [165] (word) rem16u#1 ← (word) divr16u::rem#11 [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#0 rem16u#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] ) - // (word) rem16u#1 = (word) divr16u::rem#11 // register copy zp ZP_WORD:4 + //SEG327 [161] (word) rem16u#1 ← (word) divr16u::rem#11 [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::return#0 rem16u#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] ) + // (word) rem16u#1 = (word) divr16u::rem#11 // register copy zp ZP_WORD:2 jmp breturn - //SEG336 divr16u::@return + //SEG328 divr16u::@return breturn: - //SEG337 [166] return [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#0 rem16u#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] ) + //SEG329 [162] return [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::return#0 rem16u#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] ) rts } -//SEG338 sin16s_gen +//SEG330 sin16s_gen sin16s_gen: { .label _1 = 6 .label step = $1d .label sintab = 2 .label x = $d .label i = 4 - //SEG339 [168] call div32u16u param-assignment [ div32u16u::return#0 ] ( main:2::sin16s_gen:5 [ div32u16u::return#0 ] ) - //SEG340 [135] phi from sin16s_gen to div32u16u [phi:sin16s_gen->div32u16u] + //SEG331 [164] call div32u16u param-assignment [ div32u16u::return#0 ] ( main:2::sin16s_gen:5 [ div32u16u::return#0 ] ) + //SEG332 [135] phi from sin16s_gen to div32u16u [phi:sin16s_gen->div32u16u] div32u16u_from_sin16s_gen: - //SEG341 [135] phi (word) div32u16u::divisor#2 = (const word) main::wavelength#0 [phi:sin16s_gen->div32u16u#0] -- vwuz1=vwuc1 - lda #main.wavelength - sta div32u16u.divisor+1 - //SEG342 [135] phi (dword) div32u16u::dividend#2 = (const dword) PI2_u4f28#0 [phi:sin16s_gen->div32u16u#1] -- vduz1=vduc1 - lda #PI2_u4f28 - sta div32u16u.dividend+1 - lda #>$10 - sta div32u16u.dividend+2 - lda #>PI2_u4f28>>$10 - sta div32u16u.dividend+3 jsr div32u16u - //SEG343 [169] (dword) div32u16u::return#2 ← (dword) div32u16u::return#0 [ div32u16u::return#2 ] ( main:2::sin16s_gen:5 [ div32u16u::return#2 ] ) + //SEG333 [165] (dword) div32u16u::return#2 ← (dword) div32u16u::return#0 [ div32u16u::return#2 ] ( main:2::sin16s_gen:5 [ div32u16u::return#2 ] ) // (dword) div32u16u::return#2 = (dword) div32u16u::return#0 // register copy zp ZP_DWORD:29 jmp b3 - //SEG344 sin16s_gen::@3 + //SEG334 sin16s_gen::@3 b3: - //SEG345 [170] (dword) sin16s_gen::step#0 ← (dword) div32u16u::return#2 [ sin16s_gen::step#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 ] ) + //SEG335 [166] (dword) sin16s_gen::step#0 ← (dword) div32u16u::return#2 [ sin16s_gen::step#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 ] ) // (dword) sin16s_gen::step#0 = (dword) div32u16u::return#2 // register copy zp ZP_DWORD:29 - //SEG346 [171] phi from sin16s_gen::@3 to sin16s_gen::@1 [phi:sin16s_gen::@3->sin16s_gen::@1] + //SEG336 [167] phi from sin16s_gen::@3 to sin16s_gen::@1 [phi:sin16s_gen::@3->sin16s_gen::@1] b1_from_b3: - //SEG347 [171] phi (word) sin16s_gen::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s_gen::@3->sin16s_gen::@1#0] -- vwuz1=vbuc1 + //SEG337 [167] phi (word) sin16s_gen::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s_gen::@3->sin16s_gen::@1#0] -- vwuz1=vbuc1 lda #<0 sta i lda #>0 sta i+1 - //SEG348 [171] phi (signed word*) sin16s_gen::sintab#2 = (const signed word[120]) main::sintab1#0 [phi:sin16s_gen::@3->sin16s_gen::@1#1] -- pwsz1=pwsc1 + //SEG338 [167] phi (signed word*) sin16s_gen::sintab#2 = (const signed word[120]) main::sintab1#0 [phi:sin16s_gen::@3->sin16s_gen::@1#1] -- pwsz1=pwsc1 lda #main.sintab1 sta sintab+1 - //SEG349 [171] phi (dword) sin16s_gen::x#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s_gen::@3->sin16s_gen::@1#2] -- vduz1=vbuc1 + //SEG339 [167] phi (dword) sin16s_gen::x#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s_gen::@3->sin16s_gen::@1#2] -- vduz1=vbuc1 lda #0 sta x lda #0 @@ -9820,15 +9717,15 @@ sin16s_gen: { sta x+2 sta x+3 jmp b1 - //SEG350 [171] phi from sin16s_gen::@4 to sin16s_gen::@1 [phi:sin16s_gen::@4->sin16s_gen::@1] + //SEG340 [167] phi from sin16s_gen::@4 to sin16s_gen::@1 [phi:sin16s_gen::@4->sin16s_gen::@1] b1_from_b4: - //SEG351 [171] phi (word) sin16s_gen::i#2 = (word) sin16s_gen::i#1 [phi:sin16s_gen::@4->sin16s_gen::@1#0] -- register_copy - //SEG352 [171] phi (signed word*) sin16s_gen::sintab#2 = (signed word*) sin16s_gen::sintab#0 [phi:sin16s_gen::@4->sin16s_gen::@1#1] -- register_copy - //SEG353 [171] phi (dword) sin16s_gen::x#2 = (dword) sin16s_gen::x#1 [phi:sin16s_gen::@4->sin16s_gen::@1#2] -- register_copy + //SEG341 [167] phi (word) sin16s_gen::i#2 = (word) sin16s_gen::i#1 [phi:sin16s_gen::@4->sin16s_gen::@1#0] -- register_copy + //SEG342 [167] phi (signed word*) sin16s_gen::sintab#2 = (signed word*) sin16s_gen::sintab#0 [phi:sin16s_gen::@4->sin16s_gen::@1#1] -- register_copy + //SEG343 [167] phi (dword) sin16s_gen::x#2 = (dword) sin16s_gen::x#1 [phi:sin16s_gen::@4->sin16s_gen::@1#2] -- register_copy jmp b1 - //SEG354 sin16s_gen::@1 + //SEG344 sin16s_gen::@1 b1: - //SEG355 [172] (dword) sin16s::x#0 ← (dword) sin16s_gen::x#2 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#0 ] ) -- vduz1=vduz2 + //SEG345 [168] (dword) sin16s::x#0 ← (dword) sin16s_gen::x#2 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#0 ] ) -- vduz1=vduz2 lda x sta sin16s.x lda x+1 @@ -9837,23 +9734,23 @@ sin16s_gen: { sta sin16s.x+2 lda x+3 sta sin16s.x+3 - //SEG356 [173] call sin16s param-assignment [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#1 ] ) + //SEG346 [169] call sin16s param-assignment [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#1 ] ) jsr sin16s - //SEG357 [174] (signed word) sin16s::return#0 ← (signed word) sin16s::return#1 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#0 ] ) + //SEG347 [170] (signed word) sin16s::return#0 ← (signed word) sin16s::return#1 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#0 ] ) // (signed word) sin16s::return#0 = (signed word) sin16s::return#1 // register copy zp ZP_WORD:6 jmp b4 - //SEG358 sin16s_gen::@4 + //SEG348 sin16s_gen::@4 b4: - //SEG359 [175] (signed word~) sin16s_gen::$1 ← (signed word) sin16s::return#0 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s_gen::$1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s_gen::$1 ] ) + //SEG349 [171] (signed word~) sin16s_gen::$1 ← (signed word) sin16s::return#0 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s_gen::$1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s_gen::$1 ] ) // (signed word~) sin16s_gen::$1 = (signed word) sin16s::return#0 // register copy zp ZP_WORD:6 - //SEG360 [176] *((signed word*) sin16s_gen::sintab#2) ← (signed word~) sin16s_gen::$1 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ) -- _deref_pwsz1=vwsz2 + //SEG350 [172] *((signed word*) sin16s_gen::sintab#2) ← (signed word~) sin16s_gen::$1 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ) -- _deref_pwsz1=vwsz2 ldy #0 lda _1 sta (sintab),y iny lda _1+1 sta (sintab),y - //SEG361 [177] (signed word*) sin16s_gen::sintab#0 ← (signed word*) sin16s_gen::sintab#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::i#2 sin16s_gen::sintab#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::i#2 sin16s_gen::sintab#0 ] ) -- pwsz1=pwsz1_plus_2 + //SEG351 [173] (signed word*) sin16s_gen::sintab#0 ← (signed word*) sin16s_gen::sintab#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::i#2 sin16s_gen::sintab#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::i#2 sin16s_gen::sintab#0 ] ) -- pwsz1=pwsz1_plus_2 lda sintab clc adc #2 @@ -9861,7 +9758,7 @@ sin16s_gen: { bcc !+ inc sintab+1 !: - //SEG362 [178] (dword) sin16s_gen::x#1 ← (dword) sin16s_gen::x#2 + (dword) sin16s_gen::step#0 [ sin16s_gen::step#0 sin16s_gen::i#2 sin16s_gen::x#1 sin16s_gen::sintab#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::i#2 sin16s_gen::x#1 sin16s_gen::sintab#0 ] ) -- vduz1=vduz1_plus_vduz2 + //SEG352 [174] (dword) sin16s_gen::x#1 ← (dword) sin16s_gen::x#2 + (dword) sin16s_gen::step#0 [ sin16s_gen::step#0 sin16s_gen::i#2 sin16s_gen::x#1 sin16s_gen::sintab#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::i#2 sin16s_gen::x#1 sin16s_gen::sintab#0 ] ) -- vduz1=vduz1_plus_vduz2 lda x clc adc step @@ -9875,12 +9772,12 @@ sin16s_gen: { lda x+3 adc step+3 sta x+3 - //SEG363 [179] (word) sin16s_gen::i#1 ← ++ (word) sin16s_gen::i#2 [ sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ) -- vwuz1=_inc_vwuz1 + //SEG353 [175] (word) sin16s_gen::i#1 ← ++ (word) sin16s_gen::i#2 [ sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ) -- vwuz1=_inc_vwuz1 inc i bne !+ inc i+1 !: - //SEG364 [180] if((word) sin16s_gen::i#1<(const word) main::wavelength#0) goto sin16s_gen::@1 [ sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ) -- vwuz1_lt_vwuc1_then_la1 + //SEG354 [176] if((word) sin16s_gen::i#1<(const word) main::wavelength#0) goto sin16s_gen::@1 [ sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ) -- vwuz1_lt_vwuc1_then_la1 lda i+1 cmp #>main.wavelength bcc b1_from_b4 @@ -9890,12 +9787,12 @@ sin16s_gen: { bcc b1_from_b4 !: jmp breturn - //SEG365 sin16s_gen::@return + //SEG355 sin16s_gen::@return breturn: - //SEG366 [181] return [ ] ( main:2::sin16s_gen:5 [ ] ) + //SEG356 [177] return [ ] ( main:2::sin16s_gen:5 [ ] ) rts } -//SEG367 sin16s +//SEG357 sin16s sin16s: { .label _6 = $15 .label x = $15 @@ -9910,7 +9807,7 @@ sin16s: { .label x5_128 = $11 .label sinx = 6 .label isUpper = $a - //SEG368 [182] if((dword) sin16s::x#0<(const dword) PI_u4f28#0) goto sin16s::@1 [ sin16s::x#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#0 ] ) -- vduz1_lt_vduc1_then_la1 + //SEG358 [178] if((dword) sin16s::x#0<(const dword) PI_u4f28#0) goto sin16s::@1 [ sin16s::x#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#0 ] ) -- vduz1_lt_vduc1_then_la1 lda x+3 cmp #>PI_u4f28>>$10 bcc b1_from_sin16s @@ -9928,9 +9825,9 @@ sin16s: { bcc b1_from_sin16s !: jmp b4 - //SEG369 sin16s::@4 + //SEG359 sin16s::@4 b4: - //SEG370 [183] (dword) sin16s::x#1 ← (dword) sin16s::x#0 - (const dword) PI_u4f28#0 [ sin16s::x#1 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#1 ] ) -- vduz1=vduz1_minus_vduc1 + //SEG360 [179] (dword) sin16s::x#1 ← (dword) sin16s::x#0 - (const dword) PI_u4f28#0 [ sin16s::x#1 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#1 ] ) -- vduz1=vduz1_minus_vduc1 lda x sec sbc #PI_u4f28>>$10 sta x+3 - //SEG371 [184] phi from sin16s::@4 to sin16s::@1 [phi:sin16s::@4->sin16s::@1] + //SEG361 [180] phi from sin16s::@4 to sin16s::@1 [phi:sin16s::@4->sin16s::@1] b1_from_b4: - //SEG372 [184] phi (byte) sin16s::isUpper#2 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin16s::@4->sin16s::@1#0] -- vbuz1=vbuc1 + //SEG362 [180] phi (byte) sin16s::isUpper#2 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin16s::@4->sin16s::@1#0] -- vbuz1=vbuc1 lda #1 sta isUpper - //SEG373 [184] phi (dword) sin16s::x#4 = (dword) sin16s::x#1 [phi:sin16s::@4->sin16s::@1#1] -- register_copy + //SEG363 [180] phi (dword) sin16s::x#4 = (dword) sin16s::x#1 [phi:sin16s::@4->sin16s::@1#1] -- register_copy jmp b1 - //SEG374 [184] phi from sin16s to sin16s::@1 [phi:sin16s->sin16s::@1] + //SEG364 [180] phi from sin16s to sin16s::@1 [phi:sin16s->sin16s::@1] b1_from_sin16s: - //SEG375 [184] phi (byte) sin16s::isUpper#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s->sin16s::@1#0] -- vbuz1=vbuc1 + //SEG365 [180] phi (byte) sin16s::isUpper#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s->sin16s::@1#0] -- vbuz1=vbuc1 lda #0 sta isUpper - //SEG376 [184] phi (dword) sin16s::x#4 = (dword) sin16s::x#0 [phi:sin16s->sin16s::@1#1] -- register_copy + //SEG366 [180] phi (dword) sin16s::x#4 = (dword) sin16s::x#0 [phi:sin16s->sin16s::@1#1] -- register_copy jmp b1 - //SEG377 sin16s::@1 + //SEG367 sin16s::@1 b1: - //SEG378 [185] if((dword) sin16s::x#4<(const dword) PI_HALF_u4f28#0) goto sin16s::@2 [ sin16s::x#4 sin16s::isUpper#2 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#4 sin16s::isUpper#2 ] ) -- vduz1_lt_vduc1_then_la1 + //SEG368 [181] if((dword) sin16s::x#4<(const dword) PI_HALF_u4f28#0) goto sin16s::@2 [ sin16s::x#4 sin16s::isUpper#2 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#4 sin16s::isUpper#2 ] ) -- vduz1_lt_vduc1_then_la1 lda x+3 cmp #>PI_HALF_u4f28>>$10 bcc b2_from_b1 @@ -9978,9 +9875,9 @@ sin16s: { bcc b2_from_b1 !: jmp b5 - //SEG379 sin16s::@5 + //SEG369 sin16s::@5 b5: - //SEG380 [186] (dword) sin16s::x#2 ← (const dword) PI_u4f28#0 - (dword) sin16s::x#4 [ sin16s::isUpper#2 sin16s::x#2 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x#2 ] ) -- vduz1=vduc1_minus_vduz1 + //SEG370 [182] (dword) sin16s::x#2 ← (const dword) PI_u4f28#0 - (dword) sin16s::x#4 [ sin16s::isUpper#2 sin16s::x#2 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x#2 ] ) -- vduz1=vduc1_minus_vduz1 lda #PI_u4f28>>$10 sbc x+3 sta x+3 - //SEG381 [187] phi from sin16s::@1 sin16s::@5 to sin16s::@2 [phi:sin16s::@1/sin16s::@5->sin16s::@2] + //SEG371 [183] phi from sin16s::@1 sin16s::@5 to sin16s::@2 [phi:sin16s::@1/sin16s::@5->sin16s::@2] b2_from_b1: b2_from_b5: - //SEG382 [187] phi (dword) sin16s::x#6 = (dword) sin16s::x#4 [phi:sin16s::@1/sin16s::@5->sin16s::@2#0] -- register_copy + //SEG372 [183] phi (dword) sin16s::x#6 = (dword) sin16s::x#4 [phi:sin16s::@1/sin16s::@5->sin16s::@2#0] -- register_copy jmp b2 - //SEG383 sin16s::@2 + //SEG373 sin16s::@2 b2: - //SEG384 [188] (dword~) sin16s::$6 ← (dword) sin16s::x#6 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ sin16s::isUpper#2 sin16s::$6 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::$6 ] ) -- vduz1=vduz1_rol_3 + //SEG374 [184] (dword~) sin16s::$6 ← (dword) sin16s::x#6 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ sin16s::isUpper#2 sin16s::$6 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::$6 ] ) -- vduz1=vduz1_rol_3 ldy #3 !: asl _6 @@ -10010,86 +9907,86 @@ sin16s: { rol _6+3 dey bne !- - //SEG385 [189] (word) sin16s::x1#0 ← > (dword~) sin16s::$6 [ sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 ] ) -- vwuz1=_hi_vduz2 + //SEG375 [185] (word) sin16s::x1#0 ← > (dword~) sin16s::$6 [ sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 ] ) -- vwuz1=_hi_vduz2 lda _6+2 sta x1 lda _6+3 sta x1+1 - //SEG386 [190] (word) mulu16_sel::v1#0 ← (word) sin16s::x1#0 [ mulu16_sel::v1#0 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#0 sin16s::isUpper#2 sin16s::x1#0 ] ) -- vwuz1=vwuz2 + //SEG376 [186] (word) mulu16_sel::v1#0 ← (word) sin16s::x1#0 [ mulu16_sel::v1#0 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#0 sin16s::isUpper#2 sin16s::x1#0 ] ) -- vwuz1=vwuz2 lda x1 sta mulu16_sel.v1 lda x1+1 sta mulu16_sel.v1+1 - //SEG387 [191] (word) mulu16_sel::v2#0 ← (word) sin16s::x1#0 [ mulu16_sel::v1#0 mulu16_sel::v2#0 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#0 mulu16_sel::v2#0 sin16s::isUpper#2 sin16s::x1#0 ] ) -- vwuz1=vwuz2 + //SEG377 [187] (word) mulu16_sel::v2#0 ← (word) sin16s::x1#0 [ mulu16_sel::v1#0 mulu16_sel::v2#0 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#0 mulu16_sel::v2#0 sin16s::isUpper#2 sin16s::x1#0 ] ) -- vwuz1=vwuz2 lda x1 sta mulu16_sel.v2 lda x1+1 sta mulu16_sel.v2+1 - //SEG388 [192] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 ] ) - //SEG389 [116] phi from sin16s::@2 to mulu16_sel [phi:sin16s::@2->mulu16_sel] + //SEG378 [188] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 ] ) + //SEG379 [116] phi from sin16s::@2 to mulu16_sel [phi:sin16s::@2->mulu16_sel] mulu16_sel_from_b2: - //SEG390 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s::@2->mulu16_sel#0] -- vbuxx=vbuc1 + //SEG380 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s::@2->mulu16_sel#0] -- vbuxx=vbuc1 ldx #0 - //SEG391 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#0 [phi:sin16s::@2->mulu16_sel#1] -- register_copy - //SEG392 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#0 [phi:sin16s::@2->mulu16_sel#2] -- register_copy + //SEG381 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#0 [phi:sin16s::@2->mulu16_sel#1] -- register_copy + //SEG382 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#0 [phi:sin16s::@2->mulu16_sel#2] -- register_copy jsr mulu16_sel - //SEG393 [193] (word) mulu16_sel::return#0 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#0 ] ) -- vwuz1=vwuz2 + //SEG383 [189] (word) mulu16_sel::return#0 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#0 ] ) -- vwuz1=vwuz2 lda mulu16_sel.return_17 sta mulu16_sel.return lda mulu16_sel.return_17+1 sta mulu16_sel.return+1 jmp b8 - //SEG394 sin16s::@8 + //SEG384 sin16s::@8 b8: - //SEG395 [194] (word) sin16s::x2#0 ← (word) mulu16_sel::return#0 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x2#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x2#0 ] ) + //SEG385 [190] (word) sin16s::x2#0 ← (word) mulu16_sel::return#0 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x2#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x2#0 ] ) // (word) sin16s::x2#0 = (word) mulu16_sel::return#0 // register copy zp ZP_WORD:11 - //SEG396 [195] (word) mulu16_sel::v1#1 ← (word) sin16s::x2#0 [ mulu16_sel::v1#1 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#1 sin16s::isUpper#2 sin16s::x1#0 ] ) + //SEG386 [191] (word) mulu16_sel::v1#1 ← (word) sin16s::x2#0 [ mulu16_sel::v1#1 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#1 sin16s::isUpper#2 sin16s::x1#0 ] ) // (word) mulu16_sel::v1#1 = (word) sin16s::x2#0 // register copy zp ZP_WORD:11 - //SEG397 [196] (word) mulu16_sel::v2#1 ← (word) sin16s::x1#0 [ mulu16_sel::v1#1 mulu16_sel::v2#1 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#1 mulu16_sel::v2#1 sin16s::isUpper#2 sin16s::x1#0 ] ) -- vwuz1=vwuz2 + //SEG387 [192] (word) mulu16_sel::v2#1 ← (word) sin16s::x1#0 [ mulu16_sel::v1#1 mulu16_sel::v2#1 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#1 mulu16_sel::v2#1 sin16s::isUpper#2 sin16s::x1#0 ] ) -- vwuz1=vwuz2 lda x1 sta mulu16_sel.v2 lda x1+1 sta mulu16_sel.v2+1 - //SEG398 [197] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 ] ) - //SEG399 [116] phi from sin16s::@8 to mulu16_sel [phi:sin16s::@8->mulu16_sel] + //SEG388 [193] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 ] ) + //SEG389 [116] phi from sin16s::@8 to mulu16_sel [phi:sin16s::@8->mulu16_sel] mulu16_sel_from_b8: - //SEG400 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin16s::@8->mulu16_sel#0] -- vbuxx=vbuc1 + //SEG390 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin16s::@8->mulu16_sel#0] -- vbuxx=vbuc1 ldx #1 - //SEG401 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#1 [phi:sin16s::@8->mulu16_sel#1] -- register_copy - //SEG402 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#1 [phi:sin16s::@8->mulu16_sel#2] -- register_copy + //SEG391 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#1 [phi:sin16s::@8->mulu16_sel#1] -- register_copy + //SEG392 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#1 [phi:sin16s::@8->mulu16_sel#2] -- register_copy jsr mulu16_sel - //SEG403 [198] (word) mulu16_sel::return#1 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#1 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#1 ] ) -- vwuz1=vwuz2 + //SEG393 [194] (word) mulu16_sel::return#1 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#1 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#1 ] ) -- vwuz1=vwuz2 lda mulu16_sel.return_17 sta mulu16_sel.return lda mulu16_sel.return_17+1 sta mulu16_sel.return+1 jmp b9 - //SEG404 sin16s::@9 + //SEG394 sin16s::@9 b9: - //SEG405 [199] (word) sin16s::x3#0 ← (word) mulu16_sel::return#1 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ) + //SEG395 [195] (word) sin16s::x3#0 ← (word) mulu16_sel::return#1 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ) // (word) sin16s::x3#0 = (word) mulu16_sel::return#1 // register copy zp ZP_WORD:11 - //SEG406 [200] (word) mulu16_sel::v1#2 ← (word) sin16s::x3#0 [ mulu16_sel::v1#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ) + //SEG396 [196] (word) mulu16_sel::v1#2 ← (word) sin16s::x3#0 [ mulu16_sel::v1#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ) // (word) mulu16_sel::v1#2 = (word) sin16s::x3#0 // register copy zp ZP_WORD:11 - //SEG407 [201] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ) - //SEG408 [116] phi from sin16s::@9 to mulu16_sel [phi:sin16s::@9->mulu16_sel] + //SEG397 [197] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ) + //SEG398 [116] phi from sin16s::@9 to mulu16_sel [phi:sin16s::@9->mulu16_sel] mulu16_sel_from_b9: - //SEG409 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin16s::@9->mulu16_sel#0] -- vbuxx=vbuc1 + //SEG399 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin16s::@9->mulu16_sel#0] -- vbuxx=vbuc1 ldx #1 - //SEG410 [116] phi (word) mulu16_sel::v2#10 = (dword/signed dword) 65536/(byte/signed byte/word/signed word/dword/signed dword) 6 [phi:sin16s::@9->mulu16_sel#1] -- vwuz1=vwuc1 + //SEG400 [116] phi (word) mulu16_sel::v2#10 = (dword/signed dword) 65536/(byte/signed byte/word/signed word/dword/signed dword) 6 [phi:sin16s::@9->mulu16_sel#1] -- vwuz1=vwuc1 lda #<$10000/6 sta mulu16_sel.v2 lda #>$10000/6 sta mulu16_sel.v2+1 - //SEG411 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#2 [phi:sin16s::@9->mulu16_sel#2] -- register_copy + //SEG401 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#2 [phi:sin16s::@9->mulu16_sel#2] -- register_copy jsr mulu16_sel - //SEG412 [202] (word) mulu16_sel::return#14 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#14 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#14 ] ) + //SEG402 [198] (word) mulu16_sel::return#14 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#14 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#14 ] ) // (word) mulu16_sel::return#14 = (word) mulu16_sel::return#17 // register copy zp ZP_WORD:17 jmp b10 - //SEG413 sin16s::@10 + //SEG403 sin16s::@10 b10: - //SEG414 [203] (word) sin16s::x3_6#0 ← (word) mulu16_sel::return#14 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::x3_6#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::x3_6#0 ] ) + //SEG404 [199] (word) sin16s::x3_6#0 ← (word) mulu16_sel::return#14 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::x3_6#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::x3_6#0 ] ) // (word) sin16s::x3_6#0 = (word) mulu16_sel::return#14 // register copy zp ZP_WORD:17 - //SEG415 [204] (word) sin16s::usinx#0 ← (word) sin16s::x1#0 - (word) sin16s::x3_6#0 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::usinx#0 ] ) -- vwuz1=vwuz2_minus_vwuz3 + //SEG405 [200] (word) sin16s::usinx#0 ← (word) sin16s::x1#0 - (word) sin16s::x3_6#0 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::usinx#0 ] ) -- vwuz1=vwuz2_minus_vwuz3 lda x1 sec sbc x3_6 @@ -10097,61 +9994,61 @@ sin16s: { lda x1+1 sbc x3_6+1 sta usinx+1 - //SEG416 [205] (word) mulu16_sel::v1#3 ← (word) sin16s::x3#0 [ mulu16_sel::v1#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) + //SEG406 [201] (word) mulu16_sel::v1#3 ← (word) sin16s::x3#0 [ mulu16_sel::v1#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) // (word) mulu16_sel::v1#3 = (word) sin16s::x3#0 // register copy zp ZP_WORD:11 - //SEG417 [206] (word) mulu16_sel::v2#3 ← (word) sin16s::x1#0 [ mulu16_sel::v1#3 mulu16_sel::v2#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#3 mulu16_sel::v2#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) -- vwuz1=vwuz2 + //SEG407 [202] (word) mulu16_sel::v2#3 ← (word) sin16s::x1#0 [ mulu16_sel::v1#3 mulu16_sel::v2#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#3 mulu16_sel::v2#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) -- vwuz1=vwuz2 lda x1 sta mulu16_sel.v2 lda x1+1 sta mulu16_sel.v2+1 - //SEG418 [207] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) - //SEG419 [116] phi from sin16s::@10 to mulu16_sel [phi:sin16s::@10->mulu16_sel] + //SEG408 [203] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) + //SEG409 [116] phi from sin16s::@10 to mulu16_sel [phi:sin16s::@10->mulu16_sel] mulu16_sel_from_b10: - //SEG420 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s::@10->mulu16_sel#0] -- vbuxx=vbuc1 + //SEG410 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s::@10->mulu16_sel#0] -- vbuxx=vbuc1 ldx #0 - //SEG421 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#3 [phi:sin16s::@10->mulu16_sel#1] -- register_copy - //SEG422 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#3 [phi:sin16s::@10->mulu16_sel#2] -- register_copy + //SEG411 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#3 [phi:sin16s::@10->mulu16_sel#1] -- register_copy + //SEG412 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#3 [phi:sin16s::@10->mulu16_sel#2] -- register_copy jsr mulu16_sel - //SEG423 [208] (word) mulu16_sel::return#15 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#15 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#15 ] ) -- vwuz1=vwuz2 + //SEG413 [204] (word) mulu16_sel::return#15 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#15 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#15 ] ) -- vwuz1=vwuz2 lda mulu16_sel.return_17 sta mulu16_sel.return lda mulu16_sel.return_17+1 sta mulu16_sel.return+1 jmp b11 - //SEG424 sin16s::@11 + //SEG414 sin16s::@11 b11: - //SEG425 [209] (word) sin16s::x4#0 ← (word) mulu16_sel::return#15 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 sin16s::x4#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 sin16s::x4#0 ] ) + //SEG415 [205] (word) sin16s::x4#0 ← (word) mulu16_sel::return#15 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 sin16s::x4#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 sin16s::x4#0 ] ) // (word) sin16s::x4#0 = (word) mulu16_sel::return#15 // register copy zp ZP_WORD:11 - //SEG426 [210] (word) mulu16_sel::v1#4 ← (word) sin16s::x4#0 [ mulu16_sel::v1#4 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#4 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) + //SEG416 [206] (word) mulu16_sel::v1#4 ← (word) sin16s::x4#0 [ mulu16_sel::v1#4 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#4 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) // (word) mulu16_sel::v1#4 = (word) sin16s::x4#0 // register copy zp ZP_WORD:11 - //SEG427 [211] (word) mulu16_sel::v2#4 ← (word) sin16s::x1#0 [ mulu16_sel::v1#4 mulu16_sel::v2#4 sin16s::isUpper#2 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#4 mulu16_sel::v2#4 sin16s::isUpper#2 sin16s::usinx#0 ] ) -- vwuz1=vwuz2 + //SEG417 [207] (word) mulu16_sel::v2#4 ← (word) sin16s::x1#0 [ mulu16_sel::v1#4 mulu16_sel::v2#4 sin16s::isUpper#2 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#4 mulu16_sel::v2#4 sin16s::isUpper#2 sin16s::usinx#0 ] ) -- vwuz1=vwuz2 lda x1 sta mulu16_sel.v2 lda x1+1 sta mulu16_sel.v2+1 - //SEG428 [212] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::usinx#0 ] ) - //SEG429 [116] phi from sin16s::@11 to mulu16_sel [phi:sin16s::@11->mulu16_sel] + //SEG418 [208] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::usinx#0 ] ) + //SEG419 [116] phi from sin16s::@11 to mulu16_sel [phi:sin16s::@11->mulu16_sel] mulu16_sel_from_b11: - //SEG430 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s::@11->mulu16_sel#0] -- vbuxx=vbuc1 + //SEG420 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s::@11->mulu16_sel#0] -- vbuxx=vbuc1 ldx #0 - //SEG431 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#4 [phi:sin16s::@11->mulu16_sel#1] -- register_copy - //SEG432 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#4 [phi:sin16s::@11->mulu16_sel#2] -- register_copy + //SEG421 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#4 [phi:sin16s::@11->mulu16_sel#1] -- register_copy + //SEG422 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#4 [phi:sin16s::@11->mulu16_sel#2] -- register_copy jsr mulu16_sel - //SEG433 [213] (word) mulu16_sel::return#16 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#16 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#16 ] ) + //SEG423 [209] (word) mulu16_sel::return#16 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#16 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#16 ] ) // (word) mulu16_sel::return#16 = (word) mulu16_sel::return#17 // register copy zp ZP_WORD:17 jmp b12 - //SEG434 sin16s::@12 + //SEG424 sin16s::@12 b12: - //SEG435 [214] (word) sin16s::x5#0 ← (word) mulu16_sel::return#16 [ sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5#0 ] ) + //SEG425 [210] (word) sin16s::x5#0 ← (word) mulu16_sel::return#16 [ sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5#0 ] ) // (word) sin16s::x5#0 = (word) mulu16_sel::return#16 // register copy zp ZP_WORD:17 - //SEG436 [215] (word) sin16s::x5_128#0 ← (word) sin16s::x5#0 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5_128#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5_128#0 ] ) -- vwuz1=vwuz1_ror_4 + //SEG426 [211] (word) sin16s::x5_128#0 ← (word) sin16s::x5#0 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5_128#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5_128#0 ] ) -- vwuz1=vwuz1_ror_4 ldy #4 !: lsr x5_128+1 ror x5_128 dey bne !- - //SEG437 [216] (word) sin16s::usinx#1 ← (word) sin16s::usinx#0 + (word) sin16s::x5_128#0 [ sin16s::isUpper#2 sin16s::usinx#1 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#1 ] ) -- vwuz1=vwuz1_plus_vwuz2 + //SEG427 [212] (word) sin16s::usinx#1 ← (word) sin16s::usinx#0 + (word) sin16s::x5_128#0 [ sin16s::isUpper#2 sin16s::usinx#1 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#1 ] ) -- vwuz1=vwuz1_plus_vwuz2 lda usinx clc adc x5_128 @@ -10159,13 +10056,13 @@ sin16s: { lda usinx+1 adc x5_128+1 sta usinx+1 - //SEG438 [217] if((byte) sin16s::isUpper#2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto sin16s::@15 [ sin16s::usinx#1 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::usinx#1 ] ) -- vbuz1_eq_0_then_la1 + //SEG428 [213] if((byte) sin16s::isUpper#2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto sin16s::@15 [ sin16s::usinx#1 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::usinx#1 ] ) -- vbuz1_eq_0_then_la1 lda isUpper beq b15 jmp b6 - //SEG439 sin16s::@6 + //SEG429 sin16s::@6 b6: - //SEG440 [218] (signed word) sin16s::sinx#1 ← - (signed word)(word) sin16s::usinx#1 [ sin16s::sinx#1 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::sinx#1 ] ) -- vwsz1=_neg_vwsz1 + //SEG430 [214] (signed word) sin16s::sinx#1 ← - (signed word)(word) sin16s::usinx#1 [ sin16s::sinx#1 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::sinx#1 ] ) -- vwsz1=_neg_vwsz1 sec lda sinx eor #$ff @@ -10175,21 +10072,21 @@ sin16s: { eor #$ff adc #0 sta sinx+1 - //SEG441 [219] phi from sin16s::@15 sin16s::@6 to sin16s::@3 [phi:sin16s::@15/sin16s::@6->sin16s::@3] + //SEG431 [215] phi from sin16s::@15 sin16s::@6 to sin16s::@3 [phi:sin16s::@15/sin16s::@6->sin16s::@3] b3_from_b15: b3_from_b6: - //SEG442 [219] phi (signed word) sin16s::return#1 = (signed word~) sin16s::return#5 [phi:sin16s::@15/sin16s::@6->sin16s::@3#0] -- register_copy + //SEG432 [215] phi (signed word) sin16s::return#1 = (signed word~) sin16s::return#5 [phi:sin16s::@15/sin16s::@6->sin16s::@3#0] -- register_copy jmp b3 - //SEG443 sin16s::@3 + //SEG433 sin16s::@3 b3: jmp breturn - //SEG444 sin16s::@return + //SEG434 sin16s::@return breturn: - //SEG445 [220] return [ sin16s::return#1 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#1 ] ) + //SEG435 [216] return [ sin16s::return#1 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#1 ] ) rts - //SEG446 sin16s::@15 + //SEG436 sin16s::@15 b15: - //SEG447 [221] (signed word~) sin16s::return#5 ← (signed word)(word) sin16s::usinx#1 [ sin16s::return#5 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#5 ] ) + //SEG437 [217] (signed word~) sin16s::return#5 ← (signed word)(word) sin16s::usinx#1 [ sin16s::return#5 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#5 ] ) // (signed word~) sin16s::return#5 = (signed word)(word) sin16s::usinx#1 // register copy zp ZP_WORD:6 jmp b3_from_b15 } @@ -10464,14 +10361,12 @@ FINAL SYMBOL TABLE (label) div32u16u::@3 (label) div32u16u::@return (dword) div32u16u::dividend -(dword) div32u16u::dividend#2 dividend zp ZP_DWORD:13 0.6666666666666666 (word) div32u16u::divisor -(word) div32u16u::divisor#2 divisor zp ZP_WORD:2 0.5714285714285714 (dword) div32u16u::quotient (word) div32u16u::quotient_hi -(word) div32u16u::quotient_hi#0 quotient_hi zp ZP_WORD:11 0.5714285714285714 +(word) div32u16u::quotient_hi#0 quotient_hi zp ZP_WORD:8 0.8 (word) div32u16u::quotient_lo -(word) div32u16u::quotient_lo#0 quotient_lo zp ZP_WORD:8 4.0 +(word) div32u16u::quotient_lo#0 quotient_lo zp ZP_WORD:6 4.0 (dword) div32u16u::return (dword) div32u16u::return#0 return zp ZP_DWORD:29 1.5 (dword) div32u16u::return#2 return zp ZP_DWORD:29 4.0 @@ -10487,35 +10382,30 @@ FINAL SYMBOL TABLE (label) divr16u::@6 (label) divr16u::@return (word) divr16u::dividend -(word) divr16u::dividend#0 dividend zp ZP_WORD:6 2.75 -(word) divr16u::dividend#1 dividend zp ZP_WORD:6 2.0 -(word) divr16u::dividend#2 dividend zp ZP_WORD:6 1.3333333333333333 -(word) divr16u::dividend#3 dividend zp ZP_WORD:6 5.0 -(word) divr16u::dividend#5 dividend zp ZP_WORD:6 6.0 +(word) divr16u::dividend#0 dividend zp ZP_WORD:4 2.75 +(word) divr16u::dividend#3 dividend zp ZP_WORD:4 5.0 +(word) divr16u::dividend#5 dividend zp ZP_WORD:4 2.0 (word) divr16u::divisor -(word) divr16u::divisor#0 divisor zp ZP_WORD:2 4.0 -(word) divr16u::divisor#1 divisor zp ZP_WORD:2 2.0 -(word) divr16u::divisor#6 divisor zp ZP_WORD:2 1.625 (byte) divr16u::i (byte) divr16u::i#1 reg byte x 16.5 (byte) divr16u::i#2 reg byte x 1.6923076923076923 (word) divr16u::quotient -(word) divr16u::quotient#1 quotient zp ZP_WORD:8 16.5 -(word) divr16u::quotient#2 quotient zp ZP_WORD:8 11.0 -(word) divr16u::quotient#3 quotient zp ZP_WORD:8 2.75 +(word) divr16u::quotient#1 quotient zp ZP_WORD:6 16.5 +(word) divr16u::quotient#2 quotient zp ZP_WORD:6 11.0 +(word) divr16u::quotient#3 quotient zp ZP_WORD:6 2.75 (word) divr16u::rem -(word) divr16u::rem#0 rem zp ZP_WORD:4 8.25 -(word) divr16u::rem#1 rem zp ZP_WORD:4 22.0 -(word) divr16u::rem#10 rem zp ZP_WORD:4 4.0 -(word) divr16u::rem#11 rem zp ZP_WORD:4 11.666666666666666 -(word) divr16u::rem#2 rem zp ZP_WORD:4 22.0 -(word) divr16u::rem#4 rem zp ZP_WORD:4 4.0 -(word) divr16u::rem#5 rem zp ZP_WORD:4 24.0 -(word) divr16u::rem#6 rem zp ZP_WORD:4 11.0 +(word) divr16u::rem#0 rem zp ZP_WORD:2 8.25 +(word) divr16u::rem#1 rem zp ZP_WORD:2 22.0 +(word) divr16u::rem#10 rem zp ZP_WORD:2 4.0 +(word) divr16u::rem#11 rem zp ZP_WORD:2 11.666666666666666 +(word) divr16u::rem#2 rem zp ZP_WORD:2 22.0 +(word) divr16u::rem#4 rem zp ZP_WORD:2 4.0 +(word) divr16u::rem#5 rem zp ZP_WORD:2 24.0 +(word) divr16u::rem#6 rem zp ZP_WORD:2 11.0 (word) divr16u::return -(word) divr16u::return#0 return zp ZP_WORD:8 5.285714285714286 -(word) divr16u::return#2 return zp ZP_WORD:8 4.0 -(word) divr16u::return#3 return zp ZP_WORD:8 4.0 +(word) divr16u::return#0 return zp ZP_WORD:6 5.285714285714286 +(word) divr16u::return#2 return zp ZP_WORD:6 4.0 +(word) divr16u::return#3 return zp ZP_WORD:6 4.0 (void()) main() (label) main::@1 (label) main::@2 @@ -10666,7 +10556,7 @@ FINAL SYMBOL TABLE (label) print_word::@return (word) print_word::w (word) rem16u -(word) rem16u#1 rem16u zp ZP_WORD:4 0.5714285714285714 +(word) rem16u#1 rem16u zp ZP_WORD:2 0.8 (signed word()) sin16s((dword) sin16s::x) (dword~) sin16s::$6 $6 zp ZP_DWORD:21 4.0 (label) sin16s::@1 @@ -10795,15 +10685,15 @@ FINAL SYMBOL TABLE (word) sin16sb::x5_128 (word) sin16sb::x5_128#0 x5_128 zp ZP_WORD:17 4.0 -zp ZP_WORD:2 [ main::st1#2 main::st1#1 print_cls::sc#2 print_cls::sc#1 sin16s_genb::sintab#2 sin16s_genb::sintab#0 div32u16u::divisor#2 divr16u::divisor#6 divr16u::divisor#0 divr16u::divisor#1 sin16s_gen::sintab#2 sin16s_gen::sintab#0 ] -zp ZP_WORD:4 [ main::st2#2 main::st2#1 sin16s_genb::i#2 sin16s_genb::i#1 divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 rem16u#1 sin16s_gen::i#2 sin16s_gen::i#1 ] +zp ZP_WORD:2 [ main::st1#2 main::st1#1 print_cls::sc#2 print_cls::sc#1 sin16s_genb::sintab#2 sin16s_genb::sintab#0 divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 rem16u#1 sin16s_gen::sintab#2 sin16s_gen::sintab#0 ] +zp ZP_WORD:4 [ main::st2#2 main::st2#1 sin16s_genb::i#2 sin16s_genb::i#1 divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#0 sin16s_gen::i#2 sin16s_gen::i#1 ] reg byte x [ main::i#2 main::i#1 ] -zp ZP_WORD:6 [ print_str::str#3 print_str::str#5 print_str::str#0 sin16sb::x#6 sin16sb::x#4 sin16sb::x#0 sin16sb::x#1 sin16sb::x#2 sin16sb::x1#0 divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#1 divr16u::dividend#2 divr16u::dividend#0 sin16s::return#1 sin16s::return#5 sin16s::sinx#1 sin16s::usinx#1 sin16s::return#0 sin16s_gen::$1 sin16s::usinx#0 ] -zp ZP_WORD:8 [ print_sword::w#3 print_sword::w#1 print_sword::w#0 main::sw#0 sin16sb::return#1 sin16sb::return#5 sin16sb::sinx#1 sin16sb::usinx#1 sin16sb::return#0 sin16s_genb::$2 sin16sb::usinx#0 divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 divr16u::return#3 div32u16u::quotient_lo#0 sin16s::x1#0 ] +zp ZP_WORD:6 [ print_str::str#3 print_str::str#5 print_str::str#0 sin16sb::x#6 sin16sb::x#4 sin16sb::x#0 sin16sb::x#1 sin16sb::x#2 sin16sb::x1#0 divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 divr16u::return#3 div32u16u::quotient_lo#0 sin16s::return#1 sin16s::return#5 sin16s::sinx#1 sin16s::usinx#1 sin16s::return#0 sin16s_gen::$1 sin16s::usinx#0 ] +zp ZP_WORD:8 [ print_sword::w#3 print_sword::w#1 print_sword::w#0 main::sw#0 sin16sb::return#1 sin16sb::return#5 sin16sb::sinx#1 sin16sb::usinx#1 sin16sb::return#0 sin16s_genb::$2 sin16sb::usinx#0 div32u16u::quotient_hi#0 sin16s::x1#0 ] zp ZP_BYTE:10 [ print_byte::b#2 print_byte::b#0 print_byte::b#1 sin16sb::isUpper#2 sin16s::isUpper#2 ] reg byte a [ print_char::ch#3 print_char::ch#1 print_char::ch#2 ] -zp ZP_WORD:11 [ print_char_cursor#33 print_char_cursor#46 print_char_cursor#43 print_char_cursor#51 print_char_cursor#48 print_char_cursor#49 print_char_cursor#2 print_char_cursor#12 print_char_cursor#1 mulu16_sel::v1#10 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 mulu16_sel::v1#8 mulu16_sel::v1#9 mulu16_sel::v1#5 mulu16_sel::v1#6 mulu16_sel::v1#7 sin16sb::x3#0 sin16s::x3#0 sin16sb::x2#0 sin16sb::x4#0 sin16s::x2#0 sin16s::x4#0 mulu16_sel::return#19 mulu16_sel::return#10 mulu16_sel::return#0 mulu16_sel::return#1 mulu16_sel::return#15 div32u16u::quotient_hi#0 ] -zp ZP_DWORD:13 [ sin16s_genb::x#2 sin16s_genb::x#1 div32u16u::dividend#2 sin16s_gen::x#2 sin16s_gen::x#1 ] +zp ZP_WORD:11 [ print_char_cursor#33 print_char_cursor#46 print_char_cursor#43 print_char_cursor#51 print_char_cursor#48 print_char_cursor#49 print_char_cursor#2 print_char_cursor#12 print_char_cursor#1 mulu16_sel::v1#10 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 mulu16_sel::v1#8 mulu16_sel::v1#9 mulu16_sel::v1#5 mulu16_sel::v1#6 mulu16_sel::v1#7 sin16sb::x3#0 sin16s::x3#0 sin16sb::x2#0 sin16sb::x4#0 sin16s::x2#0 sin16s::x4#0 mulu16_sel::return#19 mulu16_sel::return#10 mulu16_sel::return#0 mulu16_sel::return#1 mulu16_sel::return#15 ] +zp ZP_DWORD:13 [ sin16s_genb::x#2 sin16s_genb::x#1 sin16s_gen::x#2 sin16s_gen::x#1 ] zp ZP_WORD:17 [ mulu16_sel::v2#10 mulu16_sel::v2#3 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 mulu16_sel::v2#8 mulu16_sel::v2#9 mulu16_sel::v2#5 mulu16_sel::v2#6 mul16u::b#0 mulu16_sel::return#18 mulu16_sel::return#17 mulu16_sel::return#20 sin16sb::x3_6#0 mulu16_sel::return#11 sin16sb::x5#0 mulu16_sel::return#14 sin16s::x3_6#0 mulu16_sel::return#16 sin16s::x5#0 sin16sb::x5_128#0 sin16s::x5_128#0 ] reg byte x [ mulu16_sel::select#10 ] zp ZP_WORD:19 [ mul16u::a#2 mul16u::a#1 mul16u::a#0 ] @@ -10819,7 +10709,7 @@ reg byte a [ divr16u::$2 ] FINAL ASSEMBLER -Score: 23231 +Score: 23127 //SEG0 Basic Upstart .pc = $801 "Basic" @@ -10832,7 +10722,7 @@ Score: 23231 .const PI_u4f12 = $3244 .const PI_HALF_u4f12 = $1922 .label print_line_cursor = $400 - .label rem16u = 4 + .label rem16u = 2 .label print_char_cursor = $b //SEG2 @begin //SEG3 [1] phi from @begin to @35 [phi:@begin->@35] @@ -10849,7 +10739,7 @@ main: { .label st1 = 2 .label st2 = 4 //SEG10 [5] call sin16s_gen param-assignment [ ] ( main:2 [ ] ) - //SEG11 [167] phi from main to sin16s_gen [phi:main->sin16s_gen] + //SEG11 [163] phi from main to sin16s_gen [phi:main->sin16s_gen] jsr sin16s_gen //SEG12 [6] phi from main to main::@5 [phi:main->main::@5] //SEG13 main::@5 @@ -11140,68 +11030,54 @@ sin16s_genb: { .label i = 4 //SEG133 [63] call div32u16u param-assignment [ div32u16u::return#0 ] ( main:2::sin16s_genb:7 [ div32u16u::return#0 ] ) //SEG134 [135] phi from sin16s_genb to div32u16u [phi:sin16s_genb->div32u16u] - //SEG135 [135] phi (word) div32u16u::divisor#2 = (const word) main::wavelength#0 [phi:sin16s_genb->div32u16u#0] -- vwuz1=vwuc1 - lda #main.wavelength - sta div32u16u.divisor+1 - //SEG136 [135] phi (dword) div32u16u::dividend#2 = (const dword) PI2_u4f28#0 [phi:sin16s_genb->div32u16u#1] -- vduz1=vduc1 - lda #PI2_u4f28 - sta div32u16u.dividend+1 - lda #>$10 - sta div32u16u.dividend+2 - lda #>PI2_u4f28>>$10 - sta div32u16u.dividend+3 jsr div32u16u - //SEG137 [64] (dword) div32u16u::return#3 ← (dword) div32u16u::return#0 [ div32u16u::return#3 ] ( main:2::sin16s_genb:7 [ div32u16u::return#3 ] ) + //SEG135 [64] (dword) div32u16u::return#3 ← (dword) div32u16u::return#0 [ div32u16u::return#3 ] ( main:2::sin16s_genb:7 [ div32u16u::return#3 ] ) // (dword) div32u16u::return#3 = (dword) div32u16u::return#0 // register copy zp ZP_DWORD:29 - //SEG138 sin16s_genb::@3 - //SEG139 [65] (dword) sin16s_genb::step#0 ← (dword) div32u16u::return#3 [ sin16s_genb::step#0 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 ] ) + //SEG136 sin16s_genb::@3 + //SEG137 [65] (dword) sin16s_genb::step#0 ← (dword) div32u16u::return#3 [ sin16s_genb::step#0 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 ] ) // (dword) sin16s_genb::step#0 = (dword) div32u16u::return#3 // register copy zp ZP_DWORD:29 - //SEG140 [66] phi from sin16s_genb::@3 to sin16s_genb::@1 [phi:sin16s_genb::@3->sin16s_genb::@1] - //SEG141 [66] phi (word) sin16s_genb::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s_genb::@3->sin16s_genb::@1#0] -- vwuz1=vbuc1 + //SEG138 [66] phi from sin16s_genb::@3 to sin16s_genb::@1 [phi:sin16s_genb::@3->sin16s_genb::@1] + //SEG139 [66] phi (word) sin16s_genb::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s_genb::@3->sin16s_genb::@1#0] -- vwuz1=vbuc1 lda #<0 sta i sta i+1 - //SEG142 [66] phi (signed word*) sin16s_genb::sintab#2 = (const signed word[120]) main::sintab2#0 [phi:sin16s_genb::@3->sin16s_genb::@1#1] -- pwsz1=pwsc1 + //SEG140 [66] phi (signed word*) sin16s_genb::sintab#2 = (const signed word[120]) main::sintab2#0 [phi:sin16s_genb::@3->sin16s_genb::@1#1] -- pwsz1=pwsc1 lda #main.sintab2 sta sintab+1 - //SEG143 [66] phi (dword) sin16s_genb::x#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s_genb::@3->sin16s_genb::@1#2] -- vduz1=vbuc1 + //SEG141 [66] phi (dword) sin16s_genb::x#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s_genb::@3->sin16s_genb::@1#2] -- vduz1=vbuc1 lda #0 sta x sta x+1 sta x+2 sta x+3 - //SEG144 [66] phi from sin16s_genb::@4 to sin16s_genb::@1 [phi:sin16s_genb::@4->sin16s_genb::@1] - //SEG145 [66] phi (word) sin16s_genb::i#2 = (word) sin16s_genb::i#1 [phi:sin16s_genb::@4->sin16s_genb::@1#0] -- register_copy - //SEG146 [66] phi (signed word*) sin16s_genb::sintab#2 = (signed word*) sin16s_genb::sintab#0 [phi:sin16s_genb::@4->sin16s_genb::@1#1] -- register_copy - //SEG147 [66] phi (dword) sin16s_genb::x#2 = (dword) sin16s_genb::x#1 [phi:sin16s_genb::@4->sin16s_genb::@1#2] -- register_copy - //SEG148 sin16s_genb::@1 + //SEG142 [66] phi from sin16s_genb::@4 to sin16s_genb::@1 [phi:sin16s_genb::@4->sin16s_genb::@1] + //SEG143 [66] phi (word) sin16s_genb::i#2 = (word) sin16s_genb::i#1 [phi:sin16s_genb::@4->sin16s_genb::@1#0] -- register_copy + //SEG144 [66] phi (signed word*) sin16s_genb::sintab#2 = (signed word*) sin16s_genb::sintab#0 [phi:sin16s_genb::@4->sin16s_genb::@1#1] -- register_copy + //SEG145 [66] phi (dword) sin16s_genb::x#2 = (dword) sin16s_genb::x#1 [phi:sin16s_genb::@4->sin16s_genb::@1#2] -- register_copy + //SEG146 sin16s_genb::@1 b1: - //SEG149 [67] (word) sin16sb::x#0 ← > (dword) sin16s_genb::x#2 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::x#0 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::x#0 ] ) -- vwuz1=_hi_vduz2 + //SEG147 [67] (word) sin16sb::x#0 ← > (dword) sin16s_genb::x#2 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::x#0 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::x#0 ] ) -- vwuz1=_hi_vduz2 lda x+2 sta sin16sb.x lda x+3 sta sin16sb.x+1 - //SEG150 [68] call sin16sb param-assignment [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#1 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#1 ] ) + //SEG148 [68] call sin16sb param-assignment [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#1 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#1 ] ) jsr sin16sb - //SEG151 [69] (signed word) sin16sb::return#0 ← (signed word) sin16sb::return#1 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#0 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#0 ] ) + //SEG149 [69] (signed word) sin16sb::return#0 ← (signed word) sin16sb::return#1 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#0 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#0 ] ) // (signed word) sin16sb::return#0 = (signed word) sin16sb::return#1 // register copy zp ZP_WORD:8 - //SEG152 sin16s_genb::@4 - //SEG153 [70] (signed word~) sin16s_genb::$2 ← (signed word) sin16sb::return#0 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16s_genb::$2 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16s_genb::$2 ] ) + //SEG150 sin16s_genb::@4 + //SEG151 [70] (signed word~) sin16s_genb::$2 ← (signed word) sin16sb::return#0 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16s_genb::$2 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16s_genb::$2 ] ) // (signed word~) sin16s_genb::$2 = (signed word) sin16sb::return#0 // register copy zp ZP_WORD:8 - //SEG154 [71] *((signed word*) sin16s_genb::sintab#2) ← (signed word~) sin16s_genb::$2 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 ] ) -- _deref_pwsz1=vwsz2 + //SEG152 [71] *((signed word*) sin16s_genb::sintab#2) ← (signed word~) sin16s_genb::$2 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 ] ) -- _deref_pwsz1=vwsz2 ldy #0 lda _2 sta (sintab),y iny lda _2+1 sta (sintab),y - //SEG155 [72] (signed word*) sin16s_genb::sintab#0 ← (signed word*) sin16s_genb::sintab#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::i#2 sin16s_genb::sintab#0 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::i#2 sin16s_genb::sintab#0 ] ) -- pwsz1=pwsz1_plus_2 + //SEG153 [72] (signed word*) sin16s_genb::sintab#0 ← (signed word*) sin16s_genb::sintab#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::i#2 sin16s_genb::sintab#0 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::i#2 sin16s_genb::sintab#0 ] ) -- pwsz1=pwsz1_plus_2 lda sintab clc adc #2 @@ -11209,7 +11085,7 @@ sin16s_genb: { bcc !+ inc sintab+1 !: - //SEG156 [73] (dword) sin16s_genb::x#1 ← (dword) sin16s_genb::x#2 + (dword) sin16s_genb::step#0 [ sin16s_genb::step#0 sin16s_genb::i#2 sin16s_genb::x#1 sin16s_genb::sintab#0 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::i#2 sin16s_genb::x#1 sin16s_genb::sintab#0 ] ) -- vduz1=vduz1_plus_vduz2 + //SEG154 [73] (dword) sin16s_genb::x#1 ← (dword) sin16s_genb::x#2 + (dword) sin16s_genb::step#0 [ sin16s_genb::step#0 sin16s_genb::i#2 sin16s_genb::x#1 sin16s_genb::sintab#0 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::i#2 sin16s_genb::x#1 sin16s_genb::sintab#0 ] ) -- vduz1=vduz1_plus_vduz2 lda x clc adc step @@ -11223,12 +11099,12 @@ sin16s_genb: { lda x+3 adc step+3 sta x+3 - //SEG157 [74] (word) sin16s_genb::i#1 ← ++ (word) sin16s_genb::i#2 [ sin16s_genb::step#0 sin16s_genb::x#1 sin16s_genb::sintab#0 sin16s_genb::i#1 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#1 sin16s_genb::sintab#0 sin16s_genb::i#1 ] ) -- vwuz1=_inc_vwuz1 + //SEG155 [74] (word) sin16s_genb::i#1 ← ++ (word) sin16s_genb::i#2 [ sin16s_genb::step#0 sin16s_genb::x#1 sin16s_genb::sintab#0 sin16s_genb::i#1 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#1 sin16s_genb::sintab#0 sin16s_genb::i#1 ] ) -- vwuz1=_inc_vwuz1 inc i bne !+ inc i+1 !: - //SEG158 [75] if((word) sin16s_genb::i#1<(const word) main::wavelength#0) goto sin16s_genb::@1 [ sin16s_genb::step#0 sin16s_genb::x#1 sin16s_genb::sintab#0 sin16s_genb::i#1 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#1 sin16s_genb::sintab#0 sin16s_genb::i#1 ] ) -- vwuz1_lt_vwuc1_then_la1 + //SEG156 [75] if((word) sin16s_genb::i#1<(const word) main::wavelength#0) goto sin16s_genb::@1 [ sin16s_genb::step#0 sin16s_genb::x#1 sin16s_genb::sintab#0 sin16s_genb::i#1 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#1 sin16s_genb::sintab#0 sin16s_genb::i#1 ] ) -- vwuz1_lt_vwuc1_then_la1 lda i+1 cmp #>main.wavelength bcc b1 @@ -11237,11 +11113,11 @@ sin16s_genb: { cmp #PI_u4f12 bcc b4 @@ -11264,8 +11140,8 @@ sin16sb: { cmp #PI_u4f12 sta x+1 - //SEG165 [79] phi from sin16sb::@4 to sin16sb::@1 [phi:sin16sb::@4->sin16sb::@1] - //SEG166 [79] phi (byte) sin16sb::isUpper#2 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin16sb::@4->sin16sb::@1#0] -- vbuz1=vbuc1 + //SEG163 [79] phi from sin16sb::@4 to sin16sb::@1 [phi:sin16sb::@4->sin16sb::@1] + //SEG164 [79] phi (byte) sin16sb::isUpper#2 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin16sb::@4->sin16sb::@1#0] -- vbuz1=vbuc1 lda #1 sta isUpper - //SEG167 [79] phi (word) sin16sb::x#4 = (word) sin16sb::x#1 [phi:sin16sb::@4->sin16sb::@1#1] -- register_copy + //SEG165 [79] phi (word) sin16sb::x#4 = (word) sin16sb::x#1 [phi:sin16sb::@4->sin16sb::@1#1] -- register_copy jmp b1 - //SEG168 [79] phi from sin16sb to sin16sb::@1 [phi:sin16sb->sin16sb::@1] + //SEG166 [79] phi from sin16sb to sin16sb::@1 [phi:sin16sb->sin16sb::@1] b4: - //SEG169 [79] phi (byte) sin16sb::isUpper#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16sb->sin16sb::@1#0] -- vbuz1=vbuc1 + //SEG167 [79] phi (byte) sin16sb::isUpper#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16sb->sin16sb::@1#0] -- vbuz1=vbuc1 lda #0 sta isUpper - //SEG170 [79] phi (word) sin16sb::x#4 = (word) sin16sb::x#0 [phi:sin16sb->sin16sb::@1#1] -- register_copy - //SEG171 sin16sb::@1 + //SEG168 [79] phi (word) sin16sb::x#4 = (word) sin16sb::x#0 [phi:sin16sb->sin16sb::@1#1] -- register_copy + //SEG169 sin16sb::@1 b1: - //SEG172 [80] if((word) sin16sb::x#4<(const word) PI_HALF_u4f12#0) goto sin16sb::@2 [ sin16sb::x#4 sin16sb::isUpper#2 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::x#4 sin16sb::isUpper#2 ] ) -- vwuz1_lt_vwuc1_then_la1 + //SEG170 [80] if((word) sin16sb::x#4<(const word) PI_HALF_u4f12#0) goto sin16sb::@2 [ sin16sb::x#4 sin16sb::isUpper#2 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::x#4 sin16sb::isUpper#2 ] ) -- vwuz1_lt_vwuc1_then_la1 lda x+1 cmp #>PI_HALF_u4f12 bcc b2 @@ -11296,8 +11172,8 @@ sin16sb: { cmp #PI_u4f12 sbc x+1 sta x+1 - //SEG175 [82] phi from sin16sb::@1 sin16sb::@5 to sin16sb::@2 [phi:sin16sb::@1/sin16sb::@5->sin16sb::@2] - //SEG176 [82] phi (word) sin16sb::x#6 = (word) sin16sb::x#4 [phi:sin16sb::@1/sin16sb::@5->sin16sb::@2#0] -- register_copy - //SEG177 sin16sb::@2 + //SEG173 [82] phi from sin16sb::@1 sin16sb::@5 to sin16sb::@2 [phi:sin16sb::@1/sin16sb::@5->sin16sb::@2] + //SEG174 [82] phi (word) sin16sb::x#6 = (word) sin16sb::x#4 [phi:sin16sb::@1/sin16sb::@5->sin16sb::@2#0] -- register_copy + //SEG175 sin16sb::@2 b2: - //SEG178 [83] (word) sin16sb::x1#0 ← (word) sin16sb::x#6 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ sin16sb::isUpper#2 sin16sb::x1#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 ] ) -- vwuz1=vwuz1_rol_3 + //SEG176 [83] (word) sin16sb::x1#0 ← (word) sin16sb::x#6 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ sin16sb::isUpper#2 sin16sb::x1#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 ] ) -- vwuz1=vwuz1_rol_3 asl x1 rol x1+1 asl x1 rol x1+1 asl x1 rol x1+1 - //SEG179 [84] (word) mulu16_sel::v1#5 ← (word) sin16sb::x1#0 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#5 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#5 ] ) -- vwuz1=vwuz2 + //SEG177 [84] (word) mulu16_sel::v1#5 ← (word) sin16sb::x1#0 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#5 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#5 ] ) -- vwuz1=vwuz2 lda x1 sta mulu16_sel.v1 lda x1+1 sta mulu16_sel.v1+1 - //SEG180 [85] (word) mulu16_sel::v2#5 ← (word) sin16sb::x1#0 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#5 mulu16_sel::v2#5 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#5 mulu16_sel::v2#5 ] ) -- vwuz1=vwuz2 + //SEG178 [85] (word) mulu16_sel::v2#5 ← (word) sin16sb::x1#0 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#5 mulu16_sel::v2#5 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#5 mulu16_sel::v2#5 ] ) -- vwuz1=vwuz2 lda x1 sta mulu16_sel.v2 lda x1+1 sta mulu16_sel.v2+1 - //SEG181 [86] call mulu16_sel param-assignment [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] ) - //SEG182 [116] phi from sin16sb::@2 to mulu16_sel [phi:sin16sb::@2->mulu16_sel] - //SEG183 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16sb::@2->mulu16_sel#0] -- vbuxx=vbuc1 + //SEG179 [86] call mulu16_sel param-assignment [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] ) + //SEG180 [116] phi from sin16sb::@2 to mulu16_sel [phi:sin16sb::@2->mulu16_sel] + //SEG181 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16sb::@2->mulu16_sel#0] -- vbuxx=vbuc1 ldx #0 - //SEG184 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#5 [phi:sin16sb::@2->mulu16_sel#1] -- register_copy - //SEG185 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#5 [phi:sin16sb::@2->mulu16_sel#2] -- register_copy + //SEG182 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#5 [phi:sin16sb::@2->mulu16_sel#1] -- register_copy + //SEG183 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#5 [phi:sin16sb::@2->mulu16_sel#2] -- register_copy jsr mulu16_sel - //SEG186 [87] (word) mulu16_sel::return#18 ← (word) mulu16_sel::return#17 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#18 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#18 ] ) + //SEG184 [87] (word) mulu16_sel::return#18 ← (word) mulu16_sel::return#17 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#18 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#18 ] ) // (word) mulu16_sel::return#18 = (word) mulu16_sel::return#17 // register copy zp ZP_WORD:17 - //SEG187 sin16sb::@8 - //SEG188 [88] (word) sin16sb::x2#0 ← (word) mulu16_sel::return#18 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x2#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x2#0 ] ) -- vwuz1=vwuz2 + //SEG185 sin16sb::@8 + //SEG186 [88] (word) sin16sb::x2#0 ← (word) mulu16_sel::return#18 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x2#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x2#0 ] ) -- vwuz1=vwuz2 lda mulu16_sel.return_18 sta x2 lda mulu16_sel.return_18+1 sta x2+1 - //SEG189 [89] (word) mulu16_sel::v1#6 ← (word) sin16sb::x2#0 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#6 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#6 ] ) + //SEG187 [89] (word) mulu16_sel::v1#6 ← (word) sin16sb::x2#0 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#6 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#6 ] ) // (word) mulu16_sel::v1#6 = (word) sin16sb::x2#0 // register copy zp ZP_WORD:11 - //SEG190 [90] (word) mulu16_sel::v2#6 ← (word) sin16sb::x1#0 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#6 mulu16_sel::v2#6 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#6 mulu16_sel::v2#6 ] ) -- vwuz1=vwuz2 + //SEG188 [90] (word) mulu16_sel::v2#6 ← (word) sin16sb::x1#0 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#6 mulu16_sel::v2#6 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#6 mulu16_sel::v2#6 ] ) -- vwuz1=vwuz2 lda x1 sta mulu16_sel.v2 lda x1+1 sta mulu16_sel.v2+1 - //SEG191 [91] call mulu16_sel param-assignment [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] ) - //SEG192 [116] phi from sin16sb::@8 to mulu16_sel [phi:sin16sb::@8->mulu16_sel] - //SEG193 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin16sb::@8->mulu16_sel#0] -- vbuxx=vbuc1 + //SEG189 [91] call mulu16_sel param-assignment [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] ) + //SEG190 [116] phi from sin16sb::@8 to mulu16_sel [phi:sin16sb::@8->mulu16_sel] + //SEG191 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin16sb::@8->mulu16_sel#0] -- vbuxx=vbuc1 ldx #1 - //SEG194 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#6 [phi:sin16sb::@8->mulu16_sel#1] -- register_copy - //SEG195 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#6 [phi:sin16sb::@8->mulu16_sel#2] -- register_copy + //SEG192 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#6 [phi:sin16sb::@8->mulu16_sel#1] -- register_copy + //SEG193 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#6 [phi:sin16sb::@8->mulu16_sel#2] -- register_copy jsr mulu16_sel - //SEG196 [92] (word) mulu16_sel::return#19 ← (word) mulu16_sel::return#17 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#19 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#19 ] ) -- vwuz1=vwuz2 + //SEG194 [92] (word) mulu16_sel::return#19 ← (word) mulu16_sel::return#17 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#19 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#19 ] ) -- vwuz1=vwuz2 lda mulu16_sel.return_17 sta mulu16_sel.return lda mulu16_sel.return_17+1 sta mulu16_sel.return+1 - //SEG197 sin16sb::@9 - //SEG198 [93] (word) sin16sb::x3#0 ← (word) mulu16_sel::return#19 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 ] ) + //SEG195 sin16sb::@9 + //SEG196 [93] (word) sin16sb::x3#0 ← (word) mulu16_sel::return#19 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 ] ) // (word) sin16sb::x3#0 = (word) mulu16_sel::return#19 // register copy zp ZP_WORD:11 - //SEG199 [94] (word) mulu16_sel::v1#7 ← (word) sin16sb::x3#0 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::v1#7 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::v1#7 ] ) + //SEG197 [94] (word) mulu16_sel::v1#7 ← (word) sin16sb::x3#0 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::v1#7 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::v1#7 ] ) // (word) mulu16_sel::v1#7 = (word) sin16sb::x3#0 // register copy zp ZP_WORD:11 - //SEG200 [95] call mulu16_sel param-assignment [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 sin16sb::x3#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 sin16sb::x3#0 ] ) - //SEG201 [116] phi from sin16sb::@9 to mulu16_sel [phi:sin16sb::@9->mulu16_sel] - //SEG202 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin16sb::@9->mulu16_sel#0] -- vbuxx=vbuc1 + //SEG198 [95] call mulu16_sel param-assignment [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 sin16sb::x3#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 sin16sb::x3#0 ] ) + //SEG199 [116] phi from sin16sb::@9 to mulu16_sel [phi:sin16sb::@9->mulu16_sel] + //SEG200 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin16sb::@9->mulu16_sel#0] -- vbuxx=vbuc1 ldx #1 - //SEG203 [116] phi (word) mulu16_sel::v2#10 = (dword/signed dword) 65536/(byte/signed byte/word/signed word/dword/signed dword) 6 [phi:sin16sb::@9->mulu16_sel#1] -- vwuz1=vwuc1 + //SEG201 [116] phi (word) mulu16_sel::v2#10 = (dword/signed dword) 65536/(byte/signed byte/word/signed word/dword/signed dword) 6 [phi:sin16sb::@9->mulu16_sel#1] -- vwuz1=vwuc1 lda #<$10000/6 sta mulu16_sel.v2 lda #>$10000/6 sta mulu16_sel.v2+1 - //SEG204 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#7 [phi:sin16sb::@9->mulu16_sel#2] -- register_copy + //SEG202 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#7 [phi:sin16sb::@9->mulu16_sel#2] -- register_copy jsr mulu16_sel - //SEG205 [96] (word) mulu16_sel::return#20 ← (word) mulu16_sel::return#17 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::return#20 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::return#20 ] ) + //SEG203 [96] (word) mulu16_sel::return#20 ← (word) mulu16_sel::return#17 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::return#20 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::return#20 ] ) // (word) mulu16_sel::return#20 = (word) mulu16_sel::return#17 // register copy zp ZP_WORD:17 - //SEG206 sin16sb::@10 - //SEG207 [97] (word) sin16sb::x3_6#0 ← (word) mulu16_sel::return#20 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 sin16sb::x3_6#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 sin16sb::x3_6#0 ] ) + //SEG204 sin16sb::@10 + //SEG205 [97] (word) sin16sb::x3_6#0 ← (word) mulu16_sel::return#20 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 sin16sb::x3_6#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 sin16sb::x3_6#0 ] ) // (word) sin16sb::x3_6#0 = (word) mulu16_sel::return#20 // register copy zp ZP_WORD:17 - //SEG208 [98] (word) sin16sb::usinx#0 ← (word) sin16sb::x1#0 - (word) sin16sb::x3_6#0 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 sin16sb::usinx#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 sin16sb::usinx#0 ] ) -- vwuz1=vwuz2_minus_vwuz3 + //SEG206 [98] (word) sin16sb::usinx#0 ← (word) sin16sb::x1#0 - (word) sin16sb::x3_6#0 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 sin16sb::usinx#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 sin16sb::usinx#0 ] ) -- vwuz1=vwuz2_minus_vwuz3 lda x1 sec sbc x3_6 @@ -11389,55 +11265,55 @@ sin16sb: { lda x1+1 sbc x3_6+1 sta usinx+1 - //SEG209 [99] (word) mulu16_sel::v1#8 ← (word) sin16sb::x3#0 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#8 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#8 ] ) + //SEG207 [99] (word) mulu16_sel::v1#8 ← (word) sin16sb::x3#0 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#8 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#8 ] ) // (word) mulu16_sel::v1#8 = (word) sin16sb::x3#0 // register copy zp ZP_WORD:11 - //SEG210 [100] (word) mulu16_sel::v2#8 ← (word) sin16sb::x1#0 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#8 mulu16_sel::v2#8 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#8 mulu16_sel::v2#8 ] ) -- vwuz1=vwuz2 + //SEG208 [100] (word) mulu16_sel::v2#8 ← (word) sin16sb::x1#0 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#8 mulu16_sel::v2#8 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#8 mulu16_sel::v2#8 ] ) -- vwuz1=vwuz2 lda x1 sta mulu16_sel.v2 lda x1+1 sta mulu16_sel.v2+1 - //SEG211 [101] call mulu16_sel param-assignment [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 sin16sb::usinx#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 sin16sb::usinx#0 ] ) - //SEG212 [116] phi from sin16sb::@10 to mulu16_sel [phi:sin16sb::@10->mulu16_sel] - //SEG213 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16sb::@10->mulu16_sel#0] -- vbuxx=vbuc1 + //SEG209 [101] call mulu16_sel param-assignment [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 sin16sb::usinx#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 sin16sb::usinx#0 ] ) + //SEG210 [116] phi from sin16sb::@10 to mulu16_sel [phi:sin16sb::@10->mulu16_sel] + //SEG211 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16sb::@10->mulu16_sel#0] -- vbuxx=vbuc1 ldx #0 - //SEG214 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#8 [phi:sin16sb::@10->mulu16_sel#1] -- register_copy - //SEG215 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#8 [phi:sin16sb::@10->mulu16_sel#2] -- register_copy + //SEG212 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#8 [phi:sin16sb::@10->mulu16_sel#1] -- register_copy + //SEG213 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#8 [phi:sin16sb::@10->mulu16_sel#2] -- register_copy jsr mulu16_sel - //SEG216 [102] (word) mulu16_sel::return#10 ← (word) mulu16_sel::return#17 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::return#10 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::return#10 ] ) -- vwuz1=vwuz2 + //SEG214 [102] (word) mulu16_sel::return#10 ← (word) mulu16_sel::return#17 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::return#10 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::return#10 ] ) -- vwuz1=vwuz2 lda mulu16_sel.return_17 sta mulu16_sel.return lda mulu16_sel.return_17+1 sta mulu16_sel.return+1 - //SEG217 sin16sb::@11 - //SEG218 [103] (word) sin16sb::x4#0 ← (word) mulu16_sel::return#10 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 sin16sb::x4#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 sin16sb::x4#0 ] ) + //SEG215 sin16sb::@11 + //SEG216 [103] (word) sin16sb::x4#0 ← (word) mulu16_sel::return#10 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 sin16sb::x4#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 sin16sb::x4#0 ] ) // (word) sin16sb::x4#0 = (word) mulu16_sel::return#10 // register copy zp ZP_WORD:11 - //SEG219 [104] (word) mulu16_sel::v1#9 ← (word) sin16sb::x4#0 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#9 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#9 ] ) + //SEG217 [104] (word) mulu16_sel::v1#9 ← (word) sin16sb::x4#0 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#9 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#9 ] ) // (word) mulu16_sel::v1#9 = (word) sin16sb::x4#0 // register copy zp ZP_WORD:11 - //SEG220 [105] (word) mulu16_sel::v2#9 ← (word) sin16sb::x1#0 [ sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::v1#9 mulu16_sel::v2#9 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::v1#9 mulu16_sel::v2#9 ] ) -- vwuz1=vwuz2 + //SEG218 [105] (word) mulu16_sel::v2#9 ← (word) sin16sb::x1#0 [ sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::v1#9 mulu16_sel::v2#9 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::v1#9 mulu16_sel::v2#9 ] ) -- vwuz1=vwuz2 lda x1 sta mulu16_sel.v2 lda x1+1 sta mulu16_sel.v2+1 - //SEG221 [106] call mulu16_sel param-assignment [ sin16sb::isUpper#2 mulu16_sel::return#17 sin16sb::usinx#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 mulu16_sel::return#17 sin16sb::usinx#0 ] ) - //SEG222 [116] phi from sin16sb::@11 to mulu16_sel [phi:sin16sb::@11->mulu16_sel] - //SEG223 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16sb::@11->mulu16_sel#0] -- vbuxx=vbuc1 + //SEG219 [106] call mulu16_sel param-assignment [ sin16sb::isUpper#2 mulu16_sel::return#17 sin16sb::usinx#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 mulu16_sel::return#17 sin16sb::usinx#0 ] ) + //SEG220 [116] phi from sin16sb::@11 to mulu16_sel [phi:sin16sb::@11->mulu16_sel] + //SEG221 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16sb::@11->mulu16_sel#0] -- vbuxx=vbuc1 ldx #0 - //SEG224 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#9 [phi:sin16sb::@11->mulu16_sel#1] -- register_copy - //SEG225 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#9 [phi:sin16sb::@11->mulu16_sel#2] -- register_copy + //SEG222 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#9 [phi:sin16sb::@11->mulu16_sel#1] -- register_copy + //SEG223 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#9 [phi:sin16sb::@11->mulu16_sel#2] -- register_copy jsr mulu16_sel - //SEG226 [107] (word) mulu16_sel::return#11 ← (word) mulu16_sel::return#17 [ sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::return#11 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::return#11 ] ) + //SEG224 [107] (word) mulu16_sel::return#11 ← (word) mulu16_sel::return#17 [ sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::return#11 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::return#11 ] ) // (word) mulu16_sel::return#11 = (word) mulu16_sel::return#17 // register copy zp ZP_WORD:17 - //SEG227 sin16sb::@12 - //SEG228 [108] (word) sin16sb::x5#0 ← (word) mulu16_sel::return#11 [ sin16sb::isUpper#2 sin16sb::usinx#0 sin16sb::x5#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 sin16sb::x5#0 ] ) + //SEG225 sin16sb::@12 + //SEG226 [108] (word) sin16sb::x5#0 ← (word) mulu16_sel::return#11 [ sin16sb::isUpper#2 sin16sb::usinx#0 sin16sb::x5#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 sin16sb::x5#0 ] ) // (word) sin16sb::x5#0 = (word) mulu16_sel::return#11 // register copy zp ZP_WORD:17 - //SEG229 [109] (word) sin16sb::x5_128#0 ← (word) sin16sb::x5#0 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ sin16sb::isUpper#2 sin16sb::usinx#0 sin16sb::x5_128#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 sin16sb::x5_128#0 ] ) -- vwuz1=vwuz1_ror_4 + //SEG227 [109] (word) sin16sb::x5_128#0 ← (word) sin16sb::x5#0 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ sin16sb::isUpper#2 sin16sb::usinx#0 sin16sb::x5_128#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 sin16sb::x5_128#0 ] ) -- vwuz1=vwuz1_ror_4 ldy #4 !: lsr x5_128+1 ror x5_128 dey bne !- - //SEG230 [110] (word) sin16sb::usinx#1 ← (word) sin16sb::usinx#0 + (word) sin16sb::x5_128#0 [ sin16sb::isUpper#2 sin16sb::usinx#1 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#1 ] ) -- vwuz1=vwuz1_plus_vwuz2 + //SEG228 [110] (word) sin16sb::usinx#1 ← (word) sin16sb::usinx#0 + (word) sin16sb::x5_128#0 [ sin16sb::isUpper#2 sin16sb::usinx#1 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#1 ] ) -- vwuz1=vwuz1_plus_vwuz2 lda usinx clc adc x5_128 @@ -11445,11 +11321,11 @@ sin16sb: { lda usinx+1 adc x5_128+1 sta usinx+1 - //SEG231 [111] if((byte) sin16sb::isUpper#2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto sin16sb::@15 [ sin16sb::usinx#1 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::usinx#1 ] ) -- vbuz1_eq_0_then_la1 + //SEG229 [111] if((byte) sin16sb::isUpper#2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto sin16sb::@15 [ sin16sb::usinx#1 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::usinx#1 ] ) -- vbuz1_eq_0_then_la1 lda isUpper beq b3 - //SEG232 sin16sb::@6 - //SEG233 [112] (signed word) sin16sb::sinx#1 ← - (signed word)(word) sin16sb::usinx#1 [ sin16sb::sinx#1 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::sinx#1 ] ) -- vwsz1=_neg_vwsz1 + //SEG230 sin16sb::@6 + //SEG231 [112] (signed word) sin16sb::sinx#1 ← - (signed word)(word) sin16sb::usinx#1 [ sin16sb::sinx#1 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::sinx#1 ] ) -- vwsz1=_neg_vwsz1 sec lda sinx eor #$ff @@ -11459,18 +11335,18 @@ sin16sb: { eor #$ff adc #0 sta sinx+1 - //SEG234 [113] phi from sin16sb::@15 sin16sb::@6 to sin16sb::@3 [phi:sin16sb::@15/sin16sb::@6->sin16sb::@3] - //SEG235 [113] phi (signed word) sin16sb::return#1 = (signed word~) sin16sb::return#5 [phi:sin16sb::@15/sin16sb::@6->sin16sb::@3#0] -- register_copy - //SEG236 sin16sb::@3 + //SEG232 [113] phi from sin16sb::@15 sin16sb::@6 to sin16sb::@3 [phi:sin16sb::@15/sin16sb::@6->sin16sb::@3] + //SEG233 [113] phi (signed word) sin16sb::return#1 = (signed word~) sin16sb::return#5 [phi:sin16sb::@15/sin16sb::@6->sin16sb::@3#0] -- register_copy + //SEG234 sin16sb::@3 b3: - //SEG237 sin16sb::@return - //SEG238 [114] return [ sin16sb::return#1 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#1 ] ) + //SEG235 sin16sb::@return + //SEG236 [114] return [ sin16sb::return#1 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#1 ] ) rts - //SEG239 sin16sb::@15 - //SEG240 [115] (signed word~) sin16sb::return#5 ← (signed word)(word) sin16sb::usinx#1 [ sin16sb::return#5 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#5 ] ) + //SEG237 sin16sb::@15 + //SEG238 [115] (signed word~) sin16sb::return#5 ← (signed word)(word) sin16sb::usinx#1 [ sin16sb::return#5 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#5 ] ) // (signed word~) sin16sb::return#5 = (signed word)(word) sin16sb::usinx#1 // register copy zp ZP_WORD:8 } -//SEG241 mulu16_sel +//SEG239 mulu16_sel mulu16_sel: { .label _0 = $15 .label _1 = $15 @@ -11483,21 +11359,21 @@ mulu16_sel: { .label return_17 = $11 .label return_18 = $11 .label return_20 = $11 - //SEG242 [117] (word) mul16u::a#1 ← (word) mulu16_sel::v1#10 [ mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] ) -- vwuz1=vwuz2 + //SEG240 [117] (word) mul16u::a#1 ← (word) mulu16_sel::v1#10 [ mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] ) -- vwuz1=vwuz2 lda v1 sta mul16u.a lda v1+1 sta mul16u.a+1 - //SEG243 [118] (word) mul16u::b#0 ← (word) mulu16_sel::v2#10 [ mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] ) + //SEG241 [118] (word) mul16u::b#0 ← (word) mulu16_sel::v2#10 [ mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] ) // (word) mul16u::b#0 = (word) mulu16_sel::v2#10 // register copy zp ZP_WORD:17 - //SEG244 [119] call mul16u param-assignment [ mulu16_sel::select#10 mul16u::res#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] ) + //SEG242 [119] call mul16u param-assignment [ mulu16_sel::select#10 mul16u::res#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] ) jsr mul16u - //SEG245 [120] (dword) mul16u::return#2 ← (dword) mul16u::res#2 [ mulu16_sel::select#10 mul16u::return#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] ) + //SEG243 [120] (dword) mul16u::return#2 ← (dword) mul16u::res#2 [ mulu16_sel::select#10 mul16u::return#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] ) // (dword) mul16u::return#2 = (dword) mul16u::res#2 // register copy zp ZP_DWORD:21 - //SEG246 mulu16_sel::@2 - //SEG247 [121] (dword~) mulu16_sel::$0 ← (dword) mul16u::return#2 [ mulu16_sel::select#10 mulu16_sel::$0 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] ) + //SEG244 mulu16_sel::@2 + //SEG245 [121] (dword~) mulu16_sel::$0 ← (dword) mul16u::return#2 [ mulu16_sel::select#10 mulu16_sel::$0 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] ) // (dword~) mulu16_sel::$0 = (dword) mul16u::return#2 // register copy zp ZP_DWORD:21 - //SEG248 [122] (dword~) mulu16_sel::$1 ← (dword~) mulu16_sel::$0 << (byte) mulu16_sel::select#10 [ mulu16_sel::$1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::$1 ] ) -- vduz1=vduz1_rol_vbuxx + //SEG246 [122] (dword~) mulu16_sel::$1 ← (dword~) mulu16_sel::$0 << (byte) mulu16_sel::select#10 [ mulu16_sel::$1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::$1 ] ) -- vduz1=vduz1_rol_vbuxx cpx #0 beq !e+ !: @@ -11508,23 +11384,23 @@ mulu16_sel: { dex bne !- !e: - //SEG249 [123] (word) mulu16_sel::return#17 ← > (dword~) mulu16_sel::$1 [ mulu16_sel::return#17 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#17 ] ) -- vwuz1=_hi_vduz2 + //SEG247 [123] (word) mulu16_sel::return#17 ← > (dword~) mulu16_sel::$1 [ mulu16_sel::return#17 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#17 ] ) -- vwuz1=_hi_vduz2 lda _1+2 sta return_17 lda _1+3 sta return_17+1 - //SEG250 mulu16_sel::@return - //SEG251 [124] return [ mulu16_sel::return#17 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#17 ] ) + //SEG248 mulu16_sel::@return + //SEG249 [124] return [ mulu16_sel::return#17 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#17 ] ) rts } -//SEG252 mul16u +//SEG250 mul16u mul16u: { .label mb = $19 .label a = $13 .label res = $15 .label b = $11 .label return = $15 - //SEG253 [125] (dword) mul16u::mb#0 ← ((dword)) (word) mul16u::b#0 [ mul16u::a#1 mul16u::mb#0 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] ) -- vduz1=_dword_vwuz2 + //SEG251 [125] (dword) mul16u::mb#0 ← ((dword)) (word) mul16u::b#0 [ mul16u::a#1 mul16u::mb#0 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] ) -- vduz1=_dword_vwuz2 lda b sta mb lda b+1 @@ -11532,34 +11408,34 @@ mul16u: { lda #0 sta mb+2 sta mb+3 - //SEG254 [126] phi from mul16u to mul16u::@1 [phi:mul16u->mul16u::@1] - //SEG255 [126] phi (dword) mul16u::mb#2 = (dword) mul16u::mb#0 [phi:mul16u->mul16u::@1#0] -- register_copy - //SEG256 [126] phi (dword) mul16u::res#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mul16u->mul16u::@1#1] -- vduz1=vbuc1 + //SEG252 [126] phi from mul16u to mul16u::@1 [phi:mul16u->mul16u::@1] + //SEG253 [126] phi (dword) mul16u::mb#2 = (dword) mul16u::mb#0 [phi:mul16u->mul16u::@1#0] -- register_copy + //SEG254 [126] phi (dword) mul16u::res#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mul16u->mul16u::@1#1] -- vduz1=vbuc1 sta res sta res+1 sta res+2 sta res+3 - //SEG257 [126] phi (word) mul16u::a#2 = (word) mul16u::a#1 [phi:mul16u->mul16u::@1#2] -- register_copy - //SEG258 mul16u::@1 + //SEG255 [126] phi (word) mul16u::a#2 = (word) mul16u::a#1 [phi:mul16u->mul16u::@1#2] -- register_copy + //SEG256 mul16u::@1 b1: - //SEG259 [127] if((word) mul16u::a#2!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul16u::@2 [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ) -- vwuz1_neq_0_then_la1 + //SEG257 [127] if((word) mul16u::a#2!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul16u::@2 [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ) -- vwuz1_neq_0_then_la1 lda a bne b2 lda a+1 bne b2 - //SEG260 mul16u::@return - //SEG261 [128] return [ mul16u::res#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] ) + //SEG258 mul16u::@return + //SEG259 [128] return [ mul16u::res#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] ) rts - //SEG262 mul16u::@2 + //SEG260 mul16u::@2 b2: - //SEG263 [129] (byte/word~) mul16u::$1 ← (word) mul16u::a#2 & (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] ) -- vbuaa=vwuz1_band_vbuc1 + //SEG261 [129] (byte/word~) mul16u::$1 ← (word) mul16u::a#2 & (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] ) -- vbuaa=vwuz1_band_vbuc1 lda a and #1 - //SEG264 [130] if((byte/word~) mul16u::$1==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul16u::@4 [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ) -- vbuaa_eq_0_then_la1 + //SEG262 [130] if((byte/word~) mul16u::$1==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul16u::@4 [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ) -- vbuaa_eq_0_then_la1 cmp #0 beq b4 - //SEG265 mul16u::@7 - //SEG266 [131] (dword) mul16u::res#1 ← (dword) mul16u::res#2 + (dword) mul16u::mb#2 [ mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] ) -- vduz1=vduz1_plus_vduz2 + //SEG263 mul16u::@7 + //SEG264 [131] (dword) mul16u::res#1 ← (dword) mul16u::res#2 + (dword) mul16u::mb#2 [ mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] ) -- vduz1=vduz1_plus_vduz2 lda res clc adc mb @@ -11573,77 +11449,67 @@ mul16u: { lda res+3 adc mb+3 sta res+3 - //SEG267 [132] phi from mul16u::@2 mul16u::@7 to mul16u::@4 [phi:mul16u::@2/mul16u::@7->mul16u::@4] - //SEG268 [132] phi (dword) mul16u::res#6 = (dword) mul16u::res#2 [phi:mul16u::@2/mul16u::@7->mul16u::@4#0] -- register_copy - //SEG269 mul16u::@4 + //SEG265 [132] phi from mul16u::@2 mul16u::@7 to mul16u::@4 [phi:mul16u::@2/mul16u::@7->mul16u::@4] + //SEG266 [132] phi (dword) mul16u::res#6 = (dword) mul16u::res#2 [phi:mul16u::@2/mul16u::@7->mul16u::@4#0] -- register_copy + //SEG267 mul16u::@4 b4: - //SEG270 [133] (word) mul16u::a#0 ← (word) mul16u::a#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] ) -- vwuz1=vwuz1_ror_1 + //SEG268 [133] (word) mul16u::a#0 ← (word) mul16u::a#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] ) -- vwuz1=vwuz1_ror_1 clc ror a+1 ror a - //SEG271 [134] (dword) mul16u::mb#1 ← (dword) mul16u::mb#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:192::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:201::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:207::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:173::mulu16_sel:212::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] ) -- vduz1=vduz1_rol_1 + //SEG269 [134] (dword) mul16u::mb#1 ← (dword) mul16u::mb#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:188::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:193::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:197::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:203::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:169::mulu16_sel:208::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] ) -- vduz1=vduz1_rol_1 asl mb rol mb+1 rol mb+2 rol mb+3 - //SEG272 [126] phi from mul16u::@4 to mul16u::@1 [phi:mul16u::@4->mul16u::@1] - //SEG273 [126] phi (dword) mul16u::mb#2 = (dword) mul16u::mb#1 [phi:mul16u::@4->mul16u::@1#0] -- register_copy - //SEG274 [126] phi (dword) mul16u::res#2 = (dword) mul16u::res#6 [phi:mul16u::@4->mul16u::@1#1] -- register_copy - //SEG275 [126] phi (word) mul16u::a#2 = (word) mul16u::a#0 [phi:mul16u::@4->mul16u::@1#2] -- register_copy + //SEG270 [126] phi from mul16u::@4 to mul16u::@1 [phi:mul16u::@4->mul16u::@1] + //SEG271 [126] phi (dword) mul16u::mb#2 = (dword) mul16u::mb#1 [phi:mul16u::@4->mul16u::@1#0] -- register_copy + //SEG272 [126] phi (dword) mul16u::res#2 = (dword) mul16u::res#6 [phi:mul16u::@4->mul16u::@1#1] -- register_copy + //SEG273 [126] phi (word) mul16u::a#2 = (word) mul16u::a#0 [phi:mul16u::@4->mul16u::@1#2] -- register_copy jmp b1 } -//SEG276 div32u16u +//SEG274 div32u16u div32u16u: { - .label quotient_hi = $b - .label quotient_lo = 8 + .label quotient_hi = 8 + .label quotient_lo = 6 .label return = $1d - .label dividend = $d - .label divisor = 2 - //SEG277 [136] (word) divr16u::dividend#1 ← > (dword) div32u16u::dividend#2 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 ] ) -- vwuz1=_hi_vduz2 - lda dividend+2 + //SEG275 [136] call divr16u param-assignment [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:164 [ divr16u::return#0 rem16u#1 ] ) + //SEG276 [145] phi from div32u16u to divr16u [phi:div32u16u->divr16u] + //SEG277 [145] phi (word) divr16u::dividend#5 = >(const dword) PI2_u4f28#0 [phi:div32u16u->divr16u#0] -- vwuz1=vwuc1 + lda #>$10 sta divr16u.dividend - lda dividend+3 + lda #>PI2_u4f28>>$10 sta divr16u.dividend+1 - //SEG278 [137] (word) divr16u::divisor#0 ← (word) div32u16u::divisor#2 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 divr16u::divisor#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 divr16u::divisor#0 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 divr16u::divisor#0 ] ) - // (word) divr16u::divisor#0 = (word) div32u16u::divisor#2 // register copy zp ZP_WORD:2 - //SEG279 [138] call divr16u param-assignment [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#0 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#0 rem16u#1 ] ) - //SEG280 [149] phi from div32u16u to divr16u [phi:div32u16u->divr16u] - //SEG281 [149] phi (word) divr16u::divisor#6 = (word) divr16u::divisor#0 [phi:div32u16u->divr16u#0] -- register_copy - //SEG282 [149] phi (word) divr16u::dividend#5 = (word) divr16u::dividend#1 [phi:div32u16u->divr16u#1] -- register_copy - //SEG283 [149] phi (word) divr16u::rem#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:div32u16u->divr16u#2] -- vwuz1=vbuc1 + //SEG278 [145] phi (word) divr16u::rem#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:div32u16u->divr16u#1] -- vwuz1=vbuc1 lda #<0 sta divr16u.rem sta divr16u.rem+1 jsr divr16u - //SEG284 [139] (word) divr16u::return#2 ← (word) divr16u::return#0 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#2 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#2 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#2 rem16u#1 ] ) - // (word) divr16u::return#2 = (word) divr16u::return#0 // register copy zp ZP_WORD:8 - //SEG285 div32u16u::@2 - //SEG286 [140] (word) div32u16u::quotient_hi#0 ← (word) divr16u::return#2 [ div32u16u::dividend#2 div32u16u::divisor#2 div32u16u::quotient_hi#0 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 div32u16u::quotient_hi#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::dividend#2 div32u16u::divisor#2 div32u16u::quotient_hi#0 rem16u#1 ] ) -- vwuz1=vwuz2 + //SEG279 [137] (word) divr16u::return#2 ← (word) divr16u::return#0 [ divr16u::return#2 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ divr16u::return#2 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:164 [ divr16u::return#2 rem16u#1 ] ) + // (word) divr16u::return#2 = (word) divr16u::return#0 // register copy zp ZP_WORD:6 + //SEG280 div32u16u::@2 + //SEG281 [138] (word) div32u16u::quotient_hi#0 ← (word) divr16u::return#2 [ div32u16u::quotient_hi#0 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::quotient_hi#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:164 [ div32u16u::quotient_hi#0 rem16u#1 ] ) -- vwuz1=vwuz2 lda divr16u.return sta quotient_hi lda divr16u.return+1 sta quotient_hi+1 - //SEG287 [141] (word) divr16u::dividend#2 ← < (dword) div32u16u::dividend#2 [ div32u16u::divisor#2 div32u16u::quotient_hi#0 divr16u::dividend#2 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::divisor#2 div32u16u::quotient_hi#0 divr16u::dividend#2 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::divisor#2 div32u16u::quotient_hi#0 divr16u::dividend#2 rem16u#1 ] ) -- vwuz1=_lo_vduz2 - lda dividend + //SEG282 [139] (word) divr16u::rem#4 ← (word) rem16u#1 [ div32u16u::quotient_hi#0 divr16u::rem#4 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::quotient_hi#0 divr16u::rem#4 ] main:2::sin16s_gen:5::div32u16u:164 [ div32u16u::quotient_hi#0 divr16u::rem#4 ] ) + // (word) divr16u::rem#4 = (word) rem16u#1 // register copy zp ZP_WORD:2 + //SEG283 [140] call divr16u param-assignment [ divr16u::return#0 div32u16u::quotient_hi#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ divr16u::return#0 div32u16u::quotient_hi#0 ] main:2::sin16s_gen:5::div32u16u:164 [ divr16u::return#0 div32u16u::quotient_hi#0 ] ) + //SEG284 [145] phi from div32u16u::@2 to divr16u [phi:div32u16u::@2->divr16u] + //SEG285 [145] phi (word) divr16u::dividend#5 = <(const dword) PI2_u4f28#0 [phi:div32u16u::@2->divr16u#0] -- vwuz1=vwuc1 + lda #PI2_u4f28&$ffff sta divr16u.dividend+1 - //SEG288 [142] (word) divr16u::divisor#1 ← (word) div32u16u::divisor#2 [ div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 rem16u#1 ] ) - // (word) divr16u::divisor#1 = (word) div32u16u::divisor#2 // register copy zp ZP_WORD:2 - //SEG289 [143] (word) divr16u::rem#4 ← (word) rem16u#1 [ div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 divr16u::rem#4 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 divr16u::rem#4 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 divr16u::rem#4 ] ) - // (word) divr16u::rem#4 = (word) rem16u#1 // register copy zp ZP_WORD:4 - //SEG290 [144] call divr16u param-assignment [ divr16u::return#0 div32u16u::quotient_hi#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ divr16u::return#0 div32u16u::quotient_hi#0 ] main:2::sin16s_gen:5::div32u16u:168 [ divr16u::return#0 div32u16u::quotient_hi#0 ] ) - //SEG291 [149] phi from div32u16u::@2 to divr16u [phi:div32u16u::@2->divr16u] - //SEG292 [149] phi (word) divr16u::divisor#6 = (word) divr16u::divisor#1 [phi:div32u16u::@2->divr16u#0] -- register_copy - //SEG293 [149] phi (word) divr16u::dividend#5 = (word) divr16u::dividend#2 [phi:div32u16u::@2->divr16u#1] -- register_copy - //SEG294 [149] phi (word) divr16u::rem#10 = (word) divr16u::rem#4 [phi:div32u16u::@2->divr16u#2] -- register_copy + //SEG286 [145] phi (word) divr16u::rem#10 = (word) divr16u::rem#4 [phi:div32u16u::@2->divr16u#1] -- register_copy jsr divr16u - //SEG295 [145] (word) divr16u::return#3 ← (word) divr16u::return#0 [ div32u16u::quotient_hi#0 divr16u::return#3 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::quotient_hi#0 divr16u::return#3 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::quotient_hi#0 divr16u::return#3 ] ) - // (word) divr16u::return#3 = (word) divr16u::return#0 // register copy zp ZP_WORD:8 - //SEG296 div32u16u::@3 - //SEG297 [146] (word) div32u16u::quotient_lo#0 ← (word) divr16u::return#3 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ) - // (word) div32u16u::quotient_lo#0 = (word) divr16u::return#3 // register copy zp ZP_WORD:8 - //SEG298 [147] (dword) div32u16u::return#0 ← (word) div32u16u::quotient_hi#0 dw= (word) div32u16u::quotient_lo#0 [ div32u16u::return#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::return#0 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::return#0 ] ) -- vduz1=vwuz2_dword_vwuz3 + //SEG287 [141] (word) divr16u::return#3 ← (word) divr16u::return#0 [ div32u16u::quotient_hi#0 divr16u::return#3 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::quotient_hi#0 divr16u::return#3 ] main:2::sin16s_gen:5::div32u16u:164 [ div32u16u::quotient_hi#0 divr16u::return#3 ] ) + // (word) divr16u::return#3 = (word) divr16u::return#0 // register copy zp ZP_WORD:6 + //SEG288 div32u16u::@3 + //SEG289 [142] (word) div32u16u::quotient_lo#0 ← (word) divr16u::return#3 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] main:2::sin16s_gen:5::div32u16u:164 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ) + // (word) div32u16u::quotient_lo#0 = (word) divr16u::return#3 // register copy zp ZP_WORD:6 + //SEG290 [143] (dword) div32u16u::return#0 ← (word) div32u16u::quotient_hi#0 dw= (word) div32u16u::quotient_lo#0 [ div32u16u::return#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::return#0 ] main:2::sin16s_gen:5::div32u16u:164 [ div32u16u::return#0 ] ) -- vduz1=vwuz2_dword_vwuz3 lda quotient_hi sta return+2 lda quotient_hi+1 @@ -11652,150 +11518,135 @@ div32u16u: { sta return lda quotient_lo+1 sta return+1 - //SEG299 div32u16u::@return - //SEG300 [148] return [ div32u16u::return#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::return#0 ] main:2::sin16s_gen:5::div32u16u:168 [ div32u16u::return#0 ] ) + //SEG291 div32u16u::@return + //SEG292 [144] return [ div32u16u::return#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::return#0 ] main:2::sin16s_gen:5::div32u16u:164 [ div32u16u::return#0 ] ) rts } -//SEG301 divr16u +//SEG293 divr16u divr16u: { - .label rem = 4 - .label dividend = 6 - .label quotient = 8 - .label return = 8 - .label divisor = 2 - //SEG302 [150] phi from divr16u to divr16u::@1 [phi:divr16u->divr16u::@1] - //SEG303 [150] phi (byte) divr16u::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#0] -- vbuxx=vbuc1 + .label rem = 2 + .label dividend = 4 + .label quotient = 6 + .label return = 6 + //SEG294 [146] phi from divr16u to divr16u::@1 [phi:divr16u->divr16u::@1] + //SEG295 [146] phi (byte) divr16u::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#0] -- vbuxx=vbuc1 ldx #0 - //SEG304 [150] phi (word) divr16u::quotient#3 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#1] -- vwuz1=vbuc1 + //SEG296 [146] phi (word) divr16u::quotient#3 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#1] -- vwuz1=vbuc1 txa sta quotient sta quotient+1 - //SEG305 [150] phi (word) divr16u::dividend#3 = (word) divr16u::dividend#5 [phi:divr16u->divr16u::@1#2] -- register_copy - //SEG306 [150] phi (word) divr16u::rem#5 = (word) divr16u::rem#10 [phi:divr16u->divr16u::@1#3] -- register_copy - //SEG307 [150] phi from divr16u::@3 to divr16u::@1 [phi:divr16u::@3->divr16u::@1] - //SEG308 [150] phi (byte) divr16u::i#2 = (byte) divr16u::i#1 [phi:divr16u::@3->divr16u::@1#0] -- register_copy - //SEG309 [150] phi (word) divr16u::quotient#3 = (word) divr16u::return#0 [phi:divr16u::@3->divr16u::@1#1] -- register_copy - //SEG310 [150] phi (word) divr16u::dividend#3 = (word) divr16u::dividend#0 [phi:divr16u::@3->divr16u::@1#2] -- register_copy - //SEG311 [150] phi (word) divr16u::rem#5 = (word) divr16u::rem#11 [phi:divr16u::@3->divr16u::@1#3] -- register_copy - //SEG312 divr16u::@1 + //SEG297 [146] phi (word) divr16u::dividend#3 = (word) divr16u::dividend#5 [phi:divr16u->divr16u::@1#2] -- register_copy + //SEG298 [146] phi (word) divr16u::rem#5 = (word) divr16u::rem#10 [phi:divr16u->divr16u::@1#3] -- register_copy + //SEG299 [146] phi from divr16u::@3 to divr16u::@1 [phi:divr16u::@3->divr16u::@1] + //SEG300 [146] phi (byte) divr16u::i#2 = (byte) divr16u::i#1 [phi:divr16u::@3->divr16u::@1#0] -- register_copy + //SEG301 [146] phi (word) divr16u::quotient#3 = (word) divr16u::return#0 [phi:divr16u::@3->divr16u::@1#1] -- register_copy + //SEG302 [146] phi (word) divr16u::dividend#3 = (word) divr16u::dividend#0 [phi:divr16u::@3->divr16u::@1#2] -- register_copy + //SEG303 [146] phi (word) divr16u::rem#5 = (word) divr16u::rem#11 [phi:divr16u::@3->divr16u::@1#3] -- register_copy + //SEG304 divr16u::@1 b1: - //SEG313 [151] (word) divr16u::rem#0 ← (word) divr16u::rem#5 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) -- vwuz1=vwuz1_rol_1 + //SEG305 [147] (word) divr16u::rem#0 ← (word) divr16u::rem#5 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) -- vwuz1=vwuz1_rol_1 asl rem rol rem+1 - //SEG314 [152] (byte~) divr16u::$1 ← > (word) divr16u::dividend#3 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) -- vbuaa=_hi_vwuz1 + //SEG306 [148] (byte~) divr16u::$1 ← > (word) divr16u::dividend#3 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) -- vbuaa=_hi_vwuz1 lda dividend+1 - //SEG315 [153] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) -- vbuaa=vbuaa_band_vbuc1 + //SEG307 [149] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) -- vbuaa=vbuaa_band_vbuc1 and #$80 - //SEG316 [154] if((byte~) divr16u::$2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto divr16u::@2 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) -- vbuaa_eq_0_then_la1 + //SEG308 [150] if((byte~) divr16u::$2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto divr16u::@2 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) -- vbuaa_eq_0_then_la1 cmp #0 beq b2 - //SEG317 divr16u::@4 - //SEG318 [155] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) -- vwuz1=vwuz1_bor_vbuc1 + //SEG309 divr16u::@4 + //SEG310 [151] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) -- vwuz1=vwuz1_bor_vbuc1 lda #1 ora rem sta rem - //SEG319 [156] phi from divr16u::@1 divr16u::@4 to divr16u::@2 [phi:divr16u::@1/divr16u::@4->divr16u::@2] - //SEG320 [156] phi (word) divr16u::rem#6 = (word) divr16u::rem#0 [phi:divr16u::@1/divr16u::@4->divr16u::@2#0] -- register_copy - //SEG321 divr16u::@2 + //SEG311 [152] phi from divr16u::@1 divr16u::@4 to divr16u::@2 [phi:divr16u::@1/divr16u::@4->divr16u::@2] + //SEG312 [152] phi (word) divr16u::rem#6 = (word) divr16u::rem#0 [phi:divr16u::@1/divr16u::@4->divr16u::@2#0] -- register_copy + //SEG313 divr16u::@2 b2: - //SEG322 [157] (word) divr16u::dividend#0 ← (word) divr16u::dividend#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ) -- vwuz1=vwuz1_rol_1 + //SEG314 [153] (word) divr16u::dividend#0 ← (word) divr16u::dividend#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ) -- vwuz1=vwuz1_rol_1 asl dividend rol dividend+1 - //SEG323 [158] (word) divr16u::quotient#1 ← (word) divr16u::quotient#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) -- vwuz1=vwuz1_rol_1 + //SEG315 [154] (word) divr16u::quotient#1 ← (word) divr16u::quotient#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) -- vwuz1=vwuz1_rol_1 asl quotient rol quotient+1 - //SEG324 [159] if((word) divr16u::rem#6<(word) divr16u::divisor#6) goto divr16u::@3 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) -- vwuz1_lt_vwuz2_then_la1 + //SEG316 [155] if((word) divr16u::rem#6<(const word) main::wavelength#0) goto divr16u::@3 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) -- vwuz1_lt_vwuc1_then_la1 lda rem+1 - cmp divisor+1 + cmp #>main.wavelength bcc b3 bne !+ lda rem - cmp divisor + cmp #main.wavelength sta rem+1 - //SEG328 [162] phi from divr16u::@2 divr16u::@5 to divr16u::@3 [phi:divr16u::@2/divr16u::@5->divr16u::@3] - //SEG329 [162] phi (word) divr16u::return#0 = (word) divr16u::quotient#1 [phi:divr16u::@2/divr16u::@5->divr16u::@3#0] -- register_copy - //SEG330 [162] phi (word) divr16u::rem#11 = (word) divr16u::rem#6 [phi:divr16u::@2/divr16u::@5->divr16u::@3#1] -- register_copy - //SEG331 divr16u::@3 + //SEG320 [158] phi from divr16u::@2 divr16u::@5 to divr16u::@3 [phi:divr16u::@2/divr16u::@5->divr16u::@3] + //SEG321 [158] phi (word) divr16u::return#0 = (word) divr16u::quotient#1 [phi:divr16u::@2/divr16u::@5->divr16u::@3#0] -- register_copy + //SEG322 [158] phi (word) divr16u::rem#11 = (word) divr16u::rem#6 [phi:divr16u::@2/divr16u::@5->divr16u::@3#1] -- register_copy + //SEG323 divr16u::@3 b3: - //SEG332 [163] (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2 [ divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ) -- vbuxx=_inc_vbuxx + //SEG324 [159] (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2 [ divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ) -- vbuxx=_inc_vbuxx inx - //SEG333 [164] if((byte) divr16u::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto divr16u::@1 [ divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ) -- vbuxx_neq_vbuc1_then_la1 + //SEG325 [160] if((byte) divr16u::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto divr16u::@1 [ divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ) -- vbuxx_neq_vbuc1_then_la1 cpx #$10 bne b1 - //SEG334 divr16u::@6 - //SEG335 [165] (word) rem16u#1 ← (word) divr16u::rem#11 [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#0 rem16u#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] ) - // (word) rem16u#1 = (word) divr16u::rem#11 // register copy zp ZP_WORD:4 - //SEG336 divr16u::@return - //SEG337 [166] return [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::return#0 rem16u#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:168::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] ) + //SEG326 divr16u::@6 + //SEG327 [161] (word) rem16u#1 ← (word) divr16u::rem#11 [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::return#0 rem16u#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] ) + // (word) rem16u#1 = (word) divr16u::rem#11 // register copy zp ZP_WORD:2 + //SEG328 divr16u::@return + //SEG329 [162] return [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:136 [ divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:136 [ divr16u::return#0 rem16u#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:164::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] ) rts } -//SEG338 sin16s_gen +//SEG330 sin16s_gen sin16s_gen: { .label _1 = 6 .label step = $1d .label sintab = 2 .label x = $d .label i = 4 - //SEG339 [168] call div32u16u param-assignment [ div32u16u::return#0 ] ( main:2::sin16s_gen:5 [ div32u16u::return#0 ] ) - //SEG340 [135] phi from sin16s_gen to div32u16u [phi:sin16s_gen->div32u16u] - //SEG341 [135] phi (word) div32u16u::divisor#2 = (const word) main::wavelength#0 [phi:sin16s_gen->div32u16u#0] -- vwuz1=vwuc1 - lda #main.wavelength - sta div32u16u.divisor+1 - //SEG342 [135] phi (dword) div32u16u::dividend#2 = (const dword) PI2_u4f28#0 [phi:sin16s_gen->div32u16u#1] -- vduz1=vduc1 - lda #PI2_u4f28 - sta div32u16u.dividend+1 - lda #>$10 - sta div32u16u.dividend+2 - lda #>PI2_u4f28>>$10 - sta div32u16u.dividend+3 + //SEG331 [164] call div32u16u param-assignment [ div32u16u::return#0 ] ( main:2::sin16s_gen:5 [ div32u16u::return#0 ] ) + //SEG332 [135] phi from sin16s_gen to div32u16u [phi:sin16s_gen->div32u16u] jsr div32u16u - //SEG343 [169] (dword) div32u16u::return#2 ← (dword) div32u16u::return#0 [ div32u16u::return#2 ] ( main:2::sin16s_gen:5 [ div32u16u::return#2 ] ) + //SEG333 [165] (dword) div32u16u::return#2 ← (dword) div32u16u::return#0 [ div32u16u::return#2 ] ( main:2::sin16s_gen:5 [ div32u16u::return#2 ] ) // (dword) div32u16u::return#2 = (dword) div32u16u::return#0 // register copy zp ZP_DWORD:29 - //SEG344 sin16s_gen::@3 - //SEG345 [170] (dword) sin16s_gen::step#0 ← (dword) div32u16u::return#2 [ sin16s_gen::step#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 ] ) + //SEG334 sin16s_gen::@3 + //SEG335 [166] (dword) sin16s_gen::step#0 ← (dword) div32u16u::return#2 [ sin16s_gen::step#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 ] ) // (dword) sin16s_gen::step#0 = (dword) div32u16u::return#2 // register copy zp ZP_DWORD:29 - //SEG346 [171] phi from sin16s_gen::@3 to sin16s_gen::@1 [phi:sin16s_gen::@3->sin16s_gen::@1] - //SEG347 [171] phi (word) sin16s_gen::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s_gen::@3->sin16s_gen::@1#0] -- vwuz1=vbuc1 + //SEG336 [167] phi from sin16s_gen::@3 to sin16s_gen::@1 [phi:sin16s_gen::@3->sin16s_gen::@1] + //SEG337 [167] phi (word) sin16s_gen::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s_gen::@3->sin16s_gen::@1#0] -- vwuz1=vbuc1 lda #<0 sta i sta i+1 - //SEG348 [171] phi (signed word*) sin16s_gen::sintab#2 = (const signed word[120]) main::sintab1#0 [phi:sin16s_gen::@3->sin16s_gen::@1#1] -- pwsz1=pwsc1 + //SEG338 [167] phi (signed word*) sin16s_gen::sintab#2 = (const signed word[120]) main::sintab1#0 [phi:sin16s_gen::@3->sin16s_gen::@1#1] -- pwsz1=pwsc1 lda #main.sintab1 sta sintab+1 - //SEG349 [171] phi (dword) sin16s_gen::x#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s_gen::@3->sin16s_gen::@1#2] -- vduz1=vbuc1 + //SEG339 [167] phi (dword) sin16s_gen::x#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s_gen::@3->sin16s_gen::@1#2] -- vduz1=vbuc1 lda #0 sta x sta x+1 sta x+2 sta x+3 - //SEG350 [171] phi from sin16s_gen::@4 to sin16s_gen::@1 [phi:sin16s_gen::@4->sin16s_gen::@1] - //SEG351 [171] phi (word) sin16s_gen::i#2 = (word) sin16s_gen::i#1 [phi:sin16s_gen::@4->sin16s_gen::@1#0] -- register_copy - //SEG352 [171] phi (signed word*) sin16s_gen::sintab#2 = (signed word*) sin16s_gen::sintab#0 [phi:sin16s_gen::@4->sin16s_gen::@1#1] -- register_copy - //SEG353 [171] phi (dword) sin16s_gen::x#2 = (dword) sin16s_gen::x#1 [phi:sin16s_gen::@4->sin16s_gen::@1#2] -- register_copy - //SEG354 sin16s_gen::@1 + //SEG340 [167] phi from sin16s_gen::@4 to sin16s_gen::@1 [phi:sin16s_gen::@4->sin16s_gen::@1] + //SEG341 [167] phi (word) sin16s_gen::i#2 = (word) sin16s_gen::i#1 [phi:sin16s_gen::@4->sin16s_gen::@1#0] -- register_copy + //SEG342 [167] phi (signed word*) sin16s_gen::sintab#2 = (signed word*) sin16s_gen::sintab#0 [phi:sin16s_gen::@4->sin16s_gen::@1#1] -- register_copy + //SEG343 [167] phi (dword) sin16s_gen::x#2 = (dword) sin16s_gen::x#1 [phi:sin16s_gen::@4->sin16s_gen::@1#2] -- register_copy + //SEG344 sin16s_gen::@1 b1: - //SEG355 [172] (dword) sin16s::x#0 ← (dword) sin16s_gen::x#2 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#0 ] ) -- vduz1=vduz2 + //SEG345 [168] (dword) sin16s::x#0 ← (dword) sin16s_gen::x#2 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#0 ] ) -- vduz1=vduz2 lda x sta sin16s.x lda x+1 @@ -11804,21 +11655,21 @@ sin16s_gen: { sta sin16s.x+2 lda x+3 sta sin16s.x+3 - //SEG356 [173] call sin16s param-assignment [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#1 ] ) + //SEG346 [169] call sin16s param-assignment [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#1 ] ) jsr sin16s - //SEG357 [174] (signed word) sin16s::return#0 ← (signed word) sin16s::return#1 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#0 ] ) + //SEG347 [170] (signed word) sin16s::return#0 ← (signed word) sin16s::return#1 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#0 ] ) // (signed word) sin16s::return#0 = (signed word) sin16s::return#1 // register copy zp ZP_WORD:6 - //SEG358 sin16s_gen::@4 - //SEG359 [175] (signed word~) sin16s_gen::$1 ← (signed word) sin16s::return#0 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s_gen::$1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s_gen::$1 ] ) + //SEG348 sin16s_gen::@4 + //SEG349 [171] (signed word~) sin16s_gen::$1 ← (signed word) sin16s::return#0 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s_gen::$1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s_gen::$1 ] ) // (signed word~) sin16s_gen::$1 = (signed word) sin16s::return#0 // register copy zp ZP_WORD:6 - //SEG360 [176] *((signed word*) sin16s_gen::sintab#2) ← (signed word~) sin16s_gen::$1 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ) -- _deref_pwsz1=vwsz2 + //SEG350 [172] *((signed word*) sin16s_gen::sintab#2) ← (signed word~) sin16s_gen::$1 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ) -- _deref_pwsz1=vwsz2 ldy #0 lda _1 sta (sintab),y iny lda _1+1 sta (sintab),y - //SEG361 [177] (signed word*) sin16s_gen::sintab#0 ← (signed word*) sin16s_gen::sintab#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::i#2 sin16s_gen::sintab#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::i#2 sin16s_gen::sintab#0 ] ) -- pwsz1=pwsz1_plus_2 + //SEG351 [173] (signed word*) sin16s_gen::sintab#0 ← (signed word*) sin16s_gen::sintab#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::i#2 sin16s_gen::sintab#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::i#2 sin16s_gen::sintab#0 ] ) -- pwsz1=pwsz1_plus_2 lda sintab clc adc #2 @@ -11826,7 +11677,7 @@ sin16s_gen: { bcc !+ inc sintab+1 !: - //SEG362 [178] (dword) sin16s_gen::x#1 ← (dword) sin16s_gen::x#2 + (dword) sin16s_gen::step#0 [ sin16s_gen::step#0 sin16s_gen::i#2 sin16s_gen::x#1 sin16s_gen::sintab#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::i#2 sin16s_gen::x#1 sin16s_gen::sintab#0 ] ) -- vduz1=vduz1_plus_vduz2 + //SEG352 [174] (dword) sin16s_gen::x#1 ← (dword) sin16s_gen::x#2 + (dword) sin16s_gen::step#0 [ sin16s_gen::step#0 sin16s_gen::i#2 sin16s_gen::x#1 sin16s_gen::sintab#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::i#2 sin16s_gen::x#1 sin16s_gen::sintab#0 ] ) -- vduz1=vduz1_plus_vduz2 lda x clc adc step @@ -11840,12 +11691,12 @@ sin16s_gen: { lda x+3 adc step+3 sta x+3 - //SEG363 [179] (word) sin16s_gen::i#1 ← ++ (word) sin16s_gen::i#2 [ sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ) -- vwuz1=_inc_vwuz1 + //SEG353 [175] (word) sin16s_gen::i#1 ← ++ (word) sin16s_gen::i#2 [ sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ) -- vwuz1=_inc_vwuz1 inc i bne !+ inc i+1 !: - //SEG364 [180] if((word) sin16s_gen::i#1<(const word) main::wavelength#0) goto sin16s_gen::@1 [ sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ) -- vwuz1_lt_vwuc1_then_la1 + //SEG354 [176] if((word) sin16s_gen::i#1<(const word) main::wavelength#0) goto sin16s_gen::@1 [ sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ) -- vwuz1_lt_vwuc1_then_la1 lda i+1 cmp #>main.wavelength bcc b1 @@ -11854,11 +11705,11 @@ sin16s_gen: { cmp #PI_u4f28>>$10 bcc b4 @@ -11890,8 +11741,8 @@ sin16s: { cmp #PI_u4f28>>$10 sta x+3 - //SEG371 [184] phi from sin16s::@4 to sin16s::@1 [phi:sin16s::@4->sin16s::@1] - //SEG372 [184] phi (byte) sin16s::isUpper#2 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin16s::@4->sin16s::@1#0] -- vbuz1=vbuc1 + //SEG361 [180] phi from sin16s::@4 to sin16s::@1 [phi:sin16s::@4->sin16s::@1] + //SEG362 [180] phi (byte) sin16s::isUpper#2 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin16s::@4->sin16s::@1#0] -- vbuz1=vbuc1 lda #1 sta isUpper - //SEG373 [184] phi (dword) sin16s::x#4 = (dword) sin16s::x#1 [phi:sin16s::@4->sin16s::@1#1] -- register_copy + //SEG363 [180] phi (dword) sin16s::x#4 = (dword) sin16s::x#1 [phi:sin16s::@4->sin16s::@1#1] -- register_copy jmp b1 - //SEG374 [184] phi from sin16s to sin16s::@1 [phi:sin16s->sin16s::@1] + //SEG364 [180] phi from sin16s to sin16s::@1 [phi:sin16s->sin16s::@1] b4: - //SEG375 [184] phi (byte) sin16s::isUpper#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s->sin16s::@1#0] -- vbuz1=vbuc1 + //SEG365 [180] phi (byte) sin16s::isUpper#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s->sin16s::@1#0] -- vbuz1=vbuc1 lda #0 sta isUpper - //SEG376 [184] phi (dword) sin16s::x#4 = (dword) sin16s::x#0 [phi:sin16s->sin16s::@1#1] -- register_copy - //SEG377 sin16s::@1 + //SEG366 [180] phi (dword) sin16s::x#4 = (dword) sin16s::x#0 [phi:sin16s->sin16s::@1#1] -- register_copy + //SEG367 sin16s::@1 b1: - //SEG378 [185] if((dword) sin16s::x#4<(const dword) PI_HALF_u4f28#0) goto sin16s::@2 [ sin16s::x#4 sin16s::isUpper#2 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#4 sin16s::isUpper#2 ] ) -- vduz1_lt_vduc1_then_la1 + //SEG368 [181] if((dword) sin16s::x#4<(const dword) PI_HALF_u4f28#0) goto sin16s::@2 [ sin16s::x#4 sin16s::isUpper#2 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#4 sin16s::isUpper#2 ] ) -- vduz1_lt_vduc1_then_la1 lda x+3 cmp #>PI_HALF_u4f28>>$10 bcc b2 @@ -11936,8 +11787,8 @@ sin16s: { cmp #PI_u4f28>>$10 sbc x+3 sta x+3 - //SEG381 [187] phi from sin16s::@1 sin16s::@5 to sin16s::@2 [phi:sin16s::@1/sin16s::@5->sin16s::@2] - //SEG382 [187] phi (dword) sin16s::x#6 = (dword) sin16s::x#4 [phi:sin16s::@1/sin16s::@5->sin16s::@2#0] -- register_copy - //SEG383 sin16s::@2 + //SEG371 [183] phi from sin16s::@1 sin16s::@5 to sin16s::@2 [phi:sin16s::@1/sin16s::@5->sin16s::@2] + //SEG372 [183] phi (dword) sin16s::x#6 = (dword) sin16s::x#4 [phi:sin16s::@1/sin16s::@5->sin16s::@2#0] -- register_copy + //SEG373 sin16s::@2 b2: - //SEG384 [188] (dword~) sin16s::$6 ← (dword) sin16s::x#6 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ sin16s::isUpper#2 sin16s::$6 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::$6 ] ) -- vduz1=vduz1_rol_3 + //SEG374 [184] (dword~) sin16s::$6 ← (dword) sin16s::x#6 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ sin16s::isUpper#2 sin16s::$6 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::$6 ] ) -- vduz1=vduz1_rol_3 ldy #3 !: asl _6 @@ -11964,77 +11815,77 @@ sin16s: { rol _6+3 dey bne !- - //SEG385 [189] (word) sin16s::x1#0 ← > (dword~) sin16s::$6 [ sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 ] ) -- vwuz1=_hi_vduz2 + //SEG375 [185] (word) sin16s::x1#0 ← > (dword~) sin16s::$6 [ sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 ] ) -- vwuz1=_hi_vduz2 lda _6+2 sta x1 lda _6+3 sta x1+1 - //SEG386 [190] (word) mulu16_sel::v1#0 ← (word) sin16s::x1#0 [ mulu16_sel::v1#0 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#0 sin16s::isUpper#2 sin16s::x1#0 ] ) -- vwuz1=vwuz2 + //SEG376 [186] (word) mulu16_sel::v1#0 ← (word) sin16s::x1#0 [ mulu16_sel::v1#0 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#0 sin16s::isUpper#2 sin16s::x1#0 ] ) -- vwuz1=vwuz2 lda x1 sta mulu16_sel.v1 lda x1+1 sta mulu16_sel.v1+1 - //SEG387 [191] (word) mulu16_sel::v2#0 ← (word) sin16s::x1#0 [ mulu16_sel::v1#0 mulu16_sel::v2#0 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#0 mulu16_sel::v2#0 sin16s::isUpper#2 sin16s::x1#0 ] ) -- vwuz1=vwuz2 + //SEG377 [187] (word) mulu16_sel::v2#0 ← (word) sin16s::x1#0 [ mulu16_sel::v1#0 mulu16_sel::v2#0 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#0 mulu16_sel::v2#0 sin16s::isUpper#2 sin16s::x1#0 ] ) -- vwuz1=vwuz2 lda x1 sta mulu16_sel.v2 lda x1+1 sta mulu16_sel.v2+1 - //SEG388 [192] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 ] ) - //SEG389 [116] phi from sin16s::@2 to mulu16_sel [phi:sin16s::@2->mulu16_sel] - //SEG390 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s::@2->mulu16_sel#0] -- vbuxx=vbuc1 + //SEG378 [188] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 ] ) + //SEG379 [116] phi from sin16s::@2 to mulu16_sel [phi:sin16s::@2->mulu16_sel] + //SEG380 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s::@2->mulu16_sel#0] -- vbuxx=vbuc1 ldx #0 - //SEG391 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#0 [phi:sin16s::@2->mulu16_sel#1] -- register_copy - //SEG392 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#0 [phi:sin16s::@2->mulu16_sel#2] -- register_copy + //SEG381 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#0 [phi:sin16s::@2->mulu16_sel#1] -- register_copy + //SEG382 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#0 [phi:sin16s::@2->mulu16_sel#2] -- register_copy jsr mulu16_sel - //SEG393 [193] (word) mulu16_sel::return#0 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#0 ] ) -- vwuz1=vwuz2 + //SEG383 [189] (word) mulu16_sel::return#0 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#0 ] ) -- vwuz1=vwuz2 lda mulu16_sel.return_17 sta mulu16_sel.return lda mulu16_sel.return_17+1 sta mulu16_sel.return+1 - //SEG394 sin16s::@8 - //SEG395 [194] (word) sin16s::x2#0 ← (word) mulu16_sel::return#0 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x2#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x2#0 ] ) + //SEG384 sin16s::@8 + //SEG385 [190] (word) sin16s::x2#0 ← (word) mulu16_sel::return#0 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x2#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x2#0 ] ) // (word) sin16s::x2#0 = (word) mulu16_sel::return#0 // register copy zp ZP_WORD:11 - //SEG396 [195] (word) mulu16_sel::v1#1 ← (word) sin16s::x2#0 [ mulu16_sel::v1#1 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#1 sin16s::isUpper#2 sin16s::x1#0 ] ) + //SEG386 [191] (word) mulu16_sel::v1#1 ← (word) sin16s::x2#0 [ mulu16_sel::v1#1 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#1 sin16s::isUpper#2 sin16s::x1#0 ] ) // (word) mulu16_sel::v1#1 = (word) sin16s::x2#0 // register copy zp ZP_WORD:11 - //SEG397 [196] (word) mulu16_sel::v2#1 ← (word) sin16s::x1#0 [ mulu16_sel::v1#1 mulu16_sel::v2#1 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#1 mulu16_sel::v2#1 sin16s::isUpper#2 sin16s::x1#0 ] ) -- vwuz1=vwuz2 + //SEG387 [192] (word) mulu16_sel::v2#1 ← (word) sin16s::x1#0 [ mulu16_sel::v1#1 mulu16_sel::v2#1 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#1 mulu16_sel::v2#1 sin16s::isUpper#2 sin16s::x1#0 ] ) -- vwuz1=vwuz2 lda x1 sta mulu16_sel.v2 lda x1+1 sta mulu16_sel.v2+1 - //SEG398 [197] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 ] ) - //SEG399 [116] phi from sin16s::@8 to mulu16_sel [phi:sin16s::@8->mulu16_sel] - //SEG400 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin16s::@8->mulu16_sel#0] -- vbuxx=vbuc1 + //SEG388 [193] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 ] ) + //SEG389 [116] phi from sin16s::@8 to mulu16_sel [phi:sin16s::@8->mulu16_sel] + //SEG390 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin16s::@8->mulu16_sel#0] -- vbuxx=vbuc1 ldx #1 - //SEG401 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#1 [phi:sin16s::@8->mulu16_sel#1] -- register_copy - //SEG402 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#1 [phi:sin16s::@8->mulu16_sel#2] -- register_copy + //SEG391 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#1 [phi:sin16s::@8->mulu16_sel#1] -- register_copy + //SEG392 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#1 [phi:sin16s::@8->mulu16_sel#2] -- register_copy jsr mulu16_sel - //SEG403 [198] (word) mulu16_sel::return#1 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#1 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#1 ] ) -- vwuz1=vwuz2 + //SEG393 [194] (word) mulu16_sel::return#1 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#1 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#1 ] ) -- vwuz1=vwuz2 lda mulu16_sel.return_17 sta mulu16_sel.return lda mulu16_sel.return_17+1 sta mulu16_sel.return+1 - //SEG404 sin16s::@9 - //SEG405 [199] (word) sin16s::x3#0 ← (word) mulu16_sel::return#1 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ) + //SEG394 sin16s::@9 + //SEG395 [195] (word) sin16s::x3#0 ← (word) mulu16_sel::return#1 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ) // (word) sin16s::x3#0 = (word) mulu16_sel::return#1 // register copy zp ZP_WORD:11 - //SEG406 [200] (word) mulu16_sel::v1#2 ← (word) sin16s::x3#0 [ mulu16_sel::v1#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ) + //SEG396 [196] (word) mulu16_sel::v1#2 ← (word) sin16s::x3#0 [ mulu16_sel::v1#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ) // (word) mulu16_sel::v1#2 = (word) sin16s::x3#0 // register copy zp ZP_WORD:11 - //SEG407 [201] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ) - //SEG408 [116] phi from sin16s::@9 to mulu16_sel [phi:sin16s::@9->mulu16_sel] - //SEG409 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin16s::@9->mulu16_sel#0] -- vbuxx=vbuc1 + //SEG397 [197] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ) + //SEG398 [116] phi from sin16s::@9 to mulu16_sel [phi:sin16s::@9->mulu16_sel] + //SEG399 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin16s::@9->mulu16_sel#0] -- vbuxx=vbuc1 ldx #1 - //SEG410 [116] phi (word) mulu16_sel::v2#10 = (dword/signed dword) 65536/(byte/signed byte/word/signed word/dword/signed dword) 6 [phi:sin16s::@9->mulu16_sel#1] -- vwuz1=vwuc1 + //SEG400 [116] phi (word) mulu16_sel::v2#10 = (dword/signed dword) 65536/(byte/signed byte/word/signed word/dword/signed dword) 6 [phi:sin16s::@9->mulu16_sel#1] -- vwuz1=vwuc1 lda #<$10000/6 sta mulu16_sel.v2 lda #>$10000/6 sta mulu16_sel.v2+1 - //SEG411 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#2 [phi:sin16s::@9->mulu16_sel#2] -- register_copy + //SEG401 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#2 [phi:sin16s::@9->mulu16_sel#2] -- register_copy jsr mulu16_sel - //SEG412 [202] (word) mulu16_sel::return#14 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#14 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#14 ] ) + //SEG402 [198] (word) mulu16_sel::return#14 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#14 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#14 ] ) // (word) mulu16_sel::return#14 = (word) mulu16_sel::return#17 // register copy zp ZP_WORD:17 - //SEG413 sin16s::@10 - //SEG414 [203] (word) sin16s::x3_6#0 ← (word) mulu16_sel::return#14 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::x3_6#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::x3_6#0 ] ) + //SEG403 sin16s::@10 + //SEG404 [199] (word) sin16s::x3_6#0 ← (word) mulu16_sel::return#14 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::x3_6#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::x3_6#0 ] ) // (word) sin16s::x3_6#0 = (word) mulu16_sel::return#14 // register copy zp ZP_WORD:17 - //SEG415 [204] (word) sin16s::usinx#0 ← (word) sin16s::x1#0 - (word) sin16s::x3_6#0 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::usinx#0 ] ) -- vwuz1=vwuz2_minus_vwuz3 + //SEG405 [200] (word) sin16s::usinx#0 ← (word) sin16s::x1#0 - (word) sin16s::x3_6#0 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::usinx#0 ] ) -- vwuz1=vwuz2_minus_vwuz3 lda x1 sec sbc x3_6 @@ -12042,55 +11893,55 @@ sin16s: { lda x1+1 sbc x3_6+1 sta usinx+1 - //SEG416 [205] (word) mulu16_sel::v1#3 ← (word) sin16s::x3#0 [ mulu16_sel::v1#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) + //SEG406 [201] (word) mulu16_sel::v1#3 ← (word) sin16s::x3#0 [ mulu16_sel::v1#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) // (word) mulu16_sel::v1#3 = (word) sin16s::x3#0 // register copy zp ZP_WORD:11 - //SEG417 [206] (word) mulu16_sel::v2#3 ← (word) sin16s::x1#0 [ mulu16_sel::v1#3 mulu16_sel::v2#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#3 mulu16_sel::v2#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) -- vwuz1=vwuz2 + //SEG407 [202] (word) mulu16_sel::v2#3 ← (word) sin16s::x1#0 [ mulu16_sel::v1#3 mulu16_sel::v2#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#3 mulu16_sel::v2#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) -- vwuz1=vwuz2 lda x1 sta mulu16_sel.v2 lda x1+1 sta mulu16_sel.v2+1 - //SEG418 [207] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) - //SEG419 [116] phi from sin16s::@10 to mulu16_sel [phi:sin16s::@10->mulu16_sel] - //SEG420 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s::@10->mulu16_sel#0] -- vbuxx=vbuc1 + //SEG408 [203] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) + //SEG409 [116] phi from sin16s::@10 to mulu16_sel [phi:sin16s::@10->mulu16_sel] + //SEG410 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s::@10->mulu16_sel#0] -- vbuxx=vbuc1 ldx #0 - //SEG421 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#3 [phi:sin16s::@10->mulu16_sel#1] -- register_copy - //SEG422 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#3 [phi:sin16s::@10->mulu16_sel#2] -- register_copy + //SEG411 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#3 [phi:sin16s::@10->mulu16_sel#1] -- register_copy + //SEG412 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#3 [phi:sin16s::@10->mulu16_sel#2] -- register_copy jsr mulu16_sel - //SEG423 [208] (word) mulu16_sel::return#15 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#15 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#15 ] ) -- vwuz1=vwuz2 + //SEG413 [204] (word) mulu16_sel::return#15 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#15 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#15 ] ) -- vwuz1=vwuz2 lda mulu16_sel.return_17 sta mulu16_sel.return lda mulu16_sel.return_17+1 sta mulu16_sel.return+1 - //SEG424 sin16s::@11 - //SEG425 [209] (word) sin16s::x4#0 ← (word) mulu16_sel::return#15 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 sin16s::x4#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 sin16s::x4#0 ] ) + //SEG414 sin16s::@11 + //SEG415 [205] (word) sin16s::x4#0 ← (word) mulu16_sel::return#15 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 sin16s::x4#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 sin16s::x4#0 ] ) // (word) sin16s::x4#0 = (word) mulu16_sel::return#15 // register copy zp ZP_WORD:11 - //SEG426 [210] (word) mulu16_sel::v1#4 ← (word) sin16s::x4#0 [ mulu16_sel::v1#4 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#4 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) + //SEG416 [206] (word) mulu16_sel::v1#4 ← (word) sin16s::x4#0 [ mulu16_sel::v1#4 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#4 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) // (word) mulu16_sel::v1#4 = (word) sin16s::x4#0 // register copy zp ZP_WORD:11 - //SEG427 [211] (word) mulu16_sel::v2#4 ← (word) sin16s::x1#0 [ mulu16_sel::v1#4 mulu16_sel::v2#4 sin16s::isUpper#2 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#4 mulu16_sel::v2#4 sin16s::isUpper#2 sin16s::usinx#0 ] ) -- vwuz1=vwuz2 + //SEG417 [207] (word) mulu16_sel::v2#4 ← (word) sin16s::x1#0 [ mulu16_sel::v1#4 mulu16_sel::v2#4 sin16s::isUpper#2 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#4 mulu16_sel::v2#4 sin16s::isUpper#2 sin16s::usinx#0 ] ) -- vwuz1=vwuz2 lda x1 sta mulu16_sel.v2 lda x1+1 sta mulu16_sel.v2+1 - //SEG428 [212] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::usinx#0 ] ) - //SEG429 [116] phi from sin16s::@11 to mulu16_sel [phi:sin16s::@11->mulu16_sel] - //SEG430 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s::@11->mulu16_sel#0] -- vbuxx=vbuc1 + //SEG418 [208] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::usinx#0 ] ) + //SEG419 [116] phi from sin16s::@11 to mulu16_sel [phi:sin16s::@11->mulu16_sel] + //SEG420 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s::@11->mulu16_sel#0] -- vbuxx=vbuc1 ldx #0 - //SEG431 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#4 [phi:sin16s::@11->mulu16_sel#1] -- register_copy - //SEG432 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#4 [phi:sin16s::@11->mulu16_sel#2] -- register_copy + //SEG421 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#4 [phi:sin16s::@11->mulu16_sel#1] -- register_copy + //SEG422 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#4 [phi:sin16s::@11->mulu16_sel#2] -- register_copy jsr mulu16_sel - //SEG433 [213] (word) mulu16_sel::return#16 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#16 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#16 ] ) + //SEG423 [209] (word) mulu16_sel::return#16 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#16 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#16 ] ) // (word) mulu16_sel::return#16 = (word) mulu16_sel::return#17 // register copy zp ZP_WORD:17 - //SEG434 sin16s::@12 - //SEG435 [214] (word) sin16s::x5#0 ← (word) mulu16_sel::return#16 [ sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5#0 ] ) + //SEG424 sin16s::@12 + //SEG425 [210] (word) sin16s::x5#0 ← (word) mulu16_sel::return#16 [ sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5#0 ] ) // (word) sin16s::x5#0 = (word) mulu16_sel::return#16 // register copy zp ZP_WORD:17 - //SEG436 [215] (word) sin16s::x5_128#0 ← (word) sin16s::x5#0 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5_128#0 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5_128#0 ] ) -- vwuz1=vwuz1_ror_4 + //SEG426 [211] (word) sin16s::x5_128#0 ← (word) sin16s::x5#0 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5_128#0 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5_128#0 ] ) -- vwuz1=vwuz1_ror_4 ldy #4 !: lsr x5_128+1 ror x5_128 dey bne !- - //SEG437 [216] (word) sin16s::usinx#1 ← (word) sin16s::usinx#0 + (word) sin16s::x5_128#0 [ sin16s::isUpper#2 sin16s::usinx#1 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#1 ] ) -- vwuz1=vwuz1_plus_vwuz2 + //SEG427 [212] (word) sin16s::usinx#1 ← (word) sin16s::usinx#0 + (word) sin16s::x5_128#0 [ sin16s::isUpper#2 sin16s::usinx#1 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#1 ] ) -- vwuz1=vwuz1_plus_vwuz2 lda usinx clc adc x5_128 @@ -12098,11 +11949,11 @@ sin16s: { lda usinx+1 adc x5_128+1 sta usinx+1 - //SEG438 [217] if((byte) sin16s::isUpper#2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto sin16s::@15 [ sin16s::usinx#1 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::usinx#1 ] ) -- vbuz1_eq_0_then_la1 + //SEG428 [213] if((byte) sin16s::isUpper#2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto sin16s::@15 [ sin16s::usinx#1 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::usinx#1 ] ) -- vbuz1_eq_0_then_la1 lda isUpper beq b3 - //SEG439 sin16s::@6 - //SEG440 [218] (signed word) sin16s::sinx#1 ← - (signed word)(word) sin16s::usinx#1 [ sin16s::sinx#1 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::sinx#1 ] ) -- vwsz1=_neg_vwsz1 + //SEG429 sin16s::@6 + //SEG430 [214] (signed word) sin16s::sinx#1 ← - (signed word)(word) sin16s::usinx#1 [ sin16s::sinx#1 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::sinx#1 ] ) -- vwsz1=_neg_vwsz1 sec lda sinx eor #$ff @@ -12112,15 +11963,15 @@ sin16s: { eor #$ff adc #0 sta sinx+1 - //SEG441 [219] phi from sin16s::@15 sin16s::@6 to sin16s::@3 [phi:sin16s::@15/sin16s::@6->sin16s::@3] - //SEG442 [219] phi (signed word) sin16s::return#1 = (signed word~) sin16s::return#5 [phi:sin16s::@15/sin16s::@6->sin16s::@3#0] -- register_copy - //SEG443 sin16s::@3 + //SEG431 [215] phi from sin16s::@15 sin16s::@6 to sin16s::@3 [phi:sin16s::@15/sin16s::@6->sin16s::@3] + //SEG432 [215] phi (signed word) sin16s::return#1 = (signed word~) sin16s::return#5 [phi:sin16s::@15/sin16s::@6->sin16s::@3#0] -- register_copy + //SEG433 sin16s::@3 b3: - //SEG444 sin16s::@return - //SEG445 [220] return [ sin16s::return#1 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#1 ] ) + //SEG434 sin16s::@return + //SEG435 [216] return [ sin16s::return#1 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#1 ] ) rts - //SEG446 sin16s::@15 - //SEG447 [221] (signed word~) sin16s::return#5 ← (signed word)(word) sin16s::usinx#1 [ sin16s::return#5 ] ( main:2::sin16s_gen:5::sin16s:173 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#5 ] ) + //SEG436 sin16s::@15 + //SEG437 [217] (signed word~) sin16s::return#5 ← (signed word)(word) sin16s::usinx#1 [ sin16s::return#5 ] ( main:2::sin16s_gen:5::sin16s:169 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#5 ] ) // (signed word~) sin16s::return#5 = (signed word)(word) sin16s::usinx#1 // register copy zp ZP_WORD:6 } print_hextab: .text "0123456789abcdef" diff --git a/src/test/java/dk/camelot64/kickc/test/ref/sinusgen16b.sym b/src/test/java/dk/camelot64/kickc/test/ref/sinusgen16b.sym index 39d251dfe..672776e20 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/sinusgen16b.sym +++ b/src/test/java/dk/camelot64/kickc/test/ref/sinusgen16b.sym @@ -16,14 +16,12 @@ (label) div32u16u::@3 (label) div32u16u::@return (dword) div32u16u::dividend -(dword) div32u16u::dividend#2 dividend zp ZP_DWORD:13 0.6666666666666666 (word) div32u16u::divisor -(word) div32u16u::divisor#2 divisor zp ZP_WORD:2 0.5714285714285714 (dword) div32u16u::quotient (word) div32u16u::quotient_hi -(word) div32u16u::quotient_hi#0 quotient_hi zp ZP_WORD:11 0.5714285714285714 +(word) div32u16u::quotient_hi#0 quotient_hi zp ZP_WORD:8 0.8 (word) div32u16u::quotient_lo -(word) div32u16u::quotient_lo#0 quotient_lo zp ZP_WORD:8 4.0 +(word) div32u16u::quotient_lo#0 quotient_lo zp ZP_WORD:6 4.0 (dword) div32u16u::return (dword) div32u16u::return#0 return zp ZP_DWORD:29 1.5 (dword) div32u16u::return#2 return zp ZP_DWORD:29 4.0 @@ -39,35 +37,30 @@ (label) divr16u::@6 (label) divr16u::@return (word) divr16u::dividend -(word) divr16u::dividend#0 dividend zp ZP_WORD:6 2.75 -(word) divr16u::dividend#1 dividend zp ZP_WORD:6 2.0 -(word) divr16u::dividend#2 dividend zp ZP_WORD:6 1.3333333333333333 -(word) divr16u::dividend#3 dividend zp ZP_WORD:6 5.0 -(word) divr16u::dividend#5 dividend zp ZP_WORD:6 6.0 +(word) divr16u::dividend#0 dividend zp ZP_WORD:4 2.75 +(word) divr16u::dividend#3 dividend zp ZP_WORD:4 5.0 +(word) divr16u::dividend#5 dividend zp ZP_WORD:4 2.0 (word) divr16u::divisor -(word) divr16u::divisor#0 divisor zp ZP_WORD:2 4.0 -(word) divr16u::divisor#1 divisor zp ZP_WORD:2 2.0 -(word) divr16u::divisor#6 divisor zp ZP_WORD:2 1.625 (byte) divr16u::i (byte) divr16u::i#1 reg byte x 16.5 (byte) divr16u::i#2 reg byte x 1.6923076923076923 (word) divr16u::quotient -(word) divr16u::quotient#1 quotient zp ZP_WORD:8 16.5 -(word) divr16u::quotient#2 quotient zp ZP_WORD:8 11.0 -(word) divr16u::quotient#3 quotient zp ZP_WORD:8 2.75 +(word) divr16u::quotient#1 quotient zp ZP_WORD:6 16.5 +(word) divr16u::quotient#2 quotient zp ZP_WORD:6 11.0 +(word) divr16u::quotient#3 quotient zp ZP_WORD:6 2.75 (word) divr16u::rem -(word) divr16u::rem#0 rem zp ZP_WORD:4 8.25 -(word) divr16u::rem#1 rem zp ZP_WORD:4 22.0 -(word) divr16u::rem#10 rem zp ZP_WORD:4 4.0 -(word) divr16u::rem#11 rem zp ZP_WORD:4 11.666666666666666 -(word) divr16u::rem#2 rem zp ZP_WORD:4 22.0 -(word) divr16u::rem#4 rem zp ZP_WORD:4 4.0 -(word) divr16u::rem#5 rem zp ZP_WORD:4 24.0 -(word) divr16u::rem#6 rem zp ZP_WORD:4 11.0 +(word) divr16u::rem#0 rem zp ZP_WORD:2 8.25 +(word) divr16u::rem#1 rem zp ZP_WORD:2 22.0 +(word) divr16u::rem#10 rem zp ZP_WORD:2 4.0 +(word) divr16u::rem#11 rem zp ZP_WORD:2 11.666666666666666 +(word) divr16u::rem#2 rem zp ZP_WORD:2 22.0 +(word) divr16u::rem#4 rem zp ZP_WORD:2 4.0 +(word) divr16u::rem#5 rem zp ZP_WORD:2 24.0 +(word) divr16u::rem#6 rem zp ZP_WORD:2 11.0 (word) divr16u::return -(word) divr16u::return#0 return zp ZP_WORD:8 5.285714285714286 -(word) divr16u::return#2 return zp ZP_WORD:8 4.0 -(word) divr16u::return#3 return zp ZP_WORD:8 4.0 +(word) divr16u::return#0 return zp ZP_WORD:6 5.285714285714286 +(word) divr16u::return#2 return zp ZP_WORD:6 4.0 +(word) divr16u::return#3 return zp ZP_WORD:6 4.0 (void()) main() (label) main::@1 (label) main::@2 @@ -218,7 +211,7 @@ (label) print_word::@return (word) print_word::w (word) rem16u -(word) rem16u#1 rem16u zp ZP_WORD:4 0.5714285714285714 +(word) rem16u#1 rem16u zp ZP_WORD:2 0.8 (signed word()) sin16s((dword) sin16s::x) (dword~) sin16s::$6 $6 zp ZP_DWORD:21 4.0 (label) sin16s::@1 @@ -347,15 +340,15 @@ (word) sin16sb::x5_128 (word) sin16sb::x5_128#0 x5_128 zp ZP_WORD:17 4.0 -zp ZP_WORD:2 [ main::st1#2 main::st1#1 print_cls::sc#2 print_cls::sc#1 sin16s_genb::sintab#2 sin16s_genb::sintab#0 div32u16u::divisor#2 divr16u::divisor#6 divr16u::divisor#0 divr16u::divisor#1 sin16s_gen::sintab#2 sin16s_gen::sintab#0 ] -zp ZP_WORD:4 [ main::st2#2 main::st2#1 sin16s_genb::i#2 sin16s_genb::i#1 divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 rem16u#1 sin16s_gen::i#2 sin16s_gen::i#1 ] +zp ZP_WORD:2 [ main::st1#2 main::st1#1 print_cls::sc#2 print_cls::sc#1 sin16s_genb::sintab#2 sin16s_genb::sintab#0 divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 rem16u#1 sin16s_gen::sintab#2 sin16s_gen::sintab#0 ] +zp ZP_WORD:4 [ main::st2#2 main::st2#1 sin16s_genb::i#2 sin16s_genb::i#1 divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#0 sin16s_gen::i#2 sin16s_gen::i#1 ] reg byte x [ main::i#2 main::i#1 ] -zp ZP_WORD:6 [ print_str::str#3 print_str::str#5 print_str::str#0 sin16sb::x#6 sin16sb::x#4 sin16sb::x#0 sin16sb::x#1 sin16sb::x#2 sin16sb::x1#0 divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#1 divr16u::dividend#2 divr16u::dividend#0 sin16s::return#1 sin16s::return#5 sin16s::sinx#1 sin16s::usinx#1 sin16s::return#0 sin16s_gen::$1 sin16s::usinx#0 ] -zp ZP_WORD:8 [ print_sword::w#3 print_sword::w#1 print_sword::w#0 main::sw#0 sin16sb::return#1 sin16sb::return#5 sin16sb::sinx#1 sin16sb::usinx#1 sin16sb::return#0 sin16s_genb::$2 sin16sb::usinx#0 divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 divr16u::return#3 div32u16u::quotient_lo#0 sin16s::x1#0 ] +zp ZP_WORD:6 [ print_str::str#3 print_str::str#5 print_str::str#0 sin16sb::x#6 sin16sb::x#4 sin16sb::x#0 sin16sb::x#1 sin16sb::x#2 sin16sb::x1#0 divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 divr16u::return#3 div32u16u::quotient_lo#0 sin16s::return#1 sin16s::return#5 sin16s::sinx#1 sin16s::usinx#1 sin16s::return#0 sin16s_gen::$1 sin16s::usinx#0 ] +zp ZP_WORD:8 [ print_sword::w#3 print_sword::w#1 print_sword::w#0 main::sw#0 sin16sb::return#1 sin16sb::return#5 sin16sb::sinx#1 sin16sb::usinx#1 sin16sb::return#0 sin16s_genb::$2 sin16sb::usinx#0 div32u16u::quotient_hi#0 sin16s::x1#0 ] zp ZP_BYTE:10 [ print_byte::b#2 print_byte::b#0 print_byte::b#1 sin16sb::isUpper#2 sin16s::isUpper#2 ] reg byte a [ print_char::ch#3 print_char::ch#1 print_char::ch#2 ] -zp ZP_WORD:11 [ print_char_cursor#33 print_char_cursor#46 print_char_cursor#43 print_char_cursor#51 print_char_cursor#48 print_char_cursor#49 print_char_cursor#2 print_char_cursor#12 print_char_cursor#1 mulu16_sel::v1#10 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 mulu16_sel::v1#8 mulu16_sel::v1#9 mulu16_sel::v1#5 mulu16_sel::v1#6 mulu16_sel::v1#7 sin16sb::x3#0 sin16s::x3#0 sin16sb::x2#0 sin16sb::x4#0 sin16s::x2#0 sin16s::x4#0 mulu16_sel::return#19 mulu16_sel::return#10 mulu16_sel::return#0 mulu16_sel::return#1 mulu16_sel::return#15 div32u16u::quotient_hi#0 ] -zp ZP_DWORD:13 [ sin16s_genb::x#2 sin16s_genb::x#1 div32u16u::dividend#2 sin16s_gen::x#2 sin16s_gen::x#1 ] +zp ZP_WORD:11 [ print_char_cursor#33 print_char_cursor#46 print_char_cursor#43 print_char_cursor#51 print_char_cursor#48 print_char_cursor#49 print_char_cursor#2 print_char_cursor#12 print_char_cursor#1 mulu16_sel::v1#10 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 mulu16_sel::v1#8 mulu16_sel::v1#9 mulu16_sel::v1#5 mulu16_sel::v1#6 mulu16_sel::v1#7 sin16sb::x3#0 sin16s::x3#0 sin16sb::x2#0 sin16sb::x4#0 sin16s::x2#0 sin16s::x4#0 mulu16_sel::return#19 mulu16_sel::return#10 mulu16_sel::return#0 mulu16_sel::return#1 mulu16_sel::return#15 ] +zp ZP_DWORD:13 [ sin16s_genb::x#2 sin16s_genb::x#1 sin16s_gen::x#2 sin16s_gen::x#1 ] zp ZP_WORD:17 [ mulu16_sel::v2#10 mulu16_sel::v2#3 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 mulu16_sel::v2#8 mulu16_sel::v2#9 mulu16_sel::v2#5 mulu16_sel::v2#6 mul16u::b#0 mulu16_sel::return#18 mulu16_sel::return#17 mulu16_sel::return#20 sin16sb::x3_6#0 mulu16_sel::return#11 sin16sb::x5#0 mulu16_sel::return#14 sin16s::x3_6#0 mulu16_sel::return#16 sin16s::x5#0 sin16sb::x5_128#0 sin16s::x5_128#0 ] reg byte x [ mulu16_sel::select#10 ] zp ZP_WORD:19 [ mul16u::a#2 mul16u::a#1 mul16u::a#0 ] diff --git a/src/test/java/dk/camelot64/kickc/test/ref/sinusgen8b.asm b/src/test/java/dk/camelot64/kickc/test/ref/sinusgen8b.asm index 03d51b724..5a99d79c8 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/sinusgen8b.asm +++ b/src/test/java/dk/camelot64/kickc/test/ref/sinusgen8b.asm @@ -8,7 +8,7 @@ .const PI_u4f12 = $3244 .const PI_HALF_u4f12 = $1922 .label print_line_cursor = $400 - .label rem16u = 5 + .label rem16u = 2 .label print_char_cursor = 5 jsr main main: { @@ -482,13 +482,9 @@ mul16u: { jmp b1 } div32u16u: { - .label quotient_hi = $13 - .label quotient_lo = $11 + .label quotient_hi = $11 + .label quotient_lo = $f .label return = $1c - lda #main.wavelength - sta divr16u.divisor+1 lda #>$10 sta divr16u.dividend lda #>PI2_u4f28>>$10 @@ -501,10 +497,6 @@ div32u16u: { sta quotient_hi lda divr16u.return+1 sta quotient_hi+1 - lda #main.wavelength - sta divr16u.divisor+1 lda #PI2_u4f28&$ffff @@ -521,11 +513,10 @@ div32u16u: { rts } divr16u: { - .label rem = 5 - .label dividend = $f - .label quotient = $11 - .label return = $11 - .label divisor = 2 + .label rem = 2 + .label dividend = 5 + .label quotient = $f + .label return = $f ldx #0 txa sta quotient @@ -546,11 +537,11 @@ divr16u: { asl quotient rol quotient+1 lda rem+1 - cmp divisor+1 + cmp #>main.wavelength bcc b3 bne !+ lda rem - cmp divisor + cmp #main.wavelength sta rem+1 b3: inx @@ -571,10 +562,10 @@ divr16u: { rts } sin8s_gen: { - .label step = $11 + .label step = $f .label sintab = 5 .label x = 2 - .label i = $f + .label i = $11 jsr div16u lda #<0 sta i @@ -777,11 +768,7 @@ mul8u: { jmp b1 } div16u: { - .label return = $11 - lda #main.wavelength - sta divr16u.divisor+1 + .label return = $f lda #PI2_u4f12 diff --git a/src/test/java/dk/camelot64/kickc/test/ref/sinusgen8b.cfg b/src/test/java/dk/camelot64/kickc/test/ref/sinusgen8b.cfg index a0a56f36a..3205c1e5b 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/sinusgen8b.cfg +++ b/src/test/java/dk/camelot64/kickc/test/ref/sinusgen8b.cfg @@ -276,38 +276,37 @@ div32u16u::@return: scope:[div32u16u] from div32u16u::@3 [143] return [ div32u16u::return#0 ] ( main:2::sin16s_gen:7::div32u16u:61 [ div32u16u::return#0 ] ) to:@return divr16u: scope:[divr16u] from div16u div32u16u div32u16u::@2 - [144] (word) divr16u::divisor#7 ← phi( div16u/(const word) main::wavelength#0 div32u16u/(const word) main::wavelength#0 div32u16u::@2/(const word) main::wavelength#0 ) [ divr16u::rem#11 divr16u::dividend#6 divr16u::divisor#7 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::rem#11 divr16u::dividend#6 divr16u::divisor#7 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::rem#11 divr16u::dividend#6 divr16u::divisor#7 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::rem#11 divr16u::dividend#6 divr16u::divisor#7 ] ) - [144] (word) divr16u::dividend#6 ← phi( div16u/(const word) PI2_u4f12#0 div32u16u/>(const dword) PI2_u4f28#0 div32u16u::@2/<(const dword) PI2_u4f28#0 ) [ divr16u::rem#11 divr16u::dividend#6 divr16u::divisor#7 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::rem#11 divr16u::dividend#6 divr16u::divisor#7 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::rem#11 divr16u::dividend#6 divr16u::divisor#7 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::rem#11 divr16u::dividend#6 divr16u::divisor#7 ] ) - [144] (word) divr16u::rem#11 ← phi( div16u/(byte/signed byte/word/signed word/dword/signed dword) 0 div32u16u/(byte/signed byte/word/signed word/dword/signed dword) 0 div32u16u::@2/(word) divr16u::rem#5 ) [ divr16u::rem#11 divr16u::dividend#6 divr16u::divisor#7 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::rem#11 divr16u::dividend#6 divr16u::divisor#7 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::rem#11 divr16u::dividend#6 divr16u::divisor#7 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::rem#11 divr16u::dividend#6 divr16u::divisor#7 ] ) + [144] (word) divr16u::dividend#6 ← phi( div16u/(const word) PI2_u4f12#0 div32u16u/>(const dword) PI2_u4f28#0 div32u16u::@2/<(const dword) PI2_u4f28#0 ) [ divr16u::rem#11 divr16u::dividend#6 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::rem#11 divr16u::dividend#6 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::rem#11 divr16u::dividend#6 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::rem#11 divr16u::dividend#6 ] ) + [144] (word) divr16u::rem#11 ← phi( div16u/(byte/signed byte/word/signed word/dword/signed dword) 0 div32u16u/(byte/signed byte/word/signed word/dword/signed dword) 0 div32u16u::@2/(word) divr16u::rem#5 ) [ divr16u::rem#11 divr16u::dividend#6 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::rem#11 divr16u::dividend#6 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::rem#11 divr16u::dividend#6 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::rem#11 divr16u::dividend#6 ] ) to:divr16u::@1 divr16u::@1: scope:[divr16u] from divr16u divr16u::@3 - [145] (byte) divr16u::i#2 ← phi( divr16u/(byte/signed byte/word/signed word/dword/signed dword) 0 divr16u::@3/(byte) divr16u::i#1 ) [ divr16u::divisor#7 divr16u::rem#6 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::divisor#7 divr16u::rem#6 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::divisor#7 divr16u::rem#6 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::divisor#7 divr16u::rem#6 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 ] ) - [145] (word) divr16u::quotient#3 ← phi( divr16u/(byte/signed byte/word/signed word/dword/signed dword) 0 divr16u::@3/(word) divr16u::return#0 ) [ divr16u::divisor#7 divr16u::rem#6 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::divisor#7 divr16u::rem#6 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::divisor#7 divr16u::rem#6 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::divisor#7 divr16u::rem#6 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 ] ) - [145] (word) divr16u::dividend#4 ← phi( divr16u/(word) divr16u::dividend#6 divr16u::@3/(word) divr16u::dividend#0 ) [ divr16u::divisor#7 divr16u::rem#6 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::divisor#7 divr16u::rem#6 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::divisor#7 divr16u::rem#6 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::divisor#7 divr16u::rem#6 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 ] ) - [145] (word) divr16u::rem#6 ← phi( divr16u/(word) divr16u::rem#11 divr16u::@3/(word) divr16u::rem#10 ) [ divr16u::divisor#7 divr16u::rem#6 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::divisor#7 divr16u::rem#6 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::divisor#7 divr16u::rem#6 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::divisor#7 divr16u::rem#6 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 ] ) - [146] (word) divr16u::rem#0 ← (word) divr16u::rem#6 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) - [147] (byte~) divr16u::$1 ← > (word) divr16u::dividend#4 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) - [148] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) - [149] if((byte~) divr16u::$2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto divr16u::@2 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) + [145] (byte) divr16u::i#2 ← phi( divr16u/(byte/signed byte/word/signed word/dword/signed dword) 0 divr16u::@3/(byte) divr16u::i#1 ) [ divr16u::rem#6 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::rem#6 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::rem#6 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::rem#6 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 ] ) + [145] (word) divr16u::quotient#3 ← phi( divr16u/(byte/signed byte/word/signed word/dword/signed dword) 0 divr16u::@3/(word) divr16u::return#0 ) [ divr16u::rem#6 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::rem#6 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::rem#6 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::rem#6 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 ] ) + [145] (word) divr16u::dividend#4 ← phi( divr16u/(word) divr16u::dividend#6 divr16u::@3/(word) divr16u::dividend#0 ) [ divr16u::rem#6 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::rem#6 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::rem#6 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::rem#6 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 ] ) + [145] (word) divr16u::rem#6 ← phi( divr16u/(word) divr16u::rem#11 divr16u::@3/(word) divr16u::rem#10 ) [ divr16u::rem#6 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::rem#6 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::rem#6 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::rem#6 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 ] ) + [146] (word) divr16u::rem#0 ← (word) divr16u::rem#6 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) + [147] (byte~) divr16u::$1 ← > (word) divr16u::dividend#4 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) + [148] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) + [149] if((byte~) divr16u::$2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto divr16u::@2 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) to:divr16u::@4 divr16u::@4: scope:[divr16u] from divr16u::@1 - [150] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) + [150] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) to:divr16u::@2 divr16u::@2: scope:[divr16u] from divr16u::@1 divr16u::@4 - [151] (word) divr16u::rem#7 ← phi( divr16u::@1/(word) divr16u::rem#0 divr16u::@4/(word) divr16u::rem#1 ) [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#7 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#7 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#7 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#7 ] ) - [152] (word) divr16u::dividend#0 ← (word) divr16u::dividend#4 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#7 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::divisor#7 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::divisor#7 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::divisor#7 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 ] ) - [153] (word) divr16u::quotient#1 ← (word) divr16u::quotient#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] ) - [154] if((word) divr16u::rem#7<(word) divr16u::divisor#7) goto divr16u::@3 [ divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] ) + [151] (word) divr16u::rem#7 ← phi( divr16u::@1/(word) divr16u::rem#0 divr16u::@4/(word) divr16u::rem#1 ) [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#7 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#7 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#7 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#7 ] ) + [152] (word) divr16u::dividend#0 ← (word) divr16u::dividend#4 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 ] ) + [153] (word) divr16u::quotient#1 ← (word) divr16u::quotient#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] ) + [154] if((word) divr16u::rem#7<(const word) main::wavelength#0) goto divr16u::@3 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] ) to:divr16u::@5 divr16u::@5: scope:[divr16u] from divr16u::@2 - [155] (word) divr16u::quotient#2 ← ++ (word) divr16u::quotient#1 [ divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#2 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#2 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#2 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#2 ] ) - [156] (word) divr16u::rem#2 ← (word) divr16u::rem#7 - (word) divr16u::divisor#7 [ divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ) + [155] (word) divr16u::quotient#2 ← ++ (word) divr16u::quotient#1 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#2 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#2 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#2 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#2 ] ) + [156] (word) divr16u::rem#2 ← (word) divr16u::rem#7 - (const word) main::wavelength#0 [ divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ) to:divr16u::@3 divr16u::@3: scope:[divr16u] from divr16u::@2 divr16u::@5 - [157] (word) divr16u::return#0 ← phi( divr16u::@2/(word) divr16u::quotient#1 divr16u::@5/(word) divr16u::quotient#2 ) [ divr16u::return#0 divr16u::divisor#7 divr16u::i#2 divr16u::rem#10 divr16u::dividend#0 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::return#0 divr16u::divisor#7 divr16u::i#2 divr16u::rem#10 divr16u::dividend#0 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::divisor#7 divr16u::i#2 divr16u::rem#10 divr16u::dividend#0 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::return#0 divr16u::divisor#7 divr16u::i#2 divr16u::rem#10 divr16u::dividend#0 ] ) - [157] (word) divr16u::rem#10 ← phi( divr16u::@2/(word) divr16u::rem#7 divr16u::@5/(word) divr16u::rem#2 ) [ divr16u::return#0 divr16u::divisor#7 divr16u::i#2 divr16u::rem#10 divr16u::dividend#0 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::return#0 divr16u::divisor#7 divr16u::i#2 divr16u::rem#10 divr16u::dividend#0 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::divisor#7 divr16u::i#2 divr16u::rem#10 divr16u::dividend#0 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::return#0 divr16u::divisor#7 divr16u::i#2 divr16u::rem#10 divr16u::dividend#0 ] ) - [158] (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2 [ divr16u::return#0 divr16u::divisor#7 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::return#0 divr16u::divisor#7 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::divisor#7 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::return#0 divr16u::divisor#7 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ) - [159] if((byte) divr16u::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto divr16u::@1 [ divr16u::return#0 divr16u::divisor#7 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::return#0 divr16u::divisor#7 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::divisor#7 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::return#0 divr16u::divisor#7 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ) + [157] (word) divr16u::return#0 ← phi( divr16u::@2/(word) divr16u::quotient#1 divr16u::@5/(word) divr16u::quotient#2 ) [ divr16u::return#0 divr16u::i#2 divr16u::rem#10 divr16u::dividend#0 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::return#0 divr16u::i#2 divr16u::rem#10 divr16u::dividend#0 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::i#2 divr16u::rem#10 divr16u::dividend#0 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::return#0 divr16u::i#2 divr16u::rem#10 divr16u::dividend#0 ] ) + [157] (word) divr16u::rem#10 ← phi( divr16u::@2/(word) divr16u::rem#7 divr16u::@5/(word) divr16u::rem#2 ) [ divr16u::return#0 divr16u::i#2 divr16u::rem#10 divr16u::dividend#0 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::return#0 divr16u::i#2 divr16u::rem#10 divr16u::dividend#0 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::i#2 divr16u::rem#10 divr16u::dividend#0 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::return#0 divr16u::i#2 divr16u::rem#10 divr16u::dividend#0 ] ) + [158] (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ) + [159] if((byte) divr16u::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto divr16u::@1 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ) to:divr16u::@6 divr16u::@6: scope:[divr16u] from divr16u::@3 [160] (word) rem16u#1 ← (word) divr16u::rem#10 [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::return#0 rem16u#1 ] ) diff --git a/src/test/java/dk/camelot64/kickc/test/ref/sinusgen8b.log b/src/test/java/dk/camelot64/kickc/test/ref/sinusgen8b.log index 86d1390a7..243ffe8db 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/sinusgen8b.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/sinusgen8b.log @@ -4715,7 +4715,6 @@ Constant (const word) divr16u::divisor#0 = div16u::divisor#0 Constant (const word) divr16u::divisor#1 = div32u16u::divisor#0 Constant (const word) divr16u::divisor#2 = div32u16u::divisor#0 Succesful SSA optimization Pass2ConstantIdentification -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#2 Fixing inline constructor with div32u16u::$4 ← div32u16u::quotient_hi#0 dw= div32u16u::quotient_lo#0 Succesful SSA optimization Pass2FixInlineConstructors Eliminating unused constant (const word) rem16u#0 @@ -4898,7 +4897,6 @@ Not aliassing across scopes: print_char_cursor#37 print_char_cursor#41 Not aliassing across scopes: print_char::ch#3 print_char::ch#1 Not aliassing across scopes: print_char_cursor#27 print_char_cursor#37 Not aliassing across scopes: print_sbyte::b#1 main::sd#0 -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#2 Not aliassing across scopes: rem16u#1 divr16u::rem#10 Not aliassing across scopes: divr16u::return#2 divr16u::return#0 Not aliassing across scopes: div16u::return#0 divr16u::return#2 @@ -4977,7 +4975,6 @@ Not aliassing across scopes: print_char_cursor#37 print_char_cursor#41 Not aliassing across scopes: print_char::ch#3 print_char::ch#1 Not aliassing across scopes: print_char_cursor#27 print_char_cursor#37 Not aliassing across scopes: print_sbyte::b#1 main::sd#0 -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#2 OPTIMIZING CONTROL FLOW GRAPH Inlining constant with var siblings (const word) divr16u::quotient#0 Inlining constant with var siblings (const word) divr16u::quotient#0 @@ -5147,6 +5144,8 @@ Constant inlined div32u16u::divisor#0 = (const word) main::wavelength#0 Constant inlined print_str::str#1 = (const string) main::str Constant inlined sin8s_gen::i#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 Succesful SSA optimization Pass2ConstantInlining +Identical Phi Values (word) divr16u::divisor#7 (const word) main::wavelength#0 +Succesful SSA optimization Pass2IdenticalPhiElimination Block Sequence Planned @begin @33 @end main main::@5 main::@6 main::@1 main::@3 main::@2 main::@8 main::@9 main::@return print_str print_str::@1 print_str::@return print_str::@2 print_sbyte print_sbyte::@2 print_sbyte::@4 print_sbyte::@1 print_sbyte::@return print_byte print_byte::@1 print_byte::@return print_char print_char::@return print_cls print_cls::@1 print_cls::@return sin16s_gen sin16s_gen::@3 sin16s_gen::@1 sin16s_gen::@4 sin16s_gen::@return sin16s sin16s::@4 sin16s::@1 sin16s::@5 sin16s::@2 sin16s::@8 sin16s::@9 sin16s::@10 sin16s::@11 sin16s::@12 sin16s::@6 sin16s::@3 sin16s::@return mulu16_sel mulu16_sel::@2 mulu16_sel::@return mul16u mul16u::@1 mul16u::@return mul16u::@2 mul16u::@7 mul16u::@4 div32u16u div32u16u::@2 div32u16u::@3 div32u16u::@return divr16u divr16u::@1 divr16u::@4 divr16u::@2 divr16u::@5 divr16u::@3 divr16u::@6 divr16u::@return sin8s_gen sin8s_gen::@3 sin8s_gen::@1 sin8s_gen::@4 sin8s_gen::@return sin8s sin8s::@5 sin8s::@1 sin8s::@6 sin8s::@2 sin8s::@10 sin8s::@11 sin8s::@12 sin8s::@13 sin8s::@14 sin8s::@7 sin8s::@3 sin8s::@8 sin8s::@4 sin8s::@return mulu8_sel mulu8_sel::@2 mulu8_sel::@return mul8u mul8u::@1 mul8u::@return mul8u::@2 mul8u::@7 mul8u::@4 div16u div16u::@2 div16u::@return Added new block during phi lifting main::@11(between main::@9 and main::@1) Added new block during phi lifting main::@12(between main::@1 and main::@2) @@ -5238,7 +5237,7 @@ Propagating live ranges... Propagating live ranges... Propagating live ranges... Propagating live ranges... -Created 51 initial phi equivalence classes +Created 50 initial phi equivalence classes Coalesced [19] print_char_cursor#53 ← print_char_cursor#42 Coalesced [21] print_char_cursor#52 ← print_char_cursor#19 Coalesced [25] print_char_cursor#54 ← print_char_cursor#10 @@ -5322,7 +5321,7 @@ Coalesced [315] mul8u::a#8 ← mul8u::a#0 Coalesced [316] mul8u::res#7 ← mul8u::res#6 Coalesced [317] mul8u::mb#7 ← mul8u::mb#1 Coalesced (already) [318] mul8u::res#8 ← mul8u::res#2 -Coalesced down to 36 phi equivalence classes +Coalesced down to 35 phi equivalence classes Culled Empty Block (label) main::@11 Culled Empty Block (label) main::@12 Culled Empty Block (label) print_sbyte::@5 @@ -5669,38 +5668,37 @@ div32u16u::@return: scope:[div32u16u] from div32u16u::@3 [143] return [ div32u16u::return#0 ] ( main:2::sin16s_gen:7::div32u16u:61 [ div32u16u::return#0 ] ) to:@return divr16u: scope:[divr16u] from div16u div32u16u div32u16u::@2 - [144] (word) divr16u::divisor#7 ← phi( div16u/(const word) main::wavelength#0 div32u16u/(const word) main::wavelength#0 div32u16u::@2/(const word) main::wavelength#0 ) [ divr16u::rem#11 divr16u::dividend#6 divr16u::divisor#7 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::rem#11 divr16u::dividend#6 divr16u::divisor#7 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::rem#11 divr16u::dividend#6 divr16u::divisor#7 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::rem#11 divr16u::dividend#6 divr16u::divisor#7 ] ) - [144] (word) divr16u::dividend#6 ← phi( div16u/(const word) PI2_u4f12#0 div32u16u/>(const dword) PI2_u4f28#0 div32u16u::@2/<(const dword) PI2_u4f28#0 ) [ divr16u::rem#11 divr16u::dividend#6 divr16u::divisor#7 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::rem#11 divr16u::dividend#6 divr16u::divisor#7 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::rem#11 divr16u::dividend#6 divr16u::divisor#7 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::rem#11 divr16u::dividend#6 divr16u::divisor#7 ] ) - [144] (word) divr16u::rem#11 ← phi( div16u/(byte/signed byte/word/signed word/dword/signed dword) 0 div32u16u/(byte/signed byte/word/signed word/dword/signed dword) 0 div32u16u::@2/(word) divr16u::rem#5 ) [ divr16u::rem#11 divr16u::dividend#6 divr16u::divisor#7 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::rem#11 divr16u::dividend#6 divr16u::divisor#7 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::rem#11 divr16u::dividend#6 divr16u::divisor#7 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::rem#11 divr16u::dividend#6 divr16u::divisor#7 ] ) + [144] (word) divr16u::dividend#6 ← phi( div16u/(const word) PI2_u4f12#0 div32u16u/>(const dword) PI2_u4f28#0 div32u16u::@2/<(const dword) PI2_u4f28#0 ) [ divr16u::rem#11 divr16u::dividend#6 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::rem#11 divr16u::dividend#6 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::rem#11 divr16u::dividend#6 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::rem#11 divr16u::dividend#6 ] ) + [144] (word) divr16u::rem#11 ← phi( div16u/(byte/signed byte/word/signed word/dword/signed dword) 0 div32u16u/(byte/signed byte/word/signed word/dword/signed dword) 0 div32u16u::@2/(word) divr16u::rem#5 ) [ divr16u::rem#11 divr16u::dividend#6 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::rem#11 divr16u::dividend#6 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::rem#11 divr16u::dividend#6 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::rem#11 divr16u::dividend#6 ] ) to:divr16u::@1 divr16u::@1: scope:[divr16u] from divr16u divr16u::@3 - [145] (byte) divr16u::i#2 ← phi( divr16u/(byte/signed byte/word/signed word/dword/signed dword) 0 divr16u::@3/(byte) divr16u::i#1 ) [ divr16u::divisor#7 divr16u::rem#6 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::divisor#7 divr16u::rem#6 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::divisor#7 divr16u::rem#6 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::divisor#7 divr16u::rem#6 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 ] ) - [145] (word) divr16u::quotient#3 ← phi( divr16u/(byte/signed byte/word/signed word/dword/signed dword) 0 divr16u::@3/(word) divr16u::return#0 ) [ divr16u::divisor#7 divr16u::rem#6 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::divisor#7 divr16u::rem#6 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::divisor#7 divr16u::rem#6 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::divisor#7 divr16u::rem#6 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 ] ) - [145] (word) divr16u::dividend#4 ← phi( divr16u/(word) divr16u::dividend#6 divr16u::@3/(word) divr16u::dividend#0 ) [ divr16u::divisor#7 divr16u::rem#6 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::divisor#7 divr16u::rem#6 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::divisor#7 divr16u::rem#6 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::divisor#7 divr16u::rem#6 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 ] ) - [145] (word) divr16u::rem#6 ← phi( divr16u/(word) divr16u::rem#11 divr16u::@3/(word) divr16u::rem#10 ) [ divr16u::divisor#7 divr16u::rem#6 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::divisor#7 divr16u::rem#6 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::divisor#7 divr16u::rem#6 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::divisor#7 divr16u::rem#6 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 ] ) - [146] (word) divr16u::rem#0 ← (word) divr16u::rem#6 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) - [147] (byte~) divr16u::$1 ← > (word) divr16u::dividend#4 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) - [148] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) - [149] if((byte~) divr16u::$2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto divr16u::@2 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) + [145] (byte) divr16u::i#2 ← phi( divr16u/(byte/signed byte/word/signed word/dword/signed dword) 0 divr16u::@3/(byte) divr16u::i#1 ) [ divr16u::rem#6 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::rem#6 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::rem#6 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::rem#6 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 ] ) + [145] (word) divr16u::quotient#3 ← phi( divr16u/(byte/signed byte/word/signed word/dword/signed dword) 0 divr16u::@3/(word) divr16u::return#0 ) [ divr16u::rem#6 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::rem#6 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::rem#6 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::rem#6 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 ] ) + [145] (word) divr16u::dividend#4 ← phi( divr16u/(word) divr16u::dividend#6 divr16u::@3/(word) divr16u::dividend#0 ) [ divr16u::rem#6 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::rem#6 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::rem#6 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::rem#6 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 ] ) + [145] (word) divr16u::rem#6 ← phi( divr16u/(word) divr16u::rem#11 divr16u::@3/(word) divr16u::rem#10 ) [ divr16u::rem#6 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::rem#6 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::rem#6 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::rem#6 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 ] ) + [146] (word) divr16u::rem#0 ← (word) divr16u::rem#6 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) + [147] (byte~) divr16u::$1 ← > (word) divr16u::dividend#4 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) + [148] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) + [149] if((byte~) divr16u::$2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto divr16u::@2 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) to:divr16u::@4 divr16u::@4: scope:[divr16u] from divr16u::@1 - [150] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) + [150] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) to:divr16u::@2 divr16u::@2: scope:[divr16u] from divr16u::@1 divr16u::@4 - [151] (word) divr16u::rem#7 ← phi( divr16u::@1/(word) divr16u::rem#0 divr16u::@4/(word) divr16u::rem#1 ) [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#7 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#7 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#7 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#7 ] ) - [152] (word) divr16u::dividend#0 ← (word) divr16u::dividend#4 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#7 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::divisor#7 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::divisor#7 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::divisor#7 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 ] ) - [153] (word) divr16u::quotient#1 ← (word) divr16u::quotient#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] ) - [154] if((word) divr16u::rem#7<(word) divr16u::divisor#7) goto divr16u::@3 [ divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] ) + [151] (word) divr16u::rem#7 ← phi( divr16u::@1/(word) divr16u::rem#0 divr16u::@4/(word) divr16u::rem#1 ) [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#7 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#7 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#7 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#7 ] ) + [152] (word) divr16u::dividend#0 ← (word) divr16u::dividend#4 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 ] ) + [153] (word) divr16u::quotient#1 ← (word) divr16u::quotient#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] ) + [154] if((word) divr16u::rem#7<(const word) main::wavelength#0) goto divr16u::@3 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] ) to:divr16u::@5 divr16u::@5: scope:[divr16u] from divr16u::@2 - [155] (word) divr16u::quotient#2 ← ++ (word) divr16u::quotient#1 [ divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#2 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#2 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#2 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#2 ] ) - [156] (word) divr16u::rem#2 ← (word) divr16u::rem#7 - (word) divr16u::divisor#7 [ divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ) + [155] (word) divr16u::quotient#2 ← ++ (word) divr16u::quotient#1 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#2 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#2 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#2 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#2 ] ) + [156] (word) divr16u::rem#2 ← (word) divr16u::rem#7 - (const word) main::wavelength#0 [ divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ) to:divr16u::@3 divr16u::@3: scope:[divr16u] from divr16u::@2 divr16u::@5 - [157] (word) divr16u::return#0 ← phi( divr16u::@2/(word) divr16u::quotient#1 divr16u::@5/(word) divr16u::quotient#2 ) [ divr16u::return#0 divr16u::divisor#7 divr16u::i#2 divr16u::rem#10 divr16u::dividend#0 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::return#0 divr16u::divisor#7 divr16u::i#2 divr16u::rem#10 divr16u::dividend#0 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::divisor#7 divr16u::i#2 divr16u::rem#10 divr16u::dividend#0 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::return#0 divr16u::divisor#7 divr16u::i#2 divr16u::rem#10 divr16u::dividend#0 ] ) - [157] (word) divr16u::rem#10 ← phi( divr16u::@2/(word) divr16u::rem#7 divr16u::@5/(word) divr16u::rem#2 ) [ divr16u::return#0 divr16u::divisor#7 divr16u::i#2 divr16u::rem#10 divr16u::dividend#0 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::return#0 divr16u::divisor#7 divr16u::i#2 divr16u::rem#10 divr16u::dividend#0 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::divisor#7 divr16u::i#2 divr16u::rem#10 divr16u::dividend#0 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::return#0 divr16u::divisor#7 divr16u::i#2 divr16u::rem#10 divr16u::dividend#0 ] ) - [158] (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2 [ divr16u::return#0 divr16u::divisor#7 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::return#0 divr16u::divisor#7 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::divisor#7 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::return#0 divr16u::divisor#7 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ) - [159] if((byte) divr16u::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto divr16u::@1 [ divr16u::return#0 divr16u::divisor#7 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::return#0 divr16u::divisor#7 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::divisor#7 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::return#0 divr16u::divisor#7 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ) + [157] (word) divr16u::return#0 ← phi( divr16u::@2/(word) divr16u::quotient#1 divr16u::@5/(word) divr16u::quotient#2 ) [ divr16u::return#0 divr16u::i#2 divr16u::rem#10 divr16u::dividend#0 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::return#0 divr16u::i#2 divr16u::rem#10 divr16u::dividend#0 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::i#2 divr16u::rem#10 divr16u::dividend#0 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::return#0 divr16u::i#2 divr16u::rem#10 divr16u::dividend#0 ] ) + [157] (word) divr16u::rem#10 ← phi( divr16u::@2/(word) divr16u::rem#7 divr16u::@5/(word) divr16u::rem#2 ) [ divr16u::return#0 divr16u::i#2 divr16u::rem#10 divr16u::dividend#0 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::return#0 divr16u::i#2 divr16u::rem#10 divr16u::dividend#0 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::i#2 divr16u::rem#10 divr16u::dividend#0 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::return#0 divr16u::i#2 divr16u::rem#10 divr16u::dividend#0 ] ) + [158] (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ) + [159] if((byte) divr16u::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto divr16u::@1 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ) to:divr16u::@6 divr16u::@6: scope:[divr16u] from divr16u::@3 [160] (word) rem16u#1 ← (word) divr16u::rem#10 [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::return#0 rem16u#1 ] ) @@ -6063,7 +6061,6 @@ VARIABLE REGISTER WEIGHTS (word) divr16u::dividend#4 5.0 (word) divr16u::dividend#6 2.0 (word) divr16u::divisor -(word) divr16u::divisor#7 1.375 (byte) divr16u::i (byte) divr16u::i#1 16.5 (byte) divr16u::i#2 1.6923076923076923 @@ -6342,7 +6339,6 @@ Initial phi equivalence classes [ mul16u::a#2 mul16u::a#1 mul16u::a#0 ] [ mul16u::res#2 mul16u::res#6 mul16u::res#1 ] [ mul16u::mb#2 mul16u::mb#0 mul16u::mb#1 ] -[ divr16u::divisor#7 ] [ divr16u::rem#6 divr16u::rem#11 divr16u::rem#5 divr16u::rem#10 divr16u::rem#7 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] [ divr16u::dividend#4 divr16u::dividend#6 divr16u::dividend#0 ] [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] @@ -6447,7 +6443,6 @@ Complete equivalence classes [ mul16u::a#2 mul16u::a#1 mul16u::a#0 ] [ mul16u::res#2 mul16u::res#6 mul16u::res#1 ] [ mul16u::mb#2 mul16u::mb#0 mul16u::mb#1 ] -[ divr16u::divisor#7 ] [ divr16u::rem#6 divr16u::rem#11 divr16u::rem#5 divr16u::rem#10 divr16u::rem#7 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] [ divr16u::dividend#4 divr16u::dividend#6 divr16u::dividend#0 ] [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] @@ -6551,92 +6546,91 @@ Allocated zp ZP_BYTE:30 [ mulu16_sel::select#5 ] Allocated zp ZP_WORD:31 [ mul16u::a#2 mul16u::a#1 mul16u::a#0 ] Allocated zp ZP_DWORD:33 [ mul16u::res#2 mul16u::res#6 mul16u::res#1 ] Allocated zp ZP_DWORD:37 [ mul16u::mb#2 mul16u::mb#0 mul16u::mb#1 ] -Allocated zp ZP_WORD:41 [ divr16u::divisor#7 ] -Allocated zp ZP_WORD:43 [ divr16u::rem#6 divr16u::rem#11 divr16u::rem#5 divr16u::rem#10 divr16u::rem#7 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] -Allocated zp ZP_WORD:45 [ divr16u::dividend#4 divr16u::dividend#6 divr16u::dividend#0 ] -Allocated zp ZP_WORD:47 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] -Allocated zp ZP_BYTE:49 [ divr16u::i#2 divr16u::i#1 ] -Allocated zp ZP_WORD:50 [ sin8s_gen::x#2 sin8s_gen::x#1 ] -Allocated zp ZP_WORD:52 [ sin8s_gen::sintab#2 sin8s_gen::sintab#0 ] -Allocated zp ZP_WORD:54 [ sin8s_gen::i#2 sin8s_gen::i#1 ] -Allocated zp ZP_BYTE:56 [ sin8s::isUpper#10 ] -Allocated zp ZP_WORD:57 [ sin8s::x#6 sin8s::x#4 sin8s::x#0 sin8s::x#1 sin8s::x#2 ] -Allocated zp ZP_BYTE:59 [ sin8s::usinx#4 sin8s::usinx#1 sin8s::usinx#2 ] -Allocated zp ZP_BYTE:60 [ sin8s::return#1 sin8s::return#5 sin8s::sinx#1 ] -Allocated zp ZP_BYTE:61 [ mulu8_sel::v1#5 mulu8_sel::v1#1 mulu8_sel::v1#2 mulu8_sel::v1#3 mulu8_sel::v1#4 mulu8_sel::v1#0 ] -Allocated zp ZP_BYTE:62 [ mulu8_sel::v2#5 mulu8_sel::v2#1 mulu8_sel::v2#3 mulu8_sel::v2#4 mulu8_sel::v2#0 ] -Allocated zp ZP_BYTE:63 [ mulu8_sel::select#5 ] -Allocated zp ZP_BYTE:64 [ mul8u::a#2 mul8u::a#1 mul8u::a#0 ] -Allocated zp ZP_WORD:65 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 ] -Allocated zp ZP_WORD:67 [ mul8u::mb#2 mul8u::mb#0 mul8u::mb#1 ] -Allocated zp ZP_BYTE:69 [ main::sb#0 ] -Allocated zp ZP_WORD:70 [ main::$3 ] -Allocated zp ZP_WORD:72 [ main::$4 ] -Allocated zp ZP_WORD:74 [ main::$5 ] -Allocated zp ZP_WORD:76 [ main::sw#0 ] -Allocated zp ZP_BYTE:78 [ main::$6 ] -Allocated zp ZP_BYTE:79 [ main::sd#0 ] -Allocated zp ZP_BYTE:80 [ print_byte::$0 ] -Allocated zp ZP_BYTE:81 [ print_byte::$2 ] -Allocated zp ZP_DWORD:82 [ div32u16u::return#2 ] -Allocated zp ZP_DWORD:86 [ sin16s_gen::step#0 ] -Allocated zp ZP_WORD:90 [ sin16s::return#0 ] -Allocated zp ZP_WORD:92 [ sin16s_gen::$1 ] -Allocated zp ZP_DWORD:94 [ sin16s::$6 ] -Allocated zp ZP_WORD:98 [ sin16s::x1#0 ] -Allocated zp ZP_WORD:100 [ mulu16_sel::return#0 ] -Allocated zp ZP_WORD:102 [ sin16s::x2#0 ] -Allocated zp ZP_WORD:104 [ mulu16_sel::return#1 ] -Allocated zp ZP_WORD:106 [ sin16s::x3#0 ] -Allocated zp ZP_WORD:108 [ mulu16_sel::return#2 ] -Allocated zp ZP_WORD:110 [ sin16s::x3_6#0 ] -Allocated zp ZP_WORD:112 [ sin16s::usinx#0 ] -Allocated zp ZP_WORD:114 [ mulu16_sel::return#10 ] -Allocated zp ZP_WORD:116 [ sin16s::x4#0 ] -Allocated zp ZP_WORD:118 [ mulu16_sel::return#11 ] -Allocated zp ZP_WORD:120 [ sin16s::x5#0 ] -Allocated zp ZP_WORD:122 [ sin16s::x5_128#0 ] -Allocated zp ZP_WORD:124 [ sin16s::usinx#1 ] -Allocated zp ZP_WORD:126 [ mul16u::b#0 ] -Allocated zp ZP_DWORD:128 [ mul16u::return#2 ] -Allocated zp ZP_DWORD:132 [ mulu16_sel::$0 ] -Allocated zp ZP_DWORD:136 [ mulu16_sel::$1 ] -Allocated zp ZP_WORD:140 [ mulu16_sel::return#12 ] -Allocated zp ZP_BYTE:142 [ mul16u::$1 ] -Allocated zp ZP_WORD:143 [ divr16u::return#3 ] -Allocated zp ZP_WORD:145 [ div32u16u::quotient_hi#0 ] -Allocated zp ZP_WORD:147 [ divr16u::return#4 ] -Allocated zp ZP_WORD:149 [ div32u16u::quotient_lo#0 ] -Allocated zp ZP_DWORD:151 [ div32u16u::return#0 ] -Allocated zp ZP_BYTE:155 [ divr16u::$1 ] -Allocated zp ZP_BYTE:156 [ divr16u::$2 ] -Allocated zp ZP_WORD:157 [ rem16u#1 ] -Allocated zp ZP_WORD:159 [ div16u::return#2 ] -Allocated zp ZP_WORD:161 [ sin8s_gen::step#0 ] -Allocated zp ZP_BYTE:163 [ sin8s::return#0 ] -Allocated zp ZP_BYTE:164 [ sin8s_gen::$1 ] -Allocated zp ZP_WORD:165 [ sin8s::$6 ] -Allocated zp ZP_BYTE:167 [ sin8s::x1#0 ] -Allocated zp ZP_BYTE:168 [ mulu8_sel::return#0 ] -Allocated zp ZP_BYTE:169 [ sin8s::x2#0 ] -Allocated zp ZP_BYTE:170 [ mulu8_sel::return#1 ] -Allocated zp ZP_BYTE:171 [ sin8s::x3#0 ] -Allocated zp ZP_BYTE:172 [ mulu8_sel::return#2 ] -Allocated zp ZP_BYTE:173 [ sin8s::x3_6#0 ] -Allocated zp ZP_BYTE:174 [ sin8s::usinx#0 ] -Allocated zp ZP_BYTE:175 [ mulu8_sel::return#10 ] -Allocated zp ZP_BYTE:176 [ sin8s::x4#0 ] -Allocated zp ZP_BYTE:177 [ mulu8_sel::return#11 ] -Allocated zp ZP_BYTE:178 [ sin8s::x5#0 ] -Allocated zp ZP_BYTE:179 [ sin8s::x5_128#0 ] -Allocated zp ZP_BYTE:180 [ mul8u::b#0 ] -Allocated zp ZP_WORD:181 [ mul8u::return#2 ] -Allocated zp ZP_WORD:183 [ mulu8_sel::$0 ] -Allocated zp ZP_WORD:185 [ mulu8_sel::$1 ] -Allocated zp ZP_BYTE:187 [ mulu8_sel::return#12 ] -Allocated zp ZP_BYTE:188 [ mul8u::$1 ] -Allocated zp ZP_WORD:189 [ divr16u::return#2 ] -Allocated zp ZP_WORD:191 [ div16u::return#0 ] +Allocated zp ZP_WORD:41 [ divr16u::rem#6 divr16u::rem#11 divr16u::rem#5 divr16u::rem#10 divr16u::rem#7 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] +Allocated zp ZP_WORD:43 [ divr16u::dividend#4 divr16u::dividend#6 divr16u::dividend#0 ] +Allocated zp ZP_WORD:45 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] +Allocated zp ZP_BYTE:47 [ divr16u::i#2 divr16u::i#1 ] +Allocated zp ZP_WORD:48 [ sin8s_gen::x#2 sin8s_gen::x#1 ] +Allocated zp ZP_WORD:50 [ sin8s_gen::sintab#2 sin8s_gen::sintab#0 ] +Allocated zp ZP_WORD:52 [ sin8s_gen::i#2 sin8s_gen::i#1 ] +Allocated zp ZP_BYTE:54 [ sin8s::isUpper#10 ] +Allocated zp ZP_WORD:55 [ sin8s::x#6 sin8s::x#4 sin8s::x#0 sin8s::x#1 sin8s::x#2 ] +Allocated zp ZP_BYTE:57 [ sin8s::usinx#4 sin8s::usinx#1 sin8s::usinx#2 ] +Allocated zp ZP_BYTE:58 [ sin8s::return#1 sin8s::return#5 sin8s::sinx#1 ] +Allocated zp ZP_BYTE:59 [ mulu8_sel::v1#5 mulu8_sel::v1#1 mulu8_sel::v1#2 mulu8_sel::v1#3 mulu8_sel::v1#4 mulu8_sel::v1#0 ] +Allocated zp ZP_BYTE:60 [ mulu8_sel::v2#5 mulu8_sel::v2#1 mulu8_sel::v2#3 mulu8_sel::v2#4 mulu8_sel::v2#0 ] +Allocated zp ZP_BYTE:61 [ mulu8_sel::select#5 ] +Allocated zp ZP_BYTE:62 [ mul8u::a#2 mul8u::a#1 mul8u::a#0 ] +Allocated zp ZP_WORD:63 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 ] +Allocated zp ZP_WORD:65 [ mul8u::mb#2 mul8u::mb#0 mul8u::mb#1 ] +Allocated zp ZP_BYTE:67 [ main::sb#0 ] +Allocated zp ZP_WORD:68 [ main::$3 ] +Allocated zp ZP_WORD:70 [ main::$4 ] +Allocated zp ZP_WORD:72 [ main::$5 ] +Allocated zp ZP_WORD:74 [ main::sw#0 ] +Allocated zp ZP_BYTE:76 [ main::$6 ] +Allocated zp ZP_BYTE:77 [ main::sd#0 ] +Allocated zp ZP_BYTE:78 [ print_byte::$0 ] +Allocated zp ZP_BYTE:79 [ print_byte::$2 ] +Allocated zp ZP_DWORD:80 [ div32u16u::return#2 ] +Allocated zp ZP_DWORD:84 [ sin16s_gen::step#0 ] +Allocated zp ZP_WORD:88 [ sin16s::return#0 ] +Allocated zp ZP_WORD:90 [ sin16s_gen::$1 ] +Allocated zp ZP_DWORD:92 [ sin16s::$6 ] +Allocated zp ZP_WORD:96 [ sin16s::x1#0 ] +Allocated zp ZP_WORD:98 [ mulu16_sel::return#0 ] +Allocated zp ZP_WORD:100 [ sin16s::x2#0 ] +Allocated zp ZP_WORD:102 [ mulu16_sel::return#1 ] +Allocated zp ZP_WORD:104 [ sin16s::x3#0 ] +Allocated zp ZP_WORD:106 [ mulu16_sel::return#2 ] +Allocated zp ZP_WORD:108 [ sin16s::x3_6#0 ] +Allocated zp ZP_WORD:110 [ sin16s::usinx#0 ] +Allocated zp ZP_WORD:112 [ mulu16_sel::return#10 ] +Allocated zp ZP_WORD:114 [ sin16s::x4#0 ] +Allocated zp ZP_WORD:116 [ mulu16_sel::return#11 ] +Allocated zp ZP_WORD:118 [ sin16s::x5#0 ] +Allocated zp ZP_WORD:120 [ sin16s::x5_128#0 ] +Allocated zp ZP_WORD:122 [ sin16s::usinx#1 ] +Allocated zp ZP_WORD:124 [ mul16u::b#0 ] +Allocated zp ZP_DWORD:126 [ mul16u::return#2 ] +Allocated zp ZP_DWORD:130 [ mulu16_sel::$0 ] +Allocated zp ZP_DWORD:134 [ mulu16_sel::$1 ] +Allocated zp ZP_WORD:138 [ mulu16_sel::return#12 ] +Allocated zp ZP_BYTE:140 [ mul16u::$1 ] +Allocated zp ZP_WORD:141 [ divr16u::return#3 ] +Allocated zp ZP_WORD:143 [ div32u16u::quotient_hi#0 ] +Allocated zp ZP_WORD:145 [ divr16u::return#4 ] +Allocated zp ZP_WORD:147 [ div32u16u::quotient_lo#0 ] +Allocated zp ZP_DWORD:149 [ div32u16u::return#0 ] +Allocated zp ZP_BYTE:153 [ divr16u::$1 ] +Allocated zp ZP_BYTE:154 [ divr16u::$2 ] +Allocated zp ZP_WORD:155 [ rem16u#1 ] +Allocated zp ZP_WORD:157 [ div16u::return#2 ] +Allocated zp ZP_WORD:159 [ sin8s_gen::step#0 ] +Allocated zp ZP_BYTE:161 [ sin8s::return#0 ] +Allocated zp ZP_BYTE:162 [ sin8s_gen::$1 ] +Allocated zp ZP_WORD:163 [ sin8s::$6 ] +Allocated zp ZP_BYTE:165 [ sin8s::x1#0 ] +Allocated zp ZP_BYTE:166 [ mulu8_sel::return#0 ] +Allocated zp ZP_BYTE:167 [ sin8s::x2#0 ] +Allocated zp ZP_BYTE:168 [ mulu8_sel::return#1 ] +Allocated zp ZP_BYTE:169 [ sin8s::x3#0 ] +Allocated zp ZP_BYTE:170 [ mulu8_sel::return#2 ] +Allocated zp ZP_BYTE:171 [ sin8s::x3_6#0 ] +Allocated zp ZP_BYTE:172 [ sin8s::usinx#0 ] +Allocated zp ZP_BYTE:173 [ mulu8_sel::return#10 ] +Allocated zp ZP_BYTE:174 [ sin8s::x4#0 ] +Allocated zp ZP_BYTE:175 [ mulu8_sel::return#11 ] +Allocated zp ZP_BYTE:176 [ sin8s::x5#0 ] +Allocated zp ZP_BYTE:177 [ sin8s::x5_128#0 ] +Allocated zp ZP_BYTE:178 [ mul8u::b#0 ] +Allocated zp ZP_WORD:179 [ mul8u::return#2 ] +Allocated zp ZP_WORD:181 [ mulu8_sel::$0 ] +Allocated zp ZP_WORD:183 [ mulu8_sel::$1 ] +Allocated zp ZP_BYTE:185 [ mulu8_sel::return#12 ] +Allocated zp ZP_BYTE:186 [ mul8u::$1 ] +Allocated zp ZP_WORD:187 [ divr16u::return#2 ] +Allocated zp ZP_WORD:189 [ div16u::return#0 ] INITIAL ASM //SEG0 Basic Upstart @@ -6651,7 +6645,7 @@ INITIAL ASM .const PI_u4f12 = $3244 .const PI_HALF_u4f12 = $1922 .label print_line_cursor = $400 - .label rem16u = $9d + .label rem16u = $9b .label print_char_cursor = 7 //SEG2 @begin bbegin: @@ -6672,13 +6666,13 @@ bend: //SEG9 main main: { .label wavelength = $c0 - .label _3 = $46 - .label _4 = $48 - .label _5 = $4a - .label _6 = $4e - .label sb = $45 - .label sw = $4c - .label sd = $4f + .label _3 = $44 + .label _4 = $46 + .label _5 = $48 + .label _6 = $4c + .label sb = $43 + .label sw = $4a + .label sd = $4d .label i = 2 //SEG10 [5] call sin8s_gen param-assignment [ ] ( main:2 [ ] ) //SEG11 [162] phi from main to sin8s_gen [phi:main->sin8s_gen] @@ -6910,8 +6904,8 @@ print_sbyte: { } //SEG86 print_byte print_byte: { - .label _0 = $50 - .label _2 = $51 + .label _0 = $4e + .label _2 = $4f //SEG87 [43] (byte~) print_byte::$0 ← (byte)(signed byte) print_sbyte::b#3 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ print_sbyte::b#3 print_char_cursor#37 print_byte::$0 ] ( main:2::print_sbyte:23::print_byte:41 [ main::i#2 print_sbyte::b#3 print_char_cursor#37 print_byte::$0 ] ) -- vbuz1=vbuz2_ror_4 lda print_sbyte.b lsr @@ -7011,8 +7005,8 @@ print_cls: { } //SEG118 sin16s_gen sin16s_gen: { - .label _1 = $5c - .label step = $56 + .label _1 = $5a + .label step = $54 .label sintab = $f .label x = $b .label i = $11 @@ -7144,18 +7138,18 @@ sin16s_gen: { } //SEG145 sin16s sin16s: { - .label _6 = $5e + .label _6 = $5c .label x = $14 - .label return = $5a - .label x1 = $62 - .label x2 = $66 - .label x3 = $6a - .label x3_6 = $6e - .label usinx = $70 - .label x4 = $74 - .label x5 = $78 - .label x5_128 = $7a - .label usinx_1 = $7c + .label return = $58 + .label x1 = $60 + .label x2 = $64 + .label x3 = $68 + .label x3_6 = $6c + .label usinx = $6e + .label x4 = $72 + .label x5 = $76 + .label x5_128 = $78 + .label usinx_1 = $7a .label return_1 = $18 .label sinx = $18 .label isUpper = $13 @@ -7498,17 +7492,17 @@ sin16s: { } //SEG226 mulu16_sel mulu16_sel: { - .label _0 = $84 - .label _1 = $88 + .label _0 = $82 + .label _1 = $86 .label v1 = $1a .label v2 = $1c - .label return = $64 - .label return_1 = $68 - .label return_2 = $6c - .label return_10 = $72 - .label return_11 = $76 + .label return = $62 + .label return_1 = $66 + .label return_2 = $6a + .label return_10 = $70 + .label return_11 = $74 .label select = $1e - .label return_12 = $8c + .label return_12 = $8a //SEG227 [116] (word) mul16u::a#1 ← (word) mulu16_sel::v1#5 [ mulu16_sel::v2#5 mulu16_sel::select#5 mul16u::a#1 ] ( main:2::sin16s_gen:7::sin16s:66::mulu16_sel:85 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v2#5 mulu16_sel::select#5 mul16u::a#1 ] main:2::sin16s_gen:7::sin16s:66::mulu16_sel:90 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v2#5 mulu16_sel::select#5 mul16u::a#1 ] main:2::sin16s_gen:7::sin16s:66::mulu16_sel:94 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::v2#5 mulu16_sel::select#5 mul16u::a#1 ] main:2::sin16s_gen:7::sin16s:66::mulu16_sel:100 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::v2#5 mulu16_sel::select#5 mul16u::a#1 ] main:2::sin16s_gen:7::sin16s:66::mulu16_sel:105 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::v2#5 mulu16_sel::select#5 mul16u::a#1 ] ) -- vwuz1=vwuz2 lda v1 sta mul16u.a @@ -7574,12 +7568,12 @@ mulu16_sel: { } //SEG237 mul16u mul16u: { - .label _1 = $8e + .label _1 = $8c .label mb = $25 .label a = $1f .label res = $21 - .label b = $7e - .label return = $80 + .label b = $7c + .label return = $7e //SEG238 [124] (dword) mul16u::mb#0 ← ((dword)) (word) mul16u::b#0 [ mul16u::a#1 mul16u::mb#0 ] ( main:2::sin16s_gen:7::sin16s:66::mulu16_sel:85::mul16u:118 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#5 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:7::sin16s:66::mulu16_sel:90::mul16u:118 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#5 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:7::sin16s:66::mulu16_sel:94::mul16u:118 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#5 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:7::sin16s:66::mulu16_sel:100::mul16u:118 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#5 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:7::sin16s:66::mulu16_sel:105::mul16u:118 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#5 mul16u::a#1 mul16u::mb#0 ] ) -- vduz1=_dword_vwuz2 lda b sta mb @@ -7663,76 +7657,66 @@ mul16u: { } //SEG261 div32u16u div32u16u: { - .label quotient_hi = $91 - .label quotient_lo = $95 - .label return = $97 - .label return_2 = $52 + .label quotient_hi = $8f + .label quotient_lo = $93 + .label return = $95 + .label return_2 = $50 //SEG262 [135] call divr16u param-assignment [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_gen:7::div32u16u:61 [ divr16u::return#0 rem16u#1 ] ) //SEG263 [144] phi from div32u16u to divr16u [phi:div32u16u->divr16u] divr16u_from_div32u16u: - //SEG264 [144] phi (word) divr16u::divisor#7 = (const word) main::wavelength#0 [phi:div32u16u->divr16u#0] -- vwuz1=vwuc1 - lda #main.wavelength - sta divr16u.divisor+1 - //SEG265 [144] phi (word) divr16u::dividend#6 = >(const dword) PI2_u4f28#0 [phi:div32u16u->divr16u#1] -- vwuz1=vwuc1 + //SEG264 [144] phi (word) divr16u::dividend#6 = >(const dword) PI2_u4f28#0 [phi:div32u16u->divr16u#0] -- vwuz1=vwuc1 lda #>$10 sta divr16u.dividend lda #>PI2_u4f28>>$10 sta divr16u.dividend+1 - //SEG266 [144] phi (word) divr16u::rem#11 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:div32u16u->divr16u#2] -- vwuz1=vbuc1 + //SEG265 [144] phi (word) divr16u::rem#11 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:div32u16u->divr16u#1] -- vwuz1=vbuc1 lda #<0 sta divr16u.rem lda #>0 sta divr16u.rem+1 jsr divr16u - //SEG267 [136] (word) divr16u::return#3 ← (word) divr16u::return#0 [ divr16u::return#3 rem16u#1 ] ( main:2::sin16s_gen:7::div32u16u:61 [ divr16u::return#3 rem16u#1 ] ) -- vwuz1=vwuz2 + //SEG266 [136] (word) divr16u::return#3 ← (word) divr16u::return#0 [ divr16u::return#3 rem16u#1 ] ( main:2::sin16s_gen:7::div32u16u:61 [ divr16u::return#3 rem16u#1 ] ) -- vwuz1=vwuz2 lda divr16u.return sta divr16u.return_3 lda divr16u.return+1 sta divr16u.return_3+1 jmp b2 - //SEG268 div32u16u::@2 + //SEG267 div32u16u::@2 b2: - //SEG269 [137] (word) div32u16u::quotient_hi#0 ← (word) divr16u::return#3 [ div32u16u::quotient_hi#0 rem16u#1 ] ( main:2::sin16s_gen:7::div32u16u:61 [ div32u16u::quotient_hi#0 rem16u#1 ] ) -- vwuz1=vwuz2 + //SEG268 [137] (word) div32u16u::quotient_hi#0 ← (word) divr16u::return#3 [ div32u16u::quotient_hi#0 rem16u#1 ] ( main:2::sin16s_gen:7::div32u16u:61 [ div32u16u::quotient_hi#0 rem16u#1 ] ) -- vwuz1=vwuz2 lda divr16u.return_3 sta quotient_hi lda divr16u.return_3+1 sta quotient_hi+1 - //SEG270 [138] (word) divr16u::rem#5 ← (word) rem16u#1 [ div32u16u::quotient_hi#0 divr16u::rem#5 ] ( main:2::sin16s_gen:7::div32u16u:61 [ div32u16u::quotient_hi#0 divr16u::rem#5 ] ) -- vwuz1=vwuz2 + //SEG269 [138] (word) divr16u::rem#5 ← (word) rem16u#1 [ div32u16u::quotient_hi#0 divr16u::rem#5 ] ( main:2::sin16s_gen:7::div32u16u:61 [ div32u16u::quotient_hi#0 divr16u::rem#5 ] ) -- vwuz1=vwuz2 lda rem16u sta divr16u.rem lda rem16u+1 sta divr16u.rem+1 - //SEG271 [139] call divr16u param-assignment [ divr16u::return#0 div32u16u::quotient_hi#0 ] ( main:2::sin16s_gen:7::div32u16u:61 [ divr16u::return#0 div32u16u::quotient_hi#0 ] ) - //SEG272 [144] phi from div32u16u::@2 to divr16u [phi:div32u16u::@2->divr16u] + //SEG270 [139] call divr16u param-assignment [ divr16u::return#0 div32u16u::quotient_hi#0 ] ( main:2::sin16s_gen:7::div32u16u:61 [ divr16u::return#0 div32u16u::quotient_hi#0 ] ) + //SEG271 [144] phi from div32u16u::@2 to divr16u [phi:div32u16u::@2->divr16u] divr16u_from_b2: - //SEG273 [144] phi (word) divr16u::divisor#7 = (const word) main::wavelength#0 [phi:div32u16u::@2->divr16u#0] -- vwuz1=vwuc1 - lda #main.wavelength - sta divr16u.divisor+1 - //SEG274 [144] phi (word) divr16u::dividend#6 = <(const dword) PI2_u4f28#0 [phi:div32u16u::@2->divr16u#1] -- vwuz1=vwuc1 + //SEG272 [144] phi (word) divr16u::dividend#6 = <(const dword) PI2_u4f28#0 [phi:div32u16u::@2->divr16u#0] -- vwuz1=vwuc1 lda #PI2_u4f28&$ffff sta divr16u.dividend+1 - //SEG275 [144] phi (word) divr16u::rem#11 = (word) divr16u::rem#5 [phi:div32u16u::@2->divr16u#2] -- register_copy + //SEG273 [144] phi (word) divr16u::rem#11 = (word) divr16u::rem#5 [phi:div32u16u::@2->divr16u#1] -- register_copy jsr divr16u - //SEG276 [140] (word) divr16u::return#4 ← (word) divr16u::return#0 [ div32u16u::quotient_hi#0 divr16u::return#4 ] ( main:2::sin16s_gen:7::div32u16u:61 [ div32u16u::quotient_hi#0 divr16u::return#4 ] ) -- vwuz1=vwuz2 + //SEG274 [140] (word) divr16u::return#4 ← (word) divr16u::return#0 [ div32u16u::quotient_hi#0 divr16u::return#4 ] ( main:2::sin16s_gen:7::div32u16u:61 [ div32u16u::quotient_hi#0 divr16u::return#4 ] ) -- vwuz1=vwuz2 lda divr16u.return sta divr16u.return_4 lda divr16u.return+1 sta divr16u.return_4+1 jmp b3 - //SEG277 div32u16u::@3 + //SEG275 div32u16u::@3 b3: - //SEG278 [141] (word) div32u16u::quotient_lo#0 ← (word) divr16u::return#4 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ( main:2::sin16s_gen:7::div32u16u:61 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ) -- vwuz1=vwuz2 + //SEG276 [141] (word) div32u16u::quotient_lo#0 ← (word) divr16u::return#4 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ( main:2::sin16s_gen:7::div32u16u:61 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ) -- vwuz1=vwuz2 lda divr16u.return_4 sta quotient_lo lda divr16u.return_4+1 sta quotient_lo+1 - //SEG279 [142] (dword) div32u16u::return#0 ← (word) div32u16u::quotient_hi#0 dw= (word) div32u16u::quotient_lo#0 [ div32u16u::return#0 ] ( main:2::sin16s_gen:7::div32u16u:61 [ div32u16u::return#0 ] ) -- vduz1=vwuz2_dword_vwuz3 + //SEG277 [142] (dword) div32u16u::return#0 ← (word) div32u16u::quotient_hi#0 dw= (word) div32u16u::quotient_lo#0 [ div32u16u::return#0 ] ( main:2::sin16s_gen:7::div32u16u:61 [ div32u16u::return#0 ] ) -- vduz1=vwuz2_dword_vwuz3 lda quotient_hi sta return+2 lda quotient_hi+1 @@ -7742,208 +7726,207 @@ div32u16u: { lda quotient_lo+1 sta return+1 jmp breturn - //SEG280 div32u16u::@return + //SEG278 div32u16u::@return breturn: - //SEG281 [143] return [ div32u16u::return#0 ] ( main:2::sin16s_gen:7::div32u16u:61 [ div32u16u::return#0 ] ) + //SEG279 [143] return [ div32u16u::return#0 ] ( main:2::sin16s_gen:7::div32u16u:61 [ div32u16u::return#0 ] ) rts } -//SEG282 divr16u +//SEG280 divr16u divr16u: { - .label _1 = $9b - .label _2 = $9c - .label rem = $2b - .label dividend = $2d - .label quotient = $2f - .label i = $31 - .label return = $2f - .label return_2 = $bd - .label return_3 = $8f - .label return_4 = $93 - .label divisor = $29 - //SEG283 [145] phi from divr16u to divr16u::@1 [phi:divr16u->divr16u::@1] + .label _1 = $99 + .label _2 = $9a + .label rem = $29 + .label dividend = $2b + .label quotient = $2d + .label i = $2f + .label return = $2d + .label return_2 = $bb + .label return_3 = $8d + .label return_4 = $91 + //SEG281 [145] phi from divr16u to divr16u::@1 [phi:divr16u->divr16u::@1] b1_from_divr16u: - //SEG284 [145] phi (byte) divr16u::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#0] -- vbuz1=vbuc1 + //SEG282 [145] phi (byte) divr16u::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#0] -- vbuz1=vbuc1 lda #0 sta i - //SEG285 [145] phi (word) divr16u::quotient#3 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#1] -- vwuz1=vbuc1 + //SEG283 [145] phi (word) divr16u::quotient#3 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#1] -- vwuz1=vbuc1 lda #<0 sta quotient lda #>0 sta quotient+1 - //SEG286 [145] phi (word) divr16u::dividend#4 = (word) divr16u::dividend#6 [phi:divr16u->divr16u::@1#2] -- register_copy - //SEG287 [145] phi (word) divr16u::rem#6 = (word) divr16u::rem#11 [phi:divr16u->divr16u::@1#3] -- register_copy + //SEG284 [145] phi (word) divr16u::dividend#4 = (word) divr16u::dividend#6 [phi:divr16u->divr16u::@1#2] -- register_copy + //SEG285 [145] phi (word) divr16u::rem#6 = (word) divr16u::rem#11 [phi:divr16u->divr16u::@1#3] -- register_copy jmp b1 - //SEG288 [145] phi from divr16u::@3 to divr16u::@1 [phi:divr16u::@3->divr16u::@1] + //SEG286 [145] phi from divr16u::@3 to divr16u::@1 [phi:divr16u::@3->divr16u::@1] b1_from_b3: - //SEG289 [145] phi (byte) divr16u::i#2 = (byte) divr16u::i#1 [phi:divr16u::@3->divr16u::@1#0] -- register_copy - //SEG290 [145] phi (word) divr16u::quotient#3 = (word) divr16u::return#0 [phi:divr16u::@3->divr16u::@1#1] -- register_copy - //SEG291 [145] phi (word) divr16u::dividend#4 = (word) divr16u::dividend#0 [phi:divr16u::@3->divr16u::@1#2] -- register_copy - //SEG292 [145] phi (word) divr16u::rem#6 = (word) divr16u::rem#10 [phi:divr16u::@3->divr16u::@1#3] -- register_copy + //SEG287 [145] phi (byte) divr16u::i#2 = (byte) divr16u::i#1 [phi:divr16u::@3->divr16u::@1#0] -- register_copy + //SEG288 [145] phi (word) divr16u::quotient#3 = (word) divr16u::return#0 [phi:divr16u::@3->divr16u::@1#1] -- register_copy + //SEG289 [145] phi (word) divr16u::dividend#4 = (word) divr16u::dividend#0 [phi:divr16u::@3->divr16u::@1#2] -- register_copy + //SEG290 [145] phi (word) divr16u::rem#6 = (word) divr16u::rem#10 [phi:divr16u::@3->divr16u::@1#3] -- register_copy jmp b1 - //SEG293 divr16u::@1 + //SEG291 divr16u::@1 b1: - //SEG294 [146] (word) divr16u::rem#0 ← (word) divr16u::rem#6 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) -- vwuz1=vwuz1_rol_1 + //SEG292 [146] (word) divr16u::rem#0 ← (word) divr16u::rem#6 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) -- vwuz1=vwuz1_rol_1 asl rem rol rem+1 - //SEG295 [147] (byte~) divr16u::$1 ← > (word) divr16u::dividend#4 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) -- vbuz1=_hi_vwuz2 + //SEG293 [147] (byte~) divr16u::$1 ← > (word) divr16u::dividend#4 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) -- vbuz1=_hi_vwuz2 lda dividend+1 sta _1 - //SEG296 [148] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) -- vbuz1=vbuz2_band_vbuc1 + //SEG294 [148] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) -- vbuz1=vbuz2_band_vbuc1 lda #$80 and _1 sta _2 - //SEG297 [149] if((byte~) divr16u::$2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto divr16u::@2 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) -- vbuz1_eq_0_then_la1 + //SEG295 [149] if((byte~) divr16u::$2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto divr16u::@2 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) -- vbuz1_eq_0_then_la1 lda _2 beq b2_from_b1 jmp b4 - //SEG298 divr16u::@4 + //SEG296 divr16u::@4 b4: - //SEG299 [150] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) -- vwuz1=vwuz1_bor_vbuc1 + //SEG297 [150] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) -- vwuz1=vwuz1_bor_vbuc1 lda #1 ora rem sta rem - //SEG300 [151] phi from divr16u::@1 divr16u::@4 to divr16u::@2 [phi:divr16u::@1/divr16u::@4->divr16u::@2] + //SEG298 [151] phi from divr16u::@1 divr16u::@4 to divr16u::@2 [phi:divr16u::@1/divr16u::@4->divr16u::@2] b2_from_b1: b2_from_b4: - //SEG301 [151] phi (word) divr16u::rem#7 = (word) divr16u::rem#0 [phi:divr16u::@1/divr16u::@4->divr16u::@2#0] -- register_copy + //SEG299 [151] phi (word) divr16u::rem#7 = (word) divr16u::rem#0 [phi:divr16u::@1/divr16u::@4->divr16u::@2#0] -- register_copy jmp b2 - //SEG302 divr16u::@2 + //SEG300 divr16u::@2 b2: - //SEG303 [152] (word) divr16u::dividend#0 ← (word) divr16u::dividend#4 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#7 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::divisor#7 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::divisor#7 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::divisor#7 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 ] ) -- vwuz1=vwuz1_rol_1 + //SEG301 [152] (word) divr16u::dividend#0 ← (word) divr16u::dividend#4 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 ] ) -- vwuz1=vwuz1_rol_1 asl dividend rol dividend+1 - //SEG304 [153] (word) divr16u::quotient#1 ← (word) divr16u::quotient#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] ) -- vwuz1=vwuz1_rol_1 + //SEG302 [153] (word) divr16u::quotient#1 ← (word) divr16u::quotient#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] ) -- vwuz1=vwuz1_rol_1 asl quotient rol quotient+1 - //SEG305 [154] if((word) divr16u::rem#7<(word) divr16u::divisor#7) goto divr16u::@3 [ divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] ) -- vwuz1_lt_vwuz2_then_la1 + //SEG303 [154] if((word) divr16u::rem#7<(const word) main::wavelength#0) goto divr16u::@3 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] ) -- vwuz1_lt_vwuc1_then_la1 lda rem+1 - cmp divisor+1 + cmp #>main.wavelength bcc b3_from_b2 bne !+ lda rem - cmp divisor + cmp #main.wavelength sta rem+1 - //SEG309 [157] phi from divr16u::@2 divr16u::@5 to divr16u::@3 [phi:divr16u::@2/divr16u::@5->divr16u::@3] + //SEG307 [157] phi from divr16u::@2 divr16u::@5 to divr16u::@3 [phi:divr16u::@2/divr16u::@5->divr16u::@3] b3_from_b2: b3_from_b5: - //SEG310 [157] phi (word) divr16u::return#0 = (word) divr16u::quotient#1 [phi:divr16u::@2/divr16u::@5->divr16u::@3#0] -- register_copy - //SEG311 [157] phi (word) divr16u::rem#10 = (word) divr16u::rem#7 [phi:divr16u::@2/divr16u::@5->divr16u::@3#1] -- register_copy + //SEG308 [157] phi (word) divr16u::return#0 = (word) divr16u::quotient#1 [phi:divr16u::@2/divr16u::@5->divr16u::@3#0] -- register_copy + //SEG309 [157] phi (word) divr16u::rem#10 = (word) divr16u::rem#7 [phi:divr16u::@2/divr16u::@5->divr16u::@3#1] -- register_copy jmp b3 - //SEG312 divr16u::@3 + //SEG310 divr16u::@3 b3: - //SEG313 [158] (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2 [ divr16u::return#0 divr16u::divisor#7 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::return#0 divr16u::divisor#7 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::divisor#7 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::return#0 divr16u::divisor#7 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ) -- vbuz1=_inc_vbuz1 + //SEG311 [158] (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ) -- vbuz1=_inc_vbuz1 inc i - //SEG314 [159] if((byte) divr16u::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto divr16u::@1 [ divr16u::return#0 divr16u::divisor#7 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::return#0 divr16u::divisor#7 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::divisor#7 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::return#0 divr16u::divisor#7 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ) -- vbuz1_neq_vbuc1_then_la1 + //SEG312 [159] if((byte) divr16u::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto divr16u::@1 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ) -- vbuz1_neq_vbuc1_then_la1 lda i cmp #$10 bne b1_from_b3 jmp b6 - //SEG315 divr16u::@6 + //SEG313 divr16u::@6 b6: - //SEG316 [160] (word) rem16u#1 ← (word) divr16u::rem#10 [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::return#0 rem16u#1 ] ) -- vwuz1=vwuz2 + //SEG314 [160] (word) rem16u#1 ← (word) divr16u::rem#10 [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::return#0 rem16u#1 ] ) -- vwuz1=vwuz2 lda rem sta rem16u lda rem+1 sta rem16u+1 jmp breturn - //SEG317 divr16u::@return + //SEG315 divr16u::@return breturn: - //SEG318 [161] return [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::return#0 rem16u#1 ] ) + //SEG316 [161] return [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::return#0 rem16u#1 ] ) rts } -//SEG319 sin8s_gen +//SEG317 sin8s_gen sin8s_gen: { - .label _1 = $a4 - .label step = $a1 - .label sintab = $34 - .label x = $32 - .label i = $36 - //SEG320 [163] call div16u param-assignment [ div16u::return#0 ] ( main:2::sin8s_gen:5 [ div16u::return#0 ] ) - //SEG321 [239] phi from sin8s_gen to div16u [phi:sin8s_gen->div16u] + .label _1 = $a2 + .label step = $9f + .label sintab = $32 + .label x = $30 + .label i = $34 + //SEG318 [163] call div16u param-assignment [ div16u::return#0 ] ( main:2::sin8s_gen:5 [ div16u::return#0 ] ) + //SEG319 [239] phi from sin8s_gen to div16u [phi:sin8s_gen->div16u] div16u_from_sin8s_gen: jsr div16u - //SEG322 [164] (word) div16u::return#2 ← (word) div16u::return#0 [ div16u::return#2 ] ( main:2::sin8s_gen:5 [ div16u::return#2 ] ) -- vwuz1=vwuz2 + //SEG320 [164] (word) div16u::return#2 ← (word) div16u::return#0 [ div16u::return#2 ] ( main:2::sin8s_gen:5 [ div16u::return#2 ] ) -- vwuz1=vwuz2 lda div16u.return sta div16u.return_2 lda div16u.return+1 sta div16u.return_2+1 jmp b3 - //SEG323 sin8s_gen::@3 + //SEG321 sin8s_gen::@3 b3: - //SEG324 [165] (word) sin8s_gen::step#0 ← (word) div16u::return#2 [ sin8s_gen::step#0 ] ( main:2::sin8s_gen:5 [ sin8s_gen::step#0 ] ) -- vwuz1=vwuz2 + //SEG322 [165] (word) sin8s_gen::step#0 ← (word) div16u::return#2 [ sin8s_gen::step#0 ] ( main:2::sin8s_gen:5 [ sin8s_gen::step#0 ] ) -- vwuz1=vwuz2 lda div16u.return_2 sta step lda div16u.return_2+1 sta step+1 - //SEG325 [166] phi from sin8s_gen::@3 to sin8s_gen::@1 [phi:sin8s_gen::@3->sin8s_gen::@1] + //SEG323 [166] phi from sin8s_gen::@3 to sin8s_gen::@1 [phi:sin8s_gen::@3->sin8s_gen::@1] b1_from_b3: - //SEG326 [166] phi (word) sin8s_gen::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8s_gen::@3->sin8s_gen::@1#0] -- vwuz1=vbuc1 + //SEG324 [166] phi (word) sin8s_gen::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8s_gen::@3->sin8s_gen::@1#0] -- vwuz1=vbuc1 lda #<0 sta i lda #>0 sta i+1 - //SEG327 [166] phi (signed byte*) sin8s_gen::sintab#2 = (const signed byte[192]) main::sintabb#0 [phi:sin8s_gen::@3->sin8s_gen::@1#1] -- pbsz1=pbsc1 + //SEG325 [166] phi (signed byte*) sin8s_gen::sintab#2 = (const signed byte[192]) main::sintabb#0 [phi:sin8s_gen::@3->sin8s_gen::@1#1] -- pbsz1=pbsc1 lda #main.sintabb sta sintab+1 - //SEG328 [166] phi (word) sin8s_gen::x#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8s_gen::@3->sin8s_gen::@1#2] -- vwuz1=vbuc1 + //SEG326 [166] phi (word) sin8s_gen::x#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8s_gen::@3->sin8s_gen::@1#2] -- vwuz1=vbuc1 lda #<0 sta x lda #>0 sta x+1 jmp b1 - //SEG329 [166] phi from sin8s_gen::@4 to sin8s_gen::@1 [phi:sin8s_gen::@4->sin8s_gen::@1] + //SEG327 [166] phi from sin8s_gen::@4 to sin8s_gen::@1 [phi:sin8s_gen::@4->sin8s_gen::@1] b1_from_b4: - //SEG330 [166] phi (word) sin8s_gen::i#2 = (word) sin8s_gen::i#1 [phi:sin8s_gen::@4->sin8s_gen::@1#0] -- register_copy - //SEG331 [166] phi (signed byte*) sin8s_gen::sintab#2 = (signed byte*) sin8s_gen::sintab#0 [phi:sin8s_gen::@4->sin8s_gen::@1#1] -- register_copy - //SEG332 [166] phi (word) sin8s_gen::x#2 = (word) sin8s_gen::x#1 [phi:sin8s_gen::@4->sin8s_gen::@1#2] -- register_copy + //SEG328 [166] phi (word) sin8s_gen::i#2 = (word) sin8s_gen::i#1 [phi:sin8s_gen::@4->sin8s_gen::@1#0] -- register_copy + //SEG329 [166] phi (signed byte*) sin8s_gen::sintab#2 = (signed byte*) sin8s_gen::sintab#0 [phi:sin8s_gen::@4->sin8s_gen::@1#1] -- register_copy + //SEG330 [166] phi (word) sin8s_gen::x#2 = (word) sin8s_gen::x#1 [phi:sin8s_gen::@4->sin8s_gen::@1#2] -- register_copy jmp b1 - //SEG333 sin8s_gen::@1 + //SEG331 sin8s_gen::@1 b1: - //SEG334 [167] (word) sin8s::x#0 ← (word) sin8s_gen::x#2 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::x#0 ] ( main:2::sin8s_gen:5 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::x#0 ] ) -- vwuz1=vwuz2 + //SEG332 [167] (word) sin8s::x#0 ← (word) sin8s_gen::x#2 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::x#0 ] ( main:2::sin8s_gen:5 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::x#0 ] ) -- vwuz1=vwuz2 lda x sta sin8s.x lda x+1 sta sin8s.x+1 - //SEG335 [168] call sin8s param-assignment [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::return#1 ] ( main:2::sin8s_gen:5 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::return#1 ] ) + //SEG333 [168] call sin8s param-assignment [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::return#1 ] ( main:2::sin8s_gen:5 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::return#1 ] ) jsr sin8s - //SEG336 [169] (signed byte) sin8s::return#0 ← (signed byte) sin8s::return#1 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::return#0 ] ( main:2::sin8s_gen:5 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::return#0 ] ) -- vbsz1=vbsz2 + //SEG334 [169] (signed byte) sin8s::return#0 ← (signed byte) sin8s::return#1 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::return#0 ] ( main:2::sin8s_gen:5 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::return#0 ] ) -- vbsz1=vbsz2 lda sin8s.return_1 sta sin8s.return jmp b4 - //SEG337 sin8s_gen::@4 + //SEG335 sin8s_gen::@4 b4: - //SEG338 [170] (signed byte~) sin8s_gen::$1 ← (signed byte) sin8s::return#0 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s_gen::$1 ] ( main:2::sin8s_gen:5 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s_gen::$1 ] ) -- vbsz1=vbsz2 + //SEG336 [170] (signed byte~) sin8s_gen::$1 ← (signed byte) sin8s::return#0 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s_gen::$1 ] ( main:2::sin8s_gen:5 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s_gen::$1 ] ) -- vbsz1=vbsz2 lda sin8s.return sta _1 - //SEG339 [171] *((signed byte*) sin8s_gen::sintab#2) ← (signed byte~) sin8s_gen::$1 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 ] ( main:2::sin8s_gen:5 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 ] ) -- _deref_pbsz1=vbsz2 + //SEG337 [171] *((signed byte*) sin8s_gen::sintab#2) ← (signed byte~) sin8s_gen::$1 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 ] ( main:2::sin8s_gen:5 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 ] ) -- _deref_pbsz1=vbsz2 lda _1 ldy #0 sta (sintab),y - //SEG340 [172] (signed byte*) sin8s_gen::sintab#0 ← ++ (signed byte*) sin8s_gen::sintab#2 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::i#2 sin8s_gen::sintab#0 ] ( main:2::sin8s_gen:5 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::i#2 sin8s_gen::sintab#0 ] ) -- pbsz1=_inc_pbsz1 + //SEG338 [172] (signed byte*) sin8s_gen::sintab#0 ← ++ (signed byte*) sin8s_gen::sintab#2 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::i#2 sin8s_gen::sintab#0 ] ( main:2::sin8s_gen:5 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::i#2 sin8s_gen::sintab#0 ] ) -- pbsz1=_inc_pbsz1 inc sintab bne !+ inc sintab+1 !: - //SEG341 [173] (word) sin8s_gen::x#1 ← (word) sin8s_gen::x#2 + (word) sin8s_gen::step#0 [ sin8s_gen::step#0 sin8s_gen::i#2 sin8s_gen::x#1 sin8s_gen::sintab#0 ] ( main:2::sin8s_gen:5 [ sin8s_gen::step#0 sin8s_gen::i#2 sin8s_gen::x#1 sin8s_gen::sintab#0 ] ) -- vwuz1=vwuz1_plus_vwuz2 + //SEG339 [173] (word) sin8s_gen::x#1 ← (word) sin8s_gen::x#2 + (word) sin8s_gen::step#0 [ sin8s_gen::step#0 sin8s_gen::i#2 sin8s_gen::x#1 sin8s_gen::sintab#0 ] ( main:2::sin8s_gen:5 [ sin8s_gen::step#0 sin8s_gen::i#2 sin8s_gen::x#1 sin8s_gen::sintab#0 ] ) -- vwuz1=vwuz1_plus_vwuz2 lda x clc adc step @@ -7951,12 +7934,12 @@ sin8s_gen: { lda x+1 adc step+1 sta x+1 - //SEG342 [174] (word) sin8s_gen::i#1 ← ++ (word) sin8s_gen::i#2 [ sin8s_gen::step#0 sin8s_gen::x#1 sin8s_gen::sintab#0 sin8s_gen::i#1 ] ( main:2::sin8s_gen:5 [ sin8s_gen::step#0 sin8s_gen::x#1 sin8s_gen::sintab#0 sin8s_gen::i#1 ] ) -- vwuz1=_inc_vwuz1 + //SEG340 [174] (word) sin8s_gen::i#1 ← ++ (word) sin8s_gen::i#2 [ sin8s_gen::step#0 sin8s_gen::x#1 sin8s_gen::sintab#0 sin8s_gen::i#1 ] ( main:2::sin8s_gen:5 [ sin8s_gen::step#0 sin8s_gen::x#1 sin8s_gen::sintab#0 sin8s_gen::i#1 ] ) -- vwuz1=_inc_vwuz1 inc i bne !+ inc i+1 !: - //SEG343 [175] if((word) sin8s_gen::i#1<(const word) main::wavelength#0) goto sin8s_gen::@1 [ sin8s_gen::step#0 sin8s_gen::x#1 sin8s_gen::sintab#0 sin8s_gen::i#1 ] ( main:2::sin8s_gen:5 [ sin8s_gen::step#0 sin8s_gen::x#1 sin8s_gen::sintab#0 sin8s_gen::i#1 ] ) -- vwuz1_lt_vwuc1_then_la1 + //SEG341 [175] if((word) sin8s_gen::i#1<(const word) main::wavelength#0) goto sin8s_gen::@1 [ sin8s_gen::step#0 sin8s_gen::x#1 sin8s_gen::sintab#0 sin8s_gen::i#1 ] ( main:2::sin8s_gen:5 [ sin8s_gen::step#0 sin8s_gen::x#1 sin8s_gen::sintab#0 sin8s_gen::i#1 ] ) -- vwuz1_lt_vwuc1_then_la1 lda i+1 cmp #>main.wavelength bcc b1_from_b4 @@ -7966,33 +7949,33 @@ sin8s_gen: { bcc b1_from_b4 !: jmp breturn - //SEG344 sin8s_gen::@return + //SEG342 sin8s_gen::@return breturn: - //SEG345 [176] return [ ] ( main:2::sin8s_gen:5 [ ] ) + //SEG343 [176] return [ ] ( main:2::sin8s_gen:5 [ ] ) rts } -//SEG346 sin8s +//SEG344 sin8s sin8s: { .const DIV_6 = $2b - .label _6 = $a5 - .label x = $39 - .label return = $a3 - .label x1 = $a7 - .label x2 = $a9 - .label x3 = $ab - .label x3_6 = $ad - .label usinx = $ae - .label x4 = $b0 - .label x5 = $b2 - .label x5_128 = $b3 - .label usinx_1 = $3b - .label usinx_2 = $3b - .label return_1 = $3c - .label sinx = $3c - .label usinx_4 = $3b - .label isUpper = $38 - .label return_5 = $3c - //SEG347 [177] if((word) sin8s::x#0<(const word) PI_u4f12#0) goto sin8s::@1 [ sin8s::x#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::x#0 ] ) -- vwuz1_lt_vwuc1_then_la1 + .label _6 = $a3 + .label x = $37 + .label return = $a1 + .label x1 = $a5 + .label x2 = $a7 + .label x3 = $a9 + .label x3_6 = $ab + .label usinx = $ac + .label x4 = $ae + .label x5 = $b0 + .label x5_128 = $b1 + .label usinx_1 = $39 + .label usinx_2 = $39 + .label return_1 = $3a + .label sinx = $3a + .label usinx_4 = $39 + .label isUpper = $36 + .label return_5 = $3a + //SEG345 [177] if((word) sin8s::x#0<(const word) PI_u4f12#0) goto sin8s::@1 [ sin8s::x#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::x#0 ] ) -- vwuz1_lt_vwuc1_then_la1 lda x+1 cmp #>PI_u4f12 bcc b1_from_sin8s @@ -8002,9 +7985,9 @@ sin8s: { bcc b1_from_sin8s !: jmp b5 - //SEG348 sin8s::@5 + //SEG346 sin8s::@5 b5: - //SEG349 [178] (word) sin8s::x#1 ← (word) sin8s::x#0 - (const word) PI_u4f12#0 [ sin8s::x#1 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::x#1 ] ) -- vwuz1=vwuz1_minus_vwuc1 + //SEG347 [178] (word) sin8s::x#1 ← (word) sin8s::x#0 - (const word) PI_u4f12#0 [ sin8s::x#1 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::x#1 ] ) -- vwuz1=vwuz1_minus_vwuc1 lda x sec sbc #PI_u4f12 sta x+1 - //SEG350 [179] phi from sin8s::@5 to sin8s::@1 [phi:sin8s::@5->sin8s::@1] + //SEG348 [179] phi from sin8s::@5 to sin8s::@1 [phi:sin8s::@5->sin8s::@1] b1_from_b5: - //SEG351 [179] phi (byte) sin8s::isUpper#10 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin8s::@5->sin8s::@1#0] -- vbuz1=vbuc1 + //SEG349 [179] phi (byte) sin8s::isUpper#10 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin8s::@5->sin8s::@1#0] -- vbuz1=vbuc1 lda #1 sta isUpper - //SEG352 [179] phi (word) sin8s::x#4 = (word) sin8s::x#1 [phi:sin8s::@5->sin8s::@1#1] -- register_copy + //SEG350 [179] phi (word) sin8s::x#4 = (word) sin8s::x#1 [phi:sin8s::@5->sin8s::@1#1] -- register_copy jmp b1 - //SEG353 [179] phi from sin8s to sin8s::@1 [phi:sin8s->sin8s::@1] + //SEG351 [179] phi from sin8s to sin8s::@1 [phi:sin8s->sin8s::@1] b1_from_sin8s: - //SEG354 [179] phi (byte) sin8s::isUpper#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8s->sin8s::@1#0] -- vbuz1=vbuc1 + //SEG352 [179] phi (byte) sin8s::isUpper#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8s->sin8s::@1#0] -- vbuz1=vbuc1 lda #0 sta isUpper - //SEG355 [179] phi (word) sin8s::x#4 = (word) sin8s::x#0 [phi:sin8s->sin8s::@1#1] -- register_copy + //SEG353 [179] phi (word) sin8s::x#4 = (word) sin8s::x#0 [phi:sin8s->sin8s::@1#1] -- register_copy jmp b1 - //SEG356 sin8s::@1 + //SEG354 sin8s::@1 b1: - //SEG357 [180] if((word) sin8s::x#4<(const word) PI_HALF_u4f12#0) goto sin8s::@2 [ sin8s::x#4 sin8s::isUpper#10 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::x#4 sin8s::isUpper#10 ] ) -- vwuz1_lt_vwuc1_then_la1 + //SEG355 [180] if((word) sin8s::x#4<(const word) PI_HALF_u4f12#0) goto sin8s::@2 [ sin8s::x#4 sin8s::isUpper#10 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::x#4 sin8s::isUpper#10 ] ) -- vwuz1_lt_vwuc1_then_la1 lda x+1 cmp #>PI_HALF_u4f12 bcc b2_from_b1 @@ -8038,9 +8021,9 @@ sin8s: { bcc b2_from_b1 !: jmp b6 - //SEG358 sin8s::@6 + //SEG356 sin8s::@6 b6: - //SEG359 [181] (word) sin8s::x#2 ← (const word) PI_u4f12#0 - (word) sin8s::x#4 [ sin8s::isUpper#10 sin8s::x#2 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x#2 ] ) -- vwuz1=vwuc1_minus_vwuz1 + //SEG357 [181] (word) sin8s::x#2 ← (const word) PI_u4f12#0 - (word) sin8s::x#4 [ sin8s::isUpper#10 sin8s::x#2 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x#2 ] ) -- vwuz1=vwuc1_minus_vwuz1 sec lda #PI_u4f12 sbc x+1 sta x+1 - //SEG360 [182] phi from sin8s::@1 sin8s::@6 to sin8s::@2 [phi:sin8s::@1/sin8s::@6->sin8s::@2] + //SEG358 [182] phi from sin8s::@1 sin8s::@6 to sin8s::@2 [phi:sin8s::@1/sin8s::@6->sin8s::@2] b2_from_b1: b2_from_b6: - //SEG361 [182] phi (word) sin8s::x#6 = (word) sin8s::x#4 [phi:sin8s::@1/sin8s::@6->sin8s::@2#0] -- register_copy + //SEG359 [182] phi (word) sin8s::x#6 = (word) sin8s::x#4 [phi:sin8s::@1/sin8s::@6->sin8s::@2#0] -- register_copy jmp b2 - //SEG362 sin8s::@2 + //SEG360 sin8s::@2 b2: - //SEG363 [183] (word~) sin8s::$6 ← (word) sin8s::x#6 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ sin8s::isUpper#10 sin8s::$6 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::$6 ] ) -- vwuz1=vwuz2_rol_3 + //SEG361 [183] (word~) sin8s::$6 ← (word) sin8s::x#6 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ sin8s::isUpper#10 sin8s::$6 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::$6 ] ) -- vwuz1=vwuz2_rol_3 lda x asl sta _6 @@ -8066,227 +8049,227 @@ sin8s: { rol _6+1 asl _6 rol _6+1 - //SEG364 [184] (byte) sin8s::x1#0 ← > (word~) sin8s::$6 [ sin8s::isUpper#10 sin8s::x1#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 ] ) -- vbuz1=_hi_vwuz2 + //SEG362 [184] (byte) sin8s::x1#0 ← > (word~) sin8s::$6 [ sin8s::isUpper#10 sin8s::x1#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 ] ) -- vbuz1=_hi_vwuz2 lda _6+1 sta x1 - //SEG365 [185] (byte) mulu8_sel::v1#0 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 ] ) -- vbuz1=vbuz2 + //SEG363 [185] (byte) mulu8_sel::v1#0 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 ] ) -- vbuz1=vbuz2 lda x1 sta mulu8_sel.v1 - //SEG366 [186] (byte) mulu8_sel::v2#0 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 mulu8_sel::v2#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 mulu8_sel::v2#0 ] ) -- vbuz1=vbuz2 + //SEG364 [186] (byte) mulu8_sel::v2#0 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 mulu8_sel::v2#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 mulu8_sel::v2#0 ] ) -- vbuz1=vbuz2 lda x1 sta mulu8_sel.v2 - //SEG367 [187] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] ) - //SEG368 [220] phi from sin8s::@2 to mulu8_sel [phi:sin8s::@2->mulu8_sel] + //SEG365 [187] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] ) + //SEG366 [220] phi from sin8s::@2 to mulu8_sel [phi:sin8s::@2->mulu8_sel] mulu8_sel_from_b2: - //SEG369 [220] phi (byte) mulu8_sel::select#5 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8s::@2->mulu8_sel#0] -- vbuz1=vbuc1 + //SEG367 [220] phi (byte) mulu8_sel::select#5 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8s::@2->mulu8_sel#0] -- vbuz1=vbuc1 lda #0 sta mulu8_sel.select - //SEG370 [220] phi (byte) mulu8_sel::v2#5 = (byte) mulu8_sel::v2#0 [phi:sin8s::@2->mulu8_sel#1] -- register_copy - //SEG371 [220] phi (byte) mulu8_sel::v1#5 = (byte) mulu8_sel::v1#0 [phi:sin8s::@2->mulu8_sel#2] -- register_copy + //SEG368 [220] phi (byte) mulu8_sel::v2#5 = (byte) mulu8_sel::v2#0 [phi:sin8s::@2->mulu8_sel#1] -- register_copy + //SEG369 [220] phi (byte) mulu8_sel::v1#5 = (byte) mulu8_sel::v1#0 [phi:sin8s::@2->mulu8_sel#2] -- register_copy jsr mulu8_sel - //SEG372 [188] (byte) mulu8_sel::return#0 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#0 ] ) -- vbuz1=vbuz2 + //SEG370 [188] (byte) mulu8_sel::return#0 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#0 ] ) -- vbuz1=vbuz2 lda mulu8_sel.return_12 sta mulu8_sel.return jmp b10 - //SEG373 sin8s::@10 + //SEG371 sin8s::@10 b10: - //SEG374 [189] (byte) sin8s::x2#0 ← (byte) mulu8_sel::return#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x2#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x2#0 ] ) -- vbuz1=vbuz2 + //SEG372 [189] (byte) sin8s::x2#0 ← (byte) mulu8_sel::return#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x2#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x2#0 ] ) -- vbuz1=vbuz2 lda mulu8_sel.return sta x2 - //SEG375 [190] (byte) mulu8_sel::v1#1 ← (byte) sin8s::x2#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 ] ) -- vbuz1=vbuz2 + //SEG373 [190] (byte) mulu8_sel::v1#1 ← (byte) sin8s::x2#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 ] ) -- vbuz1=vbuz2 lda x2 sta mulu8_sel.v1 - //SEG376 [191] (byte) mulu8_sel::v2#1 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 mulu8_sel::v2#1 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 mulu8_sel::v2#1 ] ) -- vbuz1=vbuz2 + //SEG374 [191] (byte) mulu8_sel::v2#1 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 mulu8_sel::v2#1 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 mulu8_sel::v2#1 ] ) -- vbuz1=vbuz2 lda x1 sta mulu8_sel.v2 - //SEG377 [192] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] ) - //SEG378 [220] phi from sin8s::@10 to mulu8_sel [phi:sin8s::@10->mulu8_sel] + //SEG375 [192] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] ) + //SEG376 [220] phi from sin8s::@10 to mulu8_sel [phi:sin8s::@10->mulu8_sel] mulu8_sel_from_b10: - //SEG379 [220] phi (byte) mulu8_sel::select#5 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin8s::@10->mulu8_sel#0] -- vbuz1=vbuc1 + //SEG377 [220] phi (byte) mulu8_sel::select#5 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin8s::@10->mulu8_sel#0] -- vbuz1=vbuc1 lda #1 sta mulu8_sel.select - //SEG380 [220] phi (byte) mulu8_sel::v2#5 = (byte) mulu8_sel::v2#1 [phi:sin8s::@10->mulu8_sel#1] -- register_copy - //SEG381 [220] phi (byte) mulu8_sel::v1#5 = (byte) mulu8_sel::v1#1 [phi:sin8s::@10->mulu8_sel#2] -- register_copy + //SEG378 [220] phi (byte) mulu8_sel::v2#5 = (byte) mulu8_sel::v2#1 [phi:sin8s::@10->mulu8_sel#1] -- register_copy + //SEG379 [220] phi (byte) mulu8_sel::v1#5 = (byte) mulu8_sel::v1#1 [phi:sin8s::@10->mulu8_sel#2] -- register_copy jsr mulu8_sel - //SEG382 [193] (byte) mulu8_sel::return#1 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#1 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#1 ] ) -- vbuz1=vbuz2 + //SEG380 [193] (byte) mulu8_sel::return#1 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#1 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#1 ] ) -- vbuz1=vbuz2 lda mulu8_sel.return_12 sta mulu8_sel.return_1 jmp b11 - //SEG383 sin8s::@11 + //SEG381 sin8s::@11 b11: - //SEG384 [194] (byte) sin8s::x3#0 ← (byte) mulu8_sel::return#1 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 ] ) -- vbuz1=vbuz2 + //SEG382 [194] (byte) sin8s::x3#0 ← (byte) mulu8_sel::return#1 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 ] ) -- vbuz1=vbuz2 lda mulu8_sel.return_1 sta x3 - //SEG385 [195] (byte) mulu8_sel::v1#2 ← (byte) sin8s::x3#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::v1#2 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::v1#2 ] ) -- vbuz1=vbuz2 + //SEG383 [195] (byte) mulu8_sel::v1#2 ← (byte) sin8s::x3#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::v1#2 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::v1#2 ] ) -- vbuz1=vbuz2 lda x3 sta mulu8_sel.v1 - //SEG386 [196] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::x3#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::x3#0 ] ) - //SEG387 [220] phi from sin8s::@11 to mulu8_sel [phi:sin8s::@11->mulu8_sel] + //SEG384 [196] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::x3#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::x3#0 ] ) + //SEG385 [220] phi from sin8s::@11 to mulu8_sel [phi:sin8s::@11->mulu8_sel] mulu8_sel_from_b11: - //SEG388 [220] phi (byte) mulu8_sel::select#5 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin8s::@11->mulu8_sel#0] -- vbuz1=vbuc1 + //SEG386 [220] phi (byte) mulu8_sel::select#5 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin8s::@11->mulu8_sel#0] -- vbuz1=vbuc1 lda #1 sta mulu8_sel.select - //SEG389 [220] phi (byte) mulu8_sel::v2#5 = (const byte) sin8s::DIV_6#0 [phi:sin8s::@11->mulu8_sel#1] -- vbuz1=vbuc1 + //SEG387 [220] phi (byte) mulu8_sel::v2#5 = (const byte) sin8s::DIV_6#0 [phi:sin8s::@11->mulu8_sel#1] -- vbuz1=vbuc1 lda #DIV_6 sta mulu8_sel.v2 - //SEG390 [220] phi (byte) mulu8_sel::v1#5 = (byte) mulu8_sel::v1#2 [phi:sin8s::@11->mulu8_sel#2] -- register_copy + //SEG388 [220] phi (byte) mulu8_sel::v1#5 = (byte) mulu8_sel::v1#2 [phi:sin8s::@11->mulu8_sel#2] -- register_copy jsr mulu8_sel - //SEG391 [197] (byte) mulu8_sel::return#2 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#2 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#2 ] ) -- vbuz1=vbuz2 + //SEG389 [197] (byte) mulu8_sel::return#2 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#2 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#2 ] ) -- vbuz1=vbuz2 lda mulu8_sel.return_12 sta mulu8_sel.return_2 jmp b12 - //SEG392 sin8s::@12 + //SEG390 sin8s::@12 b12: - //SEG393 [198] (byte) sin8s::x3_6#0 ← (byte) mulu8_sel::return#2 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::x3_6#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::x3_6#0 ] ) -- vbuz1=vbuz2 + //SEG391 [198] (byte) sin8s::x3_6#0 ← (byte) mulu8_sel::return#2 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::x3_6#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::x3_6#0 ] ) -- vbuz1=vbuz2 lda mulu8_sel.return_2 sta x3_6 - //SEG394 [199] (byte) sin8s::usinx#0 ← (byte) sin8s::x1#0 - (byte) sin8s::x3_6#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::usinx#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::usinx#0 ] ) -- vbuz1=vbuz2_minus_vbuz3 + //SEG392 [199] (byte) sin8s::usinx#0 ← (byte) sin8s::x1#0 - (byte) sin8s::x3_6#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::usinx#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::usinx#0 ] ) -- vbuz1=vbuz2_minus_vbuz3 lda x1 sec sbc x3_6 sta usinx - //SEG395 [200] (byte) mulu8_sel::v1#3 ← (byte) sin8s::x3#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 ] ) -- vbuz1=vbuz2 + //SEG393 [200] (byte) mulu8_sel::v1#3 ← (byte) sin8s::x3#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 ] ) -- vbuz1=vbuz2 lda x3 sta mulu8_sel.v1 - //SEG396 [201] (byte) mulu8_sel::v2#3 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 mulu8_sel::v2#3 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 mulu8_sel::v2#3 ] ) -- vbuz1=vbuz2 + //SEG394 [201] (byte) mulu8_sel::v2#3 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 mulu8_sel::v2#3 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 mulu8_sel::v2#3 ] ) -- vbuz1=vbuz2 lda x1 sta mulu8_sel.v2 - //SEG397 [202] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::usinx#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::usinx#0 ] ) - //SEG398 [220] phi from sin8s::@12 to mulu8_sel [phi:sin8s::@12->mulu8_sel] + //SEG395 [202] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::usinx#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::usinx#0 ] ) + //SEG396 [220] phi from sin8s::@12 to mulu8_sel [phi:sin8s::@12->mulu8_sel] mulu8_sel_from_b12: - //SEG399 [220] phi (byte) mulu8_sel::select#5 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8s::@12->mulu8_sel#0] -- vbuz1=vbuc1 + //SEG397 [220] phi (byte) mulu8_sel::select#5 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8s::@12->mulu8_sel#0] -- vbuz1=vbuc1 lda #0 sta mulu8_sel.select - //SEG400 [220] phi (byte) mulu8_sel::v2#5 = (byte) mulu8_sel::v2#3 [phi:sin8s::@12->mulu8_sel#1] -- register_copy - //SEG401 [220] phi (byte) mulu8_sel::v1#5 = (byte) mulu8_sel::v1#3 [phi:sin8s::@12->mulu8_sel#2] -- register_copy + //SEG398 [220] phi (byte) mulu8_sel::v2#5 = (byte) mulu8_sel::v2#3 [phi:sin8s::@12->mulu8_sel#1] -- register_copy + //SEG399 [220] phi (byte) mulu8_sel::v1#5 = (byte) mulu8_sel::v1#3 [phi:sin8s::@12->mulu8_sel#2] -- register_copy jsr mulu8_sel - //SEG402 [203] (byte) mulu8_sel::return#10 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#10 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#10 ] ) -- vbuz1=vbuz2 + //SEG400 [203] (byte) mulu8_sel::return#10 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#10 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#10 ] ) -- vbuz1=vbuz2 lda mulu8_sel.return_12 sta mulu8_sel.return_10 jmp b13 - //SEG403 sin8s::@13 + //SEG401 sin8s::@13 b13: - //SEG404 [204] (byte) sin8s::x4#0 ← (byte) mulu8_sel::return#10 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 sin8s::x4#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 sin8s::x4#0 ] ) -- vbuz1=vbuz2 + //SEG402 [204] (byte) sin8s::x4#0 ← (byte) mulu8_sel::return#10 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 sin8s::x4#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 sin8s::x4#0 ] ) -- vbuz1=vbuz2 lda mulu8_sel.return_10 sta x4 - //SEG405 [205] (byte) mulu8_sel::v1#4 ← (byte) sin8s::x4#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#4 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#4 ] ) -- vbuz1=vbuz2 + //SEG403 [205] (byte) mulu8_sel::v1#4 ← (byte) sin8s::x4#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#4 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#4 ] ) -- vbuz1=vbuz2 lda x4 sta mulu8_sel.v1 - //SEG406 [206] (byte) mulu8_sel::v2#4 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::v1#4 mulu8_sel::v2#4 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::v1#4 mulu8_sel::v2#4 ] ) -- vbuz1=vbuz2 + //SEG404 [206] (byte) mulu8_sel::v2#4 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::v1#4 mulu8_sel::v2#4 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::v1#4 mulu8_sel::v2#4 ] ) -- vbuz1=vbuz2 lda x1 sta mulu8_sel.v2 - //SEG407 [207] call mulu8_sel param-assignment [ sin8s::isUpper#10 mulu8_sel::return#12 sin8s::usinx#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 mulu8_sel::return#12 sin8s::usinx#0 ] ) - //SEG408 [220] phi from sin8s::@13 to mulu8_sel [phi:sin8s::@13->mulu8_sel] + //SEG405 [207] call mulu8_sel param-assignment [ sin8s::isUpper#10 mulu8_sel::return#12 sin8s::usinx#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 mulu8_sel::return#12 sin8s::usinx#0 ] ) + //SEG406 [220] phi from sin8s::@13 to mulu8_sel [phi:sin8s::@13->mulu8_sel] mulu8_sel_from_b13: - //SEG409 [220] phi (byte) mulu8_sel::select#5 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8s::@13->mulu8_sel#0] -- vbuz1=vbuc1 + //SEG407 [220] phi (byte) mulu8_sel::select#5 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8s::@13->mulu8_sel#0] -- vbuz1=vbuc1 lda #0 sta mulu8_sel.select - //SEG410 [220] phi (byte) mulu8_sel::v2#5 = (byte) mulu8_sel::v2#4 [phi:sin8s::@13->mulu8_sel#1] -- register_copy - //SEG411 [220] phi (byte) mulu8_sel::v1#5 = (byte) mulu8_sel::v1#4 [phi:sin8s::@13->mulu8_sel#2] -- register_copy + //SEG408 [220] phi (byte) mulu8_sel::v2#5 = (byte) mulu8_sel::v2#4 [phi:sin8s::@13->mulu8_sel#1] -- register_copy + //SEG409 [220] phi (byte) mulu8_sel::v1#5 = (byte) mulu8_sel::v1#4 [phi:sin8s::@13->mulu8_sel#2] -- register_copy jsr mulu8_sel - //SEG412 [208] (byte) mulu8_sel::return#11 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#11 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#11 ] ) -- vbuz1=vbuz2 + //SEG410 [208] (byte) mulu8_sel::return#11 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#11 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#11 ] ) -- vbuz1=vbuz2 lda mulu8_sel.return_12 sta mulu8_sel.return_11 jmp b14 - //SEG413 sin8s::@14 + //SEG411 sin8s::@14 b14: - //SEG414 [209] (byte) sin8s::x5#0 ← (byte) mulu8_sel::return#11 [ sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5#0 ] ) -- vbuz1=vbuz2 + //SEG412 [209] (byte) sin8s::x5#0 ← (byte) mulu8_sel::return#11 [ sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5#0 ] ) -- vbuz1=vbuz2 lda mulu8_sel.return_11 sta x5 - //SEG415 [210] (byte) sin8s::x5_128#0 ← (byte) sin8s::x5#0 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5_128#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5_128#0 ] ) -- vbuz1=vbuz2_ror_4 + //SEG413 [210] (byte) sin8s::x5_128#0 ← (byte) sin8s::x5#0 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5_128#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5_128#0 ] ) -- vbuz1=vbuz2_ror_4 lda x5 lsr lsr lsr lsr sta x5_128 - //SEG416 [211] (byte) sin8s::usinx#1 ← (byte) sin8s::usinx#0 + (byte) sin8s::x5_128#0 [ sin8s::isUpper#10 sin8s::usinx#1 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#1 ] ) -- vbuz1=vbuz2_plus_vbuz3 + //SEG414 [211] (byte) sin8s::usinx#1 ← (byte) sin8s::usinx#0 + (byte) sin8s::x5_128#0 [ sin8s::isUpper#10 sin8s::usinx#1 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#1 ] ) -- vbuz1=vbuz2_plus_vbuz3 lda usinx clc adc x5_128 sta usinx_1 - //SEG417 [212] if((byte) sin8s::usinx#1<(byte/word/signed word/dword/signed dword) 128) goto sin8s::@3 [ sin8s::isUpper#10 sin8s::usinx#1 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#1 ] ) -- vbuz1_lt_vbuc1_then_la1 + //SEG415 [212] if((byte) sin8s::usinx#1<(byte/word/signed word/dword/signed dword) 128) goto sin8s::@3 [ sin8s::isUpper#10 sin8s::usinx#1 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#1 ] ) -- vbuz1_lt_vbuc1_then_la1 lda usinx_1 cmp #$80 bcc b3_from_b14 jmp b7 - //SEG418 sin8s::@7 + //SEG416 sin8s::@7 b7: - //SEG419 [213] (byte) sin8s::usinx#2 ← -- (byte) sin8s::usinx#1 [ sin8s::isUpper#10 sin8s::usinx#2 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#2 ] ) -- vbuz1=_dec_vbuz1 + //SEG417 [213] (byte) sin8s::usinx#2 ← -- (byte) sin8s::usinx#1 [ sin8s::isUpper#10 sin8s::usinx#2 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#2 ] ) -- vbuz1=_dec_vbuz1 dec usinx_2 - //SEG420 [214] phi from sin8s::@14 sin8s::@7 to sin8s::@3 [phi:sin8s::@14/sin8s::@7->sin8s::@3] + //SEG418 [214] phi from sin8s::@14 sin8s::@7 to sin8s::@3 [phi:sin8s::@14/sin8s::@7->sin8s::@3] b3_from_b14: b3_from_b7: - //SEG421 [214] phi (byte) sin8s::usinx#4 = (byte) sin8s::usinx#1 [phi:sin8s::@14/sin8s::@7->sin8s::@3#0] -- register_copy + //SEG419 [214] phi (byte) sin8s::usinx#4 = (byte) sin8s::usinx#1 [phi:sin8s::@14/sin8s::@7->sin8s::@3#0] -- register_copy jmp b3 - //SEG422 sin8s::@3 + //SEG420 sin8s::@3 b3: - //SEG423 [215] if((byte) sin8s::isUpper#10==(byte/signed byte/word/signed word/dword/signed dword) 0) goto sin8s::@18 [ sin8s::usinx#4 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::usinx#4 ] ) -- vbuz1_eq_0_then_la1 + //SEG421 [215] if((byte) sin8s::isUpper#10==(byte/signed byte/word/signed word/dword/signed dword) 0) goto sin8s::@18 [ sin8s::usinx#4 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::usinx#4 ] ) -- vbuz1_eq_0_then_la1 lda isUpper beq b18 jmp b8 - //SEG424 sin8s::@8 + //SEG422 sin8s::@8 b8: - //SEG425 [216] (signed byte) sin8s::sinx#1 ← - (signed byte)(byte) sin8s::usinx#4 [ sin8s::sinx#1 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::sinx#1 ] ) -- vbsz1=_neg_vbsz2 + //SEG423 [216] (signed byte) sin8s::sinx#1 ← - (signed byte)(byte) sin8s::usinx#4 [ sin8s::sinx#1 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::sinx#1 ] ) -- vbsz1=_neg_vbsz2 lda usinx_4 eor #$ff clc adc #1 sta sinx - //SEG426 [217] phi from sin8s::@18 sin8s::@8 to sin8s::@4 [phi:sin8s::@18/sin8s::@8->sin8s::@4] + //SEG424 [217] phi from sin8s::@18 sin8s::@8 to sin8s::@4 [phi:sin8s::@18/sin8s::@8->sin8s::@4] b4_from_b18: b4_from_b8: - //SEG427 [217] phi (signed byte) sin8s::return#1 = (signed byte~) sin8s::return#5 [phi:sin8s::@18/sin8s::@8->sin8s::@4#0] -- register_copy + //SEG425 [217] phi (signed byte) sin8s::return#1 = (signed byte~) sin8s::return#5 [phi:sin8s::@18/sin8s::@8->sin8s::@4#0] -- register_copy jmp b4 - //SEG428 sin8s::@4 + //SEG426 sin8s::@4 b4: jmp breturn - //SEG429 sin8s::@return + //SEG427 sin8s::@return breturn: - //SEG430 [218] return [ sin8s::return#1 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::return#1 ] ) + //SEG428 [218] return [ sin8s::return#1 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::return#1 ] ) rts - //SEG431 sin8s::@18 + //SEG429 sin8s::@18 b18: - //SEG432 [219] (signed byte~) sin8s::return#5 ← (signed byte)(byte) sin8s::usinx#4 [ sin8s::return#5 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::return#5 ] ) -- vbsz1=vbsz2 + //SEG430 [219] (signed byte~) sin8s::return#5 ← (signed byte)(byte) sin8s::usinx#4 [ sin8s::return#5 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::return#5 ] ) -- vbsz1=vbsz2 lda usinx_4 sta return_5 jmp b4_from_b18 } -//SEG433 mulu8_sel +//SEG431 mulu8_sel mulu8_sel: { - .label _0 = $b7 - .label _1 = $b9 - .label v1 = $3d - .label v2 = $3e - .label return = $a8 - .label return_1 = $aa - .label return_2 = $ac - .label return_10 = $af - .label return_11 = $b1 - .label select = $3f - .label return_12 = $bb - //SEG434 [221] (byte) mul8u::a#1 ← (byte) mulu8_sel::v1#5 [ mulu8_sel::v2#5 mulu8_sel::select#5 mul8u::a#1 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v2#5 mulu8_sel::select#5 mul8u::a#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v2#5 mulu8_sel::select#5 mul8u::a#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::v2#5 mulu8_sel::select#5 mul8u::a#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v2#5 mulu8_sel::select#5 mul8u::a#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::v2#5 mulu8_sel::select#5 mul8u::a#1 ] ) -- vbuz1=vbuz2 + .label _0 = $b5 + .label _1 = $b7 + .label v1 = $3b + .label v2 = $3c + .label return = $a6 + .label return_1 = $a8 + .label return_2 = $aa + .label return_10 = $ad + .label return_11 = $af + .label select = $3d + .label return_12 = $b9 + //SEG432 [221] (byte) mul8u::a#1 ← (byte) mulu8_sel::v1#5 [ mulu8_sel::v2#5 mulu8_sel::select#5 mul8u::a#1 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v2#5 mulu8_sel::select#5 mul8u::a#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v2#5 mulu8_sel::select#5 mul8u::a#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::v2#5 mulu8_sel::select#5 mul8u::a#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v2#5 mulu8_sel::select#5 mul8u::a#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::v2#5 mulu8_sel::select#5 mul8u::a#1 ] ) -- vbuz1=vbuz2 lda v1 sta mul8u.a - //SEG435 [222] (byte) mul8u::b#0 ← (byte) mulu8_sel::v2#5 [ mulu8_sel::select#5 mul8u::a#1 mul8u::b#0 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#1 mul8u::b#0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#1 mul8u::b#0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#1 mul8u::b#0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#1 mul8u::b#0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#1 mul8u::b#0 ] ) -- vbuz1=vbuz2 + //SEG433 [222] (byte) mul8u::b#0 ← (byte) mulu8_sel::v2#5 [ mulu8_sel::select#5 mul8u::a#1 mul8u::b#0 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#1 mul8u::b#0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#1 mul8u::b#0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#1 mul8u::b#0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#1 mul8u::b#0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#1 mul8u::b#0 ] ) -- vbuz1=vbuz2 lda v2 sta mul8u.b - //SEG436 [223] call mul8u param-assignment [ mulu8_sel::select#5 mul8u::res#2 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 ] ) + //SEG434 [223] call mul8u param-assignment [ mulu8_sel::select#5 mul8u::res#2 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 ] ) jsr mul8u - //SEG437 [224] (word) mul8u::return#2 ← (word) mul8u::res#2 [ mulu8_sel::select#5 mul8u::return#2 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::return#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::return#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::return#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::return#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::return#2 ] ) -- vwuz1=vwuz2 + //SEG435 [224] (word) mul8u::return#2 ← (word) mul8u::res#2 [ mulu8_sel::select#5 mul8u::return#2 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::return#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::return#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::return#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::return#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::return#2 ] ) -- vwuz1=vwuz2 lda mul8u.res sta mul8u.return lda mul8u.res+1 sta mul8u.return+1 jmp b2 - //SEG438 mulu8_sel::@2 + //SEG436 mulu8_sel::@2 b2: - //SEG439 [225] (word~) mulu8_sel::$0 ← (word) mul8u::return#2 [ mulu8_sel::select#5 mulu8_sel::$0 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mulu8_sel::$0 ] ) -- vwuz1=vwuz2 + //SEG437 [225] (word~) mulu8_sel::$0 ← (word) mul8u::return#2 [ mulu8_sel::select#5 mulu8_sel::$0 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mulu8_sel::$0 ] ) -- vwuz1=vwuz2 lda mul8u.return sta _0 lda mul8u.return+1 sta _0+1 - //SEG440 [226] (word~) mulu8_sel::$1 ← (word~) mulu8_sel::$0 << (byte) mulu8_sel::select#5 [ mulu8_sel::$1 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::$1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::$1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::$1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::$1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::$1 ] ) -- vwuz1=vwuz2_rol_vbuz3 + //SEG438 [226] (word~) mulu8_sel::$1 ← (word~) mulu8_sel::$0 << (byte) mulu8_sel::select#5 [ mulu8_sel::$1 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::$1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::$1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::$1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::$1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::$1 ] ) -- vwuz1=vwuz2_rol_vbuz3 lda _0 sta _1 lda _0+1 @@ -8299,61 +8282,61 @@ mulu8_sel: { dey bne !- !e: - //SEG441 [227] (byte) mulu8_sel::return#12 ← > (word~) mulu8_sel::$1 [ mulu8_sel::return#12 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#12 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#12 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#12 ] ) -- vbuz1=_hi_vwuz2 + //SEG439 [227] (byte) mulu8_sel::return#12 ← > (word~) mulu8_sel::$1 [ mulu8_sel::return#12 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#12 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#12 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#12 ] ) -- vbuz1=_hi_vwuz2 lda _1+1 sta return_12 jmp breturn - //SEG442 mulu8_sel::@return + //SEG440 mulu8_sel::@return breturn: - //SEG443 [228] return [ mulu8_sel::return#12 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#12 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#12 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#12 ] ) + //SEG441 [228] return [ mulu8_sel::return#12 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#12 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#12 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#12 ] ) rts } -//SEG444 mul8u +//SEG442 mul8u mul8u: { - .label _1 = $bc - .label mb = $43 - .label a = $40 - .label res = $41 - .label b = $b4 - .label return = $b5 - //SEG445 [229] (word) mul8u::mb#0 ← ((word)) (byte) mul8u::b#0 [ mul8u::a#1 mul8u::mb#0 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#1 mul8u::mb#0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#1 mul8u::mb#0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#1 mul8u::mb#0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#1 mul8u::mb#0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#1 mul8u::mb#0 ] ) -- vwuz1=_word_vbuz2 + .label _1 = $ba + .label mb = $41 + .label a = $3e + .label res = $3f + .label b = $b2 + .label return = $b3 + //SEG443 [229] (word) mul8u::mb#0 ← ((word)) (byte) mul8u::b#0 [ mul8u::a#1 mul8u::mb#0 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#1 mul8u::mb#0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#1 mul8u::mb#0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#1 mul8u::mb#0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#1 mul8u::mb#0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#1 mul8u::mb#0 ] ) -- vwuz1=_word_vbuz2 lda b sta mb lda #0 sta mb+1 - //SEG446 [230] phi from mul8u to mul8u::@1 [phi:mul8u->mul8u::@1] + //SEG444 [230] phi from mul8u to mul8u::@1 [phi:mul8u->mul8u::@1] b1_from_mul8u: - //SEG447 [230] phi (word) mul8u::mb#2 = (word) mul8u::mb#0 [phi:mul8u->mul8u::@1#0] -- register_copy - //SEG448 [230] phi (word) mul8u::res#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mul8u->mul8u::@1#1] -- vwuz1=vbuc1 + //SEG445 [230] phi (word) mul8u::mb#2 = (word) mul8u::mb#0 [phi:mul8u->mul8u::@1#0] -- register_copy + //SEG446 [230] phi (word) mul8u::res#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mul8u->mul8u::@1#1] -- vwuz1=vbuc1 lda #<0 sta res lda #>0 sta res+1 - //SEG449 [230] phi (byte) mul8u::a#2 = (byte) mul8u::a#1 [phi:mul8u->mul8u::@1#2] -- register_copy + //SEG447 [230] phi (byte) mul8u::a#2 = (byte) mul8u::a#1 [phi:mul8u->mul8u::@1#2] -- register_copy jmp b1 - //SEG450 mul8u::@1 + //SEG448 mul8u::@1 b1: - //SEG451 [231] if((byte) mul8u::a#2!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@2 [ mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] ) -- vbuz1_neq_0_then_la1 + //SEG449 [231] if((byte) mul8u::a#2!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@2 [ mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] ) -- vbuz1_neq_0_then_la1 lda a bne b2 jmp breturn - //SEG452 mul8u::@return + //SEG450 mul8u::@return breturn: - //SEG453 [232] return [ mul8u::res#2 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 ] ) + //SEG451 [232] return [ mul8u::res#2 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 ] ) rts - //SEG454 mul8u::@2 + //SEG452 mul8u::@2 b2: - //SEG455 [233] (byte~) mul8u::$1 ← (byte) mul8u::a#2 & (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul8u::res#2 mul8u::a#2 mul8u::mb#2 mul8u::$1 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 mul8u::$1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 mul8u::$1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 mul8u::$1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 mul8u::$1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 mul8u::$1 ] ) -- vbuz1=vbuz2_band_vbuc1 + //SEG453 [233] (byte~) mul8u::$1 ← (byte) mul8u::a#2 & (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul8u::res#2 mul8u::a#2 mul8u::mb#2 mul8u::$1 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 mul8u::$1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 mul8u::$1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 mul8u::$1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 mul8u::$1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 mul8u::$1 ] ) -- vbuz1=vbuz2_band_vbuc1 lda #1 and a sta _1 - //SEG456 [234] if((byte~) mul8u::$1==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@4 [ mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] ) -- vbuz1_eq_0_then_la1 + //SEG454 [234] if((byte~) mul8u::$1==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@4 [ mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] ) -- vbuz1_eq_0_then_la1 lda _1 beq b4_from_b2 jmp b7 - //SEG457 mul8u::@7 + //SEG455 mul8u::@7 b7: - //SEG458 [235] (word) mul8u::res#1 ← (word) mul8u::res#2 + (word) mul8u::mb#2 [ mul8u::a#2 mul8u::mb#2 mul8u::res#1 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#2 mul8u::mb#2 mul8u::res#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#2 mul8u::mb#2 mul8u::res#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#2 mul8u::mb#2 mul8u::res#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#2 mul8u::mb#2 mul8u::res#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#2 mul8u::mb#2 mul8u::res#1 ] ) -- vwuz1=vwuz1_plus_vwuz2 + //SEG456 [235] (word) mul8u::res#1 ← (word) mul8u::res#2 + (word) mul8u::mb#2 [ mul8u::a#2 mul8u::mb#2 mul8u::res#1 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#2 mul8u::mb#2 mul8u::res#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#2 mul8u::mb#2 mul8u::res#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#2 mul8u::mb#2 mul8u::res#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#2 mul8u::mb#2 mul8u::res#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#2 mul8u::mb#2 mul8u::res#1 ] ) -- vwuz1=vwuz1_plus_vwuz2 lda res clc adc mb @@ -8361,65 +8344,60 @@ mul8u: { lda res+1 adc mb+1 sta res+1 - //SEG459 [236] phi from mul8u::@2 mul8u::@7 to mul8u::@4 [phi:mul8u::@2/mul8u::@7->mul8u::@4] + //SEG457 [236] phi from mul8u::@2 mul8u::@7 to mul8u::@4 [phi:mul8u::@2/mul8u::@7->mul8u::@4] b4_from_b2: b4_from_b7: - //SEG460 [236] phi (word) mul8u::res#6 = (word) mul8u::res#2 [phi:mul8u::@2/mul8u::@7->mul8u::@4#0] -- register_copy + //SEG458 [236] phi (word) mul8u::res#6 = (word) mul8u::res#2 [phi:mul8u::@2/mul8u::@7->mul8u::@4#0] -- register_copy jmp b4 - //SEG461 mul8u::@4 + //SEG459 mul8u::@4 b4: - //SEG462 [237] (byte) mul8u::a#0 ← (byte) mul8u::a#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] ) -- vbuz1=vbuz1_ror_1 + //SEG460 [237] (byte) mul8u::a#0 ← (byte) mul8u::a#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] ) -- vbuz1=vbuz1_ror_1 lsr a - //SEG463 [238] (word) mul8u::mb#1 ← (word) mul8u::mb#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] ) -- vwuz1=vwuz1_rol_1 + //SEG461 [238] (word) mul8u::mb#1 ← (word) mul8u::mb#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] ) -- vwuz1=vwuz1_rol_1 asl mb rol mb+1 - //SEG464 [230] phi from mul8u::@4 to mul8u::@1 [phi:mul8u::@4->mul8u::@1] + //SEG462 [230] phi from mul8u::@4 to mul8u::@1 [phi:mul8u::@4->mul8u::@1] b1_from_b4: - //SEG465 [230] phi (word) mul8u::mb#2 = (word) mul8u::mb#1 [phi:mul8u::@4->mul8u::@1#0] -- register_copy - //SEG466 [230] phi (word) mul8u::res#2 = (word) mul8u::res#6 [phi:mul8u::@4->mul8u::@1#1] -- register_copy - //SEG467 [230] phi (byte) mul8u::a#2 = (byte) mul8u::a#0 [phi:mul8u::@4->mul8u::@1#2] -- register_copy + //SEG463 [230] phi (word) mul8u::mb#2 = (word) mul8u::mb#1 [phi:mul8u::@4->mul8u::@1#0] -- register_copy + //SEG464 [230] phi (word) mul8u::res#2 = (word) mul8u::res#6 [phi:mul8u::@4->mul8u::@1#1] -- register_copy + //SEG465 [230] phi (byte) mul8u::a#2 = (byte) mul8u::a#0 [phi:mul8u::@4->mul8u::@1#2] -- register_copy jmp b1 } -//SEG468 div16u +//SEG466 div16u div16u: { - .label return = $bf - .label return_2 = $9f - //SEG469 [240] call divr16u param-assignment [ divr16u::return#0 ] ( main:2::sin8s_gen:5::div16u:163 [ divr16u::return#0 ] ) - //SEG470 [144] phi from div16u to divr16u [phi:div16u->divr16u] + .label return = $bd + .label return_2 = $9d + //SEG467 [240] call divr16u param-assignment [ divr16u::return#0 ] ( main:2::sin8s_gen:5::div16u:163 [ divr16u::return#0 ] ) + //SEG468 [144] phi from div16u to divr16u [phi:div16u->divr16u] divr16u_from_div16u: - //SEG471 [144] phi (word) divr16u::divisor#7 = (const word) main::wavelength#0 [phi:div16u->divr16u#0] -- vwuz1=vwuc1 - lda #main.wavelength - sta divr16u.divisor+1 - //SEG472 [144] phi (word) divr16u::dividend#6 = (const word) PI2_u4f12#0 [phi:div16u->divr16u#1] -- vwuz1=vwuc1 + //SEG469 [144] phi (word) divr16u::dividend#6 = (const word) PI2_u4f12#0 [phi:div16u->divr16u#0] -- vwuz1=vwuc1 lda #PI2_u4f12 sta divr16u.dividend+1 - //SEG473 [144] phi (word) divr16u::rem#11 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:div16u->divr16u#2] -- vwuz1=vbuc1 + //SEG470 [144] phi (word) divr16u::rem#11 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:div16u->divr16u#1] -- vwuz1=vbuc1 lda #<0 sta divr16u.rem lda #>0 sta divr16u.rem+1 jsr divr16u - //SEG474 [241] (word) divr16u::return#2 ← (word) divr16u::return#0 [ divr16u::return#2 ] ( main:2::sin8s_gen:5::div16u:163 [ divr16u::return#2 ] ) -- vwuz1=vwuz2 + //SEG471 [241] (word) divr16u::return#2 ← (word) divr16u::return#0 [ divr16u::return#2 ] ( main:2::sin8s_gen:5::div16u:163 [ divr16u::return#2 ] ) -- vwuz1=vwuz2 lda divr16u.return sta divr16u.return_2 lda divr16u.return+1 sta divr16u.return_2+1 jmp b2 - //SEG475 div16u::@2 + //SEG472 div16u::@2 b2: - //SEG476 [242] (word) div16u::return#0 ← (word) divr16u::return#2 [ div16u::return#0 ] ( main:2::sin8s_gen:5::div16u:163 [ div16u::return#0 ] ) -- vwuz1=vwuz2 + //SEG473 [242] (word) div16u::return#0 ← (word) divr16u::return#2 [ div16u::return#0 ] ( main:2::sin8s_gen:5::div16u:163 [ div16u::return#0 ] ) -- vwuz1=vwuz2 lda divr16u.return_2 sta return lda divr16u.return_2+1 sta return+1 jmp breturn - //SEG477 div16u::@return + //SEG474 div16u::@return breturn: - //SEG478 [243] return [ div16u::return#0 ] ( main:2::sin8s_gen:5::div16u:163 [ div16u::return#0 ] ) + //SEG475 [243] return [ div16u::return#0 ] ( main:2::sin8s_gen:5::div16u:163 [ div16u::return#0 ] ) rts } print_hextab: .text "0123456789abcdef" @@ -8427,17 +8405,17 @@ div16u: { REGISTER UPLIFT POTENTIAL REGISTERS Statement [12] (word~) main::$3 ← ((word)) (byte) main::i#2 [ main::i#2 print_char_cursor#42 main::sb#0 main::$3 ] ( main:2 [ main::i#2 print_char_cursor#42 main::sb#0 main::$3 ] ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp ZP_BYTE:2 [ main::i#2 main::i#1 ] -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:69 [ main::sb#0 ] +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:67 [ main::sb#0 ] Statement [13] (word~) main::$4 ← (word~) main::$3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ main::i#2 print_char_cursor#42 main::sb#0 main::$4 ] ( main:2 [ main::i#2 print_char_cursor#42 main::sb#0 main::$4 ] ) always clobbers reg byte a Statement [14] (signed word*~) main::$5 ← (const signed word[192]) main::sintabw#0 + (word~) main::$4 [ main::i#2 print_char_cursor#42 main::sb#0 main::$5 ] ( main:2 [ main::i#2 print_char_cursor#42 main::sb#0 main::$5 ] ) always clobbers reg byte a Statement [15] (signed word) main::sw#0 ← *((signed word*~) main::$5) [ main::i#2 print_char_cursor#42 main::sb#0 main::sw#0 ] ( main:2 [ main::i#2 print_char_cursor#42 main::sb#0 main::sw#0 ] ) always clobbers reg byte a reg byte y Removing always clobbered register reg byte y as potential for zp ZP_BYTE:2 [ main::i#2 main::i#1 ] -Removing always clobbered register reg byte y as potential for zp ZP_BYTE:69 [ main::sb#0 ] +Removing always clobbered register reg byte y as potential for zp ZP_BYTE:67 [ main::sb#0 ] Statement [16] (byte~) main::$6 ← > (signed word) main::sw#0 [ main::i#2 print_char_cursor#42 main::sb#0 main::$6 ] ( main:2 [ main::i#2 print_char_cursor#42 main::sb#0 main::$6 ] ) always clobbers reg byte a Statement [17] (signed byte) main::sd#0 ← (signed byte) main::sb#0 - (signed byte)(byte~) main::$6 [ main::i#2 print_char_cursor#42 main::sd#0 ] ( main:2 [ main::i#2 print_char_cursor#42 main::sd#0 ] ) always clobbers reg byte a Statement [31] if(*((byte*) print_str::str#3)!=(byte) '@') goto print_str::@2 [ print_char_cursor#19 print_str::str#3 ] ( main:2::print_str:20 [ main::i#2 main::sd#0 print_char_cursor#19 print_str::str#3 ] main:2::print_str:25 [ main::i#2 print_char_cursor#19 print_str::str#3 ] ) always clobbers reg byte a reg byte y -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:79 [ main::sd#0 ] -Removing always clobbered register reg byte y as potential for zp ZP_BYTE:79 [ main::sd#0 ] +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:77 [ main::sd#0 ] +Removing always clobbered register reg byte y as potential for zp ZP_BYTE:77 [ main::sd#0 ] Statement [33] *((byte*) print_char_cursor#19) ← *((byte*) print_str::str#3) [ print_char_cursor#19 print_str::str#3 ] ( main:2::print_str:20 [ main::i#2 main::sd#0 print_char_cursor#19 print_str::str#3 ] main:2::print_str:25 [ main::i#2 print_char_cursor#19 print_str::str#3 ] ) always clobbers reg byte a reg byte y Statement [39] (signed byte) print_sbyte::b#0 ← - (signed byte) print_sbyte::b#1 [ print_char_cursor#10 print_sbyte::b#0 ] ( main:2::print_sbyte:23 [ main::i#2 print_char_cursor#10 print_sbyte::b#0 ] ) always clobbers reg byte a Statement [46] (byte~) print_byte::$2 ← (byte)(signed byte) print_sbyte::b#3 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ print_char_cursor#10 print_byte::$2 ] ( main:2::print_sbyte:23::print_byte:41 [ main::i#2 print_char_cursor#10 print_byte::$2 ] ) always clobbers reg byte a @@ -8503,12 +8481,12 @@ Statement [138] (word) divr16u::rem#5 ← (word) rem16u#1 [ div32u16u::quotient_ Statement [140] (word) divr16u::return#4 ← (word) divr16u::return#0 [ div32u16u::quotient_hi#0 divr16u::return#4 ] ( main:2::sin16s_gen:7::div32u16u:61 [ div32u16u::quotient_hi#0 divr16u::return#4 ] ) always clobbers reg byte a Statement [141] (word) div32u16u::quotient_lo#0 ← (word) divr16u::return#4 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ( main:2::sin16s_gen:7::div32u16u:61 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ) always clobbers reg byte a Statement [142] (dword) div32u16u::return#0 ← (word) div32u16u::quotient_hi#0 dw= (word) div32u16u::quotient_lo#0 [ div32u16u::return#0 ] ( main:2::sin16s_gen:7::div32u16u:61 [ div32u16u::return#0 ] ) always clobbers reg byte a -Statement [147] (byte~) divr16u::$1 ← > (word) divr16u::dividend#4 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:49 [ divr16u::i#2 divr16u::i#1 ] -Statement [148] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) always clobbers reg byte a -Statement [150] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) always clobbers reg byte a -Statement [154] if((word) divr16u::rem#7<(word) divr16u::divisor#7) goto divr16u::@3 [ divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] ) always clobbers reg byte a -Statement [156] (word) divr16u::rem#2 ← (word) divr16u::rem#7 - (word) divr16u::divisor#7 [ divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ) always clobbers reg byte a +Statement [147] (byte~) divr16u::$1 ← > (word) divr16u::dividend#4 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:47 [ divr16u::i#2 divr16u::i#1 ] +Statement [148] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) always clobbers reg byte a +Statement [150] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) always clobbers reg byte a +Statement [154] if((word) divr16u::rem#7<(const word) main::wavelength#0) goto divr16u::@3 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] ) always clobbers reg byte a +Statement [156] (word) divr16u::rem#2 ← (word) divr16u::rem#7 - (const word) main::wavelength#0 [ divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ) always clobbers reg byte a Statement [160] (word) rem16u#1 ← (word) divr16u::rem#10 [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::return#0 rem16u#1 ] ) always clobbers reg byte a Statement [164] (word) div16u::return#2 ← (word) div16u::return#0 [ div16u::return#2 ] ( main:2::sin8s_gen:5 [ div16u::return#2 ] ) always clobbers reg byte a Statement [165] (word) sin8s_gen::step#0 ← (word) div16u::return#2 [ sin8s_gen::step#0 ] ( main:2::sin8s_gen:5 [ sin8s_gen::step#0 ] ) always clobbers reg byte a @@ -8519,22 +8497,22 @@ Statement [175] if((word) sin8s_gen::i#1<(const word) main::wavelength#0) goto s Statement [177] if((word) sin8s::x#0<(const word) PI_u4f12#0) goto sin8s::@1 [ sin8s::x#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::x#0 ] ) always clobbers reg byte a Statement [178] (word) sin8s::x#1 ← (word) sin8s::x#0 - (const word) PI_u4f12#0 [ sin8s::x#1 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::x#1 ] ) always clobbers reg byte a Statement [180] if((word) sin8s::x#4<(const word) PI_HALF_u4f12#0) goto sin8s::@2 [ sin8s::x#4 sin8s::isUpper#10 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::x#4 sin8s::isUpper#10 ] ) always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:56 [ sin8s::isUpper#10 ] +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:54 [ sin8s::isUpper#10 ] Statement [181] (word) sin8s::x#2 ← (const word) PI_u4f12#0 - (word) sin8s::x#4 [ sin8s::isUpper#10 sin8s::x#2 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x#2 ] ) always clobbers reg byte a Statement [183] (word~) sin8s::$6 ← (word) sin8s::x#6 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ sin8s::isUpper#10 sin8s::$6 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::$6 ] ) always clobbers reg byte a Statement [184] (byte) sin8s::x1#0 ← > (word~) sin8s::$6 [ sin8s::isUpper#10 sin8s::x1#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 ] ) always clobbers reg byte a Statement [199] (byte) sin8s::usinx#0 ← (byte) sin8s::x1#0 - (byte) sin8s::x3_6#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::usinx#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::usinx#0 ] ) always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:167 [ sin8s::x1#0 ] -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:171 [ sin8s::x3#0 ] +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:165 [ sin8s::x1#0 ] +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:169 [ sin8s::x3#0 ] Statement [216] (signed byte) sin8s::sinx#1 ← - (signed byte)(byte) sin8s::usinx#4 [ sin8s::sinx#1 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::sinx#1 ] ) always clobbers reg byte a Statement [224] (word) mul8u::return#2 ← (word) mul8u::res#2 [ mulu8_sel::select#5 mul8u::return#2 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::return#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::return#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::return#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::return#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::return#2 ] ) always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:63 [ mulu8_sel::select#5 ] -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:174 [ sin8s::usinx#0 ] +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:61 [ mulu8_sel::select#5 ] +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:172 [ sin8s::usinx#0 ] Statement [225] (word~) mulu8_sel::$0 ← (word) mul8u::return#2 [ mulu8_sel::select#5 mulu8_sel::$0 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mulu8_sel::$0 ] ) always clobbers reg byte a Statement [226] (word~) mulu8_sel::$1 ← (word~) mulu8_sel::$0 << (byte) mulu8_sel::select#5 [ mulu8_sel::$1 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::$1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::$1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::$1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::$1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::$1 ] ) always clobbers reg byte a Statement [227] (byte) mulu8_sel::return#12 ← > (word~) mulu8_sel::$1 [ mulu8_sel::return#12 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#12 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#12 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#12 ] ) always clobbers reg byte a Statement [229] (word) mul8u::mb#0 ← ((word)) (byte) mul8u::b#0 [ mul8u::a#1 mul8u::mb#0 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#1 mul8u::mb#0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#1 mul8u::mb#0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#1 mul8u::mb#0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#1 mul8u::mb#0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#1 mul8u::mb#0 ] ) always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:64 [ mul8u::a#2 mul8u::a#1 mul8u::a#0 ] +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:62 [ mul8u::a#2 mul8u::a#1 mul8u::a#0 ] Statement [233] (byte~) mul8u::$1 ← (byte) mul8u::a#2 & (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul8u::res#2 mul8u::a#2 mul8u::mb#2 mul8u::$1 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 mul8u::$1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 mul8u::$1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 mul8u::$1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 mul8u::$1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 mul8u::$1 ] ) always clobbers reg byte a Statement [235] (word) mul8u::res#1 ← (word) mul8u::res#2 + (word) mul8u::mb#2 [ mul8u::a#2 mul8u::mb#2 mul8u::res#1 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#2 mul8u::mb#2 mul8u::res#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#2 mul8u::mb#2 mul8u::res#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#2 mul8u::mb#2 mul8u::res#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#2 mul8u::mb#2 mul8u::res#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#2 mul8u::mb#2 mul8u::res#1 ] ) always clobbers reg byte a Statement [241] (word) divr16u::return#2 ← (word) divr16u::return#0 [ divr16u::return#2 ] ( main:2::sin8s_gen:5::div16u:163 [ divr16u::return#2 ] ) always clobbers reg byte a @@ -8608,11 +8586,11 @@ Statement [138] (word) divr16u::rem#5 ← (word) rem16u#1 [ div32u16u::quotient_ Statement [140] (word) divr16u::return#4 ← (word) divr16u::return#0 [ div32u16u::quotient_hi#0 divr16u::return#4 ] ( main:2::sin16s_gen:7::div32u16u:61 [ div32u16u::quotient_hi#0 divr16u::return#4 ] ) always clobbers reg byte a Statement [141] (word) div32u16u::quotient_lo#0 ← (word) divr16u::return#4 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ( main:2::sin16s_gen:7::div32u16u:61 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ) always clobbers reg byte a Statement [142] (dword) div32u16u::return#0 ← (word) div32u16u::quotient_hi#0 dw= (word) div32u16u::quotient_lo#0 [ div32u16u::return#0 ] ( main:2::sin16s_gen:7::div32u16u:61 [ div32u16u::return#0 ] ) always clobbers reg byte a -Statement [147] (byte~) divr16u::$1 ← > (word) divr16u::dividend#4 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) always clobbers reg byte a -Statement [148] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) always clobbers reg byte a -Statement [150] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) always clobbers reg byte a -Statement [154] if((word) divr16u::rem#7<(word) divr16u::divisor#7) goto divr16u::@3 [ divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] ) always clobbers reg byte a -Statement [156] (word) divr16u::rem#2 ← (word) divr16u::rem#7 - (word) divr16u::divisor#7 [ divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ) always clobbers reg byte a +Statement [147] (byte~) divr16u::$1 ← > (word) divr16u::dividend#4 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) always clobbers reg byte a +Statement [148] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) always clobbers reg byte a +Statement [150] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) always clobbers reg byte a +Statement [154] if((word) divr16u::rem#7<(const word) main::wavelength#0) goto divr16u::@3 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] ) always clobbers reg byte a +Statement [156] (word) divr16u::rem#2 ← (word) divr16u::rem#7 - (const word) main::wavelength#0 [ divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ) always clobbers reg byte a Statement [160] (word) rem16u#1 ← (word) divr16u::rem#10 [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::return#0 rem16u#1 ] ) always clobbers reg byte a Statement [164] (word) div16u::return#2 ← (word) div16u::return#0 [ div16u::return#2 ] ( main:2::sin8s_gen:5 [ div16u::return#2 ] ) always clobbers reg byte a Statement [165] (word) sin8s_gen::step#0 ← (word) div16u::return#2 [ sin8s_gen::step#0 ] ( main:2::sin8s_gen:5 [ sin8s_gen::step#0 ] ) always clobbers reg byte a @@ -8656,243 +8634,241 @@ Potential registers zp ZP_BYTE:30 [ mulu16_sel::select#5 ] : zp ZP_BYTE:30 , reg Potential registers zp ZP_WORD:31 [ mul16u::a#2 mul16u::a#1 mul16u::a#0 ] : zp ZP_WORD:31 , Potential registers zp ZP_DWORD:33 [ mul16u::res#2 mul16u::res#6 mul16u::res#1 ] : zp ZP_DWORD:33 , Potential registers zp ZP_DWORD:37 [ mul16u::mb#2 mul16u::mb#0 mul16u::mb#1 ] : zp ZP_DWORD:37 , -Potential registers zp ZP_WORD:41 [ divr16u::divisor#7 ] : zp ZP_WORD:41 , -Potential registers zp ZP_WORD:43 [ divr16u::rem#6 divr16u::rem#11 divr16u::rem#5 divr16u::rem#10 divr16u::rem#7 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] : zp ZP_WORD:43 , -Potential registers zp ZP_WORD:45 [ divr16u::dividend#4 divr16u::dividend#6 divr16u::dividend#0 ] : zp ZP_WORD:45 , -Potential registers zp ZP_WORD:47 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] : zp ZP_WORD:47 , -Potential registers zp ZP_BYTE:49 [ divr16u::i#2 divr16u::i#1 ] : zp ZP_BYTE:49 , reg byte x , reg byte y , -Potential registers zp ZP_WORD:50 [ sin8s_gen::x#2 sin8s_gen::x#1 ] : zp ZP_WORD:50 , -Potential registers zp ZP_WORD:52 [ sin8s_gen::sintab#2 sin8s_gen::sintab#0 ] : zp ZP_WORD:52 , -Potential registers zp ZP_WORD:54 [ sin8s_gen::i#2 sin8s_gen::i#1 ] : zp ZP_WORD:54 , -Potential registers zp ZP_BYTE:56 [ sin8s::isUpper#10 ] : zp ZP_BYTE:56 , reg byte x , reg byte y , -Potential registers zp ZP_WORD:57 [ sin8s::x#6 sin8s::x#4 sin8s::x#0 sin8s::x#1 sin8s::x#2 ] : zp ZP_WORD:57 , -Potential registers zp ZP_BYTE:59 [ sin8s::usinx#4 sin8s::usinx#1 sin8s::usinx#2 ] : zp ZP_BYTE:59 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:60 [ sin8s::return#1 sin8s::return#5 sin8s::sinx#1 ] : zp ZP_BYTE:60 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:61 [ mulu8_sel::v1#5 mulu8_sel::v1#1 mulu8_sel::v1#2 mulu8_sel::v1#3 mulu8_sel::v1#4 mulu8_sel::v1#0 ] : zp ZP_BYTE:61 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:62 [ mulu8_sel::v2#5 mulu8_sel::v2#1 mulu8_sel::v2#3 mulu8_sel::v2#4 mulu8_sel::v2#0 ] : zp ZP_BYTE:62 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:63 [ mulu8_sel::select#5 ] : zp ZP_BYTE:63 , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:64 [ mul8u::a#2 mul8u::a#1 mul8u::a#0 ] : zp ZP_BYTE:64 , reg byte x , reg byte y , -Potential registers zp ZP_WORD:65 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 ] : zp ZP_WORD:65 , -Potential registers zp ZP_WORD:67 [ mul8u::mb#2 mul8u::mb#0 mul8u::mb#1 ] : zp ZP_WORD:67 , -Potential registers zp ZP_BYTE:69 [ main::sb#0 ] : zp ZP_BYTE:69 , reg byte x , -Potential registers zp ZP_WORD:70 [ main::$3 ] : zp ZP_WORD:70 , -Potential registers zp ZP_WORD:72 [ main::$4 ] : zp ZP_WORD:72 , -Potential registers zp ZP_WORD:74 [ main::$5 ] : zp ZP_WORD:74 , -Potential registers zp ZP_WORD:76 [ main::sw#0 ] : zp ZP_WORD:76 , -Potential registers zp ZP_BYTE:78 [ main::$6 ] : zp ZP_BYTE:78 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:79 [ main::sd#0 ] : zp ZP_BYTE:79 , reg byte x , -Potential registers zp ZP_BYTE:80 [ print_byte::$0 ] : zp ZP_BYTE:80 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:81 [ print_byte::$2 ] : zp ZP_BYTE:81 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_DWORD:82 [ div32u16u::return#2 ] : zp ZP_DWORD:82 , -Potential registers zp ZP_DWORD:86 [ sin16s_gen::step#0 ] : zp ZP_DWORD:86 , -Potential registers zp ZP_WORD:90 [ sin16s::return#0 ] : zp ZP_WORD:90 , -Potential registers zp ZP_WORD:92 [ sin16s_gen::$1 ] : zp ZP_WORD:92 , -Potential registers zp ZP_DWORD:94 [ sin16s::$6 ] : zp ZP_DWORD:94 , -Potential registers zp ZP_WORD:98 [ sin16s::x1#0 ] : zp ZP_WORD:98 , -Potential registers zp ZP_WORD:100 [ mulu16_sel::return#0 ] : zp ZP_WORD:100 , -Potential registers zp ZP_WORD:102 [ sin16s::x2#0 ] : zp ZP_WORD:102 , -Potential registers zp ZP_WORD:104 [ mulu16_sel::return#1 ] : zp ZP_WORD:104 , -Potential registers zp ZP_WORD:106 [ sin16s::x3#0 ] : zp ZP_WORD:106 , -Potential registers zp ZP_WORD:108 [ mulu16_sel::return#2 ] : zp ZP_WORD:108 , -Potential registers zp ZP_WORD:110 [ sin16s::x3_6#0 ] : zp ZP_WORD:110 , -Potential registers zp ZP_WORD:112 [ sin16s::usinx#0 ] : zp ZP_WORD:112 , -Potential registers zp ZP_WORD:114 [ mulu16_sel::return#10 ] : zp ZP_WORD:114 , -Potential registers zp ZP_WORD:116 [ sin16s::x4#0 ] : zp ZP_WORD:116 , -Potential registers zp ZP_WORD:118 [ mulu16_sel::return#11 ] : zp ZP_WORD:118 , -Potential registers zp ZP_WORD:120 [ sin16s::x5#0 ] : zp ZP_WORD:120 , -Potential registers zp ZP_WORD:122 [ sin16s::x5_128#0 ] : zp ZP_WORD:122 , -Potential registers zp ZP_WORD:124 [ sin16s::usinx#1 ] : zp ZP_WORD:124 , -Potential registers zp ZP_WORD:126 [ mul16u::b#0 ] : zp ZP_WORD:126 , -Potential registers zp ZP_DWORD:128 [ mul16u::return#2 ] : zp ZP_DWORD:128 , -Potential registers zp ZP_DWORD:132 [ mulu16_sel::$0 ] : zp ZP_DWORD:132 , -Potential registers zp ZP_DWORD:136 [ mulu16_sel::$1 ] : zp ZP_DWORD:136 , -Potential registers zp ZP_WORD:140 [ mulu16_sel::return#12 ] : zp ZP_WORD:140 , -Potential registers zp ZP_BYTE:142 [ mul16u::$1 ] : zp ZP_BYTE:142 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_WORD:143 [ divr16u::return#3 ] : zp ZP_WORD:143 , -Potential registers zp ZP_WORD:145 [ div32u16u::quotient_hi#0 ] : zp ZP_WORD:145 , -Potential registers zp ZP_WORD:147 [ divr16u::return#4 ] : zp ZP_WORD:147 , -Potential registers zp ZP_WORD:149 [ div32u16u::quotient_lo#0 ] : zp ZP_WORD:149 , -Potential registers zp ZP_DWORD:151 [ div32u16u::return#0 ] : zp ZP_DWORD:151 , -Potential registers zp ZP_BYTE:155 [ divr16u::$1 ] : zp ZP_BYTE:155 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:156 [ divr16u::$2 ] : zp ZP_BYTE:156 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_WORD:157 [ rem16u#1 ] : zp ZP_WORD:157 , -Potential registers zp ZP_WORD:159 [ div16u::return#2 ] : zp ZP_WORD:159 , -Potential registers zp ZP_WORD:161 [ sin8s_gen::step#0 ] : zp ZP_WORD:161 , -Potential registers zp ZP_BYTE:163 [ sin8s::return#0 ] : zp ZP_BYTE:163 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:164 [ sin8s_gen::$1 ] : zp ZP_BYTE:164 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_WORD:165 [ sin8s::$6 ] : zp ZP_WORD:165 , -Potential registers zp ZP_BYTE:167 [ sin8s::x1#0 ] : zp ZP_BYTE:167 , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:168 [ mulu8_sel::return#0 ] : zp ZP_BYTE:168 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:169 [ sin8s::x2#0 ] : zp ZP_BYTE:169 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:170 [ mulu8_sel::return#1 ] : zp ZP_BYTE:170 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:171 [ sin8s::x3#0 ] : zp ZP_BYTE:171 , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:172 [ mulu8_sel::return#2 ] : zp ZP_BYTE:172 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:173 [ sin8s::x3_6#0 ] : zp ZP_BYTE:173 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:174 [ sin8s::usinx#0 ] : zp ZP_BYTE:174 , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:175 [ mulu8_sel::return#10 ] : zp ZP_BYTE:175 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:176 [ sin8s::x4#0 ] : zp ZP_BYTE:176 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:177 [ mulu8_sel::return#11 ] : zp ZP_BYTE:177 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:178 [ sin8s::x5#0 ] : zp ZP_BYTE:178 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:179 [ sin8s::x5_128#0 ] : zp ZP_BYTE:179 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:180 [ mul8u::b#0 ] : zp ZP_BYTE:180 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_WORD:181 [ mul8u::return#2 ] : zp ZP_WORD:181 , -Potential registers zp ZP_WORD:183 [ mulu8_sel::$0 ] : zp ZP_WORD:183 , -Potential registers zp ZP_WORD:185 [ mulu8_sel::$1 ] : zp ZP_WORD:185 , -Potential registers zp ZP_BYTE:187 [ mulu8_sel::return#12 ] : zp ZP_BYTE:187 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:188 [ mul8u::$1 ] : zp ZP_BYTE:188 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_WORD:189 [ divr16u::return#2 ] : zp ZP_WORD:189 , -Potential registers zp ZP_WORD:191 [ div16u::return#0 ] : zp ZP_WORD:191 , +Potential registers zp ZP_WORD:41 [ divr16u::rem#6 divr16u::rem#11 divr16u::rem#5 divr16u::rem#10 divr16u::rem#7 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] : zp ZP_WORD:41 , +Potential registers zp ZP_WORD:43 [ divr16u::dividend#4 divr16u::dividend#6 divr16u::dividend#0 ] : zp ZP_WORD:43 , +Potential registers zp ZP_WORD:45 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] : zp ZP_WORD:45 , +Potential registers zp ZP_BYTE:47 [ divr16u::i#2 divr16u::i#1 ] : zp ZP_BYTE:47 , reg byte x , reg byte y , +Potential registers zp ZP_WORD:48 [ sin8s_gen::x#2 sin8s_gen::x#1 ] : zp ZP_WORD:48 , +Potential registers zp ZP_WORD:50 [ sin8s_gen::sintab#2 sin8s_gen::sintab#0 ] : zp ZP_WORD:50 , +Potential registers zp ZP_WORD:52 [ sin8s_gen::i#2 sin8s_gen::i#1 ] : zp ZP_WORD:52 , +Potential registers zp ZP_BYTE:54 [ sin8s::isUpper#10 ] : zp ZP_BYTE:54 , reg byte x , reg byte y , +Potential registers zp ZP_WORD:55 [ sin8s::x#6 sin8s::x#4 sin8s::x#0 sin8s::x#1 sin8s::x#2 ] : zp ZP_WORD:55 , +Potential registers zp ZP_BYTE:57 [ sin8s::usinx#4 sin8s::usinx#1 sin8s::usinx#2 ] : zp ZP_BYTE:57 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:58 [ sin8s::return#1 sin8s::return#5 sin8s::sinx#1 ] : zp ZP_BYTE:58 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:59 [ mulu8_sel::v1#5 mulu8_sel::v1#1 mulu8_sel::v1#2 mulu8_sel::v1#3 mulu8_sel::v1#4 mulu8_sel::v1#0 ] : zp ZP_BYTE:59 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:60 [ mulu8_sel::v2#5 mulu8_sel::v2#1 mulu8_sel::v2#3 mulu8_sel::v2#4 mulu8_sel::v2#0 ] : zp ZP_BYTE:60 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:61 [ mulu8_sel::select#5 ] : zp ZP_BYTE:61 , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:62 [ mul8u::a#2 mul8u::a#1 mul8u::a#0 ] : zp ZP_BYTE:62 , reg byte x , reg byte y , +Potential registers zp ZP_WORD:63 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 ] : zp ZP_WORD:63 , +Potential registers zp ZP_WORD:65 [ mul8u::mb#2 mul8u::mb#0 mul8u::mb#1 ] : zp ZP_WORD:65 , +Potential registers zp ZP_BYTE:67 [ main::sb#0 ] : zp ZP_BYTE:67 , reg byte x , +Potential registers zp ZP_WORD:68 [ main::$3 ] : zp ZP_WORD:68 , +Potential registers zp ZP_WORD:70 [ main::$4 ] : zp ZP_WORD:70 , +Potential registers zp ZP_WORD:72 [ main::$5 ] : zp ZP_WORD:72 , +Potential registers zp ZP_WORD:74 [ main::sw#0 ] : zp ZP_WORD:74 , +Potential registers zp ZP_BYTE:76 [ main::$6 ] : zp ZP_BYTE:76 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:77 [ main::sd#0 ] : zp ZP_BYTE:77 , reg byte x , +Potential registers zp ZP_BYTE:78 [ print_byte::$0 ] : zp ZP_BYTE:78 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:79 [ print_byte::$2 ] : zp ZP_BYTE:79 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_DWORD:80 [ div32u16u::return#2 ] : zp ZP_DWORD:80 , +Potential registers zp ZP_DWORD:84 [ sin16s_gen::step#0 ] : zp ZP_DWORD:84 , +Potential registers zp ZP_WORD:88 [ sin16s::return#0 ] : zp ZP_WORD:88 , +Potential registers zp ZP_WORD:90 [ sin16s_gen::$1 ] : zp ZP_WORD:90 , +Potential registers zp ZP_DWORD:92 [ sin16s::$6 ] : zp ZP_DWORD:92 , +Potential registers zp ZP_WORD:96 [ sin16s::x1#0 ] : zp ZP_WORD:96 , +Potential registers zp ZP_WORD:98 [ mulu16_sel::return#0 ] : zp ZP_WORD:98 , +Potential registers zp ZP_WORD:100 [ sin16s::x2#0 ] : zp ZP_WORD:100 , +Potential registers zp ZP_WORD:102 [ mulu16_sel::return#1 ] : zp ZP_WORD:102 , +Potential registers zp ZP_WORD:104 [ sin16s::x3#0 ] : zp ZP_WORD:104 , +Potential registers zp ZP_WORD:106 [ mulu16_sel::return#2 ] : zp ZP_WORD:106 , +Potential registers zp ZP_WORD:108 [ sin16s::x3_6#0 ] : zp ZP_WORD:108 , +Potential registers zp ZP_WORD:110 [ sin16s::usinx#0 ] : zp ZP_WORD:110 , +Potential registers zp ZP_WORD:112 [ mulu16_sel::return#10 ] : zp ZP_WORD:112 , +Potential registers zp ZP_WORD:114 [ sin16s::x4#0 ] : zp ZP_WORD:114 , +Potential registers zp ZP_WORD:116 [ mulu16_sel::return#11 ] : zp ZP_WORD:116 , +Potential registers zp ZP_WORD:118 [ sin16s::x5#0 ] : zp ZP_WORD:118 , +Potential registers zp ZP_WORD:120 [ sin16s::x5_128#0 ] : zp ZP_WORD:120 , +Potential registers zp ZP_WORD:122 [ sin16s::usinx#1 ] : zp ZP_WORD:122 , +Potential registers zp ZP_WORD:124 [ mul16u::b#0 ] : zp ZP_WORD:124 , +Potential registers zp ZP_DWORD:126 [ mul16u::return#2 ] : zp ZP_DWORD:126 , +Potential registers zp ZP_DWORD:130 [ mulu16_sel::$0 ] : zp ZP_DWORD:130 , +Potential registers zp ZP_DWORD:134 [ mulu16_sel::$1 ] : zp ZP_DWORD:134 , +Potential registers zp ZP_WORD:138 [ mulu16_sel::return#12 ] : zp ZP_WORD:138 , +Potential registers zp ZP_BYTE:140 [ mul16u::$1 ] : zp ZP_BYTE:140 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_WORD:141 [ divr16u::return#3 ] : zp ZP_WORD:141 , +Potential registers zp ZP_WORD:143 [ div32u16u::quotient_hi#0 ] : zp ZP_WORD:143 , +Potential registers zp ZP_WORD:145 [ divr16u::return#4 ] : zp ZP_WORD:145 , +Potential registers zp ZP_WORD:147 [ div32u16u::quotient_lo#0 ] : zp ZP_WORD:147 , +Potential registers zp ZP_DWORD:149 [ div32u16u::return#0 ] : zp ZP_DWORD:149 , +Potential registers zp ZP_BYTE:153 [ divr16u::$1 ] : zp ZP_BYTE:153 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:154 [ divr16u::$2 ] : zp ZP_BYTE:154 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_WORD:155 [ rem16u#1 ] : zp ZP_WORD:155 , +Potential registers zp ZP_WORD:157 [ div16u::return#2 ] : zp ZP_WORD:157 , +Potential registers zp ZP_WORD:159 [ sin8s_gen::step#0 ] : zp ZP_WORD:159 , +Potential registers zp ZP_BYTE:161 [ sin8s::return#0 ] : zp ZP_BYTE:161 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:162 [ sin8s_gen::$1 ] : zp ZP_BYTE:162 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_WORD:163 [ sin8s::$6 ] : zp ZP_WORD:163 , +Potential registers zp ZP_BYTE:165 [ sin8s::x1#0 ] : zp ZP_BYTE:165 , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:166 [ mulu8_sel::return#0 ] : zp ZP_BYTE:166 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:167 [ sin8s::x2#0 ] : zp ZP_BYTE:167 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:168 [ mulu8_sel::return#1 ] : zp ZP_BYTE:168 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:169 [ sin8s::x3#0 ] : zp ZP_BYTE:169 , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:170 [ mulu8_sel::return#2 ] : zp ZP_BYTE:170 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:171 [ sin8s::x3_6#0 ] : zp ZP_BYTE:171 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:172 [ sin8s::usinx#0 ] : zp ZP_BYTE:172 , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:173 [ mulu8_sel::return#10 ] : zp ZP_BYTE:173 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:174 [ sin8s::x4#0 ] : zp ZP_BYTE:174 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:175 [ mulu8_sel::return#11 ] : zp ZP_BYTE:175 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:176 [ sin8s::x5#0 ] : zp ZP_BYTE:176 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:177 [ sin8s::x5_128#0 ] : zp ZP_BYTE:177 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:178 [ mul8u::b#0 ] : zp ZP_BYTE:178 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_WORD:179 [ mul8u::return#2 ] : zp ZP_WORD:179 , +Potential registers zp ZP_WORD:181 [ mulu8_sel::$0 ] : zp ZP_WORD:181 , +Potential registers zp ZP_WORD:183 [ mulu8_sel::$1 ] : zp ZP_WORD:183 , +Potential registers zp ZP_BYTE:185 [ mulu8_sel::return#12 ] : zp ZP_BYTE:185 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:186 [ mul8u::$1 ] : zp ZP_BYTE:186 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_WORD:187 [ divr16u::return#2 ] : zp ZP_WORD:187 , +Potential registers zp ZP_WORD:189 [ div16u::return#0 ] : zp ZP_WORD:189 , REGISTER UPLIFT SCOPES -Uplift Scope [mul8u] 353.83: zp ZP_WORD:65 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 ] 249.57: zp ZP_WORD:67 [ mul8u::mb#2 mul8u::mb#0 mul8u::mb#1 ] 202: zp ZP_BYTE:188 [ mul8u::$1 ] 170: zp ZP_BYTE:64 [ mul8u::a#2 mul8u::a#1 mul8u::a#0 ] 4: zp ZP_BYTE:180 [ mul8u::b#0 ] 4: zp ZP_WORD:181 [ mul8u::return#2 ] -Uplift Scope [mul16u] 353.83: zp ZP_DWORD:33 [ mul16u::res#2 mul16u::res#6 mul16u::res#1 ] 249.57: zp ZP_DWORD:37 [ mul16u::mb#2 mul16u::mb#0 mul16u::mb#1 ] 202: zp ZP_BYTE:142 [ mul16u::$1 ] 170: zp ZP_WORD:31 [ mul16u::a#2 mul16u::a#1 mul16u::a#0 ] 4: zp ZP_WORD:126 [ mul16u::b#0 ] 4: zp ZP_DWORD:128 [ mul16u::return#2 ] +Uplift Scope [mul8u] 353.83: zp ZP_WORD:63 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 ] 249.57: zp ZP_WORD:65 [ mul8u::mb#2 mul8u::mb#0 mul8u::mb#1 ] 202: zp ZP_BYTE:186 [ mul8u::$1 ] 170: zp ZP_BYTE:62 [ mul8u::a#2 mul8u::a#1 mul8u::a#0 ] 4: zp ZP_BYTE:178 [ mul8u::b#0 ] 4: zp ZP_WORD:179 [ mul8u::return#2 ] +Uplift Scope [mul16u] 353.83: zp ZP_DWORD:33 [ mul16u::res#2 mul16u::res#6 mul16u::res#1 ] 249.57: zp ZP_DWORD:37 [ mul16u::mb#2 mul16u::mb#0 mul16u::mb#1 ] 202: zp ZP_BYTE:140 [ mul16u::$1 ] 170: zp ZP_WORD:31 [ mul16u::a#2 mul16u::a#1 mul16u::a#0 ] 4: zp ZP_WORD:124 [ mul16u::b#0 ] 4: zp ZP_DWORD:126 [ mul16u::return#2 ] Uplift Scope [print_str] 305.5: zp ZP_WORD:3 [ print_str::str#3 print_str::str#5 print_str::str#0 ] -Uplift Scope [divr16u] 106.92: zp ZP_WORD:43 [ divr16u::rem#6 divr16u::rem#11 divr16u::rem#5 divr16u::rem#10 divr16u::rem#7 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] 35.12: zp ZP_WORD:47 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] 22: zp ZP_BYTE:155 [ divr16u::$1 ] 22: zp ZP_BYTE:156 [ divr16u::$2 ] 18.19: zp ZP_BYTE:49 [ divr16u::i#2 divr16u::i#1 ] 9.75: zp ZP_WORD:45 [ divr16u::dividend#4 divr16u::dividend#6 divr16u::dividend#0 ] 4: zp ZP_WORD:143 [ divr16u::return#3 ] 4: zp ZP_WORD:147 [ divr16u::return#4 ] 4: zp ZP_WORD:189 [ divr16u::return#2 ] 1.38: zp ZP_WORD:41 [ divr16u::divisor#7 ] -Uplift Scope [] 183.98: zp ZP_WORD:7 [ print_char_cursor#27 print_char_cursor#37 print_char_cursor#44 print_char_cursor#41 print_char_cursor#42 print_char_cursor#19 print_char_cursor#10 print_char_cursor#1 ] 0.8: zp ZP_WORD:157 [ rem16u#1 ] -Uplift Scope [main] 22: zp ZP_WORD:70 [ main::$3 ] 22: zp ZP_WORD:72 [ main::$4 ] 22: zp ZP_WORD:74 [ main::$5 ] 22: zp ZP_WORD:76 [ main::sw#0 ] 19.25: zp ZP_BYTE:2 [ main::i#2 main::i#1 ] 11: zp ZP_BYTE:78 [ main::$6 ] 6.6: zp ZP_BYTE:79 [ main::sd#0 ] 3.67: zp ZP_BYTE:69 [ main::sb#0 ] -Uplift Scope [sin8s] 27.5: zp ZP_WORD:57 [ sin8s::x#6 sin8s::x#4 sin8s::x#0 sin8s::x#1 sin8s::x#2 ] 22: zp ZP_BYTE:163 [ sin8s::return#0 ] 13: zp ZP_BYTE:60 [ sin8s::return#1 sin8s::return#5 sin8s::sinx#1 ] 10: zp ZP_BYTE:59 [ sin8s::usinx#4 sin8s::usinx#1 sin8s::usinx#2 ] 4: zp ZP_WORD:165 [ sin8s::$6 ] 4: zp ZP_BYTE:169 [ sin8s::x2#0 ] 4: zp ZP_BYTE:173 [ sin8s::x3_6#0 ] 4: zp ZP_BYTE:176 [ sin8s::x4#0 ] 4: zp ZP_BYTE:178 [ sin8s::x5#0 ] 4: zp ZP_BYTE:179 [ sin8s::x5_128#0 ] 1: zp ZP_BYTE:171 [ sin8s::x3#0 ] 0.64: zp ZP_BYTE:167 [ sin8s::x1#0 ] 0.33: zp ZP_BYTE:174 [ sin8s::usinx#0 ] 0.06: zp ZP_BYTE:56 [ sin8s::isUpper#10 ] -Uplift Scope [sin16s] 27.5: zp ZP_DWORD:20 [ sin16s::x#6 sin16s::x#4 sin16s::x#0 sin16s::x#1 sin16s::x#2 ] 22: zp ZP_WORD:90 [ sin16s::return#0 ] 13: zp ZP_WORD:24 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 ] 4: zp ZP_DWORD:94 [ sin16s::$6 ] 4: zp ZP_WORD:102 [ sin16s::x2#0 ] 4: zp ZP_WORD:110 [ sin16s::x3_6#0 ] 4: zp ZP_WORD:116 [ sin16s::x4#0 ] 4: zp ZP_WORD:120 [ sin16s::x5#0 ] 4: zp ZP_WORD:122 [ sin16s::x5_128#0 ] 1: zp ZP_WORD:106 [ sin16s::x3#0 ] 1: zp ZP_WORD:124 [ sin16s::usinx#1 ] 0.64: zp ZP_WORD:98 [ sin16s::x1#0 ] 0.33: zp ZP_WORD:112 [ sin16s::usinx#0 ] 0.06: zp ZP_BYTE:19 [ sin16s::isUpper#2 ] -Uplift Scope [mulu16_sel] 24: zp ZP_WORD:26 [ mulu16_sel::v1#5 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 ] 21: zp ZP_WORD:28 [ mulu16_sel::v2#5 mulu16_sel::v2#3 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 ] 4: zp ZP_WORD:100 [ mulu16_sel::return#0 ] 4: zp ZP_WORD:104 [ mulu16_sel::return#1 ] 4: zp ZP_WORD:108 [ mulu16_sel::return#2 ] 4: zp ZP_WORD:114 [ mulu16_sel::return#10 ] 4: zp ZP_WORD:118 [ mulu16_sel::return#11 ] 4: zp ZP_DWORD:132 [ mulu16_sel::$0 ] 4: zp ZP_DWORD:136 [ mulu16_sel::$1 ] 1.71: zp ZP_WORD:140 [ mulu16_sel::return#12 ] 0.33: zp ZP_BYTE:30 [ mulu16_sel::select#5 ] -Uplift Scope [mulu8_sel] 24: zp ZP_BYTE:61 [ mulu8_sel::v1#5 mulu8_sel::v1#1 mulu8_sel::v1#2 mulu8_sel::v1#3 mulu8_sel::v1#4 mulu8_sel::v1#0 ] 21: zp ZP_BYTE:62 [ mulu8_sel::v2#5 mulu8_sel::v2#1 mulu8_sel::v2#3 mulu8_sel::v2#4 mulu8_sel::v2#0 ] 4: zp ZP_BYTE:168 [ mulu8_sel::return#0 ] 4: zp ZP_BYTE:170 [ mulu8_sel::return#1 ] 4: zp ZP_BYTE:172 [ mulu8_sel::return#2 ] 4: zp ZP_BYTE:175 [ mulu8_sel::return#10 ] 4: zp ZP_BYTE:177 [ mulu8_sel::return#11 ] 4: zp ZP_WORD:183 [ mulu8_sel::$0 ] 4: zp ZP_WORD:185 [ mulu8_sel::$1 ] 1.71: zp ZP_BYTE:187 [ mulu8_sel::return#12 ] 0.33: zp ZP_BYTE:63 [ mulu8_sel::select#5 ] -Uplift Scope [sin16s_gen] 22: zp ZP_WORD:92 [ sin16s_gen::$1 ] 19.25: zp ZP_WORD:17 [ sin16s_gen::i#2 sin16s_gen::i#1 ] 12.05: zp ZP_DWORD:11 [ sin16s_gen::x#2 sin16s_gen::x#1 ] 11: zp ZP_WORD:15 [ sin16s_gen::sintab#2 sin16s_gen::sintab#0 ] 1.18: zp ZP_DWORD:86 [ sin16s_gen::step#0 ] -Uplift Scope [sin8s_gen] 22: zp ZP_BYTE:164 [ sin8s_gen::$1 ] 19.25: zp ZP_WORD:54 [ sin8s_gen::i#2 sin8s_gen::i#1 ] 12.05: zp ZP_WORD:50 [ sin8s_gen::x#2 sin8s_gen::x#1 ] 11: zp ZP_WORD:52 [ sin8s_gen::sintab#2 sin8s_gen::sintab#0 ] 1.18: zp ZP_WORD:161 [ sin8s_gen::step#0 ] +Uplift Scope [divr16u] 106.92: zp ZP_WORD:41 [ divr16u::rem#6 divr16u::rem#11 divr16u::rem#5 divr16u::rem#10 divr16u::rem#7 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] 35.12: zp ZP_WORD:45 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] 22: zp ZP_BYTE:153 [ divr16u::$1 ] 22: zp ZP_BYTE:154 [ divr16u::$2 ] 18.19: zp ZP_BYTE:47 [ divr16u::i#2 divr16u::i#1 ] 9.75: zp ZP_WORD:43 [ divr16u::dividend#4 divr16u::dividend#6 divr16u::dividend#0 ] 4: zp ZP_WORD:141 [ divr16u::return#3 ] 4: zp ZP_WORD:145 [ divr16u::return#4 ] 4: zp ZP_WORD:187 [ divr16u::return#2 ] +Uplift Scope [] 183.98: zp ZP_WORD:7 [ print_char_cursor#27 print_char_cursor#37 print_char_cursor#44 print_char_cursor#41 print_char_cursor#42 print_char_cursor#19 print_char_cursor#10 print_char_cursor#1 ] 0.8: zp ZP_WORD:155 [ rem16u#1 ] +Uplift Scope [main] 22: zp ZP_WORD:68 [ main::$3 ] 22: zp ZP_WORD:70 [ main::$4 ] 22: zp ZP_WORD:72 [ main::$5 ] 22: zp ZP_WORD:74 [ main::sw#0 ] 19.25: zp ZP_BYTE:2 [ main::i#2 main::i#1 ] 11: zp ZP_BYTE:76 [ main::$6 ] 6.6: zp ZP_BYTE:77 [ main::sd#0 ] 3.67: zp ZP_BYTE:67 [ main::sb#0 ] +Uplift Scope [sin8s] 27.5: zp ZP_WORD:55 [ sin8s::x#6 sin8s::x#4 sin8s::x#0 sin8s::x#1 sin8s::x#2 ] 22: zp ZP_BYTE:161 [ sin8s::return#0 ] 13: zp ZP_BYTE:58 [ sin8s::return#1 sin8s::return#5 sin8s::sinx#1 ] 10: zp ZP_BYTE:57 [ sin8s::usinx#4 sin8s::usinx#1 sin8s::usinx#2 ] 4: zp ZP_WORD:163 [ sin8s::$6 ] 4: zp ZP_BYTE:167 [ sin8s::x2#0 ] 4: zp ZP_BYTE:171 [ sin8s::x3_6#0 ] 4: zp ZP_BYTE:174 [ sin8s::x4#0 ] 4: zp ZP_BYTE:176 [ sin8s::x5#0 ] 4: zp ZP_BYTE:177 [ sin8s::x5_128#0 ] 1: zp ZP_BYTE:169 [ sin8s::x3#0 ] 0.64: zp ZP_BYTE:165 [ sin8s::x1#0 ] 0.33: zp ZP_BYTE:172 [ sin8s::usinx#0 ] 0.06: zp ZP_BYTE:54 [ sin8s::isUpper#10 ] +Uplift Scope [sin16s] 27.5: zp ZP_DWORD:20 [ sin16s::x#6 sin16s::x#4 sin16s::x#0 sin16s::x#1 sin16s::x#2 ] 22: zp ZP_WORD:88 [ sin16s::return#0 ] 13: zp ZP_WORD:24 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 ] 4: zp ZP_DWORD:92 [ sin16s::$6 ] 4: zp ZP_WORD:100 [ sin16s::x2#0 ] 4: zp ZP_WORD:108 [ sin16s::x3_6#0 ] 4: zp ZP_WORD:114 [ sin16s::x4#0 ] 4: zp ZP_WORD:118 [ sin16s::x5#0 ] 4: zp ZP_WORD:120 [ sin16s::x5_128#0 ] 1: zp ZP_WORD:104 [ sin16s::x3#0 ] 1: zp ZP_WORD:122 [ sin16s::usinx#1 ] 0.64: zp ZP_WORD:96 [ sin16s::x1#0 ] 0.33: zp ZP_WORD:110 [ sin16s::usinx#0 ] 0.06: zp ZP_BYTE:19 [ sin16s::isUpper#2 ] +Uplift Scope [mulu16_sel] 24: zp ZP_WORD:26 [ mulu16_sel::v1#5 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 ] 21: zp ZP_WORD:28 [ mulu16_sel::v2#5 mulu16_sel::v2#3 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 ] 4: zp ZP_WORD:98 [ mulu16_sel::return#0 ] 4: zp ZP_WORD:102 [ mulu16_sel::return#1 ] 4: zp ZP_WORD:106 [ mulu16_sel::return#2 ] 4: zp ZP_WORD:112 [ mulu16_sel::return#10 ] 4: zp ZP_WORD:116 [ mulu16_sel::return#11 ] 4: zp ZP_DWORD:130 [ mulu16_sel::$0 ] 4: zp ZP_DWORD:134 [ mulu16_sel::$1 ] 1.71: zp ZP_WORD:138 [ mulu16_sel::return#12 ] 0.33: zp ZP_BYTE:30 [ mulu16_sel::select#5 ] +Uplift Scope [mulu8_sel] 24: zp ZP_BYTE:59 [ mulu8_sel::v1#5 mulu8_sel::v1#1 mulu8_sel::v1#2 mulu8_sel::v1#3 mulu8_sel::v1#4 mulu8_sel::v1#0 ] 21: zp ZP_BYTE:60 [ mulu8_sel::v2#5 mulu8_sel::v2#1 mulu8_sel::v2#3 mulu8_sel::v2#4 mulu8_sel::v2#0 ] 4: zp ZP_BYTE:166 [ mulu8_sel::return#0 ] 4: zp ZP_BYTE:168 [ mulu8_sel::return#1 ] 4: zp ZP_BYTE:170 [ mulu8_sel::return#2 ] 4: zp ZP_BYTE:173 [ mulu8_sel::return#10 ] 4: zp ZP_BYTE:175 [ mulu8_sel::return#11 ] 4: zp ZP_WORD:181 [ mulu8_sel::$0 ] 4: zp ZP_WORD:183 [ mulu8_sel::$1 ] 1.71: zp ZP_BYTE:185 [ mulu8_sel::return#12 ] 0.33: zp ZP_BYTE:61 [ mulu8_sel::select#5 ] +Uplift Scope [sin16s_gen] 22: zp ZP_WORD:90 [ sin16s_gen::$1 ] 19.25: zp ZP_WORD:17 [ sin16s_gen::i#2 sin16s_gen::i#1 ] 12.05: zp ZP_DWORD:11 [ sin16s_gen::x#2 sin16s_gen::x#1 ] 11: zp ZP_WORD:15 [ sin16s_gen::sintab#2 sin16s_gen::sintab#0 ] 1.18: zp ZP_DWORD:84 [ sin16s_gen::step#0 ] +Uplift Scope [sin8s_gen] 22: zp ZP_BYTE:162 [ sin8s_gen::$1 ] 19.25: zp ZP_WORD:52 [ sin8s_gen::i#2 sin8s_gen::i#1 ] 12.05: zp ZP_WORD:48 [ sin8s_gen::x#2 sin8s_gen::x#1 ] 11: zp ZP_WORD:50 [ sin8s_gen::sintab#2 sin8s_gen::sintab#0 ] 1.18: zp ZP_WORD:159 [ sin8s_gen::step#0 ] Uplift Scope [print_cls] 33: zp ZP_WORD:9 [ print_cls::sc#2 print_cls::sc#1 ] Uplift Scope [print_char] 14: zp ZP_BYTE:6 [ print_char::ch#3 print_char::ch#1 print_char::ch#2 ] -Uplift Scope [div32u16u] 4: zp ZP_DWORD:82 [ div32u16u::return#2 ] 4: zp ZP_WORD:149 [ div32u16u::quotient_lo#0 ] 1.33: zp ZP_DWORD:151 [ div32u16u::return#0 ] 0.8: zp ZP_WORD:145 [ div32u16u::quotient_hi#0 ] +Uplift Scope [div32u16u] 4: zp ZP_DWORD:80 [ div32u16u::return#2 ] 4: zp ZP_WORD:147 [ div32u16u::quotient_lo#0 ] 1.33: zp ZP_DWORD:149 [ div32u16u::return#0 ] 0.8: zp ZP_WORD:143 [ div32u16u::quotient_hi#0 ] Uplift Scope [print_sbyte] 9.25: zp ZP_BYTE:5 [ print_sbyte::b#3 print_sbyte::b#1 print_sbyte::b#0 ] -Uplift Scope [print_byte] 4: zp ZP_BYTE:80 [ print_byte::$0 ] 4: zp ZP_BYTE:81 [ print_byte::$2 ] -Uplift Scope [div16u] 4: zp ZP_WORD:159 [ div16u::return#2 ] 1.33: zp ZP_WORD:191 [ div16u::return#0 ] +Uplift Scope [print_byte] 4: zp ZP_BYTE:78 [ print_byte::$0 ] 4: zp ZP_BYTE:79 [ print_byte::$2 ] +Uplift Scope [div16u] 4: zp ZP_WORD:157 [ div16u::return#2 ] 1.33: zp ZP_WORD:189 [ div16u::return#0 ] -Uplifting [mul8u] best 35376 combination zp ZP_WORD:65 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 ] zp ZP_WORD:67 [ mul8u::mb#2 mul8u::mb#0 mul8u::mb#1 ] reg byte a [ mul8u::$1 ] reg byte x [ mul8u::a#2 mul8u::a#1 mul8u::a#0 ] reg byte a [ mul8u::b#0 ] zp ZP_WORD:181 [ mul8u::return#2 ] -Uplifting [mul16u] best 34976 combination zp ZP_DWORD:33 [ mul16u::res#2 mul16u::res#6 mul16u::res#1 ] zp ZP_DWORD:37 [ mul16u::mb#2 mul16u::mb#0 mul16u::mb#1 ] reg byte a [ mul16u::$1 ] zp ZP_WORD:31 [ mul16u::a#2 mul16u::a#1 mul16u::a#0 ] zp ZP_WORD:126 [ mul16u::b#0 ] zp ZP_DWORD:128 [ mul16u::return#2 ] -Uplifting [print_str] best 34976 combination zp ZP_WORD:3 [ print_str::str#3 print_str::str#5 print_str::str#0 ] -Uplifting [divr16u] best 34786 combination zp ZP_WORD:43 [ divr16u::rem#6 divr16u::rem#11 divr16u::rem#5 divr16u::rem#10 divr16u::rem#7 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] zp ZP_WORD:47 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] reg byte a [ divr16u::$1 ] reg byte a [ divr16u::$2 ] reg byte x [ divr16u::i#2 divr16u::i#1 ] zp ZP_WORD:45 [ divr16u::dividend#4 divr16u::dividend#6 divr16u::dividend#0 ] zp ZP_WORD:143 [ divr16u::return#3 ] zp ZP_WORD:147 [ divr16u::return#4 ] zp ZP_WORD:189 [ divr16u::return#2 ] zp ZP_WORD:41 [ divr16u::divisor#7 ] -Uplifting [] best 34786 combination zp ZP_WORD:7 [ print_char_cursor#27 print_char_cursor#37 print_char_cursor#44 print_char_cursor#41 print_char_cursor#42 print_char_cursor#19 print_char_cursor#10 print_char_cursor#1 ] zp ZP_WORD:157 [ rem16u#1 ] -Uplifting [main] best 34616 combination zp ZP_WORD:70 [ main::$3 ] zp ZP_WORD:72 [ main::$4 ] zp ZP_WORD:74 [ main::$5 ] zp ZP_WORD:76 [ main::sw#0 ] reg byte x [ main::i#2 main::i#1 ] reg byte a [ main::$6 ] zp ZP_BYTE:79 [ main::sd#0 ] zp ZP_BYTE:69 [ main::sb#0 ] -Uplifting [sin8s] best 34511 combination zp ZP_WORD:57 [ sin8s::x#6 sin8s::x#4 sin8s::x#0 sin8s::x#1 sin8s::x#2 ] reg byte a [ sin8s::return#0 ] reg byte a [ sin8s::return#1 sin8s::return#5 sin8s::sinx#1 ] reg byte x [ sin8s::usinx#4 sin8s::usinx#1 sin8s::usinx#2 ] zp ZP_WORD:165 [ sin8s::$6 ] zp ZP_BYTE:169 [ sin8s::x2#0 ] zp ZP_BYTE:173 [ sin8s::x3_6#0 ] zp ZP_BYTE:176 [ sin8s::x4#0 ] zp ZP_BYTE:178 [ sin8s::x5#0 ] zp ZP_BYTE:179 [ sin8s::x5_128#0 ] zp ZP_BYTE:171 [ sin8s::x3#0 ] zp ZP_BYTE:167 [ sin8s::x1#0 ] zp ZP_BYTE:174 [ sin8s::usinx#0 ] zp ZP_BYTE:56 [ sin8s::isUpper#10 ] +Uplifting [mul8u] best 35306 combination zp ZP_WORD:63 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 ] zp ZP_WORD:65 [ mul8u::mb#2 mul8u::mb#0 mul8u::mb#1 ] reg byte a [ mul8u::$1 ] reg byte x [ mul8u::a#2 mul8u::a#1 mul8u::a#0 ] reg byte a [ mul8u::b#0 ] zp ZP_WORD:179 [ mul8u::return#2 ] +Uplifting [mul16u] best 34906 combination zp ZP_DWORD:33 [ mul16u::res#2 mul16u::res#6 mul16u::res#1 ] zp ZP_DWORD:37 [ mul16u::mb#2 mul16u::mb#0 mul16u::mb#1 ] reg byte a [ mul16u::$1 ] zp ZP_WORD:31 [ mul16u::a#2 mul16u::a#1 mul16u::a#0 ] zp ZP_WORD:124 [ mul16u::b#0 ] zp ZP_DWORD:126 [ mul16u::return#2 ] +Uplifting [print_str] best 34906 combination zp ZP_WORD:3 [ print_str::str#3 print_str::str#5 print_str::str#0 ] +Uplifting [divr16u] best 34716 combination zp ZP_WORD:41 [ divr16u::rem#6 divr16u::rem#11 divr16u::rem#5 divr16u::rem#10 divr16u::rem#7 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] zp ZP_WORD:45 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] reg byte a [ divr16u::$1 ] reg byte a [ divr16u::$2 ] reg byte x [ divr16u::i#2 divr16u::i#1 ] zp ZP_WORD:43 [ divr16u::dividend#4 divr16u::dividend#6 divr16u::dividend#0 ] zp ZP_WORD:141 [ divr16u::return#3 ] zp ZP_WORD:145 [ divr16u::return#4 ] zp ZP_WORD:187 [ divr16u::return#2 ] +Uplifting [] best 34716 combination zp ZP_WORD:7 [ print_char_cursor#27 print_char_cursor#37 print_char_cursor#44 print_char_cursor#41 print_char_cursor#42 print_char_cursor#19 print_char_cursor#10 print_char_cursor#1 ] zp ZP_WORD:155 [ rem16u#1 ] +Uplifting [main] best 34546 combination zp ZP_WORD:68 [ main::$3 ] zp ZP_WORD:70 [ main::$4 ] zp ZP_WORD:72 [ main::$5 ] zp ZP_WORD:74 [ main::sw#0 ] reg byte x [ main::i#2 main::i#1 ] reg byte a [ main::$6 ] zp ZP_BYTE:77 [ main::sd#0 ] zp ZP_BYTE:67 [ main::sb#0 ] +Uplifting [sin8s] best 34441 combination zp ZP_WORD:55 [ sin8s::x#6 sin8s::x#4 sin8s::x#0 sin8s::x#1 sin8s::x#2 ] reg byte a [ sin8s::return#0 ] reg byte a [ sin8s::return#1 sin8s::return#5 sin8s::sinx#1 ] reg byte x [ sin8s::usinx#4 sin8s::usinx#1 sin8s::usinx#2 ] zp ZP_WORD:163 [ sin8s::$6 ] zp ZP_BYTE:167 [ sin8s::x2#0 ] zp ZP_BYTE:171 [ sin8s::x3_6#0 ] zp ZP_BYTE:174 [ sin8s::x4#0 ] zp ZP_BYTE:176 [ sin8s::x5#0 ] zp ZP_BYTE:177 [ sin8s::x5_128#0 ] zp ZP_BYTE:169 [ sin8s::x3#0 ] zp ZP_BYTE:165 [ sin8s::x1#0 ] zp ZP_BYTE:172 [ sin8s::usinx#0 ] zp ZP_BYTE:54 [ sin8s::isUpper#10 ] Limited combination testing to 100 combinations of 5308416 possible. -Uplifting [sin16s] best 34511 combination zp ZP_DWORD:20 [ sin16s::x#6 sin16s::x#4 sin16s::x#0 sin16s::x#1 sin16s::x#2 ] zp ZP_WORD:90 [ sin16s::return#0 ] zp ZP_WORD:24 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 ] zp ZP_DWORD:94 [ sin16s::$6 ] zp ZP_WORD:102 [ sin16s::x2#0 ] zp ZP_WORD:110 [ sin16s::x3_6#0 ] zp ZP_WORD:116 [ sin16s::x4#0 ] zp ZP_WORD:120 [ sin16s::x5#0 ] zp ZP_WORD:122 [ sin16s::x5_128#0 ] zp ZP_WORD:106 [ sin16s::x3#0 ] zp ZP_WORD:124 [ sin16s::usinx#1 ] zp ZP_WORD:98 [ sin16s::x1#0 ] zp ZP_WORD:112 [ sin16s::usinx#0 ] zp ZP_BYTE:19 [ sin16s::isUpper#2 ] -Uplifting [mulu16_sel] best 34495 combination zp ZP_WORD:26 [ mulu16_sel::v1#5 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 ] zp ZP_WORD:28 [ mulu16_sel::v2#5 mulu16_sel::v2#3 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 ] zp ZP_WORD:100 [ mulu16_sel::return#0 ] zp ZP_WORD:104 [ mulu16_sel::return#1 ] zp ZP_WORD:108 [ mulu16_sel::return#2 ] zp ZP_WORD:114 [ mulu16_sel::return#10 ] zp ZP_WORD:118 [ mulu16_sel::return#11 ] zp ZP_DWORD:132 [ mulu16_sel::$0 ] zp ZP_DWORD:136 [ mulu16_sel::$1 ] zp ZP_WORD:140 [ mulu16_sel::return#12 ] reg byte x [ mulu16_sel::select#5 ] -Uplifting [mulu8_sel] best 34449 combination reg byte x [ mulu8_sel::v1#5 mulu8_sel::v1#1 mulu8_sel::v1#2 mulu8_sel::v1#3 mulu8_sel::v1#4 mulu8_sel::v1#0 ] reg byte y [ mulu8_sel::v2#5 mulu8_sel::v2#1 mulu8_sel::v2#3 mulu8_sel::v2#4 mulu8_sel::v2#0 ] reg byte a [ mulu8_sel::return#0 ] reg byte a [ mulu8_sel::return#1 ] zp ZP_BYTE:172 [ mulu8_sel::return#2 ] zp ZP_BYTE:175 [ mulu8_sel::return#10 ] zp ZP_BYTE:177 [ mulu8_sel::return#11 ] zp ZP_WORD:183 [ mulu8_sel::$0 ] zp ZP_WORD:185 [ mulu8_sel::$1 ] zp ZP_BYTE:187 [ mulu8_sel::return#12 ] zp ZP_BYTE:63 [ mulu8_sel::select#5 ] +Uplifting [sin16s] best 34441 combination zp ZP_DWORD:20 [ sin16s::x#6 sin16s::x#4 sin16s::x#0 sin16s::x#1 sin16s::x#2 ] zp ZP_WORD:88 [ sin16s::return#0 ] zp ZP_WORD:24 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 ] zp ZP_DWORD:92 [ sin16s::$6 ] zp ZP_WORD:100 [ sin16s::x2#0 ] zp ZP_WORD:108 [ sin16s::x3_6#0 ] zp ZP_WORD:114 [ sin16s::x4#0 ] zp ZP_WORD:118 [ sin16s::x5#0 ] zp ZP_WORD:120 [ sin16s::x5_128#0 ] zp ZP_WORD:104 [ sin16s::x3#0 ] zp ZP_WORD:122 [ sin16s::usinx#1 ] zp ZP_WORD:96 [ sin16s::x1#0 ] zp ZP_WORD:110 [ sin16s::usinx#0 ] zp ZP_BYTE:19 [ sin16s::isUpper#2 ] +Uplifting [mulu16_sel] best 34425 combination zp ZP_WORD:26 [ mulu16_sel::v1#5 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 ] zp ZP_WORD:28 [ mulu16_sel::v2#5 mulu16_sel::v2#3 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 ] zp ZP_WORD:98 [ mulu16_sel::return#0 ] zp ZP_WORD:102 [ mulu16_sel::return#1 ] zp ZP_WORD:106 [ mulu16_sel::return#2 ] zp ZP_WORD:112 [ mulu16_sel::return#10 ] zp ZP_WORD:116 [ mulu16_sel::return#11 ] zp ZP_DWORD:130 [ mulu16_sel::$0 ] zp ZP_DWORD:134 [ mulu16_sel::$1 ] zp ZP_WORD:138 [ mulu16_sel::return#12 ] reg byte x [ mulu16_sel::select#5 ] +Uplifting [mulu8_sel] best 34379 combination reg byte x [ mulu8_sel::v1#5 mulu8_sel::v1#1 mulu8_sel::v1#2 mulu8_sel::v1#3 mulu8_sel::v1#4 mulu8_sel::v1#0 ] reg byte y [ mulu8_sel::v2#5 mulu8_sel::v2#1 mulu8_sel::v2#3 mulu8_sel::v2#4 mulu8_sel::v2#0 ] reg byte a [ mulu8_sel::return#0 ] reg byte a [ mulu8_sel::return#1 ] zp ZP_BYTE:170 [ mulu8_sel::return#2 ] zp ZP_BYTE:173 [ mulu8_sel::return#10 ] zp ZP_BYTE:175 [ mulu8_sel::return#11 ] zp ZP_WORD:181 [ mulu8_sel::$0 ] zp ZP_WORD:183 [ mulu8_sel::$1 ] zp ZP_BYTE:185 [ mulu8_sel::return#12 ] zp ZP_BYTE:61 [ mulu8_sel::select#5 ] Limited combination testing to 100 combinations of 196608 possible. -Uplifting [sin16s_gen] best 34449 combination zp ZP_WORD:92 [ sin16s_gen::$1 ] zp ZP_WORD:17 [ sin16s_gen::i#2 sin16s_gen::i#1 ] zp ZP_DWORD:11 [ sin16s_gen::x#2 sin16s_gen::x#1 ] zp ZP_WORD:15 [ sin16s_gen::sintab#2 sin16s_gen::sintab#0 ] zp ZP_DWORD:86 [ sin16s_gen::step#0 ] -Uplifting [sin8s_gen] best 34389 combination reg byte a [ sin8s_gen::$1 ] zp ZP_WORD:54 [ sin8s_gen::i#2 sin8s_gen::i#1 ] zp ZP_WORD:50 [ sin8s_gen::x#2 sin8s_gen::x#1 ] zp ZP_WORD:52 [ sin8s_gen::sintab#2 sin8s_gen::sintab#0 ] zp ZP_WORD:161 [ sin8s_gen::step#0 ] -Uplifting [print_cls] best 34389 combination zp ZP_WORD:9 [ print_cls::sc#2 print_cls::sc#1 ] -Uplifting [print_char] best 34377 combination reg byte a [ print_char::ch#3 print_char::ch#1 print_char::ch#2 ] -Uplifting [div32u16u] best 34377 combination zp ZP_DWORD:82 [ div32u16u::return#2 ] zp ZP_WORD:149 [ div32u16u::quotient_lo#0 ] zp ZP_DWORD:151 [ div32u16u::return#0 ] zp ZP_WORD:145 [ div32u16u::quotient_hi#0 ] -Uplifting [print_sbyte] best 34377 combination zp ZP_BYTE:5 [ print_sbyte::b#3 print_sbyte::b#1 print_sbyte::b#0 ] -Uplifting [print_byte] best 34369 combination reg byte a [ print_byte::$0 ] reg byte a [ print_byte::$2 ] -Uplifting [div16u] best 34369 combination zp ZP_WORD:159 [ div16u::return#2 ] zp ZP_WORD:191 [ div16u::return#0 ] +Uplifting [sin16s_gen] best 34379 combination zp ZP_WORD:90 [ sin16s_gen::$1 ] zp ZP_WORD:17 [ sin16s_gen::i#2 sin16s_gen::i#1 ] zp ZP_DWORD:11 [ sin16s_gen::x#2 sin16s_gen::x#1 ] zp ZP_WORD:15 [ sin16s_gen::sintab#2 sin16s_gen::sintab#0 ] zp ZP_DWORD:84 [ sin16s_gen::step#0 ] +Uplifting [sin8s_gen] best 34319 combination reg byte a [ sin8s_gen::$1 ] zp ZP_WORD:52 [ sin8s_gen::i#2 sin8s_gen::i#1 ] zp ZP_WORD:48 [ sin8s_gen::x#2 sin8s_gen::x#1 ] zp ZP_WORD:50 [ sin8s_gen::sintab#2 sin8s_gen::sintab#0 ] zp ZP_WORD:159 [ sin8s_gen::step#0 ] +Uplifting [print_cls] best 34319 combination zp ZP_WORD:9 [ print_cls::sc#2 print_cls::sc#1 ] +Uplifting [print_char] best 34307 combination reg byte a [ print_char::ch#3 print_char::ch#1 print_char::ch#2 ] +Uplifting [div32u16u] best 34307 combination zp ZP_DWORD:80 [ div32u16u::return#2 ] zp ZP_WORD:147 [ div32u16u::quotient_lo#0 ] zp ZP_DWORD:149 [ div32u16u::return#0 ] zp ZP_WORD:143 [ div32u16u::quotient_hi#0 ] +Uplifting [print_sbyte] best 34307 combination zp ZP_BYTE:5 [ print_sbyte::b#3 print_sbyte::b#1 print_sbyte::b#0 ] +Uplifting [print_byte] best 34299 combination reg byte a [ print_byte::$0 ] reg byte a [ print_byte::$2 ] +Uplifting [div16u] best 34299 combination zp ZP_WORD:157 [ div16u::return#2 ] zp ZP_WORD:189 [ div16u::return#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:5 [ print_sbyte::b#3 print_sbyte::b#1 print_sbyte::b#0 ] -Uplifting [print_sbyte] best 34369 combination zp ZP_BYTE:5 [ print_sbyte::b#3 print_sbyte::b#1 print_sbyte::b#0 ] -Attempting to uplift remaining variables inzp ZP_BYTE:79 [ main::sd#0 ] -Uplifting [main] best 34369 combination zp ZP_BYTE:79 [ main::sd#0 ] -Attempting to uplift remaining variables inzp ZP_BYTE:169 [ sin8s::x2#0 ] -Uplifting [sin8s] best 34365 combination reg byte a [ sin8s::x2#0 ] -Attempting to uplift remaining variables inzp ZP_BYTE:172 [ mulu8_sel::return#2 ] -Uplifting [mulu8_sel] best 34359 combination reg byte a [ mulu8_sel::return#2 ] -Attempting to uplift remaining variables inzp ZP_BYTE:173 [ sin8s::x3_6#0 ] -Uplifting [sin8s] best 34355 combination reg byte a [ sin8s::x3_6#0 ] -Attempting to uplift remaining variables inzp ZP_BYTE:175 [ mulu8_sel::return#10 ] -Uplifting [mulu8_sel] best 34349 combination reg byte a [ mulu8_sel::return#10 ] -Attempting to uplift remaining variables inzp ZP_BYTE:176 [ sin8s::x4#0 ] -Uplifting [sin8s] best 34345 combination reg byte a [ sin8s::x4#0 ] -Attempting to uplift remaining variables inzp ZP_BYTE:177 [ mulu8_sel::return#11 ] -Uplifting [mulu8_sel] best 34339 combination reg byte a [ mulu8_sel::return#11 ] -Attempting to uplift remaining variables inzp ZP_BYTE:178 [ sin8s::x5#0 ] -Uplifting [sin8s] best 34333 combination reg byte a [ sin8s::x5#0 ] -Attempting to uplift remaining variables inzp ZP_BYTE:179 [ sin8s::x5_128#0 ] -Uplifting [sin8s] best 34327 combination reg byte a [ sin8s::x5_128#0 ] -Attempting to uplift remaining variables inzp ZP_BYTE:69 [ main::sb#0 ] -Uplifting [main] best 34327 combination zp ZP_BYTE:69 [ main::sb#0 ] -Attempting to uplift remaining variables inzp ZP_BYTE:187 [ mulu8_sel::return#12 ] -Uplifting [mulu8_sel] best 34309 combination reg byte a [ mulu8_sel::return#12 ] -Attempting to uplift remaining variables inzp ZP_BYTE:171 [ sin8s::x3#0 ] -Uplifting [sin8s] best 34309 combination zp ZP_BYTE:171 [ sin8s::x3#0 ] -Attempting to uplift remaining variables inzp ZP_BYTE:167 [ sin8s::x1#0 ] -Uplifting [sin8s] best 34309 combination zp ZP_BYTE:167 [ sin8s::x1#0 ] -Attempting to uplift remaining variables inzp ZP_BYTE:63 [ mulu8_sel::select#5 ] -Uplifting [mulu8_sel] best 34309 combination zp ZP_BYTE:63 [ mulu8_sel::select#5 ] -Attempting to uplift remaining variables inzp ZP_BYTE:174 [ sin8s::usinx#0 ] -Uplifting [sin8s] best 34309 combination zp ZP_BYTE:174 [ sin8s::usinx#0 ] +Uplifting [print_sbyte] best 34299 combination zp ZP_BYTE:5 [ print_sbyte::b#3 print_sbyte::b#1 print_sbyte::b#0 ] +Attempting to uplift remaining variables inzp ZP_BYTE:77 [ main::sd#0 ] +Uplifting [main] best 34299 combination zp ZP_BYTE:77 [ main::sd#0 ] +Attempting to uplift remaining variables inzp ZP_BYTE:167 [ sin8s::x2#0 ] +Uplifting [sin8s] best 34295 combination reg byte a [ sin8s::x2#0 ] +Attempting to uplift remaining variables inzp ZP_BYTE:170 [ mulu8_sel::return#2 ] +Uplifting [mulu8_sel] best 34289 combination reg byte a [ mulu8_sel::return#2 ] +Attempting to uplift remaining variables inzp ZP_BYTE:171 [ sin8s::x3_6#0 ] +Uplifting [sin8s] best 34285 combination reg byte a [ sin8s::x3_6#0 ] +Attempting to uplift remaining variables inzp ZP_BYTE:173 [ mulu8_sel::return#10 ] +Uplifting [mulu8_sel] best 34279 combination reg byte a [ mulu8_sel::return#10 ] +Attempting to uplift remaining variables inzp ZP_BYTE:174 [ sin8s::x4#0 ] +Uplifting [sin8s] best 34275 combination reg byte a [ sin8s::x4#0 ] +Attempting to uplift remaining variables inzp ZP_BYTE:175 [ mulu8_sel::return#11 ] +Uplifting [mulu8_sel] best 34269 combination reg byte a [ mulu8_sel::return#11 ] +Attempting to uplift remaining variables inzp ZP_BYTE:176 [ sin8s::x5#0 ] +Uplifting [sin8s] best 34263 combination reg byte a [ sin8s::x5#0 ] +Attempting to uplift remaining variables inzp ZP_BYTE:177 [ sin8s::x5_128#0 ] +Uplifting [sin8s] best 34257 combination reg byte a [ sin8s::x5_128#0 ] +Attempting to uplift remaining variables inzp ZP_BYTE:67 [ main::sb#0 ] +Uplifting [main] best 34257 combination zp ZP_BYTE:67 [ main::sb#0 ] +Attempting to uplift remaining variables inzp ZP_BYTE:185 [ mulu8_sel::return#12 ] +Uplifting [mulu8_sel] best 34239 combination reg byte a [ mulu8_sel::return#12 ] +Attempting to uplift remaining variables inzp ZP_BYTE:169 [ sin8s::x3#0 ] +Uplifting [sin8s] best 34239 combination zp ZP_BYTE:169 [ sin8s::x3#0 ] +Attempting to uplift remaining variables inzp ZP_BYTE:165 [ sin8s::x1#0 ] +Uplifting [sin8s] best 34239 combination zp ZP_BYTE:165 [ sin8s::x1#0 ] +Attempting to uplift remaining variables inzp ZP_BYTE:61 [ mulu8_sel::select#5 ] +Uplifting [mulu8_sel] best 34239 combination zp ZP_BYTE:61 [ mulu8_sel::select#5 ] +Attempting to uplift remaining variables inzp ZP_BYTE:172 [ sin8s::usinx#0 ] +Uplifting [sin8s] best 34239 combination zp ZP_BYTE:172 [ sin8s::usinx#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:19 [ sin16s::isUpper#2 ] -Uplifting [sin16s] best 34309 combination zp ZP_BYTE:19 [ sin16s::isUpper#2 ] -Attempting to uplift remaining variables inzp ZP_BYTE:56 [ sin8s::isUpper#10 ] -Uplifting [sin8s] best 34309 combination zp ZP_BYTE:56 [ sin8s::isUpper#10 ] -Coalescing zero page register with common assignment [ zp ZP_WORD:24 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 ] ] with [ zp ZP_WORD:124 [ sin16s::usinx#1 ] ] - score: 2 -Coalescing zero page register with common assignment [ zp ZP_WORD:26 [ mulu16_sel::v1#5 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 ] ] with [ zp ZP_WORD:106 [ sin16s::x3#0 ] ] - score: 2 -Coalescing zero page register with common assignment [ zp ZP_WORD:43 [ divr16u::rem#6 divr16u::rem#11 divr16u::rem#5 divr16u::rem#10 divr16u::rem#7 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] ] with [ zp ZP_WORD:157 [ rem16u#1 ] ] - score: 2 -Coalescing zero page register with common assignment [ zp ZP_BYTE:5 [ print_sbyte::b#3 print_sbyte::b#1 print_sbyte::b#0 ] ] with [ zp ZP_BYTE:79 [ main::sd#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_DWORD:20 [ sin16s::x#6 sin16s::x#4 sin16s::x#0 sin16s::x#1 sin16s::x#2 ] ] with [ zp ZP_DWORD:94 [ sin16s::$6 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:24 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 sin16s::usinx#1 ] ] with [ zp ZP_WORD:90 [ sin16s::return#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:26 [ mulu16_sel::v1#5 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 sin16s::x3#0 ] ] with [ zp ZP_WORD:102 [ sin16s::x2#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:26 [ mulu16_sel::v1#5 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 sin16s::x3#0 sin16s::x2#0 ] ] with [ zp ZP_WORD:116 [ sin16s::x4#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:28 [ mulu16_sel::v2#5 mulu16_sel::v2#3 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 ] ] with [ zp ZP_WORD:126 [ mul16u::b#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_DWORD:33 [ mul16u::res#2 mul16u::res#6 mul16u::res#1 ] ] with [ zp ZP_DWORD:128 [ mul16u::return#2 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:47 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] ] with [ zp ZP_WORD:143 [ divr16u::return#3 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:47 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#3 ] ] with [ zp ZP_WORD:147 [ divr16u::return#4 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:47 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#3 divr16u::return#4 ] ] with [ zp ZP_WORD:189 [ divr16u::return#2 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:57 [ sin8s::x#6 sin8s::x#4 sin8s::x#0 sin8s::x#1 sin8s::x#2 ] ] with [ zp ZP_WORD:165 [ sin8s::$6 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:65 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 ] ] with [ zp ZP_WORD:181 [ mul8u::return#2 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:70 [ main::$3 ] ] with [ zp ZP_WORD:72 [ main::$4 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_DWORD:82 [ div32u16u::return#2 ] ] with [ zp ZP_DWORD:86 [ sin16s_gen::step#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_DWORD:82 [ div32u16u::return#2 sin16s_gen::step#0 ] ] with [ zp ZP_DWORD:151 [ div32u16u::return#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:100 [ mulu16_sel::return#0 ] ] with [ zp ZP_WORD:140 [ mulu16_sel::return#12 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:108 [ mulu16_sel::return#2 ] ] with [ zp ZP_WORD:110 [ sin16s::x3_6#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:118 [ mulu16_sel::return#11 ] ] with [ zp ZP_WORD:120 [ sin16s::x5#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_DWORD:132 [ mulu16_sel::$0 ] ] with [ zp ZP_DWORD:136 [ mulu16_sel::$1 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:159 [ div16u::return#2 ] ] with [ zp ZP_WORD:161 [ sin8s_gen::step#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:159 [ div16u::return#2 sin8s_gen::step#0 ] ] with [ zp ZP_WORD:191 [ div16u::return#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:183 [ mulu8_sel::$0 ] ] with [ zp ZP_WORD:185 [ mulu8_sel::$1 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_BYTE:5 [ print_sbyte::b#3 print_sbyte::b#1 print_sbyte::b#0 main::sd#0 ] ] with [ zp ZP_BYTE:69 [ main::sb#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:24 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 sin16s::usinx#1 sin16s::return#0 ] ] with [ zp ZP_WORD:92 [ sin16s_gen::$1 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:24 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 sin16s::usinx#1 sin16s::return#0 sin16s_gen::$1 ] ] with [ zp ZP_WORD:112 [ sin16s::usinx#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:26 [ mulu16_sel::v1#5 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 sin16s::x3#0 sin16s::x2#0 sin16s::x4#0 ] ] with [ zp ZP_WORD:104 [ mulu16_sel::return#1 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:26 [ mulu16_sel::v1#5 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 sin16s::x3#0 sin16s::x2#0 sin16s::x4#0 mulu16_sel::return#1 ] ] with [ zp ZP_WORD:114 [ mulu16_sel::return#10 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_DWORD:33 [ mul16u::res#2 mul16u::res#6 mul16u::res#1 mul16u::return#2 ] ] with [ zp ZP_DWORD:132 [ mulu16_sel::$0 mulu16_sel::$1 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:47 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#3 divr16u::return#4 divr16u::return#2 ] ] with [ zp ZP_WORD:149 [ div32u16u::quotient_lo#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:47 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#3 divr16u::return#4 divr16u::return#2 div32u16u::quotient_lo#0 ] ] with [ zp ZP_WORD:159 [ div16u::return#2 sin8s_gen::step#0 div16u::return#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:65 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 mul8u::return#2 ] ] with [ zp ZP_WORD:183 [ mulu8_sel::$0 mulu8_sel::$1 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:70 [ main::$3 main::$4 ] ] with [ zp ZP_WORD:74 [ main::$5 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:100 [ mulu16_sel::return#0 mulu16_sel::return#12 ] ] with [ zp ZP_WORD:108 [ mulu16_sel::return#2 sin16s::x3_6#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:100 [ mulu16_sel::return#0 mulu16_sel::return#12 mulu16_sel::return#2 sin16s::x3_6#0 ] ] with [ zp ZP_WORD:118 [ mulu16_sel::return#11 sin16s::x5#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:100 [ mulu16_sel::return#0 mulu16_sel::return#12 mulu16_sel::return#2 sin16s::x3_6#0 mulu16_sel::return#11 sin16s::x5#0 ] ] with [ zp ZP_WORD:122 [ sin16s::x5_128#0 ] ] - score: 1 +Uplifting [sin16s] best 34239 combination zp ZP_BYTE:19 [ sin16s::isUpper#2 ] +Attempting to uplift remaining variables inzp ZP_BYTE:54 [ sin8s::isUpper#10 ] +Uplifting [sin8s] best 34239 combination zp ZP_BYTE:54 [ sin8s::isUpper#10 ] +Coalescing zero page register with common assignment [ zp ZP_WORD:24 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 ] ] with [ zp ZP_WORD:122 [ sin16s::usinx#1 ] ] - score: 2 +Coalescing zero page register with common assignment [ zp ZP_WORD:26 [ mulu16_sel::v1#5 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 ] ] with [ zp ZP_WORD:104 [ sin16s::x3#0 ] ] - score: 2 +Coalescing zero page register with common assignment [ zp ZP_WORD:41 [ divr16u::rem#6 divr16u::rem#11 divr16u::rem#5 divr16u::rem#10 divr16u::rem#7 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] ] with [ zp ZP_WORD:155 [ rem16u#1 ] ] - score: 2 +Coalescing zero page register with common assignment [ zp ZP_BYTE:5 [ print_sbyte::b#3 print_sbyte::b#1 print_sbyte::b#0 ] ] with [ zp ZP_BYTE:77 [ main::sd#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_DWORD:20 [ sin16s::x#6 sin16s::x#4 sin16s::x#0 sin16s::x#1 sin16s::x#2 ] ] with [ zp ZP_DWORD:92 [ sin16s::$6 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:24 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 sin16s::usinx#1 ] ] with [ zp ZP_WORD:88 [ sin16s::return#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:26 [ mulu16_sel::v1#5 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 sin16s::x3#0 ] ] with [ zp ZP_WORD:100 [ sin16s::x2#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:26 [ mulu16_sel::v1#5 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 sin16s::x3#0 sin16s::x2#0 ] ] with [ zp ZP_WORD:114 [ sin16s::x4#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:28 [ mulu16_sel::v2#5 mulu16_sel::v2#3 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 ] ] with [ zp ZP_WORD:124 [ mul16u::b#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_DWORD:33 [ mul16u::res#2 mul16u::res#6 mul16u::res#1 ] ] with [ zp ZP_DWORD:126 [ mul16u::return#2 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:45 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] ] with [ zp ZP_WORD:141 [ divr16u::return#3 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:45 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#3 ] ] with [ zp ZP_WORD:145 [ divr16u::return#4 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:45 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#3 divr16u::return#4 ] ] with [ zp ZP_WORD:187 [ divr16u::return#2 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:55 [ sin8s::x#6 sin8s::x#4 sin8s::x#0 sin8s::x#1 sin8s::x#2 ] ] with [ zp ZP_WORD:163 [ sin8s::$6 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:63 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 ] ] with [ zp ZP_WORD:179 [ mul8u::return#2 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:68 [ main::$3 ] ] with [ zp ZP_WORD:70 [ main::$4 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_DWORD:80 [ div32u16u::return#2 ] ] with [ zp ZP_DWORD:84 [ sin16s_gen::step#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_DWORD:80 [ div32u16u::return#2 sin16s_gen::step#0 ] ] with [ zp ZP_DWORD:149 [ div32u16u::return#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:98 [ mulu16_sel::return#0 ] ] with [ zp ZP_WORD:138 [ mulu16_sel::return#12 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:106 [ mulu16_sel::return#2 ] ] with [ zp ZP_WORD:108 [ sin16s::x3_6#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:116 [ mulu16_sel::return#11 ] ] with [ zp ZP_WORD:118 [ sin16s::x5#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_DWORD:130 [ mulu16_sel::$0 ] ] with [ zp ZP_DWORD:134 [ mulu16_sel::$1 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:157 [ div16u::return#2 ] ] with [ zp ZP_WORD:159 [ sin8s_gen::step#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:157 [ div16u::return#2 sin8s_gen::step#0 ] ] with [ zp ZP_WORD:189 [ div16u::return#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:181 [ mulu8_sel::$0 ] ] with [ zp ZP_WORD:183 [ mulu8_sel::$1 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_BYTE:5 [ print_sbyte::b#3 print_sbyte::b#1 print_sbyte::b#0 main::sd#0 ] ] with [ zp ZP_BYTE:67 [ main::sb#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:24 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 sin16s::usinx#1 sin16s::return#0 ] ] with [ zp ZP_WORD:90 [ sin16s_gen::$1 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:24 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 sin16s::usinx#1 sin16s::return#0 sin16s_gen::$1 ] ] with [ zp ZP_WORD:110 [ sin16s::usinx#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:26 [ mulu16_sel::v1#5 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 sin16s::x3#0 sin16s::x2#0 sin16s::x4#0 ] ] with [ zp ZP_WORD:102 [ mulu16_sel::return#1 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:26 [ mulu16_sel::v1#5 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 sin16s::x3#0 sin16s::x2#0 sin16s::x4#0 mulu16_sel::return#1 ] ] with [ zp ZP_WORD:112 [ mulu16_sel::return#10 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_DWORD:33 [ mul16u::res#2 mul16u::res#6 mul16u::res#1 mul16u::return#2 ] ] with [ zp ZP_DWORD:130 [ mulu16_sel::$0 mulu16_sel::$1 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:45 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#3 divr16u::return#4 divr16u::return#2 ] ] with [ zp ZP_WORD:147 [ div32u16u::quotient_lo#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:45 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#3 divr16u::return#4 divr16u::return#2 div32u16u::quotient_lo#0 ] ] with [ zp ZP_WORD:157 [ div16u::return#2 sin8s_gen::step#0 div16u::return#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:63 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 mul8u::return#2 ] ] with [ zp ZP_WORD:181 [ mulu8_sel::$0 mulu8_sel::$1 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:68 [ main::$3 main::$4 ] ] with [ zp ZP_WORD:72 [ main::$5 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:98 [ mulu16_sel::return#0 mulu16_sel::return#12 ] ] with [ zp ZP_WORD:106 [ mulu16_sel::return#2 sin16s::x3_6#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:98 [ mulu16_sel::return#0 mulu16_sel::return#12 mulu16_sel::return#2 sin16s::x3_6#0 ] ] with [ zp ZP_WORD:116 [ mulu16_sel::return#11 sin16s::x5#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:98 [ mulu16_sel::return#0 mulu16_sel::return#12 mulu16_sel::return#2 sin16s::x3_6#0 mulu16_sel::return#11 sin16s::x5#0 ] ] with [ zp ZP_WORD:120 [ sin16s::x5_128#0 ] ] - score: 1 Coalescing zero page register [ zp ZP_WORD:3 [ print_str::str#3 print_str::str#5 print_str::str#0 ] ] with [ zp ZP_WORD:9 [ print_cls::sc#2 print_cls::sc#1 ] ] Coalescing zero page register [ zp ZP_WORD:3 [ print_str::str#3 print_str::str#5 print_str::str#0 print_cls::sc#2 print_cls::sc#1 ] ] with [ zp ZP_WORD:15 [ sin16s_gen::sintab#2 sin16s_gen::sintab#0 ] ] -Coalescing zero page register [ zp ZP_WORD:3 [ print_str::str#3 print_str::str#5 print_str::str#0 print_cls::sc#2 print_cls::sc#1 sin16s_gen::sintab#2 sin16s_gen::sintab#0 ] ] with [ zp ZP_WORD:41 [ divr16u::divisor#7 ] ] -Coalescing zero page register [ zp ZP_WORD:3 [ print_str::str#3 print_str::str#5 print_str::str#0 print_cls::sc#2 print_cls::sc#1 sin16s_gen::sintab#2 sin16s_gen::sintab#0 divr16u::divisor#7 ] ] with [ zp ZP_WORD:50 [ sin8s_gen::x#2 sin8s_gen::x#1 ] ] -Coalescing zero page register [ zp ZP_WORD:3 [ print_str::str#3 print_str::str#5 print_str::str#0 print_cls::sc#2 print_cls::sc#1 sin16s_gen::sintab#2 sin16s_gen::sintab#0 divr16u::divisor#7 sin8s_gen::x#2 sin8s_gen::x#1 ] ] with [ zp ZP_WORD:70 [ main::$3 main::$4 main::$5 ] ] +Coalescing zero page register [ zp ZP_WORD:3 [ print_str::str#3 print_str::str#5 print_str::str#0 print_cls::sc#2 print_cls::sc#1 sin16s_gen::sintab#2 sin16s_gen::sintab#0 ] ] with [ zp ZP_WORD:41 [ divr16u::rem#6 divr16u::rem#11 divr16u::rem#5 divr16u::rem#10 divr16u::rem#7 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 rem16u#1 ] ] +Coalescing zero page register [ zp ZP_WORD:3 [ print_str::str#3 print_str::str#5 print_str::str#0 print_cls::sc#2 print_cls::sc#1 sin16s_gen::sintab#2 sin16s_gen::sintab#0 divr16u::rem#6 divr16u::rem#11 divr16u::rem#5 divr16u::rem#10 divr16u::rem#7 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 rem16u#1 ] ] with [ zp ZP_WORD:48 [ sin8s_gen::x#2 sin8s_gen::x#1 ] ] +Coalescing zero page register [ zp ZP_WORD:3 [ print_str::str#3 print_str::str#5 print_str::str#0 print_cls::sc#2 print_cls::sc#1 sin16s_gen::sintab#2 sin16s_gen::sintab#0 divr16u::rem#6 divr16u::rem#11 divr16u::rem#5 divr16u::rem#10 divr16u::rem#7 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 rem16u#1 sin8s_gen::x#2 sin8s_gen::x#1 ] ] with [ zp ZP_WORD:68 [ main::$3 main::$4 main::$5 ] ] Coalescing zero page register [ zp ZP_BYTE:5 [ print_sbyte::b#3 print_sbyte::b#1 print_sbyte::b#0 main::sd#0 main::sb#0 ] ] with [ zp ZP_BYTE:19 [ sin16s::isUpper#2 ] ] -Coalescing zero page register [ zp ZP_BYTE:5 [ print_sbyte::b#3 print_sbyte::b#1 print_sbyte::b#0 main::sd#0 main::sb#0 sin16s::isUpper#2 ] ] with [ zp ZP_BYTE:56 [ sin8s::isUpper#10 ] ] +Coalescing zero page register [ zp ZP_BYTE:5 [ print_sbyte::b#3 print_sbyte::b#1 print_sbyte::b#0 main::sd#0 main::sb#0 sin16s::isUpper#2 ] ] with [ zp ZP_BYTE:54 [ sin8s::isUpper#10 ] ] Coalescing zero page register [ zp ZP_WORD:7 [ print_char_cursor#27 print_char_cursor#37 print_char_cursor#44 print_char_cursor#41 print_char_cursor#42 print_char_cursor#19 print_char_cursor#10 print_char_cursor#1 ] ] with [ zp ZP_WORD:17 [ sin16s_gen::i#2 sin16s_gen::i#1 ] ] -Coalescing zero page register [ zp ZP_WORD:7 [ print_char_cursor#27 print_char_cursor#37 print_char_cursor#44 print_char_cursor#41 print_char_cursor#42 print_char_cursor#19 print_char_cursor#10 print_char_cursor#1 sin16s_gen::i#2 sin16s_gen::i#1 ] ] with [ zp ZP_WORD:43 [ divr16u::rem#6 divr16u::rem#11 divr16u::rem#5 divr16u::rem#10 divr16u::rem#7 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 rem16u#1 ] ] -Coalescing zero page register [ zp ZP_WORD:7 [ print_char_cursor#27 print_char_cursor#37 print_char_cursor#44 print_char_cursor#41 print_char_cursor#42 print_char_cursor#19 print_char_cursor#10 print_char_cursor#1 sin16s_gen::i#2 sin16s_gen::i#1 divr16u::rem#6 divr16u::rem#11 divr16u::rem#5 divr16u::rem#10 divr16u::rem#7 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 rem16u#1 ] ] with [ zp ZP_WORD:52 [ sin8s_gen::sintab#2 sin8s_gen::sintab#0 ] ] +Coalescing zero page register [ zp ZP_WORD:7 [ print_char_cursor#27 print_char_cursor#37 print_char_cursor#44 print_char_cursor#41 print_char_cursor#42 print_char_cursor#19 print_char_cursor#10 print_char_cursor#1 sin16s_gen::i#2 sin16s_gen::i#1 ] ] with [ zp ZP_WORD:43 [ divr16u::dividend#4 divr16u::dividend#6 divr16u::dividend#0 ] ] +Coalescing zero page register [ zp ZP_WORD:7 [ print_char_cursor#27 print_char_cursor#37 print_char_cursor#44 print_char_cursor#41 print_char_cursor#42 print_char_cursor#19 print_char_cursor#10 print_char_cursor#1 sin16s_gen::i#2 sin16s_gen::i#1 divr16u::dividend#4 divr16u::dividend#6 divr16u::dividend#0 ] ] with [ zp ZP_WORD:50 [ sin8s_gen::sintab#2 sin8s_gen::sintab#0 ] ] Coalescing zero page register [ zp ZP_DWORD:20 [ sin16s::x#6 sin16s::x#4 sin16s::x#0 sin16s::x#1 sin16s::x#2 sin16s::$6 ] ] with [ zp ZP_DWORD:33 [ mul16u::res#2 mul16u::res#6 mul16u::res#1 mul16u::return#2 mulu16_sel::$0 mulu16_sel::$1 ] ] -Coalescing zero page register [ zp ZP_WORD:24 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 sin16s::usinx#1 sin16s::return#0 sin16s_gen::$1 sin16s::usinx#0 ] ] with [ zp ZP_WORD:45 [ divr16u::dividend#4 divr16u::dividend#6 divr16u::dividend#0 ] ] -Coalescing zero page register [ zp ZP_WORD:24 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 sin16s::usinx#1 sin16s::return#0 sin16s_gen::$1 sin16s::usinx#0 divr16u::dividend#4 divr16u::dividend#6 divr16u::dividend#0 ] ] with [ zp ZP_WORD:54 [ sin8s_gen::i#2 sin8s_gen::i#1 ] ] -Coalescing zero page register [ zp ZP_WORD:24 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 sin16s::usinx#1 sin16s::return#0 sin16s_gen::$1 sin16s::usinx#0 divr16u::dividend#4 divr16u::dividend#6 divr16u::dividend#0 sin8s_gen::i#2 sin8s_gen::i#1 ] ] with [ zp ZP_WORD:76 [ main::sw#0 ] ] -Coalescing zero page register [ zp ZP_WORD:26 [ mulu16_sel::v1#5 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 sin16s::x3#0 sin16s::x2#0 sin16s::x4#0 mulu16_sel::return#1 mulu16_sel::return#10 ] ] with [ zp ZP_WORD:47 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#3 divr16u::return#4 divr16u::return#2 div32u16u::quotient_lo#0 div16u::return#2 sin8s_gen::step#0 div16u::return#0 ] ] -Coalescing zero page register [ zp ZP_WORD:28 [ mulu16_sel::v2#5 mulu16_sel::v2#3 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 mul16u::b#0 ] ] with [ zp ZP_WORD:57 [ sin8s::x#6 sin8s::x#4 sin8s::x#0 sin8s::x#1 sin8s::x#2 sin8s::$6 ] ] -Coalescing zero page register [ zp ZP_WORD:28 [ mulu16_sel::v2#5 mulu16_sel::v2#3 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 mul16u::b#0 sin8s::x#6 sin8s::x#4 sin8s::x#0 sin8s::x#1 sin8s::x#2 sin8s::$6 ] ] with [ zp ZP_WORD:65 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 mul8u::return#2 mulu8_sel::$0 mulu8_sel::$1 ] ] -Coalescing zero page register [ zp ZP_WORD:28 [ mulu16_sel::v2#5 mulu16_sel::v2#3 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 mul16u::b#0 sin8s::x#6 sin8s::x#4 sin8s::x#0 sin8s::x#1 sin8s::x#2 sin8s::$6 mul8u::res#2 mul8u::res#6 mul8u::res#1 mul8u::return#2 mulu8_sel::$0 mulu8_sel::$1 ] ] with [ zp ZP_WORD:100 [ mulu16_sel::return#0 mulu16_sel::return#12 mulu16_sel::return#2 sin16s::x3_6#0 mulu16_sel::return#11 sin16s::x5#0 sin16s::x5_128#0 ] ] -Coalescing zero page register [ zp ZP_WORD:28 [ mulu16_sel::v2#5 mulu16_sel::v2#3 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 mul16u::b#0 sin8s::x#6 sin8s::x#4 sin8s::x#0 sin8s::x#1 sin8s::x#2 sin8s::$6 mul8u::res#2 mul8u::res#6 mul8u::res#1 mul8u::return#2 mulu8_sel::$0 mulu8_sel::$1 mulu16_sel::return#0 mulu16_sel::return#12 mulu16_sel::return#2 sin16s::x3_6#0 mulu16_sel::return#11 sin16s::x5#0 sin16s::x5_128#0 ] ] with [ zp ZP_WORD:145 [ div32u16u::quotient_hi#0 ] ] -Coalescing zero page register [ zp ZP_WORD:31 [ mul16u::a#2 mul16u::a#1 mul16u::a#0 ] ] with [ zp ZP_WORD:67 [ mul8u::mb#2 mul8u::mb#0 mul8u::mb#1 ] ] -Allocated (was zp ZP_WORD:3) zp ZP_WORD:2 [ print_str::str#3 print_str::str#5 print_str::str#0 print_cls::sc#2 print_cls::sc#1 sin16s_gen::sintab#2 sin16s_gen::sintab#0 divr16u::divisor#7 sin8s_gen::x#2 sin8s_gen::x#1 main::$3 main::$4 main::$5 ] +Coalescing zero page register [ zp ZP_WORD:24 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 sin16s::usinx#1 sin16s::return#0 sin16s_gen::$1 sin16s::usinx#0 ] ] with [ zp ZP_WORD:45 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#3 divr16u::return#4 divr16u::return#2 div32u16u::quotient_lo#0 div16u::return#2 sin8s_gen::step#0 div16u::return#0 ] ] +Coalescing zero page register [ zp ZP_WORD:24 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 sin16s::usinx#1 sin16s::return#0 sin16s_gen::$1 sin16s::usinx#0 divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#3 divr16u::return#4 divr16u::return#2 div32u16u::quotient_lo#0 div16u::return#2 sin8s_gen::step#0 div16u::return#0 ] ] with [ zp ZP_WORD:74 [ main::sw#0 ] ] +Coalescing zero page register [ zp ZP_WORD:26 [ mulu16_sel::v1#5 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 sin16s::x3#0 sin16s::x2#0 sin16s::x4#0 mulu16_sel::return#1 mulu16_sel::return#10 ] ] with [ zp ZP_WORD:52 [ sin8s_gen::i#2 sin8s_gen::i#1 ] ] +Coalescing zero page register [ zp ZP_WORD:26 [ mulu16_sel::v1#5 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 sin16s::x3#0 sin16s::x2#0 sin16s::x4#0 mulu16_sel::return#1 mulu16_sel::return#10 sin8s_gen::i#2 sin8s_gen::i#1 ] ] with [ zp ZP_WORD:143 [ div32u16u::quotient_hi#0 ] ] +Coalescing zero page register [ zp ZP_WORD:28 [ mulu16_sel::v2#5 mulu16_sel::v2#3 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 mul16u::b#0 ] ] with [ zp ZP_WORD:55 [ sin8s::x#6 sin8s::x#4 sin8s::x#0 sin8s::x#1 sin8s::x#2 sin8s::$6 ] ] +Coalescing zero page register [ zp ZP_WORD:28 [ mulu16_sel::v2#5 mulu16_sel::v2#3 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 mul16u::b#0 sin8s::x#6 sin8s::x#4 sin8s::x#0 sin8s::x#1 sin8s::x#2 sin8s::$6 ] ] with [ zp ZP_WORD:63 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 mul8u::return#2 mulu8_sel::$0 mulu8_sel::$1 ] ] +Coalescing zero page register [ zp ZP_WORD:28 [ mulu16_sel::v2#5 mulu16_sel::v2#3 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 mul16u::b#0 sin8s::x#6 sin8s::x#4 sin8s::x#0 sin8s::x#1 sin8s::x#2 sin8s::$6 mul8u::res#2 mul8u::res#6 mul8u::res#1 mul8u::return#2 mulu8_sel::$0 mulu8_sel::$1 ] ] with [ zp ZP_WORD:98 [ mulu16_sel::return#0 mulu16_sel::return#12 mulu16_sel::return#2 sin16s::x3_6#0 mulu16_sel::return#11 sin16s::x5#0 sin16s::x5_128#0 ] ] +Coalescing zero page register [ zp ZP_WORD:31 [ mul16u::a#2 mul16u::a#1 mul16u::a#0 ] ] with [ zp ZP_WORD:65 [ mul8u::mb#2 mul8u::mb#0 mul8u::mb#1 ] ] +Allocated (was zp ZP_WORD:3) zp ZP_WORD:2 [ print_str::str#3 print_str::str#5 print_str::str#0 print_cls::sc#2 print_cls::sc#1 sin16s_gen::sintab#2 sin16s_gen::sintab#0 divr16u::rem#6 divr16u::rem#11 divr16u::rem#5 divr16u::rem#10 divr16u::rem#7 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 rem16u#1 sin8s_gen::x#2 sin8s_gen::x#1 main::$3 main::$4 main::$5 ] Allocated (was zp ZP_BYTE:5) zp ZP_BYTE:4 [ print_sbyte::b#3 print_sbyte::b#1 print_sbyte::b#0 main::sd#0 main::sb#0 sin16s::isUpper#2 sin8s::isUpper#10 ] -Allocated (was zp ZP_WORD:7) zp ZP_WORD:5 [ print_char_cursor#27 print_char_cursor#37 print_char_cursor#44 print_char_cursor#41 print_char_cursor#42 print_char_cursor#19 print_char_cursor#10 print_char_cursor#1 sin16s_gen::i#2 sin16s_gen::i#1 divr16u::rem#6 divr16u::rem#11 divr16u::rem#5 divr16u::rem#10 divr16u::rem#7 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 rem16u#1 sin8s_gen::sintab#2 sin8s_gen::sintab#0 ] +Allocated (was zp ZP_WORD:7) zp ZP_WORD:5 [ print_char_cursor#27 print_char_cursor#37 print_char_cursor#44 print_char_cursor#41 print_char_cursor#42 print_char_cursor#19 print_char_cursor#10 print_char_cursor#1 sin16s_gen::i#2 sin16s_gen::i#1 divr16u::dividend#4 divr16u::dividend#6 divr16u::dividend#0 sin8s_gen::sintab#2 sin8s_gen::sintab#0 ] Allocated (was zp ZP_DWORD:11) zp ZP_DWORD:7 [ sin16s_gen::x#2 sin16s_gen::x#1 ] Allocated (was zp ZP_DWORD:20) zp ZP_DWORD:11 [ sin16s::x#6 sin16s::x#4 sin16s::x#0 sin16s::x#1 sin16s::x#2 sin16s::$6 mul16u::res#2 mul16u::res#6 mul16u::res#1 mul16u::return#2 mulu16_sel::$0 mulu16_sel::$1 ] -Allocated (was zp ZP_WORD:24) zp ZP_WORD:15 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 sin16s::usinx#1 sin16s::return#0 sin16s_gen::$1 sin16s::usinx#0 divr16u::dividend#4 divr16u::dividend#6 divr16u::dividend#0 sin8s_gen::i#2 sin8s_gen::i#1 main::sw#0 ] -Allocated (was zp ZP_WORD:26) zp ZP_WORD:17 [ mulu16_sel::v1#5 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 sin16s::x3#0 sin16s::x2#0 sin16s::x4#0 mulu16_sel::return#1 mulu16_sel::return#10 divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#3 divr16u::return#4 divr16u::return#2 div32u16u::quotient_lo#0 div16u::return#2 sin8s_gen::step#0 div16u::return#0 ] -Allocated (was zp ZP_WORD:28) zp ZP_WORD:19 [ mulu16_sel::v2#5 mulu16_sel::v2#3 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 mul16u::b#0 sin8s::x#6 sin8s::x#4 sin8s::x#0 sin8s::x#1 sin8s::x#2 sin8s::$6 mul8u::res#2 mul8u::res#6 mul8u::res#1 mul8u::return#2 mulu8_sel::$0 mulu8_sel::$1 mulu16_sel::return#0 mulu16_sel::return#12 mulu16_sel::return#2 sin16s::x3_6#0 mulu16_sel::return#11 sin16s::x5#0 sin16s::x5_128#0 div32u16u::quotient_hi#0 ] +Allocated (was zp ZP_WORD:24) zp ZP_WORD:15 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 sin16s::usinx#1 sin16s::return#0 sin16s_gen::$1 sin16s::usinx#0 divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#3 divr16u::return#4 divr16u::return#2 div32u16u::quotient_lo#0 div16u::return#2 sin8s_gen::step#0 div16u::return#0 main::sw#0 ] +Allocated (was zp ZP_WORD:26) zp ZP_WORD:17 [ mulu16_sel::v1#5 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 sin16s::x3#0 sin16s::x2#0 sin16s::x4#0 mulu16_sel::return#1 mulu16_sel::return#10 sin8s_gen::i#2 sin8s_gen::i#1 div32u16u::quotient_hi#0 ] +Allocated (was zp ZP_WORD:28) zp ZP_WORD:19 [ mulu16_sel::v2#5 mulu16_sel::v2#3 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 mul16u::b#0 sin8s::x#6 sin8s::x#4 sin8s::x#0 sin8s::x#1 sin8s::x#2 sin8s::$6 mul8u::res#2 mul8u::res#6 mul8u::res#1 mul8u::return#2 mulu8_sel::$0 mulu8_sel::$1 mulu16_sel::return#0 mulu16_sel::return#12 mulu16_sel::return#2 sin16s::x3_6#0 mulu16_sel::return#11 sin16s::x5#0 sin16s::x5_128#0 ] Allocated (was zp ZP_WORD:31) zp ZP_WORD:21 [ mul16u::a#2 mul16u::a#1 mul16u::a#0 mul8u::mb#2 mul8u::mb#0 mul8u::mb#1 ] Allocated (was zp ZP_DWORD:37) zp ZP_DWORD:23 [ mul16u::mb#2 mul16u::mb#0 mul16u::mb#1 ] -Allocated (was zp ZP_BYTE:63) zp ZP_BYTE:27 [ mulu8_sel::select#5 ] -Allocated (was zp ZP_DWORD:82) zp ZP_DWORD:28 [ div32u16u::return#2 sin16s_gen::step#0 div32u16u::return#0 ] -Allocated (was zp ZP_WORD:98) zp ZP_WORD:32 [ sin16s::x1#0 ] -Allocated (was zp ZP_BYTE:167) zp ZP_BYTE:34 [ sin8s::x1#0 ] -Allocated (was zp ZP_BYTE:171) zp ZP_BYTE:35 [ sin8s::x3#0 ] -Allocated (was zp ZP_BYTE:174) zp ZP_BYTE:36 [ sin8s::usinx#0 ] +Allocated (was zp ZP_BYTE:61) zp ZP_BYTE:27 [ mulu8_sel::select#5 ] +Allocated (was zp ZP_DWORD:80) zp ZP_DWORD:28 [ div32u16u::return#2 sin16s_gen::step#0 div32u16u::return#0 ] +Allocated (was zp ZP_WORD:96) zp ZP_WORD:32 [ sin16s::x1#0 ] +Allocated (was zp ZP_BYTE:165) zp ZP_BYTE:34 [ sin8s::x1#0 ] +Allocated (was zp ZP_BYTE:169) zp ZP_BYTE:35 [ sin8s::x3#0 ] +Allocated (was zp ZP_BYTE:172) zp ZP_BYTE:36 [ sin8s::usinx#0 ] ASSEMBLER BEFORE OPTIMIZATION //SEG0 Basic Upstart @@ -8907,7 +8883,7 @@ ASSEMBLER BEFORE OPTIMIZATION .const PI_u4f12 = $3244 .const PI_HALF_u4f12 = $1922 .label print_line_cursor = $400 - .label rem16u = 5 + .label rem16u = 2 .label print_char_cursor = 5 //SEG2 @begin bbegin: @@ -9792,63 +9768,53 @@ mul16u: { } //SEG261 div32u16u div32u16u: { - .label quotient_hi = $13 - .label quotient_lo = $11 + .label quotient_hi = $11 + .label quotient_lo = $f .label return = $1c //SEG262 [135] call divr16u param-assignment [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_gen:7::div32u16u:61 [ divr16u::return#0 rem16u#1 ] ) //SEG263 [144] phi from div32u16u to divr16u [phi:div32u16u->divr16u] divr16u_from_div32u16u: - //SEG264 [144] phi (word) divr16u::divisor#7 = (const word) main::wavelength#0 [phi:div32u16u->divr16u#0] -- vwuz1=vwuc1 - lda #main.wavelength - sta divr16u.divisor+1 - //SEG265 [144] phi (word) divr16u::dividend#6 = >(const dword) PI2_u4f28#0 [phi:div32u16u->divr16u#1] -- vwuz1=vwuc1 + //SEG264 [144] phi (word) divr16u::dividend#6 = >(const dword) PI2_u4f28#0 [phi:div32u16u->divr16u#0] -- vwuz1=vwuc1 lda #>$10 sta divr16u.dividend lda #>PI2_u4f28>>$10 sta divr16u.dividend+1 - //SEG266 [144] phi (word) divr16u::rem#11 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:div32u16u->divr16u#2] -- vwuz1=vbuc1 + //SEG265 [144] phi (word) divr16u::rem#11 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:div32u16u->divr16u#1] -- vwuz1=vbuc1 lda #<0 sta divr16u.rem lda #>0 sta divr16u.rem+1 jsr divr16u - //SEG267 [136] (word) divr16u::return#3 ← (word) divr16u::return#0 [ divr16u::return#3 rem16u#1 ] ( main:2::sin16s_gen:7::div32u16u:61 [ divr16u::return#3 rem16u#1 ] ) - // (word) divr16u::return#3 = (word) divr16u::return#0 // register copy zp ZP_WORD:17 + //SEG266 [136] (word) divr16u::return#3 ← (word) divr16u::return#0 [ divr16u::return#3 rem16u#1 ] ( main:2::sin16s_gen:7::div32u16u:61 [ divr16u::return#3 rem16u#1 ] ) + // (word) divr16u::return#3 = (word) divr16u::return#0 // register copy zp ZP_WORD:15 jmp b2 - //SEG268 div32u16u::@2 + //SEG267 div32u16u::@2 b2: - //SEG269 [137] (word) div32u16u::quotient_hi#0 ← (word) divr16u::return#3 [ div32u16u::quotient_hi#0 rem16u#1 ] ( main:2::sin16s_gen:7::div32u16u:61 [ div32u16u::quotient_hi#0 rem16u#1 ] ) -- vwuz1=vwuz2 + //SEG268 [137] (word) div32u16u::quotient_hi#0 ← (word) divr16u::return#3 [ div32u16u::quotient_hi#0 rem16u#1 ] ( main:2::sin16s_gen:7::div32u16u:61 [ div32u16u::quotient_hi#0 rem16u#1 ] ) -- vwuz1=vwuz2 lda divr16u.return sta quotient_hi lda divr16u.return+1 sta quotient_hi+1 - //SEG270 [138] (word) divr16u::rem#5 ← (word) rem16u#1 [ div32u16u::quotient_hi#0 divr16u::rem#5 ] ( main:2::sin16s_gen:7::div32u16u:61 [ div32u16u::quotient_hi#0 divr16u::rem#5 ] ) - // (word) divr16u::rem#5 = (word) rem16u#1 // register copy zp ZP_WORD:5 - //SEG271 [139] call divr16u param-assignment [ divr16u::return#0 div32u16u::quotient_hi#0 ] ( main:2::sin16s_gen:7::div32u16u:61 [ divr16u::return#0 div32u16u::quotient_hi#0 ] ) - //SEG272 [144] phi from div32u16u::@2 to divr16u [phi:div32u16u::@2->divr16u] + //SEG269 [138] (word) divr16u::rem#5 ← (word) rem16u#1 [ div32u16u::quotient_hi#0 divr16u::rem#5 ] ( main:2::sin16s_gen:7::div32u16u:61 [ div32u16u::quotient_hi#0 divr16u::rem#5 ] ) + // (word) divr16u::rem#5 = (word) rem16u#1 // register copy zp ZP_WORD:2 + //SEG270 [139] call divr16u param-assignment [ divr16u::return#0 div32u16u::quotient_hi#0 ] ( main:2::sin16s_gen:7::div32u16u:61 [ divr16u::return#0 div32u16u::quotient_hi#0 ] ) + //SEG271 [144] phi from div32u16u::@2 to divr16u [phi:div32u16u::@2->divr16u] divr16u_from_b2: - //SEG273 [144] phi (word) divr16u::divisor#7 = (const word) main::wavelength#0 [phi:div32u16u::@2->divr16u#0] -- vwuz1=vwuc1 - lda #main.wavelength - sta divr16u.divisor+1 - //SEG274 [144] phi (word) divr16u::dividend#6 = <(const dword) PI2_u4f28#0 [phi:div32u16u::@2->divr16u#1] -- vwuz1=vwuc1 + //SEG272 [144] phi (word) divr16u::dividend#6 = <(const dword) PI2_u4f28#0 [phi:div32u16u::@2->divr16u#0] -- vwuz1=vwuc1 lda #PI2_u4f28&$ffff sta divr16u.dividend+1 - //SEG275 [144] phi (word) divr16u::rem#11 = (word) divr16u::rem#5 [phi:div32u16u::@2->divr16u#2] -- register_copy + //SEG273 [144] phi (word) divr16u::rem#11 = (word) divr16u::rem#5 [phi:div32u16u::@2->divr16u#1] -- register_copy jsr divr16u - //SEG276 [140] (word) divr16u::return#4 ← (word) divr16u::return#0 [ div32u16u::quotient_hi#0 divr16u::return#4 ] ( main:2::sin16s_gen:7::div32u16u:61 [ div32u16u::quotient_hi#0 divr16u::return#4 ] ) - // (word) divr16u::return#4 = (word) divr16u::return#0 // register copy zp ZP_WORD:17 + //SEG274 [140] (word) divr16u::return#4 ← (word) divr16u::return#0 [ div32u16u::quotient_hi#0 divr16u::return#4 ] ( main:2::sin16s_gen:7::div32u16u:61 [ div32u16u::quotient_hi#0 divr16u::return#4 ] ) + // (word) divr16u::return#4 = (word) divr16u::return#0 // register copy zp ZP_WORD:15 jmp b3 - //SEG277 div32u16u::@3 + //SEG275 div32u16u::@3 b3: - //SEG278 [141] (word) div32u16u::quotient_lo#0 ← (word) divr16u::return#4 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ( main:2::sin16s_gen:7::div32u16u:61 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ) - // (word) div32u16u::quotient_lo#0 = (word) divr16u::return#4 // register copy zp ZP_WORD:17 - //SEG279 [142] (dword) div32u16u::return#0 ← (word) div32u16u::quotient_hi#0 dw= (word) div32u16u::quotient_lo#0 [ div32u16u::return#0 ] ( main:2::sin16s_gen:7::div32u16u:61 [ div32u16u::return#0 ] ) -- vduz1=vwuz2_dword_vwuz3 + //SEG276 [141] (word) div32u16u::quotient_lo#0 ← (word) divr16u::return#4 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ( main:2::sin16s_gen:7::div32u16u:61 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ) + // (word) div32u16u::quotient_lo#0 = (word) divr16u::return#4 // register copy zp ZP_WORD:15 + //SEG277 [142] (dword) div32u16u::return#0 ← (word) div32u16u::quotient_hi#0 dw= (word) div32u16u::quotient_lo#0 [ div32u16u::return#0 ] ( main:2::sin16s_gen:7::div32u16u:61 [ div32u16u::return#0 ] ) -- vduz1=vwuz2_dword_vwuz3 lda quotient_hi sta return+2 lda quotient_hi+1 @@ -9858,184 +9824,183 @@ div32u16u: { lda quotient_lo+1 sta return+1 jmp breturn - //SEG280 div32u16u::@return + //SEG278 div32u16u::@return breturn: - //SEG281 [143] return [ div32u16u::return#0 ] ( main:2::sin16s_gen:7::div32u16u:61 [ div32u16u::return#0 ] ) + //SEG279 [143] return [ div32u16u::return#0 ] ( main:2::sin16s_gen:7::div32u16u:61 [ div32u16u::return#0 ] ) rts } -//SEG282 divr16u +//SEG280 divr16u divr16u: { - .label rem = 5 - .label dividend = $f - .label quotient = $11 - .label return = $11 - .label divisor = 2 - //SEG283 [145] phi from divr16u to divr16u::@1 [phi:divr16u->divr16u::@1] + .label rem = 2 + .label dividend = 5 + .label quotient = $f + .label return = $f + //SEG281 [145] phi from divr16u to divr16u::@1 [phi:divr16u->divr16u::@1] b1_from_divr16u: - //SEG284 [145] phi (byte) divr16u::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#0] -- vbuxx=vbuc1 + //SEG282 [145] phi (byte) divr16u::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#0] -- vbuxx=vbuc1 ldx #0 - //SEG285 [145] phi (word) divr16u::quotient#3 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#1] -- vwuz1=vbuc1 + //SEG283 [145] phi (word) divr16u::quotient#3 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#1] -- vwuz1=vbuc1 lda #<0 sta quotient lda #>0 sta quotient+1 - //SEG286 [145] phi (word) divr16u::dividend#4 = (word) divr16u::dividend#6 [phi:divr16u->divr16u::@1#2] -- register_copy - //SEG287 [145] phi (word) divr16u::rem#6 = (word) divr16u::rem#11 [phi:divr16u->divr16u::@1#3] -- register_copy + //SEG284 [145] phi (word) divr16u::dividend#4 = (word) divr16u::dividend#6 [phi:divr16u->divr16u::@1#2] -- register_copy + //SEG285 [145] phi (word) divr16u::rem#6 = (word) divr16u::rem#11 [phi:divr16u->divr16u::@1#3] -- register_copy jmp b1 - //SEG288 [145] phi from divr16u::@3 to divr16u::@1 [phi:divr16u::@3->divr16u::@1] + //SEG286 [145] phi from divr16u::@3 to divr16u::@1 [phi:divr16u::@3->divr16u::@1] b1_from_b3: - //SEG289 [145] phi (byte) divr16u::i#2 = (byte) divr16u::i#1 [phi:divr16u::@3->divr16u::@1#0] -- register_copy - //SEG290 [145] phi (word) divr16u::quotient#3 = (word) divr16u::return#0 [phi:divr16u::@3->divr16u::@1#1] -- register_copy - //SEG291 [145] phi (word) divr16u::dividend#4 = (word) divr16u::dividend#0 [phi:divr16u::@3->divr16u::@1#2] -- register_copy - //SEG292 [145] phi (word) divr16u::rem#6 = (word) divr16u::rem#10 [phi:divr16u::@3->divr16u::@1#3] -- register_copy + //SEG287 [145] phi (byte) divr16u::i#2 = (byte) divr16u::i#1 [phi:divr16u::@3->divr16u::@1#0] -- register_copy + //SEG288 [145] phi (word) divr16u::quotient#3 = (word) divr16u::return#0 [phi:divr16u::@3->divr16u::@1#1] -- register_copy + //SEG289 [145] phi (word) divr16u::dividend#4 = (word) divr16u::dividend#0 [phi:divr16u::@3->divr16u::@1#2] -- register_copy + //SEG290 [145] phi (word) divr16u::rem#6 = (word) divr16u::rem#10 [phi:divr16u::@3->divr16u::@1#3] -- register_copy jmp b1 - //SEG293 divr16u::@1 + //SEG291 divr16u::@1 b1: - //SEG294 [146] (word) divr16u::rem#0 ← (word) divr16u::rem#6 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) -- vwuz1=vwuz1_rol_1 + //SEG292 [146] (word) divr16u::rem#0 ← (word) divr16u::rem#6 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) -- vwuz1=vwuz1_rol_1 asl rem rol rem+1 - //SEG295 [147] (byte~) divr16u::$1 ← > (word) divr16u::dividend#4 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) -- vbuaa=_hi_vwuz1 + //SEG293 [147] (byte~) divr16u::$1 ← > (word) divr16u::dividend#4 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) -- vbuaa=_hi_vwuz1 lda dividend+1 - //SEG296 [148] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) -- vbuaa=vbuaa_band_vbuc1 + //SEG294 [148] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) -- vbuaa=vbuaa_band_vbuc1 and #$80 - //SEG297 [149] if((byte~) divr16u::$2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto divr16u::@2 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) -- vbuaa_eq_0_then_la1 + //SEG295 [149] if((byte~) divr16u::$2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto divr16u::@2 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) -- vbuaa_eq_0_then_la1 cmp #0 beq b2_from_b1 jmp b4 - //SEG298 divr16u::@4 + //SEG296 divr16u::@4 b4: - //SEG299 [150] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) -- vwuz1=vwuz1_bor_vbuc1 + //SEG297 [150] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) -- vwuz1=vwuz1_bor_vbuc1 lda #1 ora rem sta rem - //SEG300 [151] phi from divr16u::@1 divr16u::@4 to divr16u::@2 [phi:divr16u::@1/divr16u::@4->divr16u::@2] + //SEG298 [151] phi from divr16u::@1 divr16u::@4 to divr16u::@2 [phi:divr16u::@1/divr16u::@4->divr16u::@2] b2_from_b1: b2_from_b4: - //SEG301 [151] phi (word) divr16u::rem#7 = (word) divr16u::rem#0 [phi:divr16u::@1/divr16u::@4->divr16u::@2#0] -- register_copy + //SEG299 [151] phi (word) divr16u::rem#7 = (word) divr16u::rem#0 [phi:divr16u::@1/divr16u::@4->divr16u::@2#0] -- register_copy jmp b2 - //SEG302 divr16u::@2 + //SEG300 divr16u::@2 b2: - //SEG303 [152] (word) divr16u::dividend#0 ← (word) divr16u::dividend#4 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#7 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::divisor#7 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::divisor#7 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::divisor#7 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 ] ) -- vwuz1=vwuz1_rol_1 + //SEG301 [152] (word) divr16u::dividend#0 ← (word) divr16u::dividend#4 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 ] ) -- vwuz1=vwuz1_rol_1 asl dividend rol dividend+1 - //SEG304 [153] (word) divr16u::quotient#1 ← (word) divr16u::quotient#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] ) -- vwuz1=vwuz1_rol_1 + //SEG302 [153] (word) divr16u::quotient#1 ← (word) divr16u::quotient#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] ) -- vwuz1=vwuz1_rol_1 asl quotient rol quotient+1 - //SEG305 [154] if((word) divr16u::rem#7<(word) divr16u::divisor#7) goto divr16u::@3 [ divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] ) -- vwuz1_lt_vwuz2_then_la1 + //SEG303 [154] if((word) divr16u::rem#7<(const word) main::wavelength#0) goto divr16u::@3 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] ) -- vwuz1_lt_vwuc1_then_la1 lda rem+1 - cmp divisor+1 + cmp #>main.wavelength bcc b3_from_b2 bne !+ lda rem - cmp divisor + cmp #main.wavelength sta rem+1 - //SEG309 [157] phi from divr16u::@2 divr16u::@5 to divr16u::@3 [phi:divr16u::@2/divr16u::@5->divr16u::@3] + //SEG307 [157] phi from divr16u::@2 divr16u::@5 to divr16u::@3 [phi:divr16u::@2/divr16u::@5->divr16u::@3] b3_from_b2: b3_from_b5: - //SEG310 [157] phi (word) divr16u::return#0 = (word) divr16u::quotient#1 [phi:divr16u::@2/divr16u::@5->divr16u::@3#0] -- register_copy - //SEG311 [157] phi (word) divr16u::rem#10 = (word) divr16u::rem#7 [phi:divr16u::@2/divr16u::@5->divr16u::@3#1] -- register_copy + //SEG308 [157] phi (word) divr16u::return#0 = (word) divr16u::quotient#1 [phi:divr16u::@2/divr16u::@5->divr16u::@3#0] -- register_copy + //SEG309 [157] phi (word) divr16u::rem#10 = (word) divr16u::rem#7 [phi:divr16u::@2/divr16u::@5->divr16u::@3#1] -- register_copy jmp b3 - //SEG312 divr16u::@3 + //SEG310 divr16u::@3 b3: - //SEG313 [158] (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2 [ divr16u::return#0 divr16u::divisor#7 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::return#0 divr16u::divisor#7 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::divisor#7 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::return#0 divr16u::divisor#7 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ) -- vbuxx=_inc_vbuxx + //SEG311 [158] (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ) -- vbuxx=_inc_vbuxx inx - //SEG314 [159] if((byte) divr16u::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto divr16u::@1 [ divr16u::return#0 divr16u::divisor#7 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::return#0 divr16u::divisor#7 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::divisor#7 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::return#0 divr16u::divisor#7 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ) -- vbuxx_neq_vbuc1_then_la1 + //SEG312 [159] if((byte) divr16u::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto divr16u::@1 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ) -- vbuxx_neq_vbuc1_then_la1 cpx #$10 bne b1_from_b3 jmp b6 - //SEG315 divr16u::@6 + //SEG313 divr16u::@6 b6: - //SEG316 [160] (word) rem16u#1 ← (word) divr16u::rem#10 [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::return#0 rem16u#1 ] ) - // (word) rem16u#1 = (word) divr16u::rem#10 // register copy zp ZP_WORD:5 + //SEG314 [160] (word) rem16u#1 ← (word) divr16u::rem#10 [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::return#0 rem16u#1 ] ) + // (word) rem16u#1 = (word) divr16u::rem#10 // register copy zp ZP_WORD:2 jmp breturn - //SEG317 divr16u::@return + //SEG315 divr16u::@return breturn: - //SEG318 [161] return [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::return#0 rem16u#1 ] ) + //SEG316 [161] return [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::return#0 rem16u#1 ] ) rts } -//SEG319 sin8s_gen +//SEG317 sin8s_gen sin8s_gen: { - .label step = $11 + .label step = $f .label sintab = 5 .label x = 2 - .label i = $f - //SEG320 [163] call div16u param-assignment [ div16u::return#0 ] ( main:2::sin8s_gen:5 [ div16u::return#0 ] ) - //SEG321 [239] phi from sin8s_gen to div16u [phi:sin8s_gen->div16u] + .label i = $11 + //SEG318 [163] call div16u param-assignment [ div16u::return#0 ] ( main:2::sin8s_gen:5 [ div16u::return#0 ] ) + //SEG319 [239] phi from sin8s_gen to div16u [phi:sin8s_gen->div16u] div16u_from_sin8s_gen: jsr div16u - //SEG322 [164] (word) div16u::return#2 ← (word) div16u::return#0 [ div16u::return#2 ] ( main:2::sin8s_gen:5 [ div16u::return#2 ] ) - // (word) div16u::return#2 = (word) div16u::return#0 // register copy zp ZP_WORD:17 + //SEG320 [164] (word) div16u::return#2 ← (word) div16u::return#0 [ div16u::return#2 ] ( main:2::sin8s_gen:5 [ div16u::return#2 ] ) + // (word) div16u::return#2 = (word) div16u::return#0 // register copy zp ZP_WORD:15 jmp b3 - //SEG323 sin8s_gen::@3 + //SEG321 sin8s_gen::@3 b3: - //SEG324 [165] (word) sin8s_gen::step#0 ← (word) div16u::return#2 [ sin8s_gen::step#0 ] ( main:2::sin8s_gen:5 [ sin8s_gen::step#0 ] ) - // (word) sin8s_gen::step#0 = (word) div16u::return#2 // register copy zp ZP_WORD:17 - //SEG325 [166] phi from sin8s_gen::@3 to sin8s_gen::@1 [phi:sin8s_gen::@3->sin8s_gen::@1] + //SEG322 [165] (word) sin8s_gen::step#0 ← (word) div16u::return#2 [ sin8s_gen::step#0 ] ( main:2::sin8s_gen:5 [ sin8s_gen::step#0 ] ) + // (word) sin8s_gen::step#0 = (word) div16u::return#2 // register copy zp ZP_WORD:15 + //SEG323 [166] phi from sin8s_gen::@3 to sin8s_gen::@1 [phi:sin8s_gen::@3->sin8s_gen::@1] b1_from_b3: - //SEG326 [166] phi (word) sin8s_gen::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8s_gen::@3->sin8s_gen::@1#0] -- vwuz1=vbuc1 + //SEG324 [166] phi (word) sin8s_gen::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8s_gen::@3->sin8s_gen::@1#0] -- vwuz1=vbuc1 lda #<0 sta i lda #>0 sta i+1 - //SEG327 [166] phi (signed byte*) sin8s_gen::sintab#2 = (const signed byte[192]) main::sintabb#0 [phi:sin8s_gen::@3->sin8s_gen::@1#1] -- pbsz1=pbsc1 + //SEG325 [166] phi (signed byte*) sin8s_gen::sintab#2 = (const signed byte[192]) main::sintabb#0 [phi:sin8s_gen::@3->sin8s_gen::@1#1] -- pbsz1=pbsc1 lda #main.sintabb sta sintab+1 - //SEG328 [166] phi (word) sin8s_gen::x#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8s_gen::@3->sin8s_gen::@1#2] -- vwuz1=vbuc1 + //SEG326 [166] phi (word) sin8s_gen::x#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8s_gen::@3->sin8s_gen::@1#2] -- vwuz1=vbuc1 lda #<0 sta x lda #>0 sta x+1 jmp b1 - //SEG329 [166] phi from sin8s_gen::@4 to sin8s_gen::@1 [phi:sin8s_gen::@4->sin8s_gen::@1] + //SEG327 [166] phi from sin8s_gen::@4 to sin8s_gen::@1 [phi:sin8s_gen::@4->sin8s_gen::@1] b1_from_b4: - //SEG330 [166] phi (word) sin8s_gen::i#2 = (word) sin8s_gen::i#1 [phi:sin8s_gen::@4->sin8s_gen::@1#0] -- register_copy - //SEG331 [166] phi (signed byte*) sin8s_gen::sintab#2 = (signed byte*) sin8s_gen::sintab#0 [phi:sin8s_gen::@4->sin8s_gen::@1#1] -- register_copy - //SEG332 [166] phi (word) sin8s_gen::x#2 = (word) sin8s_gen::x#1 [phi:sin8s_gen::@4->sin8s_gen::@1#2] -- register_copy + //SEG328 [166] phi (word) sin8s_gen::i#2 = (word) sin8s_gen::i#1 [phi:sin8s_gen::@4->sin8s_gen::@1#0] -- register_copy + //SEG329 [166] phi (signed byte*) sin8s_gen::sintab#2 = (signed byte*) sin8s_gen::sintab#0 [phi:sin8s_gen::@4->sin8s_gen::@1#1] -- register_copy + //SEG330 [166] phi (word) sin8s_gen::x#2 = (word) sin8s_gen::x#1 [phi:sin8s_gen::@4->sin8s_gen::@1#2] -- register_copy jmp b1 - //SEG333 sin8s_gen::@1 + //SEG331 sin8s_gen::@1 b1: - //SEG334 [167] (word) sin8s::x#0 ← (word) sin8s_gen::x#2 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::x#0 ] ( main:2::sin8s_gen:5 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::x#0 ] ) -- vwuz1=vwuz2 + //SEG332 [167] (word) sin8s::x#0 ← (word) sin8s_gen::x#2 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::x#0 ] ( main:2::sin8s_gen:5 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::x#0 ] ) -- vwuz1=vwuz2 lda x sta sin8s.x lda x+1 sta sin8s.x+1 - //SEG335 [168] call sin8s param-assignment [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::return#1 ] ( main:2::sin8s_gen:5 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::return#1 ] ) + //SEG333 [168] call sin8s param-assignment [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::return#1 ] ( main:2::sin8s_gen:5 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::return#1 ] ) jsr sin8s - //SEG336 [169] (signed byte) sin8s::return#0 ← (signed byte) sin8s::return#1 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::return#0 ] ( main:2::sin8s_gen:5 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::return#0 ] ) + //SEG334 [169] (signed byte) sin8s::return#0 ← (signed byte) sin8s::return#1 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::return#0 ] ( main:2::sin8s_gen:5 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::return#0 ] ) // (signed byte) sin8s::return#0 = (signed byte) sin8s::return#1 // register copy reg byte a jmp b4 - //SEG337 sin8s_gen::@4 + //SEG335 sin8s_gen::@4 b4: - //SEG338 [170] (signed byte~) sin8s_gen::$1 ← (signed byte) sin8s::return#0 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s_gen::$1 ] ( main:2::sin8s_gen:5 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s_gen::$1 ] ) + //SEG336 [170] (signed byte~) sin8s_gen::$1 ← (signed byte) sin8s::return#0 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s_gen::$1 ] ( main:2::sin8s_gen:5 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s_gen::$1 ] ) // (signed byte~) sin8s_gen::$1 = (signed byte) sin8s::return#0 // register copy reg byte a - //SEG339 [171] *((signed byte*) sin8s_gen::sintab#2) ← (signed byte~) sin8s_gen::$1 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 ] ( main:2::sin8s_gen:5 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 ] ) -- _deref_pbsz1=vbsaa + //SEG337 [171] *((signed byte*) sin8s_gen::sintab#2) ← (signed byte~) sin8s_gen::$1 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 ] ( main:2::sin8s_gen:5 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 ] ) -- _deref_pbsz1=vbsaa ldy #0 sta (sintab),y - //SEG340 [172] (signed byte*) sin8s_gen::sintab#0 ← ++ (signed byte*) sin8s_gen::sintab#2 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::i#2 sin8s_gen::sintab#0 ] ( main:2::sin8s_gen:5 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::i#2 sin8s_gen::sintab#0 ] ) -- pbsz1=_inc_pbsz1 + //SEG338 [172] (signed byte*) sin8s_gen::sintab#0 ← ++ (signed byte*) sin8s_gen::sintab#2 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::i#2 sin8s_gen::sintab#0 ] ( main:2::sin8s_gen:5 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::i#2 sin8s_gen::sintab#0 ] ) -- pbsz1=_inc_pbsz1 inc sintab bne !+ inc sintab+1 !: - //SEG341 [173] (word) sin8s_gen::x#1 ← (word) sin8s_gen::x#2 + (word) sin8s_gen::step#0 [ sin8s_gen::step#0 sin8s_gen::i#2 sin8s_gen::x#1 sin8s_gen::sintab#0 ] ( main:2::sin8s_gen:5 [ sin8s_gen::step#0 sin8s_gen::i#2 sin8s_gen::x#1 sin8s_gen::sintab#0 ] ) -- vwuz1=vwuz1_plus_vwuz2 + //SEG339 [173] (word) sin8s_gen::x#1 ← (word) sin8s_gen::x#2 + (word) sin8s_gen::step#0 [ sin8s_gen::step#0 sin8s_gen::i#2 sin8s_gen::x#1 sin8s_gen::sintab#0 ] ( main:2::sin8s_gen:5 [ sin8s_gen::step#0 sin8s_gen::i#2 sin8s_gen::x#1 sin8s_gen::sintab#0 ] ) -- vwuz1=vwuz1_plus_vwuz2 lda x clc adc step @@ -10043,12 +10008,12 @@ sin8s_gen: { lda x+1 adc step+1 sta x+1 - //SEG342 [174] (word) sin8s_gen::i#1 ← ++ (word) sin8s_gen::i#2 [ sin8s_gen::step#0 sin8s_gen::x#1 sin8s_gen::sintab#0 sin8s_gen::i#1 ] ( main:2::sin8s_gen:5 [ sin8s_gen::step#0 sin8s_gen::x#1 sin8s_gen::sintab#0 sin8s_gen::i#1 ] ) -- vwuz1=_inc_vwuz1 + //SEG340 [174] (word) sin8s_gen::i#1 ← ++ (word) sin8s_gen::i#2 [ sin8s_gen::step#0 sin8s_gen::x#1 sin8s_gen::sintab#0 sin8s_gen::i#1 ] ( main:2::sin8s_gen:5 [ sin8s_gen::step#0 sin8s_gen::x#1 sin8s_gen::sintab#0 sin8s_gen::i#1 ] ) -- vwuz1=_inc_vwuz1 inc i bne !+ inc i+1 !: - //SEG343 [175] if((word) sin8s_gen::i#1<(const word) main::wavelength#0) goto sin8s_gen::@1 [ sin8s_gen::step#0 sin8s_gen::x#1 sin8s_gen::sintab#0 sin8s_gen::i#1 ] ( main:2::sin8s_gen:5 [ sin8s_gen::step#0 sin8s_gen::x#1 sin8s_gen::sintab#0 sin8s_gen::i#1 ] ) -- vwuz1_lt_vwuc1_then_la1 + //SEG341 [175] if((word) sin8s_gen::i#1<(const word) main::wavelength#0) goto sin8s_gen::@1 [ sin8s_gen::step#0 sin8s_gen::x#1 sin8s_gen::sintab#0 sin8s_gen::i#1 ] ( main:2::sin8s_gen:5 [ sin8s_gen::step#0 sin8s_gen::x#1 sin8s_gen::sintab#0 sin8s_gen::i#1 ] ) -- vwuz1_lt_vwuc1_then_la1 lda i+1 cmp #>main.wavelength bcc b1_from_b4 @@ -10058,12 +10023,12 @@ sin8s_gen: { bcc b1_from_b4 !: jmp breturn - //SEG344 sin8s_gen::@return + //SEG342 sin8s_gen::@return breturn: - //SEG345 [176] return [ ] ( main:2::sin8s_gen:5 [ ] ) + //SEG343 [176] return [ ] ( main:2::sin8s_gen:5 [ ] ) rts } -//SEG346 sin8s +//SEG344 sin8s sin8s: { .const DIV_6 = $2b .label _6 = $13 @@ -10072,7 +10037,7 @@ sin8s: { .label x3 = $23 .label usinx = $24 .label isUpper = 4 - //SEG347 [177] if((word) sin8s::x#0<(const word) PI_u4f12#0) goto sin8s::@1 [ sin8s::x#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::x#0 ] ) -- vwuz1_lt_vwuc1_then_la1 + //SEG345 [177] if((word) sin8s::x#0<(const word) PI_u4f12#0) goto sin8s::@1 [ sin8s::x#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::x#0 ] ) -- vwuz1_lt_vwuc1_then_la1 lda x+1 cmp #>PI_u4f12 bcc b1_from_sin8s @@ -10082,9 +10047,9 @@ sin8s: { bcc b1_from_sin8s !: jmp b5 - //SEG348 sin8s::@5 + //SEG346 sin8s::@5 b5: - //SEG349 [178] (word) sin8s::x#1 ← (word) sin8s::x#0 - (const word) PI_u4f12#0 [ sin8s::x#1 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::x#1 ] ) -- vwuz1=vwuz1_minus_vwuc1 + //SEG347 [178] (word) sin8s::x#1 ← (word) sin8s::x#0 - (const word) PI_u4f12#0 [ sin8s::x#1 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::x#1 ] ) -- vwuz1=vwuz1_minus_vwuc1 lda x sec sbc #PI_u4f12 sta x+1 - //SEG350 [179] phi from sin8s::@5 to sin8s::@1 [phi:sin8s::@5->sin8s::@1] + //SEG348 [179] phi from sin8s::@5 to sin8s::@1 [phi:sin8s::@5->sin8s::@1] b1_from_b5: - //SEG351 [179] phi (byte) sin8s::isUpper#10 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin8s::@5->sin8s::@1#0] -- vbuz1=vbuc1 + //SEG349 [179] phi (byte) sin8s::isUpper#10 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin8s::@5->sin8s::@1#0] -- vbuz1=vbuc1 lda #1 sta isUpper - //SEG352 [179] phi (word) sin8s::x#4 = (word) sin8s::x#1 [phi:sin8s::@5->sin8s::@1#1] -- register_copy + //SEG350 [179] phi (word) sin8s::x#4 = (word) sin8s::x#1 [phi:sin8s::@5->sin8s::@1#1] -- register_copy jmp b1 - //SEG353 [179] phi from sin8s to sin8s::@1 [phi:sin8s->sin8s::@1] + //SEG351 [179] phi from sin8s to sin8s::@1 [phi:sin8s->sin8s::@1] b1_from_sin8s: - //SEG354 [179] phi (byte) sin8s::isUpper#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8s->sin8s::@1#0] -- vbuz1=vbuc1 + //SEG352 [179] phi (byte) sin8s::isUpper#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8s->sin8s::@1#0] -- vbuz1=vbuc1 lda #0 sta isUpper - //SEG355 [179] phi (word) sin8s::x#4 = (word) sin8s::x#0 [phi:sin8s->sin8s::@1#1] -- register_copy + //SEG353 [179] phi (word) sin8s::x#4 = (word) sin8s::x#0 [phi:sin8s->sin8s::@1#1] -- register_copy jmp b1 - //SEG356 sin8s::@1 + //SEG354 sin8s::@1 b1: - //SEG357 [180] if((word) sin8s::x#4<(const word) PI_HALF_u4f12#0) goto sin8s::@2 [ sin8s::x#4 sin8s::isUpper#10 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::x#4 sin8s::isUpper#10 ] ) -- vwuz1_lt_vwuc1_then_la1 + //SEG355 [180] if((word) sin8s::x#4<(const word) PI_HALF_u4f12#0) goto sin8s::@2 [ sin8s::x#4 sin8s::isUpper#10 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::x#4 sin8s::isUpper#10 ] ) -- vwuz1_lt_vwuc1_then_la1 lda x+1 cmp #>PI_HALF_u4f12 bcc b2_from_b1 @@ -10118,9 +10083,9 @@ sin8s: { bcc b2_from_b1 !: jmp b6 - //SEG358 sin8s::@6 + //SEG356 sin8s::@6 b6: - //SEG359 [181] (word) sin8s::x#2 ← (const word) PI_u4f12#0 - (word) sin8s::x#4 [ sin8s::isUpper#10 sin8s::x#2 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x#2 ] ) -- vwuz1=vwuc1_minus_vwuz1 + //SEG357 [181] (word) sin8s::x#2 ← (const word) PI_u4f12#0 - (word) sin8s::x#4 [ sin8s::isUpper#10 sin8s::x#2 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x#2 ] ) -- vwuz1=vwuc1_minus_vwuz1 sec lda #PI_u4f12 sbc x+1 sta x+1 - //SEG360 [182] phi from sin8s::@1 sin8s::@6 to sin8s::@2 [phi:sin8s::@1/sin8s::@6->sin8s::@2] + //SEG358 [182] phi from sin8s::@1 sin8s::@6 to sin8s::@2 [phi:sin8s::@1/sin8s::@6->sin8s::@2] b2_from_b1: b2_from_b6: - //SEG361 [182] phi (word) sin8s::x#6 = (word) sin8s::x#4 [phi:sin8s::@1/sin8s::@6->sin8s::@2#0] -- register_copy + //SEG359 [182] phi (word) sin8s::x#6 = (word) sin8s::x#4 [phi:sin8s::@1/sin8s::@6->sin8s::@2#0] -- register_copy jmp b2 - //SEG362 sin8s::@2 + //SEG360 sin8s::@2 b2: - //SEG363 [183] (word~) sin8s::$6 ← (word) sin8s::x#6 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ sin8s::isUpper#10 sin8s::$6 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::$6 ] ) -- vwuz1=vwuz1_rol_3 + //SEG361 [183] (word~) sin8s::$6 ← (word) sin8s::x#6 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ sin8s::isUpper#10 sin8s::$6 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::$6 ] ) -- vwuz1=vwuz1_rol_3 asl _6 rol _6+1 asl _6 rol _6+1 asl _6 rol _6+1 - //SEG364 [184] (byte) sin8s::x1#0 ← > (word~) sin8s::$6 [ sin8s::isUpper#10 sin8s::x1#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 ] ) -- vbuz1=_hi_vwuz2 + //SEG362 [184] (byte) sin8s::x1#0 ← > (word~) sin8s::$6 [ sin8s::isUpper#10 sin8s::x1#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 ] ) -- vbuz1=_hi_vwuz2 lda _6+1 sta x1 - //SEG365 [185] (byte) mulu8_sel::v1#0 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 ] ) -- vbuxx=vbuz1 + //SEG363 [185] (byte) mulu8_sel::v1#0 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 ] ) -- vbuxx=vbuz1 ldx x1 - //SEG366 [186] (byte) mulu8_sel::v2#0 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 mulu8_sel::v2#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 mulu8_sel::v2#0 ] ) -- vbuyy=vbuz1 + //SEG364 [186] (byte) mulu8_sel::v2#0 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 mulu8_sel::v2#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 mulu8_sel::v2#0 ] ) -- vbuyy=vbuz1 ldy x1 - //SEG367 [187] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] ) - //SEG368 [220] phi from sin8s::@2 to mulu8_sel [phi:sin8s::@2->mulu8_sel] + //SEG365 [187] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] ) + //SEG366 [220] phi from sin8s::@2 to mulu8_sel [phi:sin8s::@2->mulu8_sel] mulu8_sel_from_b2: - //SEG369 [220] phi (byte) mulu8_sel::select#5 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8s::@2->mulu8_sel#0] -- vbuz1=vbuc1 + //SEG367 [220] phi (byte) mulu8_sel::select#5 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8s::@2->mulu8_sel#0] -- vbuz1=vbuc1 lda #0 sta mulu8_sel.select - //SEG370 [220] phi (byte) mulu8_sel::v2#5 = (byte) mulu8_sel::v2#0 [phi:sin8s::@2->mulu8_sel#1] -- register_copy - //SEG371 [220] phi (byte) mulu8_sel::v1#5 = (byte) mulu8_sel::v1#0 [phi:sin8s::@2->mulu8_sel#2] -- register_copy + //SEG368 [220] phi (byte) mulu8_sel::v2#5 = (byte) mulu8_sel::v2#0 [phi:sin8s::@2->mulu8_sel#1] -- register_copy + //SEG369 [220] phi (byte) mulu8_sel::v1#5 = (byte) mulu8_sel::v1#0 [phi:sin8s::@2->mulu8_sel#2] -- register_copy jsr mulu8_sel - //SEG372 [188] (byte) mulu8_sel::return#0 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#0 ] ) + //SEG370 [188] (byte) mulu8_sel::return#0 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#0 ] ) // (byte) mulu8_sel::return#0 = (byte) mulu8_sel::return#12 // register copy reg byte a jmp b10 - //SEG373 sin8s::@10 + //SEG371 sin8s::@10 b10: - //SEG374 [189] (byte) sin8s::x2#0 ← (byte) mulu8_sel::return#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x2#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x2#0 ] ) + //SEG372 [189] (byte) sin8s::x2#0 ← (byte) mulu8_sel::return#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x2#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x2#0 ] ) // (byte) sin8s::x2#0 = (byte) mulu8_sel::return#0 // register copy reg byte a - //SEG375 [190] (byte) mulu8_sel::v1#1 ← (byte) sin8s::x2#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 ] ) -- vbuxx=vbuaa + //SEG373 [190] (byte) mulu8_sel::v1#1 ← (byte) sin8s::x2#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 ] ) -- vbuxx=vbuaa tax - //SEG376 [191] (byte) mulu8_sel::v2#1 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 mulu8_sel::v2#1 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 mulu8_sel::v2#1 ] ) -- vbuyy=vbuz1 + //SEG374 [191] (byte) mulu8_sel::v2#1 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 mulu8_sel::v2#1 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 mulu8_sel::v2#1 ] ) -- vbuyy=vbuz1 ldy x1 - //SEG377 [192] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] ) - //SEG378 [220] phi from sin8s::@10 to mulu8_sel [phi:sin8s::@10->mulu8_sel] + //SEG375 [192] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] ) + //SEG376 [220] phi from sin8s::@10 to mulu8_sel [phi:sin8s::@10->mulu8_sel] mulu8_sel_from_b10: - //SEG379 [220] phi (byte) mulu8_sel::select#5 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin8s::@10->mulu8_sel#0] -- vbuz1=vbuc1 + //SEG377 [220] phi (byte) mulu8_sel::select#5 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin8s::@10->mulu8_sel#0] -- vbuz1=vbuc1 lda #1 sta mulu8_sel.select - //SEG380 [220] phi (byte) mulu8_sel::v2#5 = (byte) mulu8_sel::v2#1 [phi:sin8s::@10->mulu8_sel#1] -- register_copy - //SEG381 [220] phi (byte) mulu8_sel::v1#5 = (byte) mulu8_sel::v1#1 [phi:sin8s::@10->mulu8_sel#2] -- register_copy + //SEG378 [220] phi (byte) mulu8_sel::v2#5 = (byte) mulu8_sel::v2#1 [phi:sin8s::@10->mulu8_sel#1] -- register_copy + //SEG379 [220] phi (byte) mulu8_sel::v1#5 = (byte) mulu8_sel::v1#1 [phi:sin8s::@10->mulu8_sel#2] -- register_copy jsr mulu8_sel - //SEG382 [193] (byte) mulu8_sel::return#1 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#1 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#1 ] ) + //SEG380 [193] (byte) mulu8_sel::return#1 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#1 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#1 ] ) // (byte) mulu8_sel::return#1 = (byte) mulu8_sel::return#12 // register copy reg byte a jmp b11 - //SEG383 sin8s::@11 + //SEG381 sin8s::@11 b11: - //SEG384 [194] (byte) sin8s::x3#0 ← (byte) mulu8_sel::return#1 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 ] ) -- vbuz1=vbuaa + //SEG382 [194] (byte) sin8s::x3#0 ← (byte) mulu8_sel::return#1 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 ] ) -- vbuz1=vbuaa sta x3 - //SEG385 [195] (byte) mulu8_sel::v1#2 ← (byte) sin8s::x3#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::v1#2 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::v1#2 ] ) -- vbuxx=vbuz1 + //SEG383 [195] (byte) mulu8_sel::v1#2 ← (byte) sin8s::x3#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::v1#2 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::v1#2 ] ) -- vbuxx=vbuz1 ldx x3 - //SEG386 [196] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::x3#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::x3#0 ] ) - //SEG387 [220] phi from sin8s::@11 to mulu8_sel [phi:sin8s::@11->mulu8_sel] + //SEG384 [196] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::x3#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::x3#0 ] ) + //SEG385 [220] phi from sin8s::@11 to mulu8_sel [phi:sin8s::@11->mulu8_sel] mulu8_sel_from_b11: - //SEG388 [220] phi (byte) mulu8_sel::select#5 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin8s::@11->mulu8_sel#0] -- vbuz1=vbuc1 + //SEG386 [220] phi (byte) mulu8_sel::select#5 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin8s::@11->mulu8_sel#0] -- vbuz1=vbuc1 lda #1 sta mulu8_sel.select - //SEG389 [220] phi (byte) mulu8_sel::v2#5 = (const byte) sin8s::DIV_6#0 [phi:sin8s::@11->mulu8_sel#1] -- vbuyy=vbuc1 + //SEG387 [220] phi (byte) mulu8_sel::v2#5 = (const byte) sin8s::DIV_6#0 [phi:sin8s::@11->mulu8_sel#1] -- vbuyy=vbuc1 ldy #DIV_6 - //SEG390 [220] phi (byte) mulu8_sel::v1#5 = (byte) mulu8_sel::v1#2 [phi:sin8s::@11->mulu8_sel#2] -- register_copy + //SEG388 [220] phi (byte) mulu8_sel::v1#5 = (byte) mulu8_sel::v1#2 [phi:sin8s::@11->mulu8_sel#2] -- register_copy jsr mulu8_sel - //SEG391 [197] (byte) mulu8_sel::return#2 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#2 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#2 ] ) + //SEG389 [197] (byte) mulu8_sel::return#2 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#2 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#2 ] ) // (byte) mulu8_sel::return#2 = (byte) mulu8_sel::return#12 // register copy reg byte a jmp b12 - //SEG392 sin8s::@12 + //SEG390 sin8s::@12 b12: - //SEG393 [198] (byte) sin8s::x3_6#0 ← (byte) mulu8_sel::return#2 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::x3_6#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::x3_6#0 ] ) + //SEG391 [198] (byte) sin8s::x3_6#0 ← (byte) mulu8_sel::return#2 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::x3_6#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::x3_6#0 ] ) // (byte) sin8s::x3_6#0 = (byte) mulu8_sel::return#2 // register copy reg byte a - //SEG394 [199] (byte) sin8s::usinx#0 ← (byte) sin8s::x1#0 - (byte) sin8s::x3_6#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::usinx#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::usinx#0 ] ) -- vbuz1=vbuz2_minus_vbuaa + //SEG392 [199] (byte) sin8s::usinx#0 ← (byte) sin8s::x1#0 - (byte) sin8s::x3_6#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::usinx#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::usinx#0 ] ) -- vbuz1=vbuz2_minus_vbuaa eor #$ff sec adc x1 sta usinx - //SEG395 [200] (byte) mulu8_sel::v1#3 ← (byte) sin8s::x3#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 ] ) -- vbuxx=vbuz1 + //SEG393 [200] (byte) mulu8_sel::v1#3 ← (byte) sin8s::x3#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 ] ) -- vbuxx=vbuz1 ldx x3 - //SEG396 [201] (byte) mulu8_sel::v2#3 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 mulu8_sel::v2#3 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 mulu8_sel::v2#3 ] ) -- vbuyy=vbuz1 + //SEG394 [201] (byte) mulu8_sel::v2#3 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 mulu8_sel::v2#3 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 mulu8_sel::v2#3 ] ) -- vbuyy=vbuz1 ldy x1 - //SEG397 [202] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::usinx#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::usinx#0 ] ) - //SEG398 [220] phi from sin8s::@12 to mulu8_sel [phi:sin8s::@12->mulu8_sel] + //SEG395 [202] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::usinx#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::usinx#0 ] ) + //SEG396 [220] phi from sin8s::@12 to mulu8_sel [phi:sin8s::@12->mulu8_sel] mulu8_sel_from_b12: - //SEG399 [220] phi (byte) mulu8_sel::select#5 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8s::@12->mulu8_sel#0] -- vbuz1=vbuc1 + //SEG397 [220] phi (byte) mulu8_sel::select#5 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8s::@12->mulu8_sel#0] -- vbuz1=vbuc1 lda #0 sta mulu8_sel.select - //SEG400 [220] phi (byte) mulu8_sel::v2#5 = (byte) mulu8_sel::v2#3 [phi:sin8s::@12->mulu8_sel#1] -- register_copy - //SEG401 [220] phi (byte) mulu8_sel::v1#5 = (byte) mulu8_sel::v1#3 [phi:sin8s::@12->mulu8_sel#2] -- register_copy + //SEG398 [220] phi (byte) mulu8_sel::v2#5 = (byte) mulu8_sel::v2#3 [phi:sin8s::@12->mulu8_sel#1] -- register_copy + //SEG399 [220] phi (byte) mulu8_sel::v1#5 = (byte) mulu8_sel::v1#3 [phi:sin8s::@12->mulu8_sel#2] -- register_copy jsr mulu8_sel - //SEG402 [203] (byte) mulu8_sel::return#10 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#10 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#10 ] ) + //SEG400 [203] (byte) mulu8_sel::return#10 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#10 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#10 ] ) // (byte) mulu8_sel::return#10 = (byte) mulu8_sel::return#12 // register copy reg byte a jmp b13 - //SEG403 sin8s::@13 + //SEG401 sin8s::@13 b13: - //SEG404 [204] (byte) sin8s::x4#0 ← (byte) mulu8_sel::return#10 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 sin8s::x4#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 sin8s::x4#0 ] ) + //SEG402 [204] (byte) sin8s::x4#0 ← (byte) mulu8_sel::return#10 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 sin8s::x4#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 sin8s::x4#0 ] ) // (byte) sin8s::x4#0 = (byte) mulu8_sel::return#10 // register copy reg byte a - //SEG405 [205] (byte) mulu8_sel::v1#4 ← (byte) sin8s::x4#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#4 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#4 ] ) -- vbuxx=vbuaa + //SEG403 [205] (byte) mulu8_sel::v1#4 ← (byte) sin8s::x4#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#4 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#4 ] ) -- vbuxx=vbuaa tax - //SEG406 [206] (byte) mulu8_sel::v2#4 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::v1#4 mulu8_sel::v2#4 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::v1#4 mulu8_sel::v2#4 ] ) -- vbuyy=vbuz1 + //SEG404 [206] (byte) mulu8_sel::v2#4 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::v1#4 mulu8_sel::v2#4 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::v1#4 mulu8_sel::v2#4 ] ) -- vbuyy=vbuz1 ldy x1 - //SEG407 [207] call mulu8_sel param-assignment [ sin8s::isUpper#10 mulu8_sel::return#12 sin8s::usinx#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 mulu8_sel::return#12 sin8s::usinx#0 ] ) - //SEG408 [220] phi from sin8s::@13 to mulu8_sel [phi:sin8s::@13->mulu8_sel] + //SEG405 [207] call mulu8_sel param-assignment [ sin8s::isUpper#10 mulu8_sel::return#12 sin8s::usinx#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 mulu8_sel::return#12 sin8s::usinx#0 ] ) + //SEG406 [220] phi from sin8s::@13 to mulu8_sel [phi:sin8s::@13->mulu8_sel] mulu8_sel_from_b13: - //SEG409 [220] phi (byte) mulu8_sel::select#5 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8s::@13->mulu8_sel#0] -- vbuz1=vbuc1 + //SEG407 [220] phi (byte) mulu8_sel::select#5 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8s::@13->mulu8_sel#0] -- vbuz1=vbuc1 lda #0 sta mulu8_sel.select - //SEG410 [220] phi (byte) mulu8_sel::v2#5 = (byte) mulu8_sel::v2#4 [phi:sin8s::@13->mulu8_sel#1] -- register_copy - //SEG411 [220] phi (byte) mulu8_sel::v1#5 = (byte) mulu8_sel::v1#4 [phi:sin8s::@13->mulu8_sel#2] -- register_copy + //SEG408 [220] phi (byte) mulu8_sel::v2#5 = (byte) mulu8_sel::v2#4 [phi:sin8s::@13->mulu8_sel#1] -- register_copy + //SEG409 [220] phi (byte) mulu8_sel::v1#5 = (byte) mulu8_sel::v1#4 [phi:sin8s::@13->mulu8_sel#2] -- register_copy jsr mulu8_sel - //SEG412 [208] (byte) mulu8_sel::return#11 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#11 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#11 ] ) + //SEG410 [208] (byte) mulu8_sel::return#11 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#11 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#11 ] ) // (byte) mulu8_sel::return#11 = (byte) mulu8_sel::return#12 // register copy reg byte a jmp b14 - //SEG413 sin8s::@14 + //SEG411 sin8s::@14 b14: - //SEG414 [209] (byte) sin8s::x5#0 ← (byte) mulu8_sel::return#11 [ sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5#0 ] ) + //SEG412 [209] (byte) sin8s::x5#0 ← (byte) mulu8_sel::return#11 [ sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5#0 ] ) // (byte) sin8s::x5#0 = (byte) mulu8_sel::return#11 // register copy reg byte a - //SEG415 [210] (byte) sin8s::x5_128#0 ← (byte) sin8s::x5#0 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5_128#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5_128#0 ] ) -- vbuaa=vbuaa_ror_4 + //SEG413 [210] (byte) sin8s::x5_128#0 ← (byte) sin8s::x5#0 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5_128#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5_128#0 ] ) -- vbuaa=vbuaa_ror_4 lsr lsr lsr lsr - //SEG416 [211] (byte) sin8s::usinx#1 ← (byte) sin8s::usinx#0 + (byte) sin8s::x5_128#0 [ sin8s::isUpper#10 sin8s::usinx#1 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#1 ] ) -- vbuxx=vbuz1_plus_vbuaa + //SEG414 [211] (byte) sin8s::usinx#1 ← (byte) sin8s::usinx#0 + (byte) sin8s::x5_128#0 [ sin8s::isUpper#10 sin8s::usinx#1 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#1 ] ) -- vbuxx=vbuz1_plus_vbuaa clc adc usinx tax - //SEG417 [212] if((byte) sin8s::usinx#1<(byte/word/signed word/dword/signed dword) 128) goto sin8s::@3 [ sin8s::isUpper#10 sin8s::usinx#1 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#1 ] ) -- vbuxx_lt_vbuc1_then_la1 + //SEG415 [212] if((byte) sin8s::usinx#1<(byte/word/signed word/dword/signed dword) 128) goto sin8s::@3 [ sin8s::isUpper#10 sin8s::usinx#1 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#1 ] ) -- vbuxx_lt_vbuc1_then_la1 cpx #$80 bcc b3_from_b14 jmp b7 - //SEG418 sin8s::@7 + //SEG416 sin8s::@7 b7: - //SEG419 [213] (byte) sin8s::usinx#2 ← -- (byte) sin8s::usinx#1 [ sin8s::isUpper#10 sin8s::usinx#2 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#2 ] ) -- vbuxx=_dec_vbuxx + //SEG417 [213] (byte) sin8s::usinx#2 ← -- (byte) sin8s::usinx#1 [ sin8s::isUpper#10 sin8s::usinx#2 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#2 ] ) -- vbuxx=_dec_vbuxx dex - //SEG420 [214] phi from sin8s::@14 sin8s::@7 to sin8s::@3 [phi:sin8s::@14/sin8s::@7->sin8s::@3] + //SEG418 [214] phi from sin8s::@14 sin8s::@7 to sin8s::@3 [phi:sin8s::@14/sin8s::@7->sin8s::@3] b3_from_b14: b3_from_b7: - //SEG421 [214] phi (byte) sin8s::usinx#4 = (byte) sin8s::usinx#1 [phi:sin8s::@14/sin8s::@7->sin8s::@3#0] -- register_copy + //SEG419 [214] phi (byte) sin8s::usinx#4 = (byte) sin8s::usinx#1 [phi:sin8s::@14/sin8s::@7->sin8s::@3#0] -- register_copy jmp b3 - //SEG422 sin8s::@3 + //SEG420 sin8s::@3 b3: - //SEG423 [215] if((byte) sin8s::isUpper#10==(byte/signed byte/word/signed word/dword/signed dword) 0) goto sin8s::@18 [ sin8s::usinx#4 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::usinx#4 ] ) -- vbuz1_eq_0_then_la1 + //SEG421 [215] if((byte) sin8s::isUpper#10==(byte/signed byte/word/signed word/dword/signed dword) 0) goto sin8s::@18 [ sin8s::usinx#4 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::usinx#4 ] ) -- vbuz1_eq_0_then_la1 lda isUpper beq b18 jmp b8 - //SEG424 sin8s::@8 + //SEG422 sin8s::@8 b8: - //SEG425 [216] (signed byte) sin8s::sinx#1 ← - (signed byte)(byte) sin8s::usinx#4 [ sin8s::sinx#1 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::sinx#1 ] ) -- vbsaa=_neg_vbsxx + //SEG423 [216] (signed byte) sin8s::sinx#1 ← - (signed byte)(byte) sin8s::usinx#4 [ sin8s::sinx#1 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::sinx#1 ] ) -- vbsaa=_neg_vbsxx txa eor #$ff clc adc #1 - //SEG426 [217] phi from sin8s::@18 sin8s::@8 to sin8s::@4 [phi:sin8s::@18/sin8s::@8->sin8s::@4] + //SEG424 [217] phi from sin8s::@18 sin8s::@8 to sin8s::@4 [phi:sin8s::@18/sin8s::@8->sin8s::@4] b4_from_b18: b4_from_b8: - //SEG427 [217] phi (signed byte) sin8s::return#1 = (signed byte~) sin8s::return#5 [phi:sin8s::@18/sin8s::@8->sin8s::@4#0] -- register_copy + //SEG425 [217] phi (signed byte) sin8s::return#1 = (signed byte~) sin8s::return#5 [phi:sin8s::@18/sin8s::@8->sin8s::@4#0] -- register_copy jmp b4 - //SEG428 sin8s::@4 + //SEG426 sin8s::@4 b4: jmp breturn - //SEG429 sin8s::@return + //SEG427 sin8s::@return breturn: - //SEG430 [218] return [ sin8s::return#1 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::return#1 ] ) + //SEG428 [218] return [ sin8s::return#1 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::return#1 ] ) rts - //SEG431 sin8s::@18 + //SEG429 sin8s::@18 b18: - //SEG432 [219] (signed byte~) sin8s::return#5 ← (signed byte)(byte) sin8s::usinx#4 [ sin8s::return#5 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::return#5 ] ) -- vbsaa=vbsxx + //SEG430 [219] (signed byte~) sin8s::return#5 ← (signed byte)(byte) sin8s::usinx#4 [ sin8s::return#5 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::return#5 ] ) -- vbsaa=vbsxx txa jmp b4_from_b18 } -//SEG433 mulu8_sel +//SEG431 mulu8_sel mulu8_sel: { .label _0 = $13 .label _1 = $13 .label select = $1b - //SEG434 [221] (byte) mul8u::a#1 ← (byte) mulu8_sel::v1#5 [ mulu8_sel::v2#5 mulu8_sel::select#5 mul8u::a#1 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v2#5 mulu8_sel::select#5 mul8u::a#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v2#5 mulu8_sel::select#5 mul8u::a#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::v2#5 mulu8_sel::select#5 mul8u::a#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v2#5 mulu8_sel::select#5 mul8u::a#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::v2#5 mulu8_sel::select#5 mul8u::a#1 ] ) + //SEG432 [221] (byte) mul8u::a#1 ← (byte) mulu8_sel::v1#5 [ mulu8_sel::v2#5 mulu8_sel::select#5 mul8u::a#1 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v2#5 mulu8_sel::select#5 mul8u::a#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v2#5 mulu8_sel::select#5 mul8u::a#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::v2#5 mulu8_sel::select#5 mul8u::a#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v2#5 mulu8_sel::select#5 mul8u::a#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::v2#5 mulu8_sel::select#5 mul8u::a#1 ] ) // (byte) mul8u::a#1 = (byte) mulu8_sel::v1#5 // register copy reg byte x - //SEG435 [222] (byte) mul8u::b#0 ← (byte) mulu8_sel::v2#5 [ mulu8_sel::select#5 mul8u::a#1 mul8u::b#0 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#1 mul8u::b#0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#1 mul8u::b#0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#1 mul8u::b#0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#1 mul8u::b#0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#1 mul8u::b#0 ] ) -- vbuaa=vbuyy + //SEG433 [222] (byte) mul8u::b#0 ← (byte) mulu8_sel::v2#5 [ mulu8_sel::select#5 mul8u::a#1 mul8u::b#0 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#1 mul8u::b#0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#1 mul8u::b#0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#1 mul8u::b#0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#1 mul8u::b#0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#1 mul8u::b#0 ] ) -- vbuaa=vbuyy tya - //SEG436 [223] call mul8u param-assignment [ mulu8_sel::select#5 mul8u::res#2 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 ] ) + //SEG434 [223] call mul8u param-assignment [ mulu8_sel::select#5 mul8u::res#2 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 ] ) jsr mul8u - //SEG437 [224] (word) mul8u::return#2 ← (word) mul8u::res#2 [ mulu8_sel::select#5 mul8u::return#2 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::return#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::return#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::return#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::return#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::return#2 ] ) + //SEG435 [224] (word) mul8u::return#2 ← (word) mul8u::res#2 [ mulu8_sel::select#5 mul8u::return#2 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::return#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::return#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::return#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::return#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::return#2 ] ) // (word) mul8u::return#2 = (word) mul8u::res#2 // register copy zp ZP_WORD:19 jmp b2 - //SEG438 mulu8_sel::@2 + //SEG436 mulu8_sel::@2 b2: - //SEG439 [225] (word~) mulu8_sel::$0 ← (word) mul8u::return#2 [ mulu8_sel::select#5 mulu8_sel::$0 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mulu8_sel::$0 ] ) + //SEG437 [225] (word~) mulu8_sel::$0 ← (word) mul8u::return#2 [ mulu8_sel::select#5 mulu8_sel::$0 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mulu8_sel::$0 ] ) // (word~) mulu8_sel::$0 = (word) mul8u::return#2 // register copy zp ZP_WORD:19 - //SEG440 [226] (word~) mulu8_sel::$1 ← (word~) mulu8_sel::$0 << (byte) mulu8_sel::select#5 [ mulu8_sel::$1 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::$1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::$1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::$1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::$1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::$1 ] ) -- vwuz1=vwuz1_rol_vbuz2 + //SEG438 [226] (word~) mulu8_sel::$1 ← (word~) mulu8_sel::$0 << (byte) mulu8_sel::select#5 [ mulu8_sel::$1 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::$1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::$1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::$1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::$1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::$1 ] ) -- vwuz1=vwuz1_rol_vbuz2 ldy select beq !e+ !: @@ -10329,55 +10294,55 @@ mulu8_sel: { dey bne !- !e: - //SEG441 [227] (byte) mulu8_sel::return#12 ← > (word~) mulu8_sel::$1 [ mulu8_sel::return#12 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#12 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#12 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#12 ] ) -- vbuaa=_hi_vwuz1 + //SEG439 [227] (byte) mulu8_sel::return#12 ← > (word~) mulu8_sel::$1 [ mulu8_sel::return#12 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#12 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#12 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#12 ] ) -- vbuaa=_hi_vwuz1 lda _1+1 jmp breturn - //SEG442 mulu8_sel::@return + //SEG440 mulu8_sel::@return breturn: - //SEG443 [228] return [ mulu8_sel::return#12 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#12 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#12 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#12 ] ) + //SEG441 [228] return [ mulu8_sel::return#12 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#12 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#12 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#12 ] ) rts } -//SEG444 mul8u +//SEG442 mul8u mul8u: { .label mb = $15 .label res = $13 .label return = $13 - //SEG445 [229] (word) mul8u::mb#0 ← ((word)) (byte) mul8u::b#0 [ mul8u::a#1 mul8u::mb#0 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#1 mul8u::mb#0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#1 mul8u::mb#0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#1 mul8u::mb#0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#1 mul8u::mb#0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#1 mul8u::mb#0 ] ) -- vwuz1=_word_vbuaa + //SEG443 [229] (word) mul8u::mb#0 ← ((word)) (byte) mul8u::b#0 [ mul8u::a#1 mul8u::mb#0 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#1 mul8u::mb#0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#1 mul8u::mb#0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#1 mul8u::mb#0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#1 mul8u::mb#0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#1 mul8u::mb#0 ] ) -- vwuz1=_word_vbuaa sta mb lda #0 sta mb+1 - //SEG446 [230] phi from mul8u to mul8u::@1 [phi:mul8u->mul8u::@1] + //SEG444 [230] phi from mul8u to mul8u::@1 [phi:mul8u->mul8u::@1] b1_from_mul8u: - //SEG447 [230] phi (word) mul8u::mb#2 = (word) mul8u::mb#0 [phi:mul8u->mul8u::@1#0] -- register_copy - //SEG448 [230] phi (word) mul8u::res#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mul8u->mul8u::@1#1] -- vwuz1=vbuc1 + //SEG445 [230] phi (word) mul8u::mb#2 = (word) mul8u::mb#0 [phi:mul8u->mul8u::@1#0] -- register_copy + //SEG446 [230] phi (word) mul8u::res#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mul8u->mul8u::@1#1] -- vwuz1=vbuc1 lda #<0 sta res lda #>0 sta res+1 - //SEG449 [230] phi (byte) mul8u::a#2 = (byte) mul8u::a#1 [phi:mul8u->mul8u::@1#2] -- register_copy + //SEG447 [230] phi (byte) mul8u::a#2 = (byte) mul8u::a#1 [phi:mul8u->mul8u::@1#2] -- register_copy jmp b1 - //SEG450 mul8u::@1 + //SEG448 mul8u::@1 b1: - //SEG451 [231] if((byte) mul8u::a#2!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@2 [ mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] ) -- vbuxx_neq_0_then_la1 + //SEG449 [231] if((byte) mul8u::a#2!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@2 [ mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] ) -- vbuxx_neq_0_then_la1 cpx #0 bne b2 jmp breturn - //SEG452 mul8u::@return + //SEG450 mul8u::@return breturn: - //SEG453 [232] return [ mul8u::res#2 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 ] ) + //SEG451 [232] return [ mul8u::res#2 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 ] ) rts - //SEG454 mul8u::@2 + //SEG452 mul8u::@2 b2: - //SEG455 [233] (byte~) mul8u::$1 ← (byte) mul8u::a#2 & (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul8u::res#2 mul8u::a#2 mul8u::mb#2 mul8u::$1 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 mul8u::$1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 mul8u::$1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 mul8u::$1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 mul8u::$1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 mul8u::$1 ] ) -- vbuaa=vbuxx_band_vbuc1 + //SEG453 [233] (byte~) mul8u::$1 ← (byte) mul8u::a#2 & (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul8u::res#2 mul8u::a#2 mul8u::mb#2 mul8u::$1 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 mul8u::$1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 mul8u::$1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 mul8u::$1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 mul8u::$1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 mul8u::$1 ] ) -- vbuaa=vbuxx_band_vbuc1 txa and #1 - //SEG456 [234] if((byte~) mul8u::$1==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@4 [ mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] ) -- vbuaa_eq_0_then_la1 + //SEG454 [234] if((byte~) mul8u::$1==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@4 [ mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] ) -- vbuaa_eq_0_then_la1 cmp #0 beq b4_from_b2 jmp b7 - //SEG457 mul8u::@7 + //SEG455 mul8u::@7 b7: - //SEG458 [235] (word) mul8u::res#1 ← (word) mul8u::res#2 + (word) mul8u::mb#2 [ mul8u::a#2 mul8u::mb#2 mul8u::res#1 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#2 mul8u::mb#2 mul8u::res#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#2 mul8u::mb#2 mul8u::res#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#2 mul8u::mb#2 mul8u::res#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#2 mul8u::mb#2 mul8u::res#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#2 mul8u::mb#2 mul8u::res#1 ] ) -- vwuz1=vwuz1_plus_vwuz2 + //SEG456 [235] (word) mul8u::res#1 ← (word) mul8u::res#2 + (word) mul8u::mb#2 [ mul8u::a#2 mul8u::mb#2 mul8u::res#1 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#2 mul8u::mb#2 mul8u::res#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#2 mul8u::mb#2 mul8u::res#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#2 mul8u::mb#2 mul8u::res#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#2 mul8u::mb#2 mul8u::res#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#2 mul8u::mb#2 mul8u::res#1 ] ) -- vwuz1=vwuz1_plus_vwuz2 lda res clc adc mb @@ -10385,60 +10350,55 @@ mul8u: { lda res+1 adc mb+1 sta res+1 - //SEG459 [236] phi from mul8u::@2 mul8u::@7 to mul8u::@4 [phi:mul8u::@2/mul8u::@7->mul8u::@4] + //SEG457 [236] phi from mul8u::@2 mul8u::@7 to mul8u::@4 [phi:mul8u::@2/mul8u::@7->mul8u::@4] b4_from_b2: b4_from_b7: - //SEG460 [236] phi (word) mul8u::res#6 = (word) mul8u::res#2 [phi:mul8u::@2/mul8u::@7->mul8u::@4#0] -- register_copy + //SEG458 [236] phi (word) mul8u::res#6 = (word) mul8u::res#2 [phi:mul8u::@2/mul8u::@7->mul8u::@4#0] -- register_copy jmp b4 - //SEG461 mul8u::@4 + //SEG459 mul8u::@4 b4: - //SEG462 [237] (byte) mul8u::a#0 ← (byte) mul8u::a#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] ) -- vbuxx=vbuxx_ror_1 + //SEG460 [237] (byte) mul8u::a#0 ← (byte) mul8u::a#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] ) -- vbuxx=vbuxx_ror_1 txa lsr tax - //SEG463 [238] (word) mul8u::mb#1 ← (word) mul8u::mb#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] ) -- vwuz1=vwuz1_rol_1 + //SEG461 [238] (word) mul8u::mb#1 ← (word) mul8u::mb#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] ) -- vwuz1=vwuz1_rol_1 asl mb rol mb+1 - //SEG464 [230] phi from mul8u::@4 to mul8u::@1 [phi:mul8u::@4->mul8u::@1] + //SEG462 [230] phi from mul8u::@4 to mul8u::@1 [phi:mul8u::@4->mul8u::@1] b1_from_b4: - //SEG465 [230] phi (word) mul8u::mb#2 = (word) mul8u::mb#1 [phi:mul8u::@4->mul8u::@1#0] -- register_copy - //SEG466 [230] phi (word) mul8u::res#2 = (word) mul8u::res#6 [phi:mul8u::@4->mul8u::@1#1] -- register_copy - //SEG467 [230] phi (byte) mul8u::a#2 = (byte) mul8u::a#0 [phi:mul8u::@4->mul8u::@1#2] -- register_copy + //SEG463 [230] phi (word) mul8u::mb#2 = (word) mul8u::mb#1 [phi:mul8u::@4->mul8u::@1#0] -- register_copy + //SEG464 [230] phi (word) mul8u::res#2 = (word) mul8u::res#6 [phi:mul8u::@4->mul8u::@1#1] -- register_copy + //SEG465 [230] phi (byte) mul8u::a#2 = (byte) mul8u::a#0 [phi:mul8u::@4->mul8u::@1#2] -- register_copy jmp b1 } -//SEG468 div16u +//SEG466 div16u div16u: { - .label return = $11 - //SEG469 [240] call divr16u param-assignment [ divr16u::return#0 ] ( main:2::sin8s_gen:5::div16u:163 [ divr16u::return#0 ] ) - //SEG470 [144] phi from div16u to divr16u [phi:div16u->divr16u] + .label return = $f + //SEG467 [240] call divr16u param-assignment [ divr16u::return#0 ] ( main:2::sin8s_gen:5::div16u:163 [ divr16u::return#0 ] ) + //SEG468 [144] phi from div16u to divr16u [phi:div16u->divr16u] divr16u_from_div16u: - //SEG471 [144] phi (word) divr16u::divisor#7 = (const word) main::wavelength#0 [phi:div16u->divr16u#0] -- vwuz1=vwuc1 - lda #main.wavelength - sta divr16u.divisor+1 - //SEG472 [144] phi (word) divr16u::dividend#6 = (const word) PI2_u4f12#0 [phi:div16u->divr16u#1] -- vwuz1=vwuc1 + //SEG469 [144] phi (word) divr16u::dividend#6 = (const word) PI2_u4f12#0 [phi:div16u->divr16u#0] -- vwuz1=vwuc1 lda #PI2_u4f12 sta divr16u.dividend+1 - //SEG473 [144] phi (word) divr16u::rem#11 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:div16u->divr16u#2] -- vwuz1=vbuc1 + //SEG470 [144] phi (word) divr16u::rem#11 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:div16u->divr16u#1] -- vwuz1=vbuc1 lda #<0 sta divr16u.rem lda #>0 sta divr16u.rem+1 jsr divr16u - //SEG474 [241] (word) divr16u::return#2 ← (word) divr16u::return#0 [ divr16u::return#2 ] ( main:2::sin8s_gen:5::div16u:163 [ divr16u::return#2 ] ) - // (word) divr16u::return#2 = (word) divr16u::return#0 // register copy zp ZP_WORD:17 + //SEG471 [241] (word) divr16u::return#2 ← (word) divr16u::return#0 [ divr16u::return#2 ] ( main:2::sin8s_gen:5::div16u:163 [ divr16u::return#2 ] ) + // (word) divr16u::return#2 = (word) divr16u::return#0 // register copy zp ZP_WORD:15 jmp b2 - //SEG475 div16u::@2 + //SEG472 div16u::@2 b2: - //SEG476 [242] (word) div16u::return#0 ← (word) divr16u::return#2 [ div16u::return#0 ] ( main:2::sin8s_gen:5::div16u:163 [ div16u::return#0 ] ) - // (word) div16u::return#0 = (word) divr16u::return#2 // register copy zp ZP_WORD:17 + //SEG473 [242] (word) div16u::return#0 ← (word) divr16u::return#2 [ div16u::return#0 ] ( main:2::sin8s_gen:5::div16u:163 [ div16u::return#0 ] ) + // (word) div16u::return#0 = (word) divr16u::return#2 // register copy zp ZP_WORD:15 jmp breturn - //SEG477 div16u::@return + //SEG474 div16u::@return breturn: - //SEG478 [243] return [ div16u::return#0 ] ( main:2::sin8s_gen:5::div16u:163 [ div16u::return#0 ] ) + //SEG475 [243] return [ div16u::return#0 ] ( main:2::sin8s_gen:5::div16u:163 [ div16u::return#0 ] ) rts } print_hextab: .text "0123456789abcdef" @@ -10739,8 +10699,8 @@ FINAL SYMBOL TABLE (word) div16u::dividend (word) div16u::divisor (word) div16u::return -(word) div16u::return#0 return zp ZP_WORD:17 1.3333333333333333 -(word) div16u::return#2 return zp ZP_WORD:17 4.0 +(word) div16u::return#0 return zp ZP_WORD:15 1.3333333333333333 +(word) div16u::return#2 return zp ZP_WORD:15 4.0 (dword()) div32u16u((dword) div32u16u::dividend , (word) div32u16u::divisor) (label) div32u16u::@2 (label) div32u16u::@3 @@ -10749,9 +10709,9 @@ FINAL SYMBOL TABLE (word) div32u16u::divisor (dword) div32u16u::quotient (word) div32u16u::quotient_hi -(word) div32u16u::quotient_hi#0 quotient_hi zp ZP_WORD:19 0.8 +(word) div32u16u::quotient_hi#0 quotient_hi zp ZP_WORD:17 0.8 (word) div32u16u::quotient_lo -(word) div32u16u::quotient_lo#0 quotient_lo zp ZP_WORD:17 4.0 +(word) div32u16u::quotient_lo#0 quotient_lo zp ZP_WORD:15 4.0 (dword) div32u16u::return (dword) div32u16u::return#0 return zp ZP_DWORD:28 1.3333333333333333 (dword) div32u16u::return#2 return zp ZP_DWORD:28 4.0 @@ -10766,32 +10726,31 @@ FINAL SYMBOL TABLE (label) divr16u::@6 (label) divr16u::@return (word) divr16u::dividend -(word) divr16u::dividend#0 dividend zp ZP_WORD:15 2.75 -(word) divr16u::dividend#4 dividend zp ZP_WORD:15 5.0 -(word) divr16u::dividend#6 dividend zp ZP_WORD:15 2.0 +(word) divr16u::dividend#0 dividend zp ZP_WORD:5 2.75 +(word) divr16u::dividend#4 dividend zp ZP_WORD:5 5.0 +(word) divr16u::dividend#6 dividend zp ZP_WORD:5 2.0 (word) divr16u::divisor -(word) divr16u::divisor#7 divisor zp ZP_WORD:2 1.375 (byte) divr16u::i (byte) divr16u::i#1 reg byte x 16.5 (byte) divr16u::i#2 reg byte x 1.6923076923076923 (word) divr16u::quotient -(word) divr16u::quotient#1 quotient zp ZP_WORD:17 16.5 -(word) divr16u::quotient#2 quotient zp ZP_WORD:17 11.0 -(word) divr16u::quotient#3 quotient zp ZP_WORD:17 2.75 +(word) divr16u::quotient#1 quotient zp ZP_WORD:15 16.5 +(word) divr16u::quotient#2 quotient zp ZP_WORD:15 11.0 +(word) divr16u::quotient#3 quotient zp ZP_WORD:15 2.75 (word) divr16u::rem -(word) divr16u::rem#0 rem zp ZP_WORD:5 8.25 -(word) divr16u::rem#1 rem zp ZP_WORD:5 22.0 -(word) divr16u::rem#10 rem zp ZP_WORD:5 11.666666666666666 -(word) divr16u::rem#11 rem zp ZP_WORD:5 4.0 -(word) divr16u::rem#2 rem zp ZP_WORD:5 22.0 -(word) divr16u::rem#5 rem zp ZP_WORD:5 4.0 -(word) divr16u::rem#6 rem zp ZP_WORD:5 24.0 -(word) divr16u::rem#7 rem zp ZP_WORD:5 11.0 +(word) divr16u::rem#0 rem zp ZP_WORD:2 8.25 +(word) divr16u::rem#1 rem zp ZP_WORD:2 22.0 +(word) divr16u::rem#10 rem zp ZP_WORD:2 11.666666666666666 +(word) divr16u::rem#11 rem zp ZP_WORD:2 4.0 +(word) divr16u::rem#2 rem zp ZP_WORD:2 22.0 +(word) divr16u::rem#5 rem zp ZP_WORD:2 4.0 +(word) divr16u::rem#6 rem zp ZP_WORD:2 24.0 +(word) divr16u::rem#7 rem zp ZP_WORD:2 11.0 (word) divr16u::return -(word) divr16u::return#0 return zp ZP_WORD:17 4.875 -(word) divr16u::return#2 return zp ZP_WORD:17 4.0 -(word) divr16u::return#3 return zp ZP_WORD:17 4.0 -(word) divr16u::return#4 return zp ZP_WORD:17 4.0 +(word) divr16u::return#0 return zp ZP_WORD:15 4.875 +(word) divr16u::return#2 return zp ZP_WORD:15 4.0 +(word) divr16u::return#3 return zp ZP_WORD:15 4.0 +(word) divr16u::return#4 return zp ZP_WORD:15 4.0 (void()) main() (word~) main::$3 $3 zp ZP_WORD:2 22.0 (word~) main::$4 $4 zp ZP_WORD:2 22.0 @@ -10972,7 +10931,7 @@ FINAL SYMBOL TABLE (byte*) print_str::str#3 str zp ZP_WORD:2 101.5 (byte*) print_str::str#5 str zp ZP_WORD:2 2.0 (word) rem16u -(word) rem16u#1 rem16u zp ZP_WORD:5 0.8 +(word) rem16u#1 rem16u zp ZP_WORD:2 0.8 (signed word()) sin16s((dword) sin16s::x) (dword~) sin16s::$6 $6 zp ZP_DWORD:11 4.0 (label) sin16s::@1 @@ -11096,28 +11055,28 @@ FINAL SYMBOL TABLE (label) sin8s_gen::@4 (label) sin8s_gen::@return (word) sin8s_gen::i -(word) sin8s_gen::i#1 i zp ZP_WORD:15 16.5 -(word) sin8s_gen::i#2 i zp ZP_WORD:15 2.75 +(word) sin8s_gen::i#1 i zp ZP_WORD:17 16.5 +(word) sin8s_gen::i#2 i zp ZP_WORD:17 2.75 (signed byte*) sin8s_gen::sintab (signed byte*) sin8s_gen::sintab#0 sintab zp ZP_WORD:5 5.5 (signed byte*) sin8s_gen::sintab#2 sintab zp ZP_WORD:5 5.5 (word) sin8s_gen::step -(word) sin8s_gen::step#0 step zp ZP_WORD:17 1.1818181818181819 +(word) sin8s_gen::step#0 step zp ZP_WORD:15 1.1818181818181819 (word) sin8s_gen::wavelength (word) sin8s_gen::x (word) sin8s_gen::x#1 x zp ZP_WORD:2 7.333333333333333 (word) sin8s_gen::x#2 x zp ZP_WORD:2 4.714285714285714 reg byte x [ main::i#2 main::i#1 ] -zp ZP_WORD:2 [ print_str::str#3 print_str::str#5 print_str::str#0 print_cls::sc#2 print_cls::sc#1 sin16s_gen::sintab#2 sin16s_gen::sintab#0 divr16u::divisor#7 sin8s_gen::x#2 sin8s_gen::x#1 main::$3 main::$4 main::$5 ] +zp ZP_WORD:2 [ print_str::str#3 print_str::str#5 print_str::str#0 print_cls::sc#2 print_cls::sc#1 sin16s_gen::sintab#2 sin16s_gen::sintab#0 divr16u::rem#6 divr16u::rem#11 divr16u::rem#5 divr16u::rem#10 divr16u::rem#7 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 rem16u#1 sin8s_gen::x#2 sin8s_gen::x#1 main::$3 main::$4 main::$5 ] zp ZP_BYTE:4 [ print_sbyte::b#3 print_sbyte::b#1 print_sbyte::b#0 main::sd#0 main::sb#0 sin16s::isUpper#2 sin8s::isUpper#10 ] reg byte a [ print_char::ch#3 print_char::ch#1 print_char::ch#2 ] -zp ZP_WORD:5 [ print_char_cursor#27 print_char_cursor#37 print_char_cursor#44 print_char_cursor#41 print_char_cursor#42 print_char_cursor#19 print_char_cursor#10 print_char_cursor#1 sin16s_gen::i#2 sin16s_gen::i#1 divr16u::rem#6 divr16u::rem#11 divr16u::rem#5 divr16u::rem#10 divr16u::rem#7 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 rem16u#1 sin8s_gen::sintab#2 sin8s_gen::sintab#0 ] +zp ZP_WORD:5 [ print_char_cursor#27 print_char_cursor#37 print_char_cursor#44 print_char_cursor#41 print_char_cursor#42 print_char_cursor#19 print_char_cursor#10 print_char_cursor#1 sin16s_gen::i#2 sin16s_gen::i#1 divr16u::dividend#4 divr16u::dividend#6 divr16u::dividend#0 sin8s_gen::sintab#2 sin8s_gen::sintab#0 ] zp ZP_DWORD:7 [ sin16s_gen::x#2 sin16s_gen::x#1 ] zp ZP_DWORD:11 [ sin16s::x#6 sin16s::x#4 sin16s::x#0 sin16s::x#1 sin16s::x#2 sin16s::$6 mul16u::res#2 mul16u::res#6 mul16u::res#1 mul16u::return#2 mulu16_sel::$0 mulu16_sel::$1 ] -zp ZP_WORD:15 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 sin16s::usinx#1 sin16s::return#0 sin16s_gen::$1 sin16s::usinx#0 divr16u::dividend#4 divr16u::dividend#6 divr16u::dividend#0 sin8s_gen::i#2 sin8s_gen::i#1 main::sw#0 ] -zp ZP_WORD:17 [ mulu16_sel::v1#5 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 sin16s::x3#0 sin16s::x2#0 sin16s::x4#0 mulu16_sel::return#1 mulu16_sel::return#10 divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#3 divr16u::return#4 divr16u::return#2 div32u16u::quotient_lo#0 div16u::return#2 sin8s_gen::step#0 div16u::return#0 ] -zp ZP_WORD:19 [ mulu16_sel::v2#5 mulu16_sel::v2#3 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 mul16u::b#0 sin8s::x#6 sin8s::x#4 sin8s::x#0 sin8s::x#1 sin8s::x#2 sin8s::$6 mul8u::res#2 mul8u::res#6 mul8u::res#1 mul8u::return#2 mulu8_sel::$0 mulu8_sel::$1 mulu16_sel::return#0 mulu16_sel::return#12 mulu16_sel::return#2 sin16s::x3_6#0 mulu16_sel::return#11 sin16s::x5#0 sin16s::x5_128#0 div32u16u::quotient_hi#0 ] +zp ZP_WORD:15 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 sin16s::usinx#1 sin16s::return#0 sin16s_gen::$1 sin16s::usinx#0 divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#3 divr16u::return#4 divr16u::return#2 div32u16u::quotient_lo#0 div16u::return#2 sin8s_gen::step#0 div16u::return#0 main::sw#0 ] +zp ZP_WORD:17 [ mulu16_sel::v1#5 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 sin16s::x3#0 sin16s::x2#0 sin16s::x4#0 mulu16_sel::return#1 mulu16_sel::return#10 sin8s_gen::i#2 sin8s_gen::i#1 div32u16u::quotient_hi#0 ] +zp ZP_WORD:19 [ mulu16_sel::v2#5 mulu16_sel::v2#3 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 mul16u::b#0 sin8s::x#6 sin8s::x#4 sin8s::x#0 sin8s::x#1 sin8s::x#2 sin8s::$6 mul8u::res#2 mul8u::res#6 mul8u::res#1 mul8u::return#2 mulu8_sel::$0 mulu8_sel::$1 mulu16_sel::return#0 mulu16_sel::return#12 mulu16_sel::return#2 sin16s::x3_6#0 mulu16_sel::return#11 sin16s::x5#0 sin16s::x5_128#0 ] reg byte x [ mulu16_sel::select#5 ] zp ZP_WORD:21 [ mul16u::a#2 mul16u::a#1 mul16u::a#0 mul8u::mb#2 mul8u::mb#0 mul8u::mb#1 ] zp ZP_DWORD:23 [ mul16u::mb#2 mul16u::mb#0 mul16u::mb#1 ] @@ -11157,7 +11116,7 @@ reg byte a [ mul8u::$1 ] FINAL ASSEMBLER -Score: 28393 +Score: 28323 //SEG0 Basic Upstart .pc = $801 "Basic" @@ -11171,7 +11130,7 @@ Score: 28393 .const PI_u4f12 = $3244 .const PI_HALF_u4f12 = $1922 .label print_line_cursor = $400 - .label rem16u = 5 + .label rem16u = 2 .label print_char_cursor = 5 //SEG2 @begin //SEG3 [1] phi from @begin to @33 [phi:@begin->@33] @@ -11925,56 +11884,46 @@ mul16u: { } //SEG261 div32u16u div32u16u: { - .label quotient_hi = $13 - .label quotient_lo = $11 + .label quotient_hi = $11 + .label quotient_lo = $f .label return = $1c //SEG262 [135] call divr16u param-assignment [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_gen:7::div32u16u:61 [ divr16u::return#0 rem16u#1 ] ) //SEG263 [144] phi from div32u16u to divr16u [phi:div32u16u->divr16u] - //SEG264 [144] phi (word) divr16u::divisor#7 = (const word) main::wavelength#0 [phi:div32u16u->divr16u#0] -- vwuz1=vwuc1 - lda #main.wavelength - sta divr16u.divisor+1 - //SEG265 [144] phi (word) divr16u::dividend#6 = >(const dword) PI2_u4f28#0 [phi:div32u16u->divr16u#1] -- vwuz1=vwuc1 + //SEG264 [144] phi (word) divr16u::dividend#6 = >(const dword) PI2_u4f28#0 [phi:div32u16u->divr16u#0] -- vwuz1=vwuc1 lda #>$10 sta divr16u.dividend lda #>PI2_u4f28>>$10 sta divr16u.dividend+1 - //SEG266 [144] phi (word) divr16u::rem#11 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:div32u16u->divr16u#2] -- vwuz1=vbuc1 + //SEG265 [144] phi (word) divr16u::rem#11 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:div32u16u->divr16u#1] -- vwuz1=vbuc1 lda #<0 sta divr16u.rem sta divr16u.rem+1 jsr divr16u - //SEG267 [136] (word) divr16u::return#3 ← (word) divr16u::return#0 [ divr16u::return#3 rem16u#1 ] ( main:2::sin16s_gen:7::div32u16u:61 [ divr16u::return#3 rem16u#1 ] ) - // (word) divr16u::return#3 = (word) divr16u::return#0 // register copy zp ZP_WORD:17 - //SEG268 div32u16u::@2 - //SEG269 [137] (word) div32u16u::quotient_hi#0 ← (word) divr16u::return#3 [ div32u16u::quotient_hi#0 rem16u#1 ] ( main:2::sin16s_gen:7::div32u16u:61 [ div32u16u::quotient_hi#0 rem16u#1 ] ) -- vwuz1=vwuz2 + //SEG266 [136] (word) divr16u::return#3 ← (word) divr16u::return#0 [ divr16u::return#3 rem16u#1 ] ( main:2::sin16s_gen:7::div32u16u:61 [ divr16u::return#3 rem16u#1 ] ) + // (word) divr16u::return#3 = (word) divr16u::return#0 // register copy zp ZP_WORD:15 + //SEG267 div32u16u::@2 + //SEG268 [137] (word) div32u16u::quotient_hi#0 ← (word) divr16u::return#3 [ div32u16u::quotient_hi#0 rem16u#1 ] ( main:2::sin16s_gen:7::div32u16u:61 [ div32u16u::quotient_hi#0 rem16u#1 ] ) -- vwuz1=vwuz2 lda divr16u.return sta quotient_hi lda divr16u.return+1 sta quotient_hi+1 - //SEG270 [138] (word) divr16u::rem#5 ← (word) rem16u#1 [ div32u16u::quotient_hi#0 divr16u::rem#5 ] ( main:2::sin16s_gen:7::div32u16u:61 [ div32u16u::quotient_hi#0 divr16u::rem#5 ] ) - // (word) divr16u::rem#5 = (word) rem16u#1 // register copy zp ZP_WORD:5 - //SEG271 [139] call divr16u param-assignment [ divr16u::return#0 div32u16u::quotient_hi#0 ] ( main:2::sin16s_gen:7::div32u16u:61 [ divr16u::return#0 div32u16u::quotient_hi#0 ] ) - //SEG272 [144] phi from div32u16u::@2 to divr16u [phi:div32u16u::@2->divr16u] - //SEG273 [144] phi (word) divr16u::divisor#7 = (const word) main::wavelength#0 [phi:div32u16u::@2->divr16u#0] -- vwuz1=vwuc1 - lda #main.wavelength - sta divr16u.divisor+1 - //SEG274 [144] phi (word) divr16u::dividend#6 = <(const dword) PI2_u4f28#0 [phi:div32u16u::@2->divr16u#1] -- vwuz1=vwuc1 + //SEG269 [138] (word) divr16u::rem#5 ← (word) rem16u#1 [ div32u16u::quotient_hi#0 divr16u::rem#5 ] ( main:2::sin16s_gen:7::div32u16u:61 [ div32u16u::quotient_hi#0 divr16u::rem#5 ] ) + // (word) divr16u::rem#5 = (word) rem16u#1 // register copy zp ZP_WORD:2 + //SEG270 [139] call divr16u param-assignment [ divr16u::return#0 div32u16u::quotient_hi#0 ] ( main:2::sin16s_gen:7::div32u16u:61 [ divr16u::return#0 div32u16u::quotient_hi#0 ] ) + //SEG271 [144] phi from div32u16u::@2 to divr16u [phi:div32u16u::@2->divr16u] + //SEG272 [144] phi (word) divr16u::dividend#6 = <(const dword) PI2_u4f28#0 [phi:div32u16u::@2->divr16u#0] -- vwuz1=vwuc1 lda #PI2_u4f28&$ffff sta divr16u.dividend+1 - //SEG275 [144] phi (word) divr16u::rem#11 = (word) divr16u::rem#5 [phi:div32u16u::@2->divr16u#2] -- register_copy + //SEG273 [144] phi (word) divr16u::rem#11 = (word) divr16u::rem#5 [phi:div32u16u::@2->divr16u#1] -- register_copy jsr divr16u - //SEG276 [140] (word) divr16u::return#4 ← (word) divr16u::return#0 [ div32u16u::quotient_hi#0 divr16u::return#4 ] ( main:2::sin16s_gen:7::div32u16u:61 [ div32u16u::quotient_hi#0 divr16u::return#4 ] ) - // (word) divr16u::return#4 = (word) divr16u::return#0 // register copy zp ZP_WORD:17 - //SEG277 div32u16u::@3 - //SEG278 [141] (word) div32u16u::quotient_lo#0 ← (word) divr16u::return#4 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ( main:2::sin16s_gen:7::div32u16u:61 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ) - // (word) div32u16u::quotient_lo#0 = (word) divr16u::return#4 // register copy zp ZP_WORD:17 - //SEG279 [142] (dword) div32u16u::return#0 ← (word) div32u16u::quotient_hi#0 dw= (word) div32u16u::quotient_lo#0 [ div32u16u::return#0 ] ( main:2::sin16s_gen:7::div32u16u:61 [ div32u16u::return#0 ] ) -- vduz1=vwuz2_dword_vwuz3 + //SEG274 [140] (word) divr16u::return#4 ← (word) divr16u::return#0 [ div32u16u::quotient_hi#0 divr16u::return#4 ] ( main:2::sin16s_gen:7::div32u16u:61 [ div32u16u::quotient_hi#0 divr16u::return#4 ] ) + // (word) divr16u::return#4 = (word) divr16u::return#0 // register copy zp ZP_WORD:15 + //SEG275 div32u16u::@3 + //SEG276 [141] (word) div32u16u::quotient_lo#0 ← (word) divr16u::return#4 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ( main:2::sin16s_gen:7::div32u16u:61 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ) + // (word) div32u16u::quotient_lo#0 = (word) divr16u::return#4 // register copy zp ZP_WORD:15 + //SEG277 [142] (dword) div32u16u::return#0 ← (word) div32u16u::quotient_hi#0 dw= (word) div32u16u::quotient_lo#0 [ div32u16u::return#0 ] ( main:2::sin16s_gen:7::div32u16u:61 [ div32u16u::return#0 ] ) -- vduz1=vwuz2_dword_vwuz3 lda quotient_hi sta return+2 lda quotient_hi+1 @@ -11983,153 +11932,152 @@ div32u16u: { sta return lda quotient_lo+1 sta return+1 - //SEG280 div32u16u::@return - //SEG281 [143] return [ div32u16u::return#0 ] ( main:2::sin16s_gen:7::div32u16u:61 [ div32u16u::return#0 ] ) + //SEG278 div32u16u::@return + //SEG279 [143] return [ div32u16u::return#0 ] ( main:2::sin16s_gen:7::div32u16u:61 [ div32u16u::return#0 ] ) rts } -//SEG282 divr16u +//SEG280 divr16u divr16u: { - .label rem = 5 - .label dividend = $f - .label quotient = $11 - .label return = $11 - .label divisor = 2 - //SEG283 [145] phi from divr16u to divr16u::@1 [phi:divr16u->divr16u::@1] - //SEG284 [145] phi (byte) divr16u::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#0] -- vbuxx=vbuc1 + .label rem = 2 + .label dividend = 5 + .label quotient = $f + .label return = $f + //SEG281 [145] phi from divr16u to divr16u::@1 [phi:divr16u->divr16u::@1] + //SEG282 [145] phi (byte) divr16u::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#0] -- vbuxx=vbuc1 ldx #0 - //SEG285 [145] phi (word) divr16u::quotient#3 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#1] -- vwuz1=vbuc1 + //SEG283 [145] phi (word) divr16u::quotient#3 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#1] -- vwuz1=vbuc1 txa sta quotient sta quotient+1 - //SEG286 [145] phi (word) divr16u::dividend#4 = (word) divr16u::dividend#6 [phi:divr16u->divr16u::@1#2] -- register_copy - //SEG287 [145] phi (word) divr16u::rem#6 = (word) divr16u::rem#11 [phi:divr16u->divr16u::@1#3] -- register_copy - //SEG288 [145] phi from divr16u::@3 to divr16u::@1 [phi:divr16u::@3->divr16u::@1] - //SEG289 [145] phi (byte) divr16u::i#2 = (byte) divr16u::i#1 [phi:divr16u::@3->divr16u::@1#0] -- register_copy - //SEG290 [145] phi (word) divr16u::quotient#3 = (word) divr16u::return#0 [phi:divr16u::@3->divr16u::@1#1] -- register_copy - //SEG291 [145] phi (word) divr16u::dividend#4 = (word) divr16u::dividend#0 [phi:divr16u::@3->divr16u::@1#2] -- register_copy - //SEG292 [145] phi (word) divr16u::rem#6 = (word) divr16u::rem#10 [phi:divr16u::@3->divr16u::@1#3] -- register_copy - //SEG293 divr16u::@1 + //SEG284 [145] phi (word) divr16u::dividend#4 = (word) divr16u::dividend#6 [phi:divr16u->divr16u::@1#2] -- register_copy + //SEG285 [145] phi (word) divr16u::rem#6 = (word) divr16u::rem#11 [phi:divr16u->divr16u::@1#3] -- register_copy + //SEG286 [145] phi from divr16u::@3 to divr16u::@1 [phi:divr16u::@3->divr16u::@1] + //SEG287 [145] phi (byte) divr16u::i#2 = (byte) divr16u::i#1 [phi:divr16u::@3->divr16u::@1#0] -- register_copy + //SEG288 [145] phi (word) divr16u::quotient#3 = (word) divr16u::return#0 [phi:divr16u::@3->divr16u::@1#1] -- register_copy + //SEG289 [145] phi (word) divr16u::dividend#4 = (word) divr16u::dividend#0 [phi:divr16u::@3->divr16u::@1#2] -- register_copy + //SEG290 [145] phi (word) divr16u::rem#6 = (word) divr16u::rem#10 [phi:divr16u::@3->divr16u::@1#3] -- register_copy + //SEG291 divr16u::@1 b1: - //SEG294 [146] (word) divr16u::rem#0 ← (word) divr16u::rem#6 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) -- vwuz1=vwuz1_rol_1 + //SEG292 [146] (word) divr16u::rem#0 ← (word) divr16u::rem#6 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) -- vwuz1=vwuz1_rol_1 asl rem rol rem+1 - //SEG295 [147] (byte~) divr16u::$1 ← > (word) divr16u::dividend#4 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) -- vbuaa=_hi_vwuz1 + //SEG293 [147] (byte~) divr16u::$1 ← > (word) divr16u::dividend#4 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) -- vbuaa=_hi_vwuz1 lda dividend+1 - //SEG296 [148] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) -- vbuaa=vbuaa_band_vbuc1 + //SEG294 [148] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) -- vbuaa=vbuaa_band_vbuc1 and #$80 - //SEG297 [149] if((byte~) divr16u::$2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto divr16u::@2 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) -- vbuaa_eq_0_then_la1 + //SEG295 [149] if((byte~) divr16u::$2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto divr16u::@2 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) -- vbuaa_eq_0_then_la1 cmp #0 beq b2 - //SEG298 divr16u::@4 - //SEG299 [150] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::divisor#7 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) -- vwuz1=vwuz1_bor_vbuc1 + //SEG296 divr16u::@4 + //SEG297 [150] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::dividend#4 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) -- vwuz1=vwuz1_bor_vbuc1 lda #1 ora rem sta rem - //SEG300 [151] phi from divr16u::@1 divr16u::@4 to divr16u::@2 [phi:divr16u::@1/divr16u::@4->divr16u::@2] - //SEG301 [151] phi (word) divr16u::rem#7 = (word) divr16u::rem#0 [phi:divr16u::@1/divr16u::@4->divr16u::@2#0] -- register_copy - //SEG302 divr16u::@2 + //SEG298 [151] phi from divr16u::@1 divr16u::@4 to divr16u::@2 [phi:divr16u::@1/divr16u::@4->divr16u::@2] + //SEG299 [151] phi (word) divr16u::rem#7 = (word) divr16u::rem#0 [phi:divr16u::@1/divr16u::@4->divr16u::@2#0] -- register_copy + //SEG300 divr16u::@2 b2: - //SEG303 [152] (word) divr16u::dividend#0 ← (word) divr16u::dividend#4 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#7 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::divisor#7 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::divisor#7 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::divisor#7 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 ] ) -- vwuz1=vwuz1_rol_1 + //SEG301 [152] (word) divr16u::dividend#0 ← (word) divr16u::dividend#4 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 ] ) -- vwuz1=vwuz1_rol_1 asl dividend rol dividend+1 - //SEG304 [153] (word) divr16u::quotient#1 ← (word) divr16u::quotient#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] ) -- vwuz1=vwuz1_rol_1 + //SEG302 [153] (word) divr16u::quotient#1 ← (word) divr16u::quotient#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] ) -- vwuz1=vwuz1_rol_1 asl quotient rol quotient+1 - //SEG305 [154] if((word) divr16u::rem#7<(word) divr16u::divisor#7) goto divr16u::@3 [ divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::divisor#7 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] ) -- vwuz1_lt_vwuz2_then_la1 + //SEG303 [154] if((word) divr16u::rem#7<(const word) main::wavelength#0) goto divr16u::@3 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#7 divr16u::quotient#1 ] ) -- vwuz1_lt_vwuc1_then_la1 lda rem+1 - cmp divisor+1 + cmp #>main.wavelength bcc b3 bne !+ lda rem - cmp divisor + cmp #main.wavelength sta rem+1 - //SEG309 [157] phi from divr16u::@2 divr16u::@5 to divr16u::@3 [phi:divr16u::@2/divr16u::@5->divr16u::@3] - //SEG310 [157] phi (word) divr16u::return#0 = (word) divr16u::quotient#1 [phi:divr16u::@2/divr16u::@5->divr16u::@3#0] -- register_copy - //SEG311 [157] phi (word) divr16u::rem#10 = (word) divr16u::rem#7 [phi:divr16u::@2/divr16u::@5->divr16u::@3#1] -- register_copy - //SEG312 divr16u::@3 + //SEG307 [157] phi from divr16u::@2 divr16u::@5 to divr16u::@3 [phi:divr16u::@2/divr16u::@5->divr16u::@3] + //SEG308 [157] phi (word) divr16u::return#0 = (word) divr16u::quotient#1 [phi:divr16u::@2/divr16u::@5->divr16u::@3#0] -- register_copy + //SEG309 [157] phi (word) divr16u::rem#10 = (word) divr16u::rem#7 [phi:divr16u::@2/divr16u::@5->divr16u::@3#1] -- register_copy + //SEG310 divr16u::@3 b3: - //SEG313 [158] (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2 [ divr16u::return#0 divr16u::divisor#7 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::return#0 divr16u::divisor#7 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::divisor#7 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::return#0 divr16u::divisor#7 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ) -- vbuxx=_inc_vbuxx + //SEG311 [158] (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ) -- vbuxx=_inc_vbuxx inx - //SEG314 [159] if((byte) divr16u::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto divr16u::@1 [ divr16u::return#0 divr16u::divisor#7 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::return#0 divr16u::divisor#7 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::divisor#7 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::return#0 divr16u::divisor#7 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ) -- vbuxx_neq_vbuc1_then_la1 + //SEG312 [159] if((byte) divr16u::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto divr16u::@1 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ) -- vbuxx_neq_vbuc1_then_la1 cpx #$10 bne b1 - //SEG315 divr16u::@6 - //SEG316 [160] (word) rem16u#1 ← (word) divr16u::rem#10 [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::return#0 rem16u#1 ] ) - // (word) rem16u#1 = (word) divr16u::rem#10 // register copy zp ZP_WORD:5 - //SEG317 divr16u::@return - //SEG318 [161] return [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::return#0 rem16u#1 ] ) + //SEG313 divr16u::@6 + //SEG314 [160] (word) rem16u#1 ← (word) divr16u::rem#10 [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::return#0 rem16u#1 ] ) + // (word) rem16u#1 = (word) divr16u::rem#10 // register copy zp ZP_WORD:2 + //SEG315 divr16u::@return + //SEG316 [161] return [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_gen:7::div32u16u:61::divr16u:135 [ divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:7::div32u16u:61::divr16u:139 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] main:2::sin8s_gen:5::div16u:163::divr16u:240 [ divr16u::return#0 rem16u#1 ] ) rts } -//SEG319 sin8s_gen +//SEG317 sin8s_gen sin8s_gen: { - .label step = $11 + .label step = $f .label sintab = 5 .label x = 2 - .label i = $f - //SEG320 [163] call div16u param-assignment [ div16u::return#0 ] ( main:2::sin8s_gen:5 [ div16u::return#0 ] ) - //SEG321 [239] phi from sin8s_gen to div16u [phi:sin8s_gen->div16u] + .label i = $11 + //SEG318 [163] call div16u param-assignment [ div16u::return#0 ] ( main:2::sin8s_gen:5 [ div16u::return#0 ] ) + //SEG319 [239] phi from sin8s_gen to div16u [phi:sin8s_gen->div16u] jsr div16u - //SEG322 [164] (word) div16u::return#2 ← (word) div16u::return#0 [ div16u::return#2 ] ( main:2::sin8s_gen:5 [ div16u::return#2 ] ) - // (word) div16u::return#2 = (word) div16u::return#0 // register copy zp ZP_WORD:17 - //SEG323 sin8s_gen::@3 - //SEG324 [165] (word) sin8s_gen::step#0 ← (word) div16u::return#2 [ sin8s_gen::step#0 ] ( main:2::sin8s_gen:5 [ sin8s_gen::step#0 ] ) - // (word) sin8s_gen::step#0 = (word) div16u::return#2 // register copy zp ZP_WORD:17 - //SEG325 [166] phi from sin8s_gen::@3 to sin8s_gen::@1 [phi:sin8s_gen::@3->sin8s_gen::@1] - //SEG326 [166] phi (word) sin8s_gen::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8s_gen::@3->sin8s_gen::@1#0] -- vwuz1=vbuc1 + //SEG320 [164] (word) div16u::return#2 ← (word) div16u::return#0 [ div16u::return#2 ] ( main:2::sin8s_gen:5 [ div16u::return#2 ] ) + // (word) div16u::return#2 = (word) div16u::return#0 // register copy zp ZP_WORD:15 + //SEG321 sin8s_gen::@3 + //SEG322 [165] (word) sin8s_gen::step#0 ← (word) div16u::return#2 [ sin8s_gen::step#0 ] ( main:2::sin8s_gen:5 [ sin8s_gen::step#0 ] ) + // (word) sin8s_gen::step#0 = (word) div16u::return#2 // register copy zp ZP_WORD:15 + //SEG323 [166] phi from sin8s_gen::@3 to sin8s_gen::@1 [phi:sin8s_gen::@3->sin8s_gen::@1] + //SEG324 [166] phi (word) sin8s_gen::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8s_gen::@3->sin8s_gen::@1#0] -- vwuz1=vbuc1 lda #<0 sta i sta i+1 - //SEG327 [166] phi (signed byte*) sin8s_gen::sintab#2 = (const signed byte[192]) main::sintabb#0 [phi:sin8s_gen::@3->sin8s_gen::@1#1] -- pbsz1=pbsc1 + //SEG325 [166] phi (signed byte*) sin8s_gen::sintab#2 = (const signed byte[192]) main::sintabb#0 [phi:sin8s_gen::@3->sin8s_gen::@1#1] -- pbsz1=pbsc1 lda #main.sintabb sta sintab+1 - //SEG328 [166] phi (word) sin8s_gen::x#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8s_gen::@3->sin8s_gen::@1#2] -- vwuz1=vbuc1 + //SEG326 [166] phi (word) sin8s_gen::x#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8s_gen::@3->sin8s_gen::@1#2] -- vwuz1=vbuc1 lda #<0 sta x sta x+1 - //SEG329 [166] phi from sin8s_gen::@4 to sin8s_gen::@1 [phi:sin8s_gen::@4->sin8s_gen::@1] - //SEG330 [166] phi (word) sin8s_gen::i#2 = (word) sin8s_gen::i#1 [phi:sin8s_gen::@4->sin8s_gen::@1#0] -- register_copy - //SEG331 [166] phi (signed byte*) sin8s_gen::sintab#2 = (signed byte*) sin8s_gen::sintab#0 [phi:sin8s_gen::@4->sin8s_gen::@1#1] -- register_copy - //SEG332 [166] phi (word) sin8s_gen::x#2 = (word) sin8s_gen::x#1 [phi:sin8s_gen::@4->sin8s_gen::@1#2] -- register_copy - //SEG333 sin8s_gen::@1 + //SEG327 [166] phi from sin8s_gen::@4 to sin8s_gen::@1 [phi:sin8s_gen::@4->sin8s_gen::@1] + //SEG328 [166] phi (word) sin8s_gen::i#2 = (word) sin8s_gen::i#1 [phi:sin8s_gen::@4->sin8s_gen::@1#0] -- register_copy + //SEG329 [166] phi (signed byte*) sin8s_gen::sintab#2 = (signed byte*) sin8s_gen::sintab#0 [phi:sin8s_gen::@4->sin8s_gen::@1#1] -- register_copy + //SEG330 [166] phi (word) sin8s_gen::x#2 = (word) sin8s_gen::x#1 [phi:sin8s_gen::@4->sin8s_gen::@1#2] -- register_copy + //SEG331 sin8s_gen::@1 b1: - //SEG334 [167] (word) sin8s::x#0 ← (word) sin8s_gen::x#2 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::x#0 ] ( main:2::sin8s_gen:5 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::x#0 ] ) -- vwuz1=vwuz2 + //SEG332 [167] (word) sin8s::x#0 ← (word) sin8s_gen::x#2 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::x#0 ] ( main:2::sin8s_gen:5 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::x#0 ] ) -- vwuz1=vwuz2 lda x sta sin8s.x lda x+1 sta sin8s.x+1 - //SEG335 [168] call sin8s param-assignment [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::return#1 ] ( main:2::sin8s_gen:5 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::return#1 ] ) + //SEG333 [168] call sin8s param-assignment [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::return#1 ] ( main:2::sin8s_gen:5 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::return#1 ] ) jsr sin8s - //SEG336 [169] (signed byte) sin8s::return#0 ← (signed byte) sin8s::return#1 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::return#0 ] ( main:2::sin8s_gen:5 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::return#0 ] ) + //SEG334 [169] (signed byte) sin8s::return#0 ← (signed byte) sin8s::return#1 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::return#0 ] ( main:2::sin8s_gen:5 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::return#0 ] ) // (signed byte) sin8s::return#0 = (signed byte) sin8s::return#1 // register copy reg byte a - //SEG337 sin8s_gen::@4 - //SEG338 [170] (signed byte~) sin8s_gen::$1 ← (signed byte) sin8s::return#0 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s_gen::$1 ] ( main:2::sin8s_gen:5 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s_gen::$1 ] ) + //SEG335 sin8s_gen::@4 + //SEG336 [170] (signed byte~) sin8s_gen::$1 ← (signed byte) sin8s::return#0 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s_gen::$1 ] ( main:2::sin8s_gen:5 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s_gen::$1 ] ) // (signed byte~) sin8s_gen::$1 = (signed byte) sin8s::return#0 // register copy reg byte a - //SEG339 [171] *((signed byte*) sin8s_gen::sintab#2) ← (signed byte~) sin8s_gen::$1 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 ] ( main:2::sin8s_gen:5 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 ] ) -- _deref_pbsz1=vbsaa + //SEG337 [171] *((signed byte*) sin8s_gen::sintab#2) ← (signed byte~) sin8s_gen::$1 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 ] ( main:2::sin8s_gen:5 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 ] ) -- _deref_pbsz1=vbsaa ldy #0 sta (sintab),y - //SEG340 [172] (signed byte*) sin8s_gen::sintab#0 ← ++ (signed byte*) sin8s_gen::sintab#2 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::i#2 sin8s_gen::sintab#0 ] ( main:2::sin8s_gen:5 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::i#2 sin8s_gen::sintab#0 ] ) -- pbsz1=_inc_pbsz1 + //SEG338 [172] (signed byte*) sin8s_gen::sintab#0 ← ++ (signed byte*) sin8s_gen::sintab#2 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::i#2 sin8s_gen::sintab#0 ] ( main:2::sin8s_gen:5 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::i#2 sin8s_gen::sintab#0 ] ) -- pbsz1=_inc_pbsz1 inc sintab bne !+ inc sintab+1 !: - //SEG341 [173] (word) sin8s_gen::x#1 ← (word) sin8s_gen::x#2 + (word) sin8s_gen::step#0 [ sin8s_gen::step#0 sin8s_gen::i#2 sin8s_gen::x#1 sin8s_gen::sintab#0 ] ( main:2::sin8s_gen:5 [ sin8s_gen::step#0 sin8s_gen::i#2 sin8s_gen::x#1 sin8s_gen::sintab#0 ] ) -- vwuz1=vwuz1_plus_vwuz2 + //SEG339 [173] (word) sin8s_gen::x#1 ← (word) sin8s_gen::x#2 + (word) sin8s_gen::step#0 [ sin8s_gen::step#0 sin8s_gen::i#2 sin8s_gen::x#1 sin8s_gen::sintab#0 ] ( main:2::sin8s_gen:5 [ sin8s_gen::step#0 sin8s_gen::i#2 sin8s_gen::x#1 sin8s_gen::sintab#0 ] ) -- vwuz1=vwuz1_plus_vwuz2 lda x clc adc step @@ -12137,12 +12085,12 @@ sin8s_gen: { lda x+1 adc step+1 sta x+1 - //SEG342 [174] (word) sin8s_gen::i#1 ← ++ (word) sin8s_gen::i#2 [ sin8s_gen::step#0 sin8s_gen::x#1 sin8s_gen::sintab#0 sin8s_gen::i#1 ] ( main:2::sin8s_gen:5 [ sin8s_gen::step#0 sin8s_gen::x#1 sin8s_gen::sintab#0 sin8s_gen::i#1 ] ) -- vwuz1=_inc_vwuz1 + //SEG340 [174] (word) sin8s_gen::i#1 ← ++ (word) sin8s_gen::i#2 [ sin8s_gen::step#0 sin8s_gen::x#1 sin8s_gen::sintab#0 sin8s_gen::i#1 ] ( main:2::sin8s_gen:5 [ sin8s_gen::step#0 sin8s_gen::x#1 sin8s_gen::sintab#0 sin8s_gen::i#1 ] ) -- vwuz1=_inc_vwuz1 inc i bne !+ inc i+1 !: - //SEG343 [175] if((word) sin8s_gen::i#1<(const word) main::wavelength#0) goto sin8s_gen::@1 [ sin8s_gen::step#0 sin8s_gen::x#1 sin8s_gen::sintab#0 sin8s_gen::i#1 ] ( main:2::sin8s_gen:5 [ sin8s_gen::step#0 sin8s_gen::x#1 sin8s_gen::sintab#0 sin8s_gen::i#1 ] ) -- vwuz1_lt_vwuc1_then_la1 + //SEG341 [175] if((word) sin8s_gen::i#1<(const word) main::wavelength#0) goto sin8s_gen::@1 [ sin8s_gen::step#0 sin8s_gen::x#1 sin8s_gen::sintab#0 sin8s_gen::i#1 ] ( main:2::sin8s_gen:5 [ sin8s_gen::step#0 sin8s_gen::x#1 sin8s_gen::sintab#0 sin8s_gen::i#1 ] ) -- vwuz1_lt_vwuc1_then_la1 lda i+1 cmp #>main.wavelength bcc b1 @@ -12151,11 +12099,11 @@ sin8s_gen: { cmp #PI_u4f12 bcc b5 @@ -12173,8 +12121,8 @@ sin8s: { cmp #PI_u4f12 sta x+1 - //SEG350 [179] phi from sin8s::@5 to sin8s::@1 [phi:sin8s::@5->sin8s::@1] - //SEG351 [179] phi (byte) sin8s::isUpper#10 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin8s::@5->sin8s::@1#0] -- vbuz1=vbuc1 + //SEG348 [179] phi from sin8s::@5 to sin8s::@1 [phi:sin8s::@5->sin8s::@1] + //SEG349 [179] phi (byte) sin8s::isUpper#10 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin8s::@5->sin8s::@1#0] -- vbuz1=vbuc1 lda #1 sta isUpper - //SEG352 [179] phi (word) sin8s::x#4 = (word) sin8s::x#1 [phi:sin8s::@5->sin8s::@1#1] -- register_copy + //SEG350 [179] phi (word) sin8s::x#4 = (word) sin8s::x#1 [phi:sin8s::@5->sin8s::@1#1] -- register_copy jmp b1 - //SEG353 [179] phi from sin8s to sin8s::@1 [phi:sin8s->sin8s::@1] + //SEG351 [179] phi from sin8s to sin8s::@1 [phi:sin8s->sin8s::@1] b5: - //SEG354 [179] phi (byte) sin8s::isUpper#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8s->sin8s::@1#0] -- vbuz1=vbuc1 + //SEG352 [179] phi (byte) sin8s::isUpper#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8s->sin8s::@1#0] -- vbuz1=vbuc1 lda #0 sta isUpper - //SEG355 [179] phi (word) sin8s::x#4 = (word) sin8s::x#0 [phi:sin8s->sin8s::@1#1] -- register_copy - //SEG356 sin8s::@1 + //SEG353 [179] phi (word) sin8s::x#4 = (word) sin8s::x#0 [phi:sin8s->sin8s::@1#1] -- register_copy + //SEG354 sin8s::@1 b1: - //SEG357 [180] if((word) sin8s::x#4<(const word) PI_HALF_u4f12#0) goto sin8s::@2 [ sin8s::x#4 sin8s::isUpper#10 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::x#4 sin8s::isUpper#10 ] ) -- vwuz1_lt_vwuc1_then_la1 + //SEG355 [180] if((word) sin8s::x#4<(const word) PI_HALF_u4f12#0) goto sin8s::@2 [ sin8s::x#4 sin8s::isUpper#10 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::x#4 sin8s::isUpper#10 ] ) -- vwuz1_lt_vwuc1_then_la1 lda x+1 cmp #>PI_HALF_u4f12 bcc b2 @@ -12205,8 +12153,8 @@ sin8s: { cmp #PI_u4f12 sbc x+1 sta x+1 - //SEG360 [182] phi from sin8s::@1 sin8s::@6 to sin8s::@2 [phi:sin8s::@1/sin8s::@6->sin8s::@2] - //SEG361 [182] phi (word) sin8s::x#6 = (word) sin8s::x#4 [phi:sin8s::@1/sin8s::@6->sin8s::@2#0] -- register_copy - //SEG362 sin8s::@2 + //SEG358 [182] phi from sin8s::@1 sin8s::@6 to sin8s::@2 [phi:sin8s::@1/sin8s::@6->sin8s::@2] + //SEG359 [182] phi (word) sin8s::x#6 = (word) sin8s::x#4 [phi:sin8s::@1/sin8s::@6->sin8s::@2#0] -- register_copy + //SEG360 sin8s::@2 b2: - //SEG363 [183] (word~) sin8s::$6 ← (word) sin8s::x#6 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ sin8s::isUpper#10 sin8s::$6 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::$6 ] ) -- vwuz1=vwuz1_rol_3 + //SEG361 [183] (word~) sin8s::$6 ← (word) sin8s::x#6 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ sin8s::isUpper#10 sin8s::$6 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::$6 ] ) -- vwuz1=vwuz1_rol_3 asl _6 rol _6+1 asl _6 rol _6+1 asl _6 rol _6+1 - //SEG364 [184] (byte) sin8s::x1#0 ← > (word~) sin8s::$6 [ sin8s::isUpper#10 sin8s::x1#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 ] ) -- vbuz1=_hi_vwuz2 + //SEG362 [184] (byte) sin8s::x1#0 ← > (word~) sin8s::$6 [ sin8s::isUpper#10 sin8s::x1#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 ] ) -- vbuz1=_hi_vwuz2 lda _6+1 sta x1 - //SEG365 [185] (byte) mulu8_sel::v1#0 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 ] ) -- vbuxx=vbuz1 + //SEG363 [185] (byte) mulu8_sel::v1#0 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 ] ) -- vbuxx=vbuz1 tax - //SEG366 [186] (byte) mulu8_sel::v2#0 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 mulu8_sel::v2#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 mulu8_sel::v2#0 ] ) -- vbuyy=vbuz1 + //SEG364 [186] (byte) mulu8_sel::v2#0 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 mulu8_sel::v2#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 mulu8_sel::v2#0 ] ) -- vbuyy=vbuz1 tay - //SEG367 [187] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] ) - //SEG368 [220] phi from sin8s::@2 to mulu8_sel [phi:sin8s::@2->mulu8_sel] - //SEG369 [220] phi (byte) mulu8_sel::select#5 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8s::@2->mulu8_sel#0] -- vbuz1=vbuc1 + //SEG365 [187] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] ) + //SEG366 [220] phi from sin8s::@2 to mulu8_sel [phi:sin8s::@2->mulu8_sel] + //SEG367 [220] phi (byte) mulu8_sel::select#5 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8s::@2->mulu8_sel#0] -- vbuz1=vbuc1 lda #0 sta mulu8_sel.select - //SEG370 [220] phi (byte) mulu8_sel::v2#5 = (byte) mulu8_sel::v2#0 [phi:sin8s::@2->mulu8_sel#1] -- register_copy - //SEG371 [220] phi (byte) mulu8_sel::v1#5 = (byte) mulu8_sel::v1#0 [phi:sin8s::@2->mulu8_sel#2] -- register_copy + //SEG368 [220] phi (byte) mulu8_sel::v2#5 = (byte) mulu8_sel::v2#0 [phi:sin8s::@2->mulu8_sel#1] -- register_copy + //SEG369 [220] phi (byte) mulu8_sel::v1#5 = (byte) mulu8_sel::v1#0 [phi:sin8s::@2->mulu8_sel#2] -- register_copy jsr mulu8_sel - //SEG372 [188] (byte) mulu8_sel::return#0 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#0 ] ) + //SEG370 [188] (byte) mulu8_sel::return#0 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#0 ] ) // (byte) mulu8_sel::return#0 = (byte) mulu8_sel::return#12 // register copy reg byte a - //SEG373 sin8s::@10 - //SEG374 [189] (byte) sin8s::x2#0 ← (byte) mulu8_sel::return#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x2#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x2#0 ] ) + //SEG371 sin8s::@10 + //SEG372 [189] (byte) sin8s::x2#0 ← (byte) mulu8_sel::return#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x2#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x2#0 ] ) // (byte) sin8s::x2#0 = (byte) mulu8_sel::return#0 // register copy reg byte a - //SEG375 [190] (byte) mulu8_sel::v1#1 ← (byte) sin8s::x2#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 ] ) -- vbuxx=vbuaa + //SEG373 [190] (byte) mulu8_sel::v1#1 ← (byte) sin8s::x2#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 ] ) -- vbuxx=vbuaa tax - //SEG376 [191] (byte) mulu8_sel::v2#1 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 mulu8_sel::v2#1 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 mulu8_sel::v2#1 ] ) -- vbuyy=vbuz1 + //SEG374 [191] (byte) mulu8_sel::v2#1 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 mulu8_sel::v2#1 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 mulu8_sel::v2#1 ] ) -- vbuyy=vbuz1 ldy x1 - //SEG377 [192] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] ) - //SEG378 [220] phi from sin8s::@10 to mulu8_sel [phi:sin8s::@10->mulu8_sel] - //SEG379 [220] phi (byte) mulu8_sel::select#5 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin8s::@10->mulu8_sel#0] -- vbuz1=vbuc1 + //SEG375 [192] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] ) + //SEG376 [220] phi from sin8s::@10 to mulu8_sel [phi:sin8s::@10->mulu8_sel] + //SEG377 [220] phi (byte) mulu8_sel::select#5 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin8s::@10->mulu8_sel#0] -- vbuz1=vbuc1 lda #1 sta mulu8_sel.select - //SEG380 [220] phi (byte) mulu8_sel::v2#5 = (byte) mulu8_sel::v2#1 [phi:sin8s::@10->mulu8_sel#1] -- register_copy - //SEG381 [220] phi (byte) mulu8_sel::v1#5 = (byte) mulu8_sel::v1#1 [phi:sin8s::@10->mulu8_sel#2] -- register_copy + //SEG378 [220] phi (byte) mulu8_sel::v2#5 = (byte) mulu8_sel::v2#1 [phi:sin8s::@10->mulu8_sel#1] -- register_copy + //SEG379 [220] phi (byte) mulu8_sel::v1#5 = (byte) mulu8_sel::v1#1 [phi:sin8s::@10->mulu8_sel#2] -- register_copy jsr mulu8_sel - //SEG382 [193] (byte) mulu8_sel::return#1 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#1 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#1 ] ) + //SEG380 [193] (byte) mulu8_sel::return#1 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#1 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#1 ] ) // (byte) mulu8_sel::return#1 = (byte) mulu8_sel::return#12 // register copy reg byte a - //SEG383 sin8s::@11 - //SEG384 [194] (byte) sin8s::x3#0 ← (byte) mulu8_sel::return#1 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 ] ) -- vbuz1=vbuaa + //SEG381 sin8s::@11 + //SEG382 [194] (byte) sin8s::x3#0 ← (byte) mulu8_sel::return#1 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 ] ) -- vbuz1=vbuaa sta x3 - //SEG385 [195] (byte) mulu8_sel::v1#2 ← (byte) sin8s::x3#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::v1#2 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::v1#2 ] ) -- vbuxx=vbuz1 + //SEG383 [195] (byte) mulu8_sel::v1#2 ← (byte) sin8s::x3#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::v1#2 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::v1#2 ] ) -- vbuxx=vbuz1 tax - //SEG386 [196] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::x3#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::x3#0 ] ) - //SEG387 [220] phi from sin8s::@11 to mulu8_sel [phi:sin8s::@11->mulu8_sel] - //SEG388 [220] phi (byte) mulu8_sel::select#5 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin8s::@11->mulu8_sel#0] -- vbuz1=vbuc1 + //SEG384 [196] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::x3#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::x3#0 ] ) + //SEG385 [220] phi from sin8s::@11 to mulu8_sel [phi:sin8s::@11->mulu8_sel] + //SEG386 [220] phi (byte) mulu8_sel::select#5 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin8s::@11->mulu8_sel#0] -- vbuz1=vbuc1 lda #1 sta mulu8_sel.select - //SEG389 [220] phi (byte) mulu8_sel::v2#5 = (const byte) sin8s::DIV_6#0 [phi:sin8s::@11->mulu8_sel#1] -- vbuyy=vbuc1 + //SEG387 [220] phi (byte) mulu8_sel::v2#5 = (const byte) sin8s::DIV_6#0 [phi:sin8s::@11->mulu8_sel#1] -- vbuyy=vbuc1 ldy #DIV_6 - //SEG390 [220] phi (byte) mulu8_sel::v1#5 = (byte) mulu8_sel::v1#2 [phi:sin8s::@11->mulu8_sel#2] -- register_copy + //SEG388 [220] phi (byte) mulu8_sel::v1#5 = (byte) mulu8_sel::v1#2 [phi:sin8s::@11->mulu8_sel#2] -- register_copy jsr mulu8_sel - //SEG391 [197] (byte) mulu8_sel::return#2 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#2 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#2 ] ) + //SEG389 [197] (byte) mulu8_sel::return#2 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#2 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#2 ] ) // (byte) mulu8_sel::return#2 = (byte) mulu8_sel::return#12 // register copy reg byte a - //SEG392 sin8s::@12 - //SEG393 [198] (byte) sin8s::x3_6#0 ← (byte) mulu8_sel::return#2 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::x3_6#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::x3_6#0 ] ) + //SEG390 sin8s::@12 + //SEG391 [198] (byte) sin8s::x3_6#0 ← (byte) mulu8_sel::return#2 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::x3_6#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::x3_6#0 ] ) // (byte) sin8s::x3_6#0 = (byte) mulu8_sel::return#2 // register copy reg byte a - //SEG394 [199] (byte) sin8s::usinx#0 ← (byte) sin8s::x1#0 - (byte) sin8s::x3_6#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::usinx#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::usinx#0 ] ) -- vbuz1=vbuz2_minus_vbuaa + //SEG392 [199] (byte) sin8s::usinx#0 ← (byte) sin8s::x1#0 - (byte) sin8s::x3_6#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::usinx#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::usinx#0 ] ) -- vbuz1=vbuz2_minus_vbuaa eor #$ff sec adc x1 sta usinx - //SEG395 [200] (byte) mulu8_sel::v1#3 ← (byte) sin8s::x3#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 ] ) -- vbuxx=vbuz1 + //SEG393 [200] (byte) mulu8_sel::v1#3 ← (byte) sin8s::x3#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 ] ) -- vbuxx=vbuz1 ldx x3 - //SEG396 [201] (byte) mulu8_sel::v2#3 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 mulu8_sel::v2#3 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 mulu8_sel::v2#3 ] ) -- vbuyy=vbuz1 + //SEG394 [201] (byte) mulu8_sel::v2#3 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 mulu8_sel::v2#3 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 mulu8_sel::v2#3 ] ) -- vbuyy=vbuz1 ldy x1 - //SEG397 [202] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::usinx#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::usinx#0 ] ) - //SEG398 [220] phi from sin8s::@12 to mulu8_sel [phi:sin8s::@12->mulu8_sel] - //SEG399 [220] phi (byte) mulu8_sel::select#5 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8s::@12->mulu8_sel#0] -- vbuz1=vbuc1 + //SEG395 [202] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::usinx#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::usinx#0 ] ) + //SEG396 [220] phi from sin8s::@12 to mulu8_sel [phi:sin8s::@12->mulu8_sel] + //SEG397 [220] phi (byte) mulu8_sel::select#5 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8s::@12->mulu8_sel#0] -- vbuz1=vbuc1 lda #0 sta mulu8_sel.select - //SEG400 [220] phi (byte) mulu8_sel::v2#5 = (byte) mulu8_sel::v2#3 [phi:sin8s::@12->mulu8_sel#1] -- register_copy - //SEG401 [220] phi (byte) mulu8_sel::v1#5 = (byte) mulu8_sel::v1#3 [phi:sin8s::@12->mulu8_sel#2] -- register_copy + //SEG398 [220] phi (byte) mulu8_sel::v2#5 = (byte) mulu8_sel::v2#3 [phi:sin8s::@12->mulu8_sel#1] -- register_copy + //SEG399 [220] phi (byte) mulu8_sel::v1#5 = (byte) mulu8_sel::v1#3 [phi:sin8s::@12->mulu8_sel#2] -- register_copy jsr mulu8_sel - //SEG402 [203] (byte) mulu8_sel::return#10 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#10 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#10 ] ) + //SEG400 [203] (byte) mulu8_sel::return#10 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#10 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#10 ] ) // (byte) mulu8_sel::return#10 = (byte) mulu8_sel::return#12 // register copy reg byte a - //SEG403 sin8s::@13 - //SEG404 [204] (byte) sin8s::x4#0 ← (byte) mulu8_sel::return#10 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 sin8s::x4#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 sin8s::x4#0 ] ) + //SEG401 sin8s::@13 + //SEG402 [204] (byte) sin8s::x4#0 ← (byte) mulu8_sel::return#10 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 sin8s::x4#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 sin8s::x4#0 ] ) // (byte) sin8s::x4#0 = (byte) mulu8_sel::return#10 // register copy reg byte a - //SEG405 [205] (byte) mulu8_sel::v1#4 ← (byte) sin8s::x4#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#4 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#4 ] ) -- vbuxx=vbuaa + //SEG403 [205] (byte) mulu8_sel::v1#4 ← (byte) sin8s::x4#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#4 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#4 ] ) -- vbuxx=vbuaa tax - //SEG406 [206] (byte) mulu8_sel::v2#4 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::v1#4 mulu8_sel::v2#4 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::v1#4 mulu8_sel::v2#4 ] ) -- vbuyy=vbuz1 + //SEG404 [206] (byte) mulu8_sel::v2#4 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::v1#4 mulu8_sel::v2#4 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::v1#4 mulu8_sel::v2#4 ] ) -- vbuyy=vbuz1 ldy x1 - //SEG407 [207] call mulu8_sel param-assignment [ sin8s::isUpper#10 mulu8_sel::return#12 sin8s::usinx#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 mulu8_sel::return#12 sin8s::usinx#0 ] ) - //SEG408 [220] phi from sin8s::@13 to mulu8_sel [phi:sin8s::@13->mulu8_sel] - //SEG409 [220] phi (byte) mulu8_sel::select#5 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8s::@13->mulu8_sel#0] -- vbuz1=vbuc1 + //SEG405 [207] call mulu8_sel param-assignment [ sin8s::isUpper#10 mulu8_sel::return#12 sin8s::usinx#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 mulu8_sel::return#12 sin8s::usinx#0 ] ) + //SEG406 [220] phi from sin8s::@13 to mulu8_sel [phi:sin8s::@13->mulu8_sel] + //SEG407 [220] phi (byte) mulu8_sel::select#5 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8s::@13->mulu8_sel#0] -- vbuz1=vbuc1 lda #0 sta mulu8_sel.select - //SEG410 [220] phi (byte) mulu8_sel::v2#5 = (byte) mulu8_sel::v2#4 [phi:sin8s::@13->mulu8_sel#1] -- register_copy - //SEG411 [220] phi (byte) mulu8_sel::v1#5 = (byte) mulu8_sel::v1#4 [phi:sin8s::@13->mulu8_sel#2] -- register_copy + //SEG408 [220] phi (byte) mulu8_sel::v2#5 = (byte) mulu8_sel::v2#4 [phi:sin8s::@13->mulu8_sel#1] -- register_copy + //SEG409 [220] phi (byte) mulu8_sel::v1#5 = (byte) mulu8_sel::v1#4 [phi:sin8s::@13->mulu8_sel#2] -- register_copy jsr mulu8_sel - //SEG412 [208] (byte) mulu8_sel::return#11 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#11 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#11 ] ) + //SEG410 [208] (byte) mulu8_sel::return#11 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#11 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#11 ] ) // (byte) mulu8_sel::return#11 = (byte) mulu8_sel::return#12 // register copy reg byte a - //SEG413 sin8s::@14 - //SEG414 [209] (byte) sin8s::x5#0 ← (byte) mulu8_sel::return#11 [ sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5#0 ] ) + //SEG411 sin8s::@14 + //SEG412 [209] (byte) sin8s::x5#0 ← (byte) mulu8_sel::return#11 [ sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5#0 ] ) // (byte) sin8s::x5#0 = (byte) mulu8_sel::return#11 // register copy reg byte a - //SEG415 [210] (byte) sin8s::x5_128#0 ← (byte) sin8s::x5#0 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5_128#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5_128#0 ] ) -- vbuaa=vbuaa_ror_4 + //SEG413 [210] (byte) sin8s::x5_128#0 ← (byte) sin8s::x5#0 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5_128#0 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5_128#0 ] ) -- vbuaa=vbuaa_ror_4 lsr lsr lsr lsr - //SEG416 [211] (byte) sin8s::usinx#1 ← (byte) sin8s::usinx#0 + (byte) sin8s::x5_128#0 [ sin8s::isUpper#10 sin8s::usinx#1 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#1 ] ) -- vbuxx=vbuz1_plus_vbuaa + //SEG414 [211] (byte) sin8s::usinx#1 ← (byte) sin8s::usinx#0 + (byte) sin8s::x5_128#0 [ sin8s::isUpper#10 sin8s::usinx#1 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#1 ] ) -- vbuxx=vbuz1_plus_vbuaa clc adc usinx tax - //SEG417 [212] if((byte) sin8s::usinx#1<(byte/word/signed word/dword/signed dword) 128) goto sin8s::@3 [ sin8s::isUpper#10 sin8s::usinx#1 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#1 ] ) -- vbuxx_lt_vbuc1_then_la1 + //SEG415 [212] if((byte) sin8s::usinx#1<(byte/word/signed word/dword/signed dword) 128) goto sin8s::@3 [ sin8s::isUpper#10 sin8s::usinx#1 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#1 ] ) -- vbuxx_lt_vbuc1_then_la1 cpx #$80 bcc b3 - //SEG418 sin8s::@7 - //SEG419 [213] (byte) sin8s::usinx#2 ← -- (byte) sin8s::usinx#1 [ sin8s::isUpper#10 sin8s::usinx#2 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#2 ] ) -- vbuxx=_dec_vbuxx + //SEG416 sin8s::@7 + //SEG417 [213] (byte) sin8s::usinx#2 ← -- (byte) sin8s::usinx#1 [ sin8s::isUpper#10 sin8s::usinx#2 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#2 ] ) -- vbuxx=_dec_vbuxx dex - //SEG420 [214] phi from sin8s::@14 sin8s::@7 to sin8s::@3 [phi:sin8s::@14/sin8s::@7->sin8s::@3] - //SEG421 [214] phi (byte) sin8s::usinx#4 = (byte) sin8s::usinx#1 [phi:sin8s::@14/sin8s::@7->sin8s::@3#0] -- register_copy - //SEG422 sin8s::@3 + //SEG418 [214] phi from sin8s::@14 sin8s::@7 to sin8s::@3 [phi:sin8s::@14/sin8s::@7->sin8s::@3] + //SEG419 [214] phi (byte) sin8s::usinx#4 = (byte) sin8s::usinx#1 [phi:sin8s::@14/sin8s::@7->sin8s::@3#0] -- register_copy + //SEG420 sin8s::@3 b3: - //SEG423 [215] if((byte) sin8s::isUpper#10==(byte/signed byte/word/signed word/dword/signed dword) 0) goto sin8s::@18 [ sin8s::usinx#4 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::usinx#4 ] ) -- vbuz1_eq_0_then_la1 + //SEG421 [215] if((byte) sin8s::isUpper#10==(byte/signed byte/word/signed word/dword/signed dword) 0) goto sin8s::@18 [ sin8s::usinx#4 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::usinx#4 ] ) -- vbuz1_eq_0_then_la1 lda isUpper beq b18 - //SEG424 sin8s::@8 - //SEG425 [216] (signed byte) sin8s::sinx#1 ← - (signed byte)(byte) sin8s::usinx#4 [ sin8s::sinx#1 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::sinx#1 ] ) -- vbsaa=_neg_vbsxx + //SEG422 sin8s::@8 + //SEG423 [216] (signed byte) sin8s::sinx#1 ← - (signed byte)(byte) sin8s::usinx#4 [ sin8s::sinx#1 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::sinx#1 ] ) -- vbsaa=_neg_vbsxx txa eor #$ff clc adc #1 - //SEG426 [217] phi from sin8s::@18 sin8s::@8 to sin8s::@4 [phi:sin8s::@18/sin8s::@8->sin8s::@4] - //SEG427 [217] phi (signed byte) sin8s::return#1 = (signed byte~) sin8s::return#5 [phi:sin8s::@18/sin8s::@8->sin8s::@4#0] -- register_copy - //SEG428 sin8s::@4 + //SEG424 [217] phi from sin8s::@18 sin8s::@8 to sin8s::@4 [phi:sin8s::@18/sin8s::@8->sin8s::@4] + //SEG425 [217] phi (signed byte) sin8s::return#1 = (signed byte~) sin8s::return#5 [phi:sin8s::@18/sin8s::@8->sin8s::@4#0] -- register_copy + //SEG426 sin8s::@4 b4: - //SEG429 sin8s::@return - //SEG430 [218] return [ sin8s::return#1 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::return#1 ] ) + //SEG427 sin8s::@return + //SEG428 [218] return [ sin8s::return#1 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::return#1 ] ) rts - //SEG431 sin8s::@18 + //SEG429 sin8s::@18 b18: - //SEG432 [219] (signed byte~) sin8s::return#5 ← (signed byte)(byte) sin8s::usinx#4 [ sin8s::return#5 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::return#5 ] ) -- vbsaa=vbsxx + //SEG430 [219] (signed byte~) sin8s::return#5 ← (signed byte)(byte) sin8s::usinx#4 [ sin8s::return#5 ] ( main:2::sin8s_gen:5::sin8s:168 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::return#5 ] ) -- vbsaa=vbsxx txa jmp b4 } -//SEG433 mulu8_sel +//SEG431 mulu8_sel mulu8_sel: { .label _0 = $13 .label _1 = $13 .label select = $1b - //SEG434 [221] (byte) mul8u::a#1 ← (byte) mulu8_sel::v1#5 [ mulu8_sel::v2#5 mulu8_sel::select#5 mul8u::a#1 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v2#5 mulu8_sel::select#5 mul8u::a#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v2#5 mulu8_sel::select#5 mul8u::a#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::v2#5 mulu8_sel::select#5 mul8u::a#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v2#5 mulu8_sel::select#5 mul8u::a#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::v2#5 mulu8_sel::select#5 mul8u::a#1 ] ) + //SEG432 [221] (byte) mul8u::a#1 ← (byte) mulu8_sel::v1#5 [ mulu8_sel::v2#5 mulu8_sel::select#5 mul8u::a#1 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v2#5 mulu8_sel::select#5 mul8u::a#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v2#5 mulu8_sel::select#5 mul8u::a#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::v2#5 mulu8_sel::select#5 mul8u::a#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v2#5 mulu8_sel::select#5 mul8u::a#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::v2#5 mulu8_sel::select#5 mul8u::a#1 ] ) // (byte) mul8u::a#1 = (byte) mulu8_sel::v1#5 // register copy reg byte x - //SEG435 [222] (byte) mul8u::b#0 ← (byte) mulu8_sel::v2#5 [ mulu8_sel::select#5 mul8u::a#1 mul8u::b#0 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#1 mul8u::b#0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#1 mul8u::b#0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#1 mul8u::b#0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#1 mul8u::b#0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#1 mul8u::b#0 ] ) -- vbuaa=vbuyy + //SEG433 [222] (byte) mul8u::b#0 ← (byte) mulu8_sel::v2#5 [ mulu8_sel::select#5 mul8u::a#1 mul8u::b#0 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#1 mul8u::b#0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#1 mul8u::b#0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#1 mul8u::b#0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#1 mul8u::b#0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#1 mul8u::b#0 ] ) -- vbuaa=vbuyy tya - //SEG436 [223] call mul8u param-assignment [ mulu8_sel::select#5 mul8u::res#2 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 ] ) + //SEG434 [223] call mul8u param-assignment [ mulu8_sel::select#5 mul8u::res#2 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 ] ) jsr mul8u - //SEG437 [224] (word) mul8u::return#2 ← (word) mul8u::res#2 [ mulu8_sel::select#5 mul8u::return#2 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::return#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::return#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::return#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::return#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::return#2 ] ) + //SEG435 [224] (word) mul8u::return#2 ← (word) mul8u::res#2 [ mulu8_sel::select#5 mul8u::return#2 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::return#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::return#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::return#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::return#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::return#2 ] ) // (word) mul8u::return#2 = (word) mul8u::res#2 // register copy zp ZP_WORD:19 - //SEG438 mulu8_sel::@2 - //SEG439 [225] (word~) mulu8_sel::$0 ← (word) mul8u::return#2 [ mulu8_sel::select#5 mulu8_sel::$0 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mulu8_sel::$0 ] ) + //SEG436 mulu8_sel::@2 + //SEG437 [225] (word~) mulu8_sel::$0 ← (word) mul8u::return#2 [ mulu8_sel::select#5 mulu8_sel::$0 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mulu8_sel::$0 ] ) // (word~) mulu8_sel::$0 = (word) mul8u::return#2 // register copy zp ZP_WORD:19 - //SEG440 [226] (word~) mulu8_sel::$1 ← (word~) mulu8_sel::$0 << (byte) mulu8_sel::select#5 [ mulu8_sel::$1 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::$1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::$1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::$1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::$1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::$1 ] ) -- vwuz1=vwuz1_rol_vbuz2 + //SEG438 [226] (word~) mulu8_sel::$1 ← (word~) mulu8_sel::$0 << (byte) mulu8_sel::select#5 [ mulu8_sel::$1 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::$1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::$1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::$1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::$1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::$1 ] ) -- vwuz1=vwuz1_rol_vbuz2 ldy select beq !e+ !: @@ -12383,45 +12331,45 @@ mulu8_sel: { dey bne !- !e: - //SEG441 [227] (byte) mulu8_sel::return#12 ← > (word~) mulu8_sel::$1 [ mulu8_sel::return#12 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#12 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#12 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#12 ] ) -- vbuaa=_hi_vwuz1 + //SEG439 [227] (byte) mulu8_sel::return#12 ← > (word~) mulu8_sel::$1 [ mulu8_sel::return#12 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#12 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#12 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#12 ] ) -- vbuaa=_hi_vwuz1 lda _1+1 - //SEG442 mulu8_sel::@return - //SEG443 [228] return [ mulu8_sel::return#12 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#12 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#12 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#12 ] ) + //SEG440 mulu8_sel::@return + //SEG441 [228] return [ mulu8_sel::return#12 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#12 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#12 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#12 ] ) rts } -//SEG444 mul8u +//SEG442 mul8u mul8u: { .label mb = $15 .label res = $13 .label return = $13 - //SEG445 [229] (word) mul8u::mb#0 ← ((word)) (byte) mul8u::b#0 [ mul8u::a#1 mul8u::mb#0 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#1 mul8u::mb#0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#1 mul8u::mb#0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#1 mul8u::mb#0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#1 mul8u::mb#0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#1 mul8u::mb#0 ] ) -- vwuz1=_word_vbuaa + //SEG443 [229] (word) mul8u::mb#0 ← ((word)) (byte) mul8u::b#0 [ mul8u::a#1 mul8u::mb#0 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#1 mul8u::mb#0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#1 mul8u::mb#0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#1 mul8u::mb#0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#1 mul8u::mb#0 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#1 mul8u::mb#0 ] ) -- vwuz1=_word_vbuaa sta mb lda #0 sta mb+1 - //SEG446 [230] phi from mul8u to mul8u::@1 [phi:mul8u->mul8u::@1] - //SEG447 [230] phi (word) mul8u::mb#2 = (word) mul8u::mb#0 [phi:mul8u->mul8u::@1#0] -- register_copy - //SEG448 [230] phi (word) mul8u::res#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mul8u->mul8u::@1#1] -- vwuz1=vbuc1 + //SEG444 [230] phi from mul8u to mul8u::@1 [phi:mul8u->mul8u::@1] + //SEG445 [230] phi (word) mul8u::mb#2 = (word) mul8u::mb#0 [phi:mul8u->mul8u::@1#0] -- register_copy + //SEG446 [230] phi (word) mul8u::res#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mul8u->mul8u::@1#1] -- vwuz1=vbuc1 sta res sta res+1 - //SEG449 [230] phi (byte) mul8u::a#2 = (byte) mul8u::a#1 [phi:mul8u->mul8u::@1#2] -- register_copy - //SEG450 mul8u::@1 + //SEG447 [230] phi (byte) mul8u::a#2 = (byte) mul8u::a#1 [phi:mul8u->mul8u::@1#2] -- register_copy + //SEG448 mul8u::@1 b1: - //SEG451 [231] if((byte) mul8u::a#2!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@2 [ mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] ) -- vbuxx_neq_0_then_la1 + //SEG449 [231] if((byte) mul8u::a#2!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@2 [ mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] ) -- vbuxx_neq_0_then_la1 cpx #0 bne b2 - //SEG452 mul8u::@return - //SEG453 [232] return [ mul8u::res#2 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 ] ) + //SEG450 mul8u::@return + //SEG451 [232] return [ mul8u::res#2 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 ] ) rts - //SEG454 mul8u::@2 + //SEG452 mul8u::@2 b2: - //SEG455 [233] (byte~) mul8u::$1 ← (byte) mul8u::a#2 & (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul8u::res#2 mul8u::a#2 mul8u::mb#2 mul8u::$1 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 mul8u::$1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 mul8u::$1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 mul8u::$1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 mul8u::$1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 mul8u::$1 ] ) -- vbuaa=vbuxx_band_vbuc1 + //SEG453 [233] (byte~) mul8u::$1 ← (byte) mul8u::a#2 & (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul8u::res#2 mul8u::a#2 mul8u::mb#2 mul8u::$1 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 mul8u::$1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 mul8u::$1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 mul8u::$1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 mul8u::$1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 mul8u::$1 ] ) -- vbuaa=vbuxx_band_vbuc1 txa and #1 - //SEG456 [234] if((byte~) mul8u::$1==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@4 [ mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] ) -- vbuaa_eq_0_then_la1 + //SEG454 [234] if((byte~) mul8u::$1==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@4 [ mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] ) -- vbuaa_eq_0_then_la1 cmp #0 beq b4 - //SEG457 mul8u::@7 - //SEG458 [235] (word) mul8u::res#1 ← (word) mul8u::res#2 + (word) mul8u::mb#2 [ mul8u::a#2 mul8u::mb#2 mul8u::res#1 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#2 mul8u::mb#2 mul8u::res#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#2 mul8u::mb#2 mul8u::res#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#2 mul8u::mb#2 mul8u::res#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#2 mul8u::mb#2 mul8u::res#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#2 mul8u::mb#2 mul8u::res#1 ] ) -- vwuz1=vwuz1_plus_vwuz2 + //SEG455 mul8u::@7 + //SEG456 [235] (word) mul8u::res#1 ← (word) mul8u::res#2 + (word) mul8u::mb#2 [ mul8u::a#2 mul8u::mb#2 mul8u::res#1 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#2 mul8u::mb#2 mul8u::res#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#2 mul8u::mb#2 mul8u::res#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#2 mul8u::mb#2 mul8u::res#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#2 mul8u::mb#2 mul8u::res#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#2 mul8u::mb#2 mul8u::res#1 ] ) -- vwuz1=vwuz1_plus_vwuz2 lda res clc adc mb @@ -12429,50 +12377,45 @@ mul8u: { lda res+1 adc mb+1 sta res+1 - //SEG459 [236] phi from mul8u::@2 mul8u::@7 to mul8u::@4 [phi:mul8u::@2/mul8u::@7->mul8u::@4] - //SEG460 [236] phi (word) mul8u::res#6 = (word) mul8u::res#2 [phi:mul8u::@2/mul8u::@7->mul8u::@4#0] -- register_copy - //SEG461 mul8u::@4 + //SEG457 [236] phi from mul8u::@2 mul8u::@7 to mul8u::@4 [phi:mul8u::@2/mul8u::@7->mul8u::@4] + //SEG458 [236] phi (word) mul8u::res#6 = (word) mul8u::res#2 [phi:mul8u::@2/mul8u::@7->mul8u::@4#0] -- register_copy + //SEG459 mul8u::@4 b4: - //SEG462 [237] (byte) mul8u::a#0 ← (byte) mul8u::a#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] ) -- vbuxx=vbuxx_ror_1 + //SEG460 [237] (byte) mul8u::a#0 ← (byte) mul8u::a#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] ) -- vbuxx=vbuxx_ror_1 txa lsr tax - //SEG463 [238] (word) mul8u::mb#1 ← (word) mul8u::mb#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] ) -- vwuz1=vwuz1_rol_1 + //SEG461 [238] (word) mul8u::mb#1 ← (word) mul8u::mb#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] ( main:2::sin8s_gen:5::sin8s:168::mulu8_sel:187::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:192::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:196::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:202::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8s_gen:5::sin8s:168::mulu8_sel:207::mul8u:223 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] ) -- vwuz1=vwuz1_rol_1 asl mb rol mb+1 - //SEG464 [230] phi from mul8u::@4 to mul8u::@1 [phi:mul8u::@4->mul8u::@1] - //SEG465 [230] phi (word) mul8u::mb#2 = (word) mul8u::mb#1 [phi:mul8u::@4->mul8u::@1#0] -- register_copy - //SEG466 [230] phi (word) mul8u::res#2 = (word) mul8u::res#6 [phi:mul8u::@4->mul8u::@1#1] -- register_copy - //SEG467 [230] phi (byte) mul8u::a#2 = (byte) mul8u::a#0 [phi:mul8u::@4->mul8u::@1#2] -- register_copy + //SEG462 [230] phi from mul8u::@4 to mul8u::@1 [phi:mul8u::@4->mul8u::@1] + //SEG463 [230] phi (word) mul8u::mb#2 = (word) mul8u::mb#1 [phi:mul8u::@4->mul8u::@1#0] -- register_copy + //SEG464 [230] phi (word) mul8u::res#2 = (word) mul8u::res#6 [phi:mul8u::@4->mul8u::@1#1] -- register_copy + //SEG465 [230] phi (byte) mul8u::a#2 = (byte) mul8u::a#0 [phi:mul8u::@4->mul8u::@1#2] -- register_copy jmp b1 } -//SEG468 div16u +//SEG466 div16u div16u: { - .label return = $11 - //SEG469 [240] call divr16u param-assignment [ divr16u::return#0 ] ( main:2::sin8s_gen:5::div16u:163 [ divr16u::return#0 ] ) - //SEG470 [144] phi from div16u to divr16u [phi:div16u->divr16u] - //SEG471 [144] phi (word) divr16u::divisor#7 = (const word) main::wavelength#0 [phi:div16u->divr16u#0] -- vwuz1=vwuc1 - lda #main.wavelength - sta divr16u.divisor+1 - //SEG472 [144] phi (word) divr16u::dividend#6 = (const word) PI2_u4f12#0 [phi:div16u->divr16u#1] -- vwuz1=vwuc1 + .label return = $f + //SEG467 [240] call divr16u param-assignment [ divr16u::return#0 ] ( main:2::sin8s_gen:5::div16u:163 [ divr16u::return#0 ] ) + //SEG468 [144] phi from div16u to divr16u [phi:div16u->divr16u] + //SEG469 [144] phi (word) divr16u::dividend#6 = (const word) PI2_u4f12#0 [phi:div16u->divr16u#0] -- vwuz1=vwuc1 lda #PI2_u4f12 sta divr16u.dividend+1 - //SEG473 [144] phi (word) divr16u::rem#11 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:div16u->divr16u#2] -- vwuz1=vbuc1 + //SEG470 [144] phi (word) divr16u::rem#11 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:div16u->divr16u#1] -- vwuz1=vbuc1 lda #<0 sta divr16u.rem sta divr16u.rem+1 jsr divr16u - //SEG474 [241] (word) divr16u::return#2 ← (word) divr16u::return#0 [ divr16u::return#2 ] ( main:2::sin8s_gen:5::div16u:163 [ divr16u::return#2 ] ) - // (word) divr16u::return#2 = (word) divr16u::return#0 // register copy zp ZP_WORD:17 - //SEG475 div16u::@2 - //SEG476 [242] (word) div16u::return#0 ← (word) divr16u::return#2 [ div16u::return#0 ] ( main:2::sin8s_gen:5::div16u:163 [ div16u::return#0 ] ) - // (word) div16u::return#0 = (word) divr16u::return#2 // register copy zp ZP_WORD:17 - //SEG477 div16u::@return - //SEG478 [243] return [ div16u::return#0 ] ( main:2::sin8s_gen:5::div16u:163 [ div16u::return#0 ] ) + //SEG471 [241] (word) divr16u::return#2 ← (word) divr16u::return#0 [ divr16u::return#2 ] ( main:2::sin8s_gen:5::div16u:163 [ divr16u::return#2 ] ) + // (word) divr16u::return#2 = (word) divr16u::return#0 // register copy zp ZP_WORD:15 + //SEG472 div16u::@2 + //SEG473 [242] (word) div16u::return#0 ← (word) divr16u::return#2 [ div16u::return#0 ] ( main:2::sin8s_gen:5::div16u:163 [ div16u::return#0 ] ) + // (word) div16u::return#0 = (word) divr16u::return#2 // register copy zp ZP_WORD:15 + //SEG474 div16u::@return + //SEG475 [243] return [ div16u::return#0 ] ( main:2::sin8s_gen:5::div16u:163 [ div16u::return#0 ] ) rts } print_hextab: .text "0123456789abcdef" diff --git a/src/test/java/dk/camelot64/kickc/test/ref/sinusgen8b.sym b/src/test/java/dk/camelot64/kickc/test/ref/sinusgen8b.sym index 208b80bc0..24726ccb7 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/sinusgen8b.sym +++ b/src/test/java/dk/camelot64/kickc/test/ref/sinusgen8b.sym @@ -19,8 +19,8 @@ (word) div16u::dividend (word) div16u::divisor (word) div16u::return -(word) div16u::return#0 return zp ZP_WORD:17 1.3333333333333333 -(word) div16u::return#2 return zp ZP_WORD:17 4.0 +(word) div16u::return#0 return zp ZP_WORD:15 1.3333333333333333 +(word) div16u::return#2 return zp ZP_WORD:15 4.0 (dword()) div32u16u((dword) div32u16u::dividend , (word) div32u16u::divisor) (label) div32u16u::@2 (label) div32u16u::@3 @@ -29,9 +29,9 @@ (word) div32u16u::divisor (dword) div32u16u::quotient (word) div32u16u::quotient_hi -(word) div32u16u::quotient_hi#0 quotient_hi zp ZP_WORD:19 0.8 +(word) div32u16u::quotient_hi#0 quotient_hi zp ZP_WORD:17 0.8 (word) div32u16u::quotient_lo -(word) div32u16u::quotient_lo#0 quotient_lo zp ZP_WORD:17 4.0 +(word) div32u16u::quotient_lo#0 quotient_lo zp ZP_WORD:15 4.0 (dword) div32u16u::return (dword) div32u16u::return#0 return zp ZP_DWORD:28 1.3333333333333333 (dword) div32u16u::return#2 return zp ZP_DWORD:28 4.0 @@ -46,32 +46,31 @@ (label) divr16u::@6 (label) divr16u::@return (word) divr16u::dividend -(word) divr16u::dividend#0 dividend zp ZP_WORD:15 2.75 -(word) divr16u::dividend#4 dividend zp ZP_WORD:15 5.0 -(word) divr16u::dividend#6 dividend zp ZP_WORD:15 2.0 +(word) divr16u::dividend#0 dividend zp ZP_WORD:5 2.75 +(word) divr16u::dividend#4 dividend zp ZP_WORD:5 5.0 +(word) divr16u::dividend#6 dividend zp ZP_WORD:5 2.0 (word) divr16u::divisor -(word) divr16u::divisor#7 divisor zp ZP_WORD:2 1.375 (byte) divr16u::i (byte) divr16u::i#1 reg byte x 16.5 (byte) divr16u::i#2 reg byte x 1.6923076923076923 (word) divr16u::quotient -(word) divr16u::quotient#1 quotient zp ZP_WORD:17 16.5 -(word) divr16u::quotient#2 quotient zp ZP_WORD:17 11.0 -(word) divr16u::quotient#3 quotient zp ZP_WORD:17 2.75 +(word) divr16u::quotient#1 quotient zp ZP_WORD:15 16.5 +(word) divr16u::quotient#2 quotient zp ZP_WORD:15 11.0 +(word) divr16u::quotient#3 quotient zp ZP_WORD:15 2.75 (word) divr16u::rem -(word) divr16u::rem#0 rem zp ZP_WORD:5 8.25 -(word) divr16u::rem#1 rem zp ZP_WORD:5 22.0 -(word) divr16u::rem#10 rem zp ZP_WORD:5 11.666666666666666 -(word) divr16u::rem#11 rem zp ZP_WORD:5 4.0 -(word) divr16u::rem#2 rem zp ZP_WORD:5 22.0 -(word) divr16u::rem#5 rem zp ZP_WORD:5 4.0 -(word) divr16u::rem#6 rem zp ZP_WORD:5 24.0 -(word) divr16u::rem#7 rem zp ZP_WORD:5 11.0 +(word) divr16u::rem#0 rem zp ZP_WORD:2 8.25 +(word) divr16u::rem#1 rem zp ZP_WORD:2 22.0 +(word) divr16u::rem#10 rem zp ZP_WORD:2 11.666666666666666 +(word) divr16u::rem#11 rem zp ZP_WORD:2 4.0 +(word) divr16u::rem#2 rem zp ZP_WORD:2 22.0 +(word) divr16u::rem#5 rem zp ZP_WORD:2 4.0 +(word) divr16u::rem#6 rem zp ZP_WORD:2 24.0 +(word) divr16u::rem#7 rem zp ZP_WORD:2 11.0 (word) divr16u::return -(word) divr16u::return#0 return zp ZP_WORD:17 4.875 -(word) divr16u::return#2 return zp ZP_WORD:17 4.0 -(word) divr16u::return#3 return zp ZP_WORD:17 4.0 -(word) divr16u::return#4 return zp ZP_WORD:17 4.0 +(word) divr16u::return#0 return zp ZP_WORD:15 4.875 +(word) divr16u::return#2 return zp ZP_WORD:15 4.0 +(word) divr16u::return#3 return zp ZP_WORD:15 4.0 +(word) divr16u::return#4 return zp ZP_WORD:15 4.0 (void()) main() (word~) main::$3 $3 zp ZP_WORD:2 22.0 (word~) main::$4 $4 zp ZP_WORD:2 22.0 @@ -252,7 +251,7 @@ (byte*) print_str::str#3 str zp ZP_WORD:2 101.5 (byte*) print_str::str#5 str zp ZP_WORD:2 2.0 (word) rem16u -(word) rem16u#1 rem16u zp ZP_WORD:5 0.8 +(word) rem16u#1 rem16u zp ZP_WORD:2 0.8 (signed word()) sin16s((dword) sin16s::x) (dword~) sin16s::$6 $6 zp ZP_DWORD:11 4.0 (label) sin16s::@1 @@ -376,28 +375,28 @@ (label) sin8s_gen::@4 (label) sin8s_gen::@return (word) sin8s_gen::i -(word) sin8s_gen::i#1 i zp ZP_WORD:15 16.5 -(word) sin8s_gen::i#2 i zp ZP_WORD:15 2.75 +(word) sin8s_gen::i#1 i zp ZP_WORD:17 16.5 +(word) sin8s_gen::i#2 i zp ZP_WORD:17 2.75 (signed byte*) sin8s_gen::sintab (signed byte*) sin8s_gen::sintab#0 sintab zp ZP_WORD:5 5.5 (signed byte*) sin8s_gen::sintab#2 sintab zp ZP_WORD:5 5.5 (word) sin8s_gen::step -(word) sin8s_gen::step#0 step zp ZP_WORD:17 1.1818181818181819 +(word) sin8s_gen::step#0 step zp ZP_WORD:15 1.1818181818181819 (word) sin8s_gen::wavelength (word) sin8s_gen::x (word) sin8s_gen::x#1 x zp ZP_WORD:2 7.333333333333333 (word) sin8s_gen::x#2 x zp ZP_WORD:2 4.714285714285714 reg byte x [ main::i#2 main::i#1 ] -zp ZP_WORD:2 [ print_str::str#3 print_str::str#5 print_str::str#0 print_cls::sc#2 print_cls::sc#1 sin16s_gen::sintab#2 sin16s_gen::sintab#0 divr16u::divisor#7 sin8s_gen::x#2 sin8s_gen::x#1 main::$3 main::$4 main::$5 ] +zp ZP_WORD:2 [ print_str::str#3 print_str::str#5 print_str::str#0 print_cls::sc#2 print_cls::sc#1 sin16s_gen::sintab#2 sin16s_gen::sintab#0 divr16u::rem#6 divr16u::rem#11 divr16u::rem#5 divr16u::rem#10 divr16u::rem#7 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 rem16u#1 sin8s_gen::x#2 sin8s_gen::x#1 main::$3 main::$4 main::$5 ] zp ZP_BYTE:4 [ print_sbyte::b#3 print_sbyte::b#1 print_sbyte::b#0 main::sd#0 main::sb#0 sin16s::isUpper#2 sin8s::isUpper#10 ] reg byte a [ print_char::ch#3 print_char::ch#1 print_char::ch#2 ] -zp ZP_WORD:5 [ print_char_cursor#27 print_char_cursor#37 print_char_cursor#44 print_char_cursor#41 print_char_cursor#42 print_char_cursor#19 print_char_cursor#10 print_char_cursor#1 sin16s_gen::i#2 sin16s_gen::i#1 divr16u::rem#6 divr16u::rem#11 divr16u::rem#5 divr16u::rem#10 divr16u::rem#7 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 rem16u#1 sin8s_gen::sintab#2 sin8s_gen::sintab#0 ] +zp ZP_WORD:5 [ print_char_cursor#27 print_char_cursor#37 print_char_cursor#44 print_char_cursor#41 print_char_cursor#42 print_char_cursor#19 print_char_cursor#10 print_char_cursor#1 sin16s_gen::i#2 sin16s_gen::i#1 divr16u::dividend#4 divr16u::dividend#6 divr16u::dividend#0 sin8s_gen::sintab#2 sin8s_gen::sintab#0 ] zp ZP_DWORD:7 [ sin16s_gen::x#2 sin16s_gen::x#1 ] zp ZP_DWORD:11 [ sin16s::x#6 sin16s::x#4 sin16s::x#0 sin16s::x#1 sin16s::x#2 sin16s::$6 mul16u::res#2 mul16u::res#6 mul16u::res#1 mul16u::return#2 mulu16_sel::$0 mulu16_sel::$1 ] -zp ZP_WORD:15 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 sin16s::usinx#1 sin16s::return#0 sin16s_gen::$1 sin16s::usinx#0 divr16u::dividend#4 divr16u::dividend#6 divr16u::dividend#0 sin8s_gen::i#2 sin8s_gen::i#1 main::sw#0 ] -zp ZP_WORD:17 [ mulu16_sel::v1#5 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 sin16s::x3#0 sin16s::x2#0 sin16s::x4#0 mulu16_sel::return#1 mulu16_sel::return#10 divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#3 divr16u::return#4 divr16u::return#2 div32u16u::quotient_lo#0 div16u::return#2 sin8s_gen::step#0 div16u::return#0 ] -zp ZP_WORD:19 [ mulu16_sel::v2#5 mulu16_sel::v2#3 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 mul16u::b#0 sin8s::x#6 sin8s::x#4 sin8s::x#0 sin8s::x#1 sin8s::x#2 sin8s::$6 mul8u::res#2 mul8u::res#6 mul8u::res#1 mul8u::return#2 mulu8_sel::$0 mulu8_sel::$1 mulu16_sel::return#0 mulu16_sel::return#12 mulu16_sel::return#2 sin16s::x3_6#0 mulu16_sel::return#11 sin16s::x5#0 sin16s::x5_128#0 div32u16u::quotient_hi#0 ] +zp ZP_WORD:15 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 sin16s::usinx#1 sin16s::return#0 sin16s_gen::$1 sin16s::usinx#0 divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#3 divr16u::return#4 divr16u::return#2 div32u16u::quotient_lo#0 div16u::return#2 sin8s_gen::step#0 div16u::return#0 main::sw#0 ] +zp ZP_WORD:17 [ mulu16_sel::v1#5 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 sin16s::x3#0 sin16s::x2#0 sin16s::x4#0 mulu16_sel::return#1 mulu16_sel::return#10 sin8s_gen::i#2 sin8s_gen::i#1 div32u16u::quotient_hi#0 ] +zp ZP_WORD:19 [ mulu16_sel::v2#5 mulu16_sel::v2#3 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 mul16u::b#0 sin8s::x#6 sin8s::x#4 sin8s::x#0 sin8s::x#1 sin8s::x#2 sin8s::$6 mul8u::res#2 mul8u::res#6 mul8u::res#1 mul8u::return#2 mulu8_sel::$0 mulu8_sel::$1 mulu16_sel::return#0 mulu16_sel::return#12 mulu16_sel::return#2 sin16s::x3_6#0 mulu16_sel::return#11 sin16s::x5#0 sin16s::x5_128#0 ] reg byte x [ mulu16_sel::select#5 ] zp ZP_WORD:21 [ mul16u::a#2 mul16u::a#1 mul16u::a#0 mul8u::mb#2 mul8u::mb#0 mul8u::mb#1 ] zp ZP_DWORD:23 [ mul16u::mb#2 mul16u::mb#0 mul16u::mb#1 ] diff --git a/src/test/java/dk/camelot64/kickc/test/ref/test-comparisons.log b/src/test/java/dk/camelot64/kickc/test/ref/test-comparisons.log index 8e0b57fa9..2ad84fd93 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/test-comparisons.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/test-comparisons.log @@ -3477,7 +3477,6 @@ Succesful SSA optimization Pass2ConstantIdentification Constant (const byte*) print_cls::sc#0 = print_line_cursor#0 Constant (const byte*) print_cls::$0 = print_line_cursor#0+1000 Succesful SSA optimization Pass2ConstantIdentification -Multiple usages for variable. Not optimizing sub-constant (byte) main::a#10 if() condition always true - replacing block destination if(true) goto main::@22 Succesful SSA optimization Pass2ConstantIfs Removing unused block main::@return @@ -3599,7 +3598,6 @@ Not aliassing across scopes: print_byte::b#0 printu::a#20 Not aliassing across scopes: print_str::str#1 printu::op#20 Not aliassing across scopes: print_byte::b#1 printu::b#20 Not aliassing across scopes: print_char::ch#4 printu::res#20 -Multiple usages for variable. Not optimizing sub-constant (byte) main::a#10 Not culling empty block because it shares successor with its predecessor. (label) main::@23 Not culling empty block because it shares successor with its predecessor. (label) main::@24 Not culling empty block because it shares successor with its predecessor. (label) main::@25 @@ -3687,7 +3685,6 @@ Not aliassing across scopes: print_byte::b#0 printu::a#20 Not aliassing across scopes: print_str::str#1 printu::op#20 Not aliassing across scopes: print_byte::b#1 printu::b#20 Not aliassing across scopes: print_char::ch#4 printu::res#20 -Multiple usages for variable. Not optimizing sub-constant (byte) main::a#10 OPTIMIZING CONTROL FLOW GRAPH Inlining constant with var siblings (const byte) print_char::ch#2 Inlining constant with var siblings (const byte) print_char::ch#2 diff --git a/src/test/java/dk/camelot64/kickc/test/ref/test-keyboard.log b/src/test/java/dk/camelot64/kickc/test/ref/test-keyboard.log index bae5a22c2..5cbc9a0ef 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/test-keyboard.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/test-keyboard.log @@ -2060,7 +2060,6 @@ Constant (const byte) main::ch#0 = 0 Succesful SSA optimization Pass2ConstantIdentification Constant (const byte[]) keyboard_char_keycodes#0 = { KEY_AT#0, KEY_A#0, KEY_B#0, KEY_C#0, KEY_D#0, KEY_E#0, KEY_F#0, KEY_G#0, KEY_H#0, KEY_I#0, KEY_J#0, KEY_K#0, KEY_L#0, KEY_M#0, KEY_N#0, KEY_O#0, KEY_P#0, KEY_Q#0, KEY_R#0, KEY_S#0, KEY_T#0, KEY_U#0, KEY_V#0, KEY_W#0, KEY_X#0, KEY_Y#0, KEY_Z#0, 63, KEY_POUND#0, 63, KEY_ARROW_UP#0, KEY_ARROW_LEFT#0, KEY_SPACE#0, 63, 63, 63, 63, 63, 63, 63, 63, 63, KEY_ASTERISK#0, KEY_PLUS#0, KEY_COMMA#0, KEY_MINUS#0, KEY_DOT#0, KEY_SLASH#0, KEY_0#0, KEY_1#0, KEY_2#0, KEY_3#0, KEY_4#0, KEY_5#0, KEY_6#0, KEY_7#0, KEY_8#0, KEY_9#0, KEY_COLON#0, KEY_SEMICOLON#0, 63, KEY_EQUALS#0, 63, 63 } Succesful SSA optimization Pass2ConstantIdentification -Multiple usages for variable. Not optimizing sub-constant (byte*) main::screen#1 if() condition always true - replacing block destination if(true) goto main::@5 Succesful SSA optimization Pass2ConstantIfs Removing unused block main::@return @@ -2082,7 +2081,6 @@ Not aliassing across scopes: main::key#0 keyboard_get_keycode::return#2 Not aliassing across scopes: keyboard_key_pressed::key#0 main::key#0 Not aliassing across scopes: keyboard_key_pressed::return#2 keyboard_key_pressed::return#0 Not aliassing across scopes: main::$15 keyboard_key_pressed::return#2 -Multiple usages for variable. Not optimizing sub-constant (byte*) main::screen#1 Not aliassing across scopes: keyboard_matrix_read::rowid#2 keyboard_matrix_read::rowid#0 Not aliassing across scopes: keyboard_matrix_read::rowid#0 keyboard_key_pressed::rowidx#0 Not aliassing across scopes: keyboard_matrix_read::return#2 keyboard_matrix_read::return#0 @@ -2096,7 +2094,6 @@ Not aliassing across scopes: main::key#0 keyboard_get_keycode::return#2 Not aliassing across scopes: keyboard_key_pressed::key#0 main::key#0 Not aliassing across scopes: keyboard_key_pressed::return#2 keyboard_key_pressed::return#0 Not aliassing across scopes: main::$15 keyboard_key_pressed::return#2 -Multiple usages for variable. Not optimizing sub-constant (byte*) main::screen#1 OPTIMIZING CONTROL FLOW GRAPH Inlining constant with var siblings (const byte*) main::sc#0 Inlining constant with var siblings (const byte*) main::sc#0 diff --git a/src/test/java/dk/camelot64/kickc/test/ref/zpparammin.log b/src/test/java/dk/camelot64/kickc/test/ref/zpparammin.log index c8a340fbd..712f8b057 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/zpparammin.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/zpparammin.log @@ -361,24 +361,12 @@ Constant (const byte) main::i#0 = 0 Succesful SSA optimization Pass2ConstantIdentification Constant (const byte*) SCREEN2#0 = ((byte*))$0 Succesful SSA optimization Pass2ConstantIdentification -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#2 Not aliassing across scopes: sum::a#0 main::i#2 Not aliassing across scopes: sum::return#0 sum::return#1 Not aliassing across scopes: main::$2 sum::return#0 Not aliassing across scopes: sum2::a#0 main::i#2 Not aliassing across scopes: sum2::return#0 sum2::return#1 Not aliassing across scopes: main::$5 sum2::return#0 -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#2 -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#2 OPTIMIZING CONTROL FLOW GRAPH Inlining constant with var siblings (const byte) main::i#0 Inlining constant with var siblings (const byte) main::i#0 diff --git a/src/test/java/dk/camelot64/kickc/test/ref/zpptr.log b/src/test/java/dk/camelot64/kickc/test/ref/zpptr.log index f0fc61424..e155ba77e 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/zpptr.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/zpptr.log @@ -237,8 +237,6 @@ Self Phi Eliminated (byte*) main::zpptr#3 Succesful SSA optimization Pass2SelfPhiElimination Redundant Phi (byte*) main::zpptr#3 (const byte*) main::zpptr#0 Succesful SSA optimization Pass2RedundantPhiElimination -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#4 -Multiple usages for variable. Not optimizing sub-constant (byte) main::i#4 OPTIMIZING CONTROL FLOW GRAPH Inlining constant with var siblings (const byte) main::j#0 Inlining constant with var siblings (const byte) main::j#0