mirror of
https://gitlab.com/camelot/kickc.git
synced 2025-04-21 11:42:30 +00:00
- testing and regeneration of fragment references
- implementation of near, close, far through AsmFragmentSignature - fragment consolidation (removal of prepare, execute, finalize) - stackcall banked throws error + test cases - overall test cases for phi - implementation of fragments
This commit is contained in:
parent
b62430bfc3
commit
f2bf3484ad
@ -42,58 +42,25 @@ final public class AsmFragmentInstanceSpecBuilder {
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a fragment instance spec factory for a bank call prepare
|
||||
* Create a fragment instance spec factory for a subroutine call
|
||||
*
|
||||
* @param distance The string expressing the distance of the call: "near", "close", "far".
|
||||
* @param callingConvention The string expressing the calling convention supported by the fragment.
|
||||
* @param bankArea The bank area where the procedure is to be called.
|
||||
* @param bank The bank where the procedure is to be called.
|
||||
* @param procedureName The full name of the procedure.
|
||||
* @param program The program
|
||||
* @return the fragment instance spec factory
|
||||
*/
|
||||
public static AsmFragmentInstanceSpec bankCallPrepare(String bankArea, Long bank, String procedureName, Program program) {
|
||||
public static AsmFragmentInstanceSpec callBanked(String distance, String callingConvention, String bankArea, Long bank, String procedureName, Program program) {
|
||||
AsmFragmentBindings bindings = new AsmFragmentBindings(program);
|
||||
AsmFragmentSignature signature = new AsmFragmentSignature.CallBanked(bankArea, bank, program.getTargetPlatform().getName(), AsmFragmentSignature.CallBanked.PrepareExecuteFinalize.Prepare);
|
||||
AsmFragmentSignature signature = new AsmFragmentSignature.CallBanked(distance, callingConvention, bankArea, bank);
|
||||
ScopeRef codeScope = program.getScope().getRef();
|
||||
bindings.bind("c1", new ConstantInteger(bank));
|
||||
bindings.bind("la1", new LabelRef(procedureName));
|
||||
return new AsmFragmentInstanceSpec(program, signature, bindings, codeScope);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a fragment instance spec factory for a bank call execute
|
||||
*
|
||||
* @param bankArea The bank area where the procedure is to be called.
|
||||
* @param bank The bank where the procedure is to be called.
|
||||
* @param procedureName The full name of the procedure.
|
||||
* @param program The program
|
||||
* @return the fragment instance spec factory
|
||||
*/
|
||||
public static AsmFragmentInstanceSpec bankCallExecute(String bankArea, Long bank, String procedureName, Program program) {
|
||||
AsmFragmentBindings bindings = new AsmFragmentBindings(program);
|
||||
AsmFragmentSignature signature = new AsmFragmentSignature.CallBanked(bankArea, bank, program.getTargetPlatform().getName(), AsmFragmentSignature.CallBanked.PrepareExecuteFinalize.Execute);
|
||||
ScopeRef codeScope = program.getScope().getRef();
|
||||
bindings.bind("c1", new ConstantInteger(bank));
|
||||
bindings.bind("la1", new LabelRef(procedureName));
|
||||
return new AsmFragmentInstanceSpec(program, signature, bindings, codeScope);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a fragment instance spec factory for a bank call finalize
|
||||
*
|
||||
* @param bankArea The bank area where the procedure is to be called.
|
||||
* @param bank The bank where the procedure is to be called.
|
||||
* @param procedureName The full name of the procedure.
|
||||
* @param program The program
|
||||
* @return the fragment instance spec factory
|
||||
*/
|
||||
public static AsmFragmentInstanceSpec bankCallFinalize(String bankArea, Long bank, String procedureName, Program program) {
|
||||
AsmFragmentBindings bindings = new AsmFragmentBindings(program);
|
||||
AsmFragmentSignature signature = new AsmFragmentSignature.CallBanked(bankArea, bank, program.getTargetPlatform().getName(), AsmFragmentSignature.CallBanked.PrepareExecuteFinalize.Finalize);
|
||||
ScopeRef codeScope = program.getScope().getRef();
|
||||
bindings.bind("c1", new ConstantInteger(bank));
|
||||
bindings.bind("la1", new LabelRef(procedureName));
|
||||
return new AsmFragmentInstanceSpec(program, signature, bindings, codeScope);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
|
@ -75,29 +75,21 @@ public interface AsmFragmentSignature {
|
||||
*/
|
||||
class CallBanked implements AsmFragmentSignature {
|
||||
|
||||
final private String distance;
|
||||
final private String callingConvention;
|
||||
final private String bankArea;
|
||||
final private Long bank;
|
||||
final private String targetPlatform;
|
||||
|
||||
public enum PrepareExecuteFinalize {
|
||||
Prepare,
|
||||
Execute,
|
||||
Finalize
|
||||
}
|
||||
|
||||
final private PrepareExecuteFinalize fragment;
|
||||
|
||||
|
||||
public CallBanked(String bankArea, Long bank, String targetPlatform, PrepareExecuteFinalize fragment) {
|
||||
public CallBanked(String distance, String callingConvention, String bankArea, Long bank) {
|
||||
this.distance = distance;
|
||||
this.callingConvention = callingConvention;
|
||||
this.bankArea = bankArea;
|
||||
this.bank = bank;
|
||||
this.targetPlatform = targetPlatform;
|
||||
this.fragment = fragment;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "call_far" + "_" + targetPlatform.toLowerCase() + "_" + bankArea.toLowerCase() + "_" + fragment.name().toLowerCase();
|
||||
return "call_" + callingConvention.toLowerCase() + "_" + distance.toLowerCase() + ((bankArea.isEmpty()) ? "" : ("_" + bankArea.toLowerCase()));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -23,35 +23,67 @@ package dk.camelot64.kickc.model;
|
||||
* The <b><i>method</i></b> and the <b><i>platform</i></b> are the key combinations that select the fragments
|
||||
* in kickc to generate the banked function call implementations used by the compiler.
|
||||
*
|
||||
* <p>Your C-code can be augmented with 3 new directives, that define which function(s) will be declared as banked:
|
||||
* <p><br>Your C-code can be augmented with 3 new directives, that define which function(s) will be declared as banked:
|
||||
*
|
||||
* <br><ul>
|
||||
* <li><b>#pragma bank( <i>method</i>, <i>number</i> )</b> directive, defines for sequent functions
|
||||
* the target bank <b><i>number</i></b> and the <b><i>method</i></b> for the banked function call implementations.</li>
|
||||
* <li>A new <b>#pragma nobank( dummy )</b> directive, resets the calculation of banking for sequent functions
|
||||
* not to calculate any banking for these functions.</li>
|
||||
* <li>A new <b>__bank( <i>method</i>, <i>number</i> )</b> directive, defines for one function a
|
||||
* target bank <b><i>number</i></b> and the <b><i>method</i></b> for the banked function call implementation.</li>
|
||||
* <li><b>#pragma bank( <i>area</i>, <i>number</i> )</b> directive, defines for sequent functions
|
||||
* the the <b><i>area</i></b> and the bank <b><i>number</i></b>.</li>
|
||||
* <li>A new <b>#pragma nobank( dummy )</b> directive, resets the calculation of banking
|
||||
* for the sequent functions.</li>
|
||||
* <li><b>__bank( <i>area</i>, <i>number</i> )</b> directive, defines for one function a
|
||||
* target bank <b><i>area</i></b> and <b><i>number</i></b>.</li>
|
||||
* </ul>
|
||||
* <p>Examples of bank areas are different RAM and/or ROM areas at different
|
||||
* zones in the linear memory addressing space, and may or may not overlap.
|
||||
* Each banking area has its own configuration in the target computer platform and
|
||||
* operate independently from each other.<br>
|
||||
* For example, the Commander X16 has 256 RAM bank between 0xA000 and 0xBFFF and
|
||||
* 256 ROM banks from 0xC000 till 0xFFFF. Each RAM bank is configured through zero page $00
|
||||
* and each ROM bank is configured through zero page $01.
|
||||
* The compiler configures for you these registers, depending on the configured banking area of the function,
|
||||
* when a banked call is required.</p>
|
||||
*
|
||||
* <p><br>There are different types of function calls that can be implemented, depending on:
|
||||
* <ul>
|
||||
* <li>the banked location of either or both the caller and/or the called function.</li>
|
||||
* <li>the banking area of either or both the caller and the called function.</li>
|
||||
* </ul>
|
||||
*
|
||||
* <p>The compiler decides automatically the function call implementation, which can be either banked or not.
|
||||
* And if the function call implementation is banked, it should use the specified bank number to implement
|
||||
* the banked function call.
|
||||
* The rules can be summarized as follows:
|
||||
* <p>The <b>types of (banked) function call implementations</b> are:
|
||||
* <ul>
|
||||
* <li><b>near</b> - jump to subroutine without any implementation of banking logic.</li>
|
||||
* <li><b>close</b> - jump to subroutine with inline banking implementation logic.</li>
|
||||
* <li><b>far</b> - jump to subroutine using a specific trampoline banking implementation logic.</li>
|
||||
* </ul>
|
||||
* Depending on the target platform of the system the <b>far</b> calls are likely the most complex
|
||||
* and will consume the most CPU cycles. Therefore, careful design of the program flow and the
|
||||
* placement of the functions in the banks need to be done, to avoid as much as possible these far calls.
|
||||
*
|
||||
* <p><br>The exact rules when <b>near</b>, <b>close</b> and <b>far</b> calls are implemented by the compiler,
|
||||
* can be summarized in the following 6 cases:
|
||||
*
|
||||
* <ul>
|
||||
* <li>If a function is declared <b>not banked</b>, and the function call location is <b>not banked</b>,
|
||||
* the function call implementation will be <b>not banked</b>.</li>
|
||||
* <li>If a function is declared <b>banked</b>, and the function call location is not <b>banked</b>,
|
||||
* the function call implementation will be <b>banked</b>.</li>
|
||||
* <li>If a function is declared <b>not banked</b>, and the function call location is <b>banked</b>,
|
||||
* the function call implementation will be <b>not banked</b>.</li>
|
||||
* <li>If a function is declared <b>banked</b>, and the function call location is <b>banked</b>,
|
||||
* but the function call location is within the same bank,
|
||||
* the function call implementation will be <b>not banked</b>.</li>
|
||||
* <li>If a function is declared <b>banked</b>, and the function call location is <b>banked</b>,
|
||||
* but the function call location is <b>not within the same bank</b>,
|
||||
* the function call implementation will be <b>banked</b>.</li>
|
||||
* <li><b>case #1</b> - If the caller function is <b>not banked</b>,<br>
|
||||
* and the called function is <b>not banked</b>,<br>
|
||||
* then a <b>near</b> call will be implemented.</li>
|
||||
* <li><b>case #2</b> - If the caller function is <b>not banked</b>,<br>
|
||||
* and the called function is <b>banked</b> in any bank in any banking area</b>,<br>
|
||||
* then a <b>close</b> call will be implemented.</li>
|
||||
* <li><b>case #3</b> - If the caller function is <b>banked</b> in any bank in any banking area,<br>
|
||||
* and the called function is <b>not banked</b>,<br>
|
||||
* then a <b>near</b> call will be implemented.</li>
|
||||
* <li><b>case #4</b> - If the caller function is <b>banked</b>,<br>
|
||||
* and the called function is <b>banked</b>,<br>
|
||||
* and both functions are <b>in the same bank</b> and <b>in the same bank area</b>,<br>
|
||||
* then a <b>near</b> call will be implemented.</li>
|
||||
* <li><b>case #5</b> - If the caller function is <b>banked</b>,<br>
|
||||
* and the called function is <b>banked</b>,<br>
|
||||
* and both functions are <b>in a different bank</b> but <b>in the same bank area</b>,<br>
|
||||
* then a <b>far</b> call will be implemented.</li>
|
||||
* <li><b>case #6</b> - If the caller function is <b>banked</b>,<br>
|
||||
* and the called function is <b>banked</b>,<br>
|
||||
* and both functions are <b>in any bank</b> but <b>in a different bank area</b>,<br>
|
||||
* then the a <b>close</b> call will be implemented.</li>
|
||||
* </ul>
|
||||
*
|
||||
* <p>The usage of <b>#pragma code_seg( <i>segment</i> )</b> directive
|
||||
@ -68,154 +100,8 @@ package dk.camelot64.kickc.model;
|
||||
* at the function calling locations!</li>
|
||||
* </ul>
|
||||
*
|
||||
* <p>
|
||||
* The best way to describe the usage with a comprehensive example, documenting the different use cases
|
||||
* how the compiler decides which functions are banked or not,
|
||||
* and how the resulting banked function call code will be generated.
|
||||
* <p>
|
||||
* The example implements several functions in various forms to allocate the code in main memory
|
||||
* using segment <b>Code</b> and within 3 banked memory locations, using segments <b>Bank1</b>, <b>Bank2</b>, <b>Bank3</b>.
|
||||
* In order to ensure a good understanding of the example, the usage of these code segments in harmony with the
|
||||
* banking directives must be described, which is absolutely necessary to master,
|
||||
* in order to make banked function calls work.
|
||||
* The KickC compiler contains several test cases and examples which demonstrate the usage of the banking system.
|
||||
*
|
||||
* <p>
|
||||
* <ul>
|
||||
* <li>The #pragma directive <b>code_seg( Code )</b> defines the sequent function code to be allocated
|
||||
* within main (not banked) memory, defined within segment <b>Code<><b/> by the linker.</li>
|
||||
* <li>The #pragma directive <b>code_seg( Bank1 )</b> defines the sequent function code to be allocated
|
||||
* within banked memory, defined within segment <b>Bank1</b> by the linker.</li>
|
||||
* <li>The #pragma directive <b>code_seg( Bank2 )</b> defines the sequent function code to be allocated
|
||||
* within banked memory, defined within segment <b>Bank2</b> by the linker.</li>
|
||||
* <li>The #pragma directive <b>code_seg( Bank3 )</b> defines the sequent function code to be allocated
|
||||
* within banked memory, defined within segment <b>Bank3</b> by the linker.</li>
|
||||
* </ul>
|
||||
*
|
||||
* Note that the <b>Code</b> segment is the default location in KickC where the code is placed by the linker.
|
||||
*
|
||||
* Find below the code example, which is also the program procedure-callingconvention-phi-bank-5.c
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* // The linker specification of the different segments.
|
||||
* #pragma link("procedure-callingconvention-phi-bank-5.ld")
|
||||
*
|
||||
* // The target computer platform is the Commander X16,
|
||||
* // which implements banking in ram between 0xA0000 and 0xBFFF,
|
||||
* // and in rom between 0xC000 and 0xFFFF.
|
||||
* #pragma target(cx16)
|
||||
*
|
||||
* char *const SCREEN = (char *)0x0400; // Just for test purposes.
|
||||
*
|
||||
* #pragma code_seg(Bank1) // The sequent functions will be addressed specified by segment bank1 in the linker.
|
||||
* #pragma bank(ram, 1) // The sequent functions will be banked using call method ram in bank number 1.
|
||||
*
|
||||
* // Function declarations
|
||||
* char func_ram_bank1_a(char a, char b);
|
||||
* char __bank(ram, 1) func_ram_bank1_b(char a, char b);
|
||||
* char func_ram_bank1_c(char a, char b);
|
||||
* char func_ram_bank1_d(char a, char b);
|
||||
* char func_ram_bank1_e(char a, char b);
|
||||
* char func_ram_bank1_f(char a, char b);
|
||||
* char func_rom_bank2_a(char a, char b);
|
||||
* char __bank(rom, 2) func_rom_bank2_b(char a, char b);
|
||||
* char func_rom_bank2_c(char a, char b);
|
||||
* char func_rom_bank2_d(char a, char b);
|
||||
* char func_rom_bank2_e(char a, char b);
|
||||
* char func_rom_bank2_f(char a, char b);
|
||||
* char func_main_a(char a, char b);
|
||||
* char func_main_b(char a, char b);
|
||||
*
|
||||
* // Functional code
|
||||
*
|
||||
* char func_ram_bank1_a(char a, char b) {
|
||||
* return a + b;
|
||||
* }
|
||||
*
|
||||
* char func_ram_bank1_c(char a, char b) {
|
||||
* return func_ram_bank1_a(a, b); // Non banked call in ram bank 1.
|
||||
* }
|
||||
*
|
||||
* char func_ram_bank1_d(char a, char b) {
|
||||
* return func_rom_bank2_a(a, b); // Banked call from ram bank 1 to rom bank 2.
|
||||
* }
|
||||
*
|
||||
* char func_ram_bank1_e(char a, char b) {
|
||||
* return func_rom_bank2_b(a, b); // Banked call from ram bank 1 to rom bank 2.
|
||||
* }
|
||||
*
|
||||
* char func_ram_bank1_f(char a, char b) {
|
||||
* return func_main_a(a, b); // Non banked call from ram bank 1 to main memory.
|
||||
* }
|
||||
*
|
||||
*
|
||||
* #pragma code_seg(Bank2) // The sequent functions will be addressed specified by segment bank2 in the linker.
|
||||
* #pragma bank(rom, 2) // The sequent functions will be banked using call method rom in bank number 2.
|
||||
*
|
||||
* char func_rom_bank2_a(char a, char b) {
|
||||
* return a + b;
|
||||
* }
|
||||
*
|
||||
* char func_rom_bank2_c(char a, char b) {
|
||||
* return func_ram_bank1_a(a, b); // Banked call from rom bank 2 to ram bank 1.
|
||||
* }
|
||||
*
|
||||
* char func_rom_bank2_d(char a, char b) {
|
||||
* return func_rom_bank2_a(a, b); // Non banked call in rom bank 2.
|
||||
* }
|
||||
*
|
||||
* char func_rom_bank2_e(char a, char b) {
|
||||
* return func_rom_bank2_b(a, b); // Non Banked call in rom bank 2.
|
||||
* }
|
||||
*
|
||||
* char func_rom_bank2_f(char a, char b) {
|
||||
* return func_main_a(a, b); // Non banked call from rom bank 2 to main memory.
|
||||
* }
|
||||
*
|
||||
*
|
||||
* #pragma nobank(dummy) // The sequent functions will consider no banking calculations anymore.
|
||||
*
|
||||
* // The __bank directive declares this function to be banked using call method ram in bank number 1 of banked ram.
|
||||
* char __bank(ram, 1) func_ram_bank1_b(char a, char b) {
|
||||
* return a + b;
|
||||
* }
|
||||
*
|
||||
* // The __bank directive declares this function to be banked using call method rom in bank number 2 of banked rom.
|
||||
* char __bank(rom, 2) func_rom_bank2_b(char a, char b) {
|
||||
* return a + b;
|
||||
* }
|
||||
*
|
||||
* #pragma code_seg(Code) // The sequent functions will be addressed in the default main memory location (segment Code).
|
||||
*
|
||||
* // Allocated in main memory.
|
||||
* char func_main_a(char a, char b) {
|
||||
* return func_ram_bank1_e(a, b); // Banked call to ram in bank 1 from main memory.
|
||||
* }
|
||||
*
|
||||
* // Allocated in main memory.
|
||||
* char func_main_b(char a, char b) {
|
||||
* return func_rom_bank2_e(a, b); // Banked call to rom in bank 2 from main memory.
|
||||
* }
|
||||
*
|
||||
* // Practically this means that the main() function is placed in main memory ...
|
||||
*
|
||||
* void main(void) {
|
||||
* SCREEN[0] = func_ram_bank1_a('0', 7); // Banked call to ram in bank 1 from main memory.
|
||||
* SCREEN[0] = func_ram_bank1_b('0', 7); // Banked call to ram in bank 1 from main memory.
|
||||
* SCREEN[0] = func_ram_bank1_c('0', 7); // Banked call to ram in bank 1 from main memory.
|
||||
* SCREEN[0] = func_ram_bank1_d('0', 7); // Banked call to ram in bank 1 from main memory.
|
||||
* SCREEN[0] = func_ram_bank1_e('0', 7); // Banked call to ram in bank 1 from main memory.
|
||||
* SCREEN[0] = func_ram_bank1_f('0', 7); // Banked call to ram in bank 1 from main memory.
|
||||
* SCREEN[0] = func_rom_bank2_a('0', 7); // Banked call to rom in bank 2 from main memory.
|
||||
* SCREEN[0] = func_rom_bank2_b('0', 7); // Banked call to rom in bank 2 from main memory.
|
||||
* SCREEN[0] = func_rom_bank2_c('0', 7); // Banked call to rom in bank 2 from main memory.
|
||||
* SCREEN[0] = func_rom_bank2_d('0', 7); // Banked call to rom in bank 2 from main memory.
|
||||
* SCREEN[0] = func_rom_bank2_e('0', 7); // banked call to rom in bank 2 from main memory.
|
||||
* SCREEN[0] = func_rom_bank2_f('0', 7); // banked call to rom in bank 2 from main memory.
|
||||
* SCREEN[0] = func_main_a('0', 7); // Near call in main memory from main memory.
|
||||
* SCREEN[0] = func_main_b('0', 7); // Near call in main memory from main memory.
|
||||
* }
|
||||
* </pre>
|
||||
*/
|
||||
public class Bank {
|
||||
|
||||
|
@ -590,7 +590,9 @@ public class Pass0GenerateStatementSequence extends KickCParserBaseVisitor<Objec
|
||||
procedure.setParameters(parameterList);
|
||||
procedure.setSegmentData(currentDataSegment); // When a procedure is defined, the currentDataSegment is to be set.
|
||||
procedure.setSegmentCode(currentCodeSegment); // When a procedure is defined, the currentCodeSegment is to be set.
|
||||
procedure.setBankLocation(currentBank); // When a procedure is defined, the currentBank is to be set, or far calls won't work.
|
||||
if(procedure.getBankLocation() == null && currentBank != null) {
|
||||
procedure.setBankLocation(currentBank); // When a procedure is defined, the currentBank is to be set, or far calls won't work.
|
||||
}
|
||||
// Add return variable
|
||||
if(!SymbolType.VOID.equals(procedure.getReturnType())) {
|
||||
final VariableBuilder builder = new VariableBuilder("return", procedure, false, false, procedure.getReturnType(), varDecl.getDeclDirectives(), currentDataSegment, program.getTargetPlatform().getVariableBuilderConfig());
|
||||
|
@ -878,15 +878,15 @@ public class Pass4CodeGeneration {
|
||||
AsmFragmentCodeGenerator.generateAsm(asm, AsmFragmentInstanceSpecBuilder.conditionalJump((StatementConditionalJump) statement, block, program), program);
|
||||
} else if (statement instanceof StatementCall) {
|
||||
StatementCall call = (StatementCall) statement;
|
||||
Procedure procedure = getScope().getProcedure(call.getProcedure());
|
||||
Procedure procedureFrom = block.getProcedure(this.program); // We obtain from where the procedure is called, to validate the bank equality.
|
||||
if (procedure.isDeclaredIntrinsic()) {
|
||||
if (Pass1ByteXIntrinsicRewrite.INTRINSIC_MAKELONG4.equals(procedure.getFullName())) {
|
||||
Procedure toProcedure = getScope().getProcedure(call.getProcedure());
|
||||
Procedure fromProcedure = block.getProcedure(this.program); // We obtain from where the procedure is called, to validate the bank equality.
|
||||
if (toProcedure.isDeclaredIntrinsic()) {
|
||||
if (Pass1ByteXIntrinsicRewrite.INTRINSIC_MAKELONG4.equals(toProcedure.getFullName())) {
|
||||
AsmFragmentCodeGenerator.generateAsm(asm, AsmFragmentInstanceSpecBuilder.makelong4(call, program), program);
|
||||
} else {
|
||||
throw new CompileError("Intrinsic procedure not supported " + procedure.toString(program));
|
||||
throw new CompileError("Intrinsic procedure not supported " + toProcedure.toString(program));
|
||||
}
|
||||
} else if (Procedure.CallingConvention.PHI_CALL.equals(procedure.getCallingConvention())) {
|
||||
} else if (Procedure.CallingConvention.PHI_CALL.equals(toProcedure.getCallingConvention())) {
|
||||
// Generate PHI transition
|
||||
if (genCallPhiEntry) {
|
||||
ControlFlowBlock callSuccessor = getGraph().getCallSuccessor(block);
|
||||
@ -898,27 +898,56 @@ public class Pass4CodeGeneration {
|
||||
genBlockPhiTransition(asm, block, callSuccessor, block.getScope());
|
||||
}
|
||||
}
|
||||
// Note: I've chosen to keep this code duplication between phi and stack calling convention, for later maintenance flexibility, if any.
|
||||
// We check if the procedure is declared as banked, and if the calling procedure is not in the same bank as the procedure called.
|
||||
if(procedure.isDeclaredBanked() && procedureFrom.getBank() != procedure.getBank()) {
|
||||
// In this case, Generate ASM for a far call.
|
||||
// The call is constructed in a prepare, execute and finalize compiler .asm fragments respectively.
|
||||
// The bank and other preparations are set in the call_far_[platform]_[bankarea]_prepare.asm fragment.
|
||||
// The actual jsr statement is embedded in the far_call_[platform]_[bankarea]_execute.asm fragment.
|
||||
// After the jsr, finalization of the call is defined in the far_call_[platform]_[bankarea]_finalize.asm fragment.
|
||||
AsmFragmentCodeGenerator.generateAsm(asm, AsmFragmentInstanceSpecBuilder.bankCallPrepare(procedure.getBankArea(), procedure.getBank(), call.getProcedure().getFullName(), program), program);
|
||||
AsmFragmentCodeGenerator.generateAsm(asm, AsmFragmentInstanceSpecBuilder.bankCallExecute(procedure.getBankArea(), procedure.getBank(), call.getProcedure().getFullName(), program), program);
|
||||
AsmFragmentCodeGenerator.generateAsm(asm, AsmFragmentInstanceSpecBuilder.bankCallFinalize(procedure.getBankArea(), procedure.getBank(), call.getProcedure().getFullName(), program), program);
|
||||
/*
|
||||
The following variations exist related to banked calls:
|
||||
#1 - unbanked to unbanked and no banking areas
|
||||
#2 - unbanked to banked to any bank area
|
||||
#3 - banked to unbanked from any bank area
|
||||
#4 - banked to same bank in same bank area
|
||||
#5 - banked to different bank in same bank area
|
||||
#6 - banked to any bank between different bank areas
|
||||
|
||||
This brings us to the call types:
|
||||
near - case #1, #3, #4
|
||||
close - case #2, #6
|
||||
far - case #5
|
||||
*/
|
||||
String fromBankArea = fromProcedure.getBankArea();
|
||||
String toBankArea = toProcedure.getBankArea();
|
||||
Boolean fromIsBanked = fromProcedure.isDeclaredBanked();
|
||||
Boolean toIsBanked = toProcedure.isDeclaredBanked();
|
||||
Long fromBank = fromProcedure.getBank();
|
||||
Long toBank = toProcedure.getBank();
|
||||
if( ((!fromIsBanked && !toIsBanked)) ||
|
||||
((fromIsBanked && !toIsBanked)) ||
|
||||
((fromIsBanked && toIsBanked) && (fromBank == toBank) && (fromBankArea.contentEquals(toBankArea)))
|
||||
) {
|
||||
// near call - case #1, #3, #4
|
||||
AsmFragmentCodeGenerator.generateAsm(asm, AsmFragmentInstanceSpecBuilder.callBanked( "near","phi", "", 0L, call.getProcedure().getFullName(), program), program);
|
||||
// // Otherwise, Generate AM for a normal near call.
|
||||
// asm.addInstruction("jsr", CpuAddressingMode.ABS, call.getProcedure().getFullName(), false);
|
||||
} else {
|
||||
// Otherwise, Generate AM for a normal near call.
|
||||
asm.addInstruction("jsr", CpuAddressingMode.ABS, call.getProcedure().getFullName(), false);
|
||||
if( (!fromIsBanked && toIsBanked) ||
|
||||
((fromIsBanked && toIsBanked) && (!fromBankArea.contentEquals(toBankArea)))
|
||||
) {
|
||||
// close call - case #2, #6
|
||||
AsmFragmentCodeGenerator.generateAsm(asm, AsmFragmentInstanceSpecBuilder.callBanked( "close","phi", toBankArea, toBank, call.getProcedure().getFullName(), program), program);
|
||||
} else {
|
||||
// far call - case #5
|
||||
AsmFragmentCodeGenerator.generateAsm(asm, AsmFragmentInstanceSpecBuilder.callBanked( "far","phi", toBankArea, toBank, call.getProcedure().getFullName(), program), program);
|
||||
}
|
||||
}
|
||||
} else if (Procedure.CallingConvention.STACK_CALL.equals(procedure.getCallingConvention())) {
|
||||
} else if (Procedure.CallingConvention.STACK_CALL.equals(toProcedure.getCallingConvention())) {
|
||||
// Same as PHI
|
||||
if(procedure.isDeclaredBanked() && procedure.getBank() != procedureFrom.getBank()) {
|
||||
AsmFragmentCodeGenerator.generateAsm(asm, AsmFragmentInstanceSpecBuilder.bankCallPrepare(procedure.getBankArea(), procedure.getBank(), call.getProcedure().getFullName(), program), program);
|
||||
AsmFragmentCodeGenerator.generateAsm(asm, AsmFragmentInstanceSpecBuilder.bankCallExecute(procedure.getBankArea(), procedure.getBank(), call.getProcedure().getFullName(), program), program);
|
||||
AsmFragmentCodeGenerator.generateAsm(asm, AsmFragmentInstanceSpecBuilder.bankCallFinalize(procedure.getBankArea(), procedure.getBank(), call.getProcedure().getFullName(), program), program);
|
||||
String fromBankArea = fromProcedure.getBankArea();
|
||||
String toBankArea = toProcedure.getBankArea();
|
||||
Boolean fromIsBanked = fromProcedure.isDeclaredBanked();
|
||||
Boolean toIsBanked = toProcedure.isDeclaredBanked();
|
||||
Long fromBank = fromProcedure.getBank();
|
||||
Long toBank = toProcedure.getBank();
|
||||
if(toIsBanked && fromBank != toBank) {
|
||||
throw new CompileError("Stack Call procedure not supported in banked mode " + toProcedure.toString(program));
|
||||
// AsmFragmentCodeGenerator.generateAsm(asm, AsmFragmentInstanceSpecBuilder.callBanked("far", "stack", toProcedure.getBankArea(), toProcedure.getBank(), call.getProcedure().getFullName(), program), program);
|
||||
} else {
|
||||
asm.addInstruction("jsr", CpuAddressingMode.ABS, call.getProcedure().getFullName(), false);
|
||||
}
|
||||
@ -936,16 +965,22 @@ public class Pass4CodeGeneration {
|
||||
ProcedureRef procedureRef = call.getProcedure();
|
||||
if(procedureRef != null) {
|
||||
ProgramScope scope = getScope();
|
||||
Procedure procedure = scope.getProcedure(procedureRef);
|
||||
Procedure procedureFrom = block.getProcedure(this.program); // We obtain from where the procedure is called, to validate the bank equality.
|
||||
Procedure toProcedure = scope.getProcedure(procedureRef);
|
||||
Procedure fromProcedure = block.getProcedure(this.program); // We obtain from where the procedure is called, to validate the bank equality.
|
||||
String fromBankArea = fromProcedure.getBankArea();
|
||||
String toBankArea = toProcedure.getBankArea();
|
||||
Boolean fromIsBanked = fromProcedure.isDeclaredBanked();
|
||||
Boolean toIsBanked = toProcedure.isDeclaredBanked();
|
||||
Long fromBank = fromProcedure.getBank();
|
||||
Long toBank = toProcedure.getBank();
|
||||
RValue procedureRVal = call.getProcedureRVal();
|
||||
// Same as PHI
|
||||
if (procedure.isDeclaredBanked() && procedureFrom.getBank() != procedure.getBank()) {
|
||||
AsmFragmentCodeGenerator.generateAsm(asm, AsmFragmentInstanceSpecBuilder.bankCallPrepare(procedure.getBankArea(), procedure.getBank(), call.getProcedure().getFullName(), program), program);
|
||||
AsmFragmentCodeGenerator.generateAsm(asm, AsmFragmentInstanceSpecBuilder.bankCallExecute(procedure.getBankArea(), procedure.getBank(), call.getProcedure().getFullName(), program), program);
|
||||
AsmFragmentCodeGenerator.generateAsm(asm, AsmFragmentInstanceSpecBuilder.bankCallFinalize(procedure.getBankArea(), procedure.getBank(), call.getProcedure().getFullName(), program), program);
|
||||
if (toProcedure.isDeclaredBanked() && fromProcedure.getBank() != toProcedure.getBank()) {
|
||||
throw new CompileError("Stack Call procedure not supported in banked mode " + toProcedure.toString(program));
|
||||
// AsmFragmentCodeGenerator.generateAsm(asm, AsmFragmentInstanceSpecBuilder.callBanked( "far", "stack", toProcedure.getBankArea(), toProcedure.getBank(), call.getProcedure().getFullName(), program), program);
|
||||
} else {
|
||||
AsmFragmentCodeGenerator.generateAsm(asm, AsmFragmentInstanceSpecBuilder.call(call, indirectCallCount++, program), program);
|
||||
// AsmFragmentCodeGenerator.generateAsm(asm, AsmFragmentInstanceSpecBuilder.callBanked( "near", "stack", toProcedure.getBankArea(), toProcedure.getBank(), call.getProcedure().getFullName(), program), program);
|
||||
}
|
||||
if (!(procedureRVal instanceof ProcedureRef)) {
|
||||
asm.getCurrentChunk().setClobberOverwrite(CpuClobber.CLOBBER_ALL);
|
||||
|
@ -1496,65 +1496,76 @@ public class TestProgramsFast extends TestPrograms {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testProcedureCallingConventionPhiBank0() throws IOException {
|
||||
compileAndCompare("procedure-callingconvention-phi-bank-0.c");
|
||||
public void testBankedPhiCase1Near0() throws IOException {
|
||||
compileAndCompare("call-banked-phi-case-1-near-0.c");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testProcedureCallingConventionPhiBank1() throws IOException {
|
||||
compileAndCompare("procedure-callingconvention-phi-bank-1.c");
|
||||
public void testBankedPhiCase1Near1() throws IOException {
|
||||
compileAndCompare("call-banked-phi-case-1-near-1.c");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testProcedureCallingConventionPhiBank2() throws IOException {
|
||||
compileAndCompare("procedure-callingconvention-phi-bank-2.c");
|
||||
public void testBankedPhiCase2Close0() throws IOException {
|
||||
compileAndCompare("call-banked-phi-case-2-close-0.c");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testProcedureCallingConventionPhiBank3() throws IOException {
|
||||
compileAndCompare("procedure-callingconvention-phi-bank-3.c");
|
||||
public void testBankedPhiCase2Close1() throws IOException {
|
||||
compileAndCompare("call-banked-phi-case-2-close-1.c");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testProcedureCallingConventionPhiBank4() throws IOException {
|
||||
compileAndCompare("procedure-callingconvention-phi-bank-4.c");
|
||||
public void testBankedPhiCase3Near0() throws IOException {
|
||||
compileAndCompare("call-banked-phi-case-3-near-0.c");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testProcedureCallingConventionPhiBank5() throws IOException {
|
||||
compileAndCompare("procedure-callingconvention-phi-bank-5.c");
|
||||
public void testBankedPhiCase3Near1() throws IOException {
|
||||
compileAndCompare("call-banked-phi-case-3-near-1.c");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testProcedureCallingConventionStackBank5() throws IOException {
|
||||
compileAndCompare("procedure-callingconvention-stack-bank-5.c");
|
||||
public void testBankedPhiCase4Near0() throws IOException {
|
||||
compileAndCompare("call-banked-phi-case-4-near-0.c");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testProcedureCallingConventionStackBank4() throws IOException {
|
||||
compileAndCompare("procedure-callingconvention-stack-bank-4.c");
|
||||
public void testBankedPhiCase4Near1() throws IOException {
|
||||
compileAndCompare("call-banked-phi-case-4-near-1.c");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testProcedureCallingConventionStackBank3() throws IOException {
|
||||
compileAndCompare("procedure-callingconvention-stack-bank-3.c");
|
||||
public void testBankedPhiCase5Far0() throws IOException {
|
||||
compileAndCompare("call-banked-phi-case-5-far-0.c");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testProcedureCallingConventionStackBank2() throws IOException {
|
||||
compileAndCompare("procedure-callingconvention-stack-bank-2.c");
|
||||
public void testBankedPhiCase5Far1() throws IOException {
|
||||
compileAndCompare("call-banked-phi-case-5-far-1.c");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testProcedureCallingConventionStackBank1() throws IOException {
|
||||
compileAndCompare("procedure-callingconvention-stack-bank-1.c");
|
||||
public void testBankedPhiCase6Close0() throws IOException {
|
||||
compileAndCompare("call-banked-phi-case-6-close-0.c");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testProcedureCallingConventionStackBank0() throws IOException {
|
||||
compileAndCompare("procedure-callingconvention-stack-bank-0.c");
|
||||
public void testBankedPhiCase6Close1() throws IOException {
|
||||
compileAndCompare("call-banked-phi-case-6-close-1.c");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testBankedStackCase2Close0() throws IOException {
|
||||
assertError("call-banked-stack-case-2-close-0.c", "Stack Call procedure not supported in banked mode");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testBankedStackCase5Far0() throws IOException {
|
||||
assertError("call-banked-stack-case-5-far-0.c", "Stack Call procedure not supported in banked mode");
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void testProcedureCallingConventionStack13() throws IOException {
|
||||
compileAndCompare("procedure-callingconvention-stack-13.c");
|
||||
|
@ -1,14 +1,15 @@
|
||||
// Test a procedure with calling convention PHI - case #1
|
||||
|
||||
#pragma code_seg(Code)
|
||||
#pragma link("call-banked-phi.ld")
|
||||
|
||||
char* const SCREEN = (char*)0x0400;
|
||||
|
||||
#pragma code_seg(Code)
|
||||
void main(void) {
|
||||
SCREEN[0] = plus('0', 7);
|
||||
SCREEN[0] = plus('0', 7); // near call
|
||||
}
|
||||
|
||||
#pragma code_seg(Code)
|
||||
char plus(char a, char b) {
|
||||
return a+b;
|
||||
}
|
||||
|
@ -1,14 +1,20 @@
|
||||
// Test a procedure with calling convention PHI - case #1
|
||||
|
||||
#pragma code_seg(Code)
|
||||
#pragma link("call-banked-phi.ld")
|
||||
|
||||
char* const SCREEN = (char*)0x0400;
|
||||
|
||||
#pragma code_seg(Code)
|
||||
void main(void) {
|
||||
SCREEN[0] = plus('0', 7);
|
||||
SCREEN[0] = plus('0', 7); // near call
|
||||
}
|
||||
|
||||
#pragma code_seg(Code)
|
||||
char plus(char a, char b) {
|
||||
return min(a, b); // near call
|
||||
}
|
||||
|
||||
#pragma code_seg(Code)
|
||||
char min(char a, char b) {
|
||||
return a+b;
|
||||
}
|
||||
|
@ -2,16 +2,15 @@
|
||||
|
||||
#pragma link("call-banked-phi.ld")
|
||||
|
||||
|
||||
char* const SCREEN = (char*)0x0400;
|
||||
|
||||
#pragma code_seg(Code)
|
||||
void main(void) {
|
||||
SCREEN[0] = plus('0', 7); // close call
|
||||
}
|
||||
|
||||
#pragma code_seg(RAM_Bank1)
|
||||
__bank(cx16_ram,1) char plus(char a, char b) {
|
||||
return a+b;
|
||||
}
|
||||
|
||||
#pragma code_seg(Code)
|
||||
void main(void) {
|
||||
SCREEN[0] = plus('0', 7);
|
||||
}
|
||||
|
||||
|
@ -5,13 +5,18 @@
|
||||
|
||||
char* const SCREEN = (char*)0x0400;
|
||||
|
||||
#pragma code_seg(Code)
|
||||
void main(void) {
|
||||
SCREEN[0] = plus('0', 7); // close call
|
||||
}
|
||||
|
||||
#pragma code_seg(RAM_Bank1)
|
||||
__bank(cx16_ram,1) char plus(char a, char b) {
|
||||
#pragma bank(cx16_ram, 1)
|
||||
char plus(char a, char b) {
|
||||
return a+b;
|
||||
}
|
||||
|
||||
#pragma code_seg(Code)
|
||||
void main(void) {
|
||||
SCREEN[0] = plus('0', 7);
|
||||
}
|
||||
#pragma nobank(dummy)
|
||||
|
||||
|
||||
|
@ -2,21 +2,21 @@
|
||||
|
||||
#pragma link("call-banked-phi.ld")
|
||||
|
||||
|
||||
char* const SCREEN = (char*)0x0400;
|
||||
|
||||
#pragma code_seg(Code)
|
||||
void main(void) {
|
||||
SCREEN[0] = plus('0', 7); // close call
|
||||
}
|
||||
|
||||
#pragma code_seg(RAM_Bank1)
|
||||
__bank(cx16_ram,1) char plus(char a, char b) {
|
||||
return min(a, b); // near call
|
||||
}
|
||||
|
||||
#pragma code_seg(Code)
|
||||
char min(char a, char b) {
|
||||
return a+b;
|
||||
}
|
||||
|
||||
#pragma code_seg(RAM_Bank1)
|
||||
__bank(cx16_ram,1) char plus(char a, char b) {
|
||||
return min(a, b);
|
||||
}
|
||||
|
||||
#pragma code_seg(Code)
|
||||
void main(void) {
|
||||
SCREEN[0] = plus('0', 7);
|
||||
}
|
||||
|
||||
|
@ -2,21 +2,23 @@
|
||||
|
||||
#pragma link("call-banked-phi.ld")
|
||||
|
||||
|
||||
char* const SCREEN = (char*)0x0400;
|
||||
|
||||
#pragma code_seg(Code)
|
||||
void main(void) {
|
||||
SCREEN[0] = plus('0', 7); // close call
|
||||
}
|
||||
|
||||
#pragma code_seg(RAM_Bank1)
|
||||
#pragma bank(cx16_ram, 1)
|
||||
char plus(char a, char b) {
|
||||
return min(a, b); // near call
|
||||
}
|
||||
|
||||
#pragma code_seg(Code)
|
||||
#pragma nobank(dummy)
|
||||
char min(char a, char b) {
|
||||
return a+b;
|
||||
}
|
||||
|
||||
#pragma code_seg(RAM_Bank1)
|
||||
__bank(cx16_ram,1) char plus(char a, char b) {
|
||||
return min(a, b);
|
||||
}
|
||||
|
||||
#pragma code_seg(Code)
|
||||
void main(void) {
|
||||
SCREEN[0] = plus('0', 7);
|
||||
}
|
||||
|
||||
|
@ -7,12 +7,12 @@ char* const SCREEN = (char*)0x0400;
|
||||
|
||||
#pragma code_seg(Code)
|
||||
void main(void) {
|
||||
SCREEN[0] = plus('0', 7);
|
||||
SCREEN[0] = plus('0', 7); // close call
|
||||
}
|
||||
|
||||
#pragma code_seg(RAM_Bank1)
|
||||
char __bank(cx16_ram, 1) plus(char a, char b) {
|
||||
return min(a, b);
|
||||
return min(a, b); // near call
|
||||
}
|
||||
|
||||
#pragma code_seg(RAM_Bank1)
|
||||
|
@ -2,20 +2,24 @@
|
||||
|
||||
#pragma link("call-banked-phi.ld")
|
||||
|
||||
|
||||
char* const SCREEN = (char*)0x0400;
|
||||
|
||||
#pragma code_seg(Code)
|
||||
void main(void) {
|
||||
SCREEN[0] = plus('0', 7);
|
||||
SCREEN[0] = plus('0', 7); // close call
|
||||
}
|
||||
|
||||
#pragma code_seg(RAM_Bank1)
|
||||
char __bank(cx16_ram, 1) plus(char a, char b) {
|
||||
return min(a, b);
|
||||
#pragma bank(cx16_ram, 1)
|
||||
char plus(char a, char b) {
|
||||
return min(a, b); // near call
|
||||
}
|
||||
|
||||
#pragma code_seg(RAM_Bank1)
|
||||
char __bank(cx16_ram, 1) min(char a, char b) {
|
||||
#pragma bank(cx16_ram, 1)
|
||||
char min(char a, char b) {
|
||||
return a+b;
|
||||
}
|
||||
|
||||
#pragma code_seg(Code)
|
||||
#pragma nobank(dummy)
|
||||
|
@ -2,20 +2,19 @@
|
||||
|
||||
#pragma link("call-banked-phi.ld")
|
||||
|
||||
|
||||
char* const SCREEN = (char*)0x0400;
|
||||
|
||||
#pragma code_seg(Code)
|
||||
void main(void) {
|
||||
SCREEN[0] = plus('0', 7);
|
||||
SCREEN[0] = plus('0', 7); // close call
|
||||
}
|
||||
|
||||
#pragma code_seg(RAM_Bank1)
|
||||
char __bank(cx16_ram, 1) plus(char a, char b) {
|
||||
return min(a, b);
|
||||
__bank(cx16_ram, 1) char plus(char a, char b) {
|
||||
return min(a, b); // far call
|
||||
}
|
||||
|
||||
#pragma code_seg(RAM_Bank2)
|
||||
char __bank(cx16_ram, 2) min(char a, char b) {
|
||||
__bank(cx16_ram, 2) char min(char a, char b) {
|
||||
return a+b;
|
||||
}
|
||||
|
@ -2,20 +2,24 @@
|
||||
|
||||
#pragma link("call-banked-phi.ld")
|
||||
|
||||
|
||||
char* const SCREEN = (char*)0x0400;
|
||||
|
||||
#pragma code_seg(Code)
|
||||
void main(void) {
|
||||
SCREEN[0] = plus('0', 7);
|
||||
SCREEN[0] = plus('0', 7); // close call
|
||||
}
|
||||
|
||||
#pragma code_seg(RAM_Bank1)
|
||||
char __bank(cx16_ram, 1) plus(char a, char b) {
|
||||
return min(a, b);
|
||||
#pragma bank(cx16_ram, 1)
|
||||
char plus(char a, char b) {
|
||||
return min(a, b); // far call
|
||||
}
|
||||
|
||||
#pragma code_seg(RAM_Bank2)
|
||||
char __bank(cx16_ram, 2) min(char a, char b) {
|
||||
#pragma bank(cx16_ram, 2)
|
||||
char min(char a, char b) {
|
||||
return a+b;
|
||||
}
|
||||
|
||||
#pragma code_seg(RAM_Bank2)
|
||||
#pragma nobank(dummy)
|
||||
|
@ -10,11 +10,11 @@ void main(void) {
|
||||
}
|
||||
|
||||
#pragma code_seg(RAM_Bank1)
|
||||
__bank(cx16_ram, 1) plus(char a, char b) {
|
||||
return min(a, b); // near call
|
||||
__bank(cx16_ram, 1) char plus(char a, char b) {
|
||||
return min(a, b); // close call
|
||||
}
|
||||
|
||||
#pragma code_seg(ROM_Bank1)
|
||||
__bank(cx16_rom, 1) min(char a, char b) {
|
||||
__bank(cx16_rom, 1) char min(char a, char b) {
|
||||
return a+b;
|
||||
}
|
||||
|
@ -12,7 +12,7 @@ void main(void) {
|
||||
#pragma code_seg(RAM_Bank1)
|
||||
#pragma bank(cx16_ram, 1)
|
||||
char plus(char a, char b) {
|
||||
return min(a, b); // near call
|
||||
return min(a, b); // close call
|
||||
}
|
||||
|
||||
#pragma code_seg(ROM_Bank1)
|
||||
|
@ -1,7 +1,13 @@
|
||||
.segmentdef Program [segments="Basic, Code, Data, stage, platform"]
|
||||
.file [name="%O", type="prg", segments="Program"]
|
||||
.segmentdef Program [segments="Basic, Code, Data"]
|
||||
.segmentdef Basic [start=$0801]
|
||||
.segmentdef Code [start=%P]
|
||||
.segmentdef Data [startAfter="Code"]
|
||||
.segmentdef stage [start=$0400, min=$0400, max=$07FF, align=$100]
|
||||
.segmentdef platform [start=$C000, min=$C000, max=$C7FF, align=$100]
|
||||
.segmentdef RAM_Bank1 [start=$A000, min=$A000, max=$BFFF, align=$100]
|
||||
.segmentdef RAM_Bank2 [start=$A000, min=$A000, max=$BFFF, align=$100]
|
||||
.segmentdef ROM_Bank1 [start=$C000, min=$C000, max=$FFFF, align=$100]
|
||||
.segment Basic
|
||||
:BasicUpstart(%E)
|
||||
.segment Code
|
||||
.segment Data
|
||||
|
||||
|
@ -6,10 +6,10 @@ char* const SCREEN = (char*)0x0400;
|
||||
|
||||
#pragma code_seg(Code)
|
||||
void main(void) {
|
||||
SCREEN[0] = plus('0', 7); // near stack call
|
||||
SCREEN[0] = plus('0', 7); // close stack call
|
||||
}
|
||||
|
||||
#pragma code_seg(Code)
|
||||
__stackcall char plus(char a, char b) {
|
||||
#pragma code_seg(Bank1)
|
||||
__stackcall __bank(cx16_ram, 1) char plus(char a, char b) {
|
||||
return a+b;
|
||||
}
|
||||
|
@ -10,11 +10,11 @@ void main(void) {
|
||||
}
|
||||
|
||||
#pragma code_seg(RAM_Bank1)
|
||||
char __bank(cx16_ram, 1) plus(char a, char b) {
|
||||
__bank(cx16_ram, 1) char plus(char a, char b) {
|
||||
return min(a, b); // far call
|
||||
}
|
||||
|
||||
#pragma code_seg(RAM_Bank2)
|
||||
char __bank(cx16_ram, 2) min(char a, char b) {
|
||||
__stackcall __bank(cx16_ram, 2) char min(char a, char b) {
|
||||
return a+b;
|
||||
}
|
||||
|
@ -1,20 +0,0 @@
|
||||
|
||||
|
||||
// Function declarations
|
||||
// char add_a(char a);
|
||||
// char add_b(char a);
|
||||
// char add_c(char a);
|
||||
// char add_d(char a);
|
||||
// char add_e(char a);
|
||||
// char add_f(char a);
|
||||
|
||||
// char add_m(char a);
|
||||
|
||||
// char mul_a(char m);
|
||||
// char mul_b(char m);
|
||||
// char mul_c(char m);
|
||||
// char mul_d(char m);
|
||||
// char mul_e(char m);
|
||||
// char mul_f(char m);
|
||||
|
||||
// char mul_m(char m);
|
@ -10,105 +10,107 @@
|
||||
*/
|
||||
|
||||
// The linker specification of the different segments.
|
||||
#pragma link("cx16-banking-1.ld")
|
||||
#pragma link("cx16-banking.ld")
|
||||
#pragma var_model(mem)
|
||||
|
||||
#include <cx16.h>
|
||||
// #include <cx16.h>
|
||||
#include <conio.h>
|
||||
#include <printf.h>
|
||||
#include <cx16-kernal.h>
|
||||
|
||||
// The target computer platform is the Commander X16,
|
||||
// which implements banking in ram between 0xA0000 and 0xBFFF,
|
||||
// and in ram between 0xC000 and 0xFFFF.
|
||||
#pragma target(cx16)
|
||||
|
||||
|
||||
#pragma code_seg(Bank1) // The sequent functions will be addressed specified by segment bank1 in the linker.
|
||||
#pragma bank(ram, 1) // The sequent functions will be banked using call method ram in bank number 1.
|
||||
|
||||
|
||||
// Functional code
|
||||
|
||||
__address(0x00) char RAM_Bank;
|
||||
|
||||
#pragma code_seg(Bank1) // The sequent functions will be addressed specified by segment bank1 in the linker.
|
||||
#pragma bank(cx16_ram, 1) // The sequent functions will be banked using call method ram in bank number 1.
|
||||
|
||||
char add_a(char a) {
|
||||
printf("add_a(%02x:%04p), ",bank_get_bram(), (void*)&add_a);
|
||||
printf("add_a(%02x), ", RAM_Bank);
|
||||
return a+1;
|
||||
}
|
||||
|
||||
char add_c(char a) {
|
||||
printf("add_c(%02x:%04p), ",bank_get_bram(),(void*)&add_c);
|
||||
printf("add_c(%02x), ", RAM_Bank);
|
||||
return add_a(a)+1; // Non banked call in ram bank 1.
|
||||
}
|
||||
|
||||
char add_d(char a) {
|
||||
printf("add_d(%02x:%04p), ",bank_get_bram(),(void*)&add_d);
|
||||
printf("add_d(%02x), ",RAM_Bank);
|
||||
return mul_a(a)+1; // Banked call fram ram bank 1 to ram bank 2.
|
||||
}
|
||||
|
||||
char add_e(char a) {
|
||||
printf("add_e(%02x:%04p), ",bank_get_bram(),(void*)&add_e);
|
||||
printf("add_e(%02x), ",RAM_Bank);
|
||||
return mul_b(a)+1; // Banked call fram ram bank 1 to ram bank 2.
|
||||
}
|
||||
|
||||
char add_f(char a) {
|
||||
printf("add_f(%02x:%04p), ",bank_get_bram(),(void*)&add_f);
|
||||
printf("add_f(%02x), ",RAM_Bank);
|
||||
return add_m(a)+1; // Non banked call fram ram bank 1 to main memory.
|
||||
}
|
||||
|
||||
|
||||
#pragma code_seg(Bank2) // The sequent functions will be addressed specified by segment bank2 in the linker.
|
||||
#pragma bank(ram, 2) // The sequent functions will be banked using call method ram in bank number 2.
|
||||
#pragma bank(cx16_ram, 2) // The sequent functions will be banked using call method ram in bank number 2.
|
||||
|
||||
char mul_a(char m) {
|
||||
printf("mul_a(%02x:%04p), ",bank_get_bram(),(void*)&mul_a);
|
||||
printf("mul_a(%02x), ",RAM_Bank);
|
||||
return m * 2;
|
||||
}
|
||||
|
||||
char mul_c(char m) {
|
||||
printf("mul_c(%02x:%04p), ",bank_get_bram(),(void*)&mul_c);
|
||||
printf("mul_c(%02x), ",RAM_Bank);
|
||||
return add_a(m)*2; // Banked call fram ram bank 2 to ram bank 1.
|
||||
}
|
||||
|
||||
char mul_d(char m) {
|
||||
printf("mul_d(%02x:%04p), ",bank_get_bram(),(void*)&mul_d);
|
||||
printf("mul_d(%02x), ",RAM_Bank);
|
||||
return mul_a(m)*2; // Non banked call in ram bank 2.
|
||||
}
|
||||
|
||||
char mul_e(char a) {
|
||||
printf("mul_e(%02x:%04p), ",bank_get_bram(),(void*)&mul_e);
|
||||
printf("mul_e(%02x), ",RAM_Bank);
|
||||
return mul_b(a)*2; // Non Banked call in ram bank 2.
|
||||
}
|
||||
|
||||
char mul_f(char m) {
|
||||
printf("mul_f(%02x:%04p), ",bank_get_bram(),(void*)&mul_f);
|
||||
printf("mul_f(%02x), ",RAM_Bank);
|
||||
return add_m(m)*2; // Non banked call fram ram bank 2 to main memory.
|
||||
}
|
||||
|
||||
|
||||
#pragma code_seg(Code) // The sequent functions will be addressed in the default main memory location (segment Code).
|
||||
#pragma nobank(dummy) // The sequent functions will consider no banking calculations anymore.
|
||||
|
||||
#pragma code_seg(Bank1) // The sequent functions will be addressed specified by segment bank1 in the linker.
|
||||
// The __bank directive declares this function to be banked using call method ram in bank number 1 of banked ram.
|
||||
char __bank(ram, 1) add_b(char a) {
|
||||
printf("add_b(%02x:%04p), ",bank_get_bram(),(void*)&add_b);
|
||||
char __bank(cx16_ram, 1) add_b(char a) {
|
||||
printf("add_b(%02x), ",RAM_Bank);
|
||||
return a+1;
|
||||
}
|
||||
|
||||
#pragma code_seg(Bank2) // The sequent functions will be addressed specified by segment bank1 in the linker.
|
||||
// The __bank directive declares this function to be banked using call method ram in bank number 2 of banked ram.
|
||||
char __bank(ram, 2) mul_b(char m) {
|
||||
printf("mul_b(%02x:%04p), ",bank_get_bram(),(void*)&mul_b);
|
||||
char __bank(cx16_ram, 2) mul_b(char m) {
|
||||
printf("mul_b(%02x), ",RAM_Bank);
|
||||
return m*2;
|
||||
}
|
||||
|
||||
#pragma code_seg(Code) // The sequent functions will be addressed in the default main memory location (segment Code).
|
||||
|
||||
// Allocated in main memory.
|
||||
char add_m(char a) {
|
||||
printf("add_m(%02x:%04p), ",bank_get_bram(),(void*)&add_m);
|
||||
printf("add_m(%02x), ",RAM_Bank);
|
||||
return add_e(a)+1; // Banked call to ram in bank 1 fram main memory.
|
||||
}
|
||||
|
||||
// Allocated in main memory.
|
||||
char mul_m(char m) {
|
||||
printf("mul_m(%02x:%04p), ",bank_get_bram(),(void*)&mul_m);
|
||||
printf("mul_m(%02x), ",RAM_Bank);
|
||||
return mul_e(m)*2; // Banked call to ram in bank 2 fram main memory.
|
||||
}
|
||||
|
||||
@ -116,50 +118,73 @@ char mul_m(char m) {
|
||||
// Practically this means that the main() function is placed in main memory ...
|
||||
|
||||
void load_bank(char bank, char *file) {
|
||||
bank_set_bram(bank);
|
||||
cbm_k_setnam(file);
|
||||
cbm_k_setlfs(1,8,2);
|
||||
cbm_k_load((char*)0xA000, 0);
|
||||
cbm_k_close(1);
|
||||
RAM_Bank = bank;
|
||||
|
||||
//cbm_k_setnam(file);
|
||||
char file_len = strlen(file);
|
||||
asm {
|
||||
lda file_len
|
||||
ldx <file
|
||||
ldy >file
|
||||
jsr $FFBD
|
||||
}
|
||||
|
||||
//cbm_k_setlfs(1,8,2);
|
||||
asm {
|
||||
lda #1
|
||||
ldx #8
|
||||
ldy #2
|
||||
jsr $FFBA
|
||||
}
|
||||
|
||||
//cbm_k_load((char*)0xA000, 0);
|
||||
asm {
|
||||
lda #0
|
||||
ldx #<$A000
|
||||
ldy #>$A000
|
||||
jsr $FFD5
|
||||
}
|
||||
|
||||
//cbm_k_close(1);
|
||||
asm {
|
||||
lda #1
|
||||
jsr $FFC3
|
||||
}
|
||||
}
|
||||
|
||||
void main(void) {
|
||||
|
||||
clrscr();
|
||||
cx16_k_screen_set_charset(1,0);
|
||||
|
||||
load_bank(1, "BANK1.BIN");
|
||||
load_bank(2, "BANK2.BIN");
|
||||
|
||||
bank_set_bram(0);
|
||||
RAM_Bank = 0;
|
||||
|
||||
asm{.byte $db}
|
||||
__export char result = add_a(1);
|
||||
printf("result = %u\n", result); // Banked call to ram in bank 1 fram main memory.
|
||||
// asm{.byte $db}
|
||||
// printf("result = %u\n", add_b(1)); // Banked call to ram in bank 1 fram main memory.
|
||||
// asm{.byte $db}
|
||||
// printf("result = %u\n", add_c(1)); // Banked call to ram in bank 1 fram main memory.
|
||||
// asm{.byte $db}
|
||||
// printf("result = %u\n", add_d(1)); // Banked call to ram in bank 1 fram main memory.
|
||||
// asm{.byte $db}
|
||||
// printf("result = %u\n", add_e(1)); // Banked call to ram in bank 1 fram main memory.
|
||||
// asm{.byte $db}
|
||||
// printf("result = %u\n", add_f(1)); // Banked call to ram in bank 1 fram main memory.
|
||||
// asm{.byte $db}
|
||||
// printf("result = %u\n", mul_a(1)); // Banked call to ram in bank 2 fram main memory.
|
||||
// asm{.byte $db}
|
||||
// printf("result = %u\n", mul_b(1)); // Banked call to ram in bank 2 fram main memory.
|
||||
// asm{.byte $db}
|
||||
// printf("result = %u\n", mul_c(1)); // Banked call to ram in bank 2 fram main memory.
|
||||
// asm{.byte $db}
|
||||
// printf("result = %u\n", mul_d(1)); // Banked call to ram in bank 2 fram main memory.
|
||||
// asm{.byte $db}
|
||||
// printf("result = %u\n", mul_e(1)); // banked call to ram in bank 2 fram main memory.
|
||||
// asm{.byte $db}
|
||||
// printf("result = %u\n", mul_f(1)); // banked call to ram in bank 2 fram main memory.
|
||||
// asm{.byte $db}
|
||||
// printf("result = %u\n", add_m(1)); // Near call in main memory fram main memory.
|
||||
// asm{.byte $db}
|
||||
// printf("result = %u\n", mul_m(1)); // Near call in main memory fram main memory.
|
||||
}
|
||||
printf("result = %u\n", add_a(1)); // Banked call to ram in bank 1 fram main memory.
|
||||
asm{.byte $db}
|
||||
printf("result = %u\n", add_b(1)); // Banked call to ram in bank 1 fram main memory.
|
||||
asm{.byte $db}
|
||||
printf("result = %u\n", add_c(1)); // Banked call to ram in bank 1 fram main memory.
|
||||
asm{.byte $db}
|
||||
printf("result = %u\n", add_d(1)); // Banked call to ram in bank 1 fram main memory.
|
||||
asm{.byte $db}
|
||||
printf("result = %u\n", add_e(1)); // Banked call to ram in bank 1 fram main memory.
|
||||
asm{.byte $db}
|
||||
printf("result = %u\n", add_f(1)); // Banked call to ram in bank 1 fram main memory.
|
||||
asm{.byte $db}
|
||||
printf("result = %u\n", mul_a(1)); // Banked call to ram in bank 2 fram main memory.
|
||||
asm{.byte $db}
|
||||
printf("result = %u\n", mul_b(1)); // Banked call to ram in bank 2 fram main memory.
|
||||
asm{.byte $db}
|
||||
printf("result = %u\n", mul_c(1)); // Banked call to ram in bank 2 fram main memory.
|
||||
asm{.byte $db}
|
||||
printf("result = %u\n", mul_d(1)); // Banked call to ram in bank 2 fram main memory.
|
||||
asm{.byte $db}
|
||||
printf("result = %u\n", mul_e(1)); // banked call to ram in bank 2 fram main memory.
|
||||
asm{.byte $db}
|
||||
printf("result = %u\n", mul_f(1)); // banked call to ram in bank 2 fram main memory.
|
||||
asm{.byte $db}
|
||||
printf("result = %u\n", add_m(1)); // Near call in main memory fram main memory.
|
||||
asm{.byte $db}
|
||||
printf("result = %u\n", mul_m(1)); // Near call in main memory fram main memory.
|
||||
}
|
||||
|
14
src/test/kc/examples/cx16/banking/cx16-banking.ld
Normal file
14
src/test/kc/examples/cx16/banking/cx16-banking.ld
Normal file
@ -0,0 +1,14 @@
|
||||
.file [name="%O", type="prg", segments="Program"]
|
||||
.file [name="BANK1.BIN", type="bin", segments="Bank1"]
|
||||
.file [name="BANK2.BIN", type="bin", segments="Bank2"]
|
||||
.segmentdef Program [segments="Basic, Code, Data"]
|
||||
.segmentdef Basic [start=$0801]
|
||||
.segmentdef Code [start=%P]
|
||||
.segmentdef Data [startAfter="Code"]
|
||||
.segmentdef Bank1 [start=$A000, min=$A000, max=$BFFF, align=$100]
|
||||
.segmentdef Bank2 [start=$A000, min=$A000, max=$BFFF, align=$100]
|
||||
.segment Basic
|
||||
:BasicUpstart(%E)
|
||||
.segment Code
|
||||
.segment Data
|
||||
|
@ -152,7 +152,7 @@ __start: {
|
||||
// __start::@1
|
||||
__b1:
|
||||
// [3] call main
|
||||
// [5] phi from __start::@1 to main [phi:__start::@1->main]
|
||||
// [5] phi from __start::@1 to main [phi:__start::@1->main] -- call_phi_near
|
||||
main_from___b1:
|
||||
jsr main
|
||||
jmp __breturn
|
||||
@ -241,7 +241,7 @@ __start: {
|
||||
// [2] phi from __start::__init1 to __start::@1 [phi:__start::__init1->__start::@1]
|
||||
// __start::@1
|
||||
// [3] call main
|
||||
// [5] phi from __start::@1 to main [phi:__start::@1->main]
|
||||
// [5] phi from __start::@1 to main [phi:__start::@1->main] -- call_phi_near
|
||||
jsr main
|
||||
// __start::@return
|
||||
// [4] return
|
||||
|
@ -152,7 +152,7 @@ __start: {
|
||||
// __start::@1
|
||||
__b1:
|
||||
// [3] call main
|
||||
// [5] phi from __start::@1 to main [phi:__start::@1->main]
|
||||
// [5] phi from __start::@1 to main [phi:__start::@1->main] -- call_phi_near
|
||||
main_from___b1:
|
||||
jsr main
|
||||
jmp __breturn
|
||||
@ -241,7 +241,7 @@ __start: {
|
||||
// [2] phi from __start::__init1 to __start::@1 [phi:__start::__init1->__start::@1]
|
||||
// __start::@1
|
||||
// [3] call main
|
||||
// [5] phi from __start::@1 to main [phi:__start::@1->main]
|
||||
// [5] phi from __start::@1 to main [phi:__start::@1->main] -- call_phi_near
|
||||
jsr main
|
||||
// __start::@return
|
||||
// [4] return
|
||||
|
@ -181,7 +181,7 @@ __start: {
|
||||
jmp __b1
|
||||
// __start::@1
|
||||
__b1:
|
||||
// [3] call main
|
||||
// [3] call main -- call_phi_near
|
||||
jsr main
|
||||
jmp __breturn
|
||||
// __start::@return
|
||||
@ -194,7 +194,7 @@ main: {
|
||||
// [5] print::ch = 'c' -- vbuz1=vbuc1
|
||||
lda #'c'
|
||||
sta.z print.ch
|
||||
// [6] call print
|
||||
// [6] call print -- call_phi_near
|
||||
jsr print
|
||||
jmp __b1
|
||||
// main::@1
|
||||
@ -202,7 +202,7 @@ main: {
|
||||
// [7] print::ch = 'm' -- vbuz1=vbuc1
|
||||
lda #'m'
|
||||
sta.z print.ch
|
||||
// [8] call print
|
||||
// [8] call print -- call_phi_near
|
||||
jsr print
|
||||
jmp __b2
|
||||
// main::@2
|
||||
@ -210,7 +210,7 @@ main: {
|
||||
// [9] print::ch = 'l' -- vbuz1=vbuc1
|
||||
lda #'l'
|
||||
sta.z print.ch
|
||||
// [10] call print
|
||||
// [10] call print -- call_phi_near
|
||||
jsr print
|
||||
jmp __breturn
|
||||
// main::@return
|
||||
@ -295,7 +295,7 @@ __start: {
|
||||
sta.z idx
|
||||
// [2] phi from __start::__init1 to __start::@1 [phi:__start::__init1->__start::@1]
|
||||
// __start::@1
|
||||
// [3] call main
|
||||
// [3] call main -- call_phi_near
|
||||
jsr main
|
||||
// __start::@return
|
||||
// [4] return
|
||||
@ -307,21 +307,21 @@ main: {
|
||||
// [5] print::ch = 'c' -- vbuz1=vbuc1
|
||||
lda #'c'
|
||||
sta.z print.ch
|
||||
// [6] call print
|
||||
// [6] call print -- call_phi_near
|
||||
jsr print
|
||||
// main::@1
|
||||
// print('m')
|
||||
// [7] print::ch = 'm' -- vbuz1=vbuc1
|
||||
lda #'m'
|
||||
sta.z print.ch
|
||||
// [8] call print
|
||||
// [8] call print -- call_phi_near
|
||||
jsr print
|
||||
// main::@2
|
||||
// print('l')
|
||||
// [9] print::ch = 'l' -- vbuz1=vbuc1
|
||||
lda #'l'
|
||||
sta.z print.ch
|
||||
// [10] call print
|
||||
// [10] call print -- call_phi_near
|
||||
jsr print
|
||||
// main::@return
|
||||
// }
|
||||
|
@ -181,7 +181,7 @@ __start: {
|
||||
jmp __b1
|
||||
// __start::@1
|
||||
__b1:
|
||||
// [3] call main
|
||||
// [3] call main -- call_phi_near
|
||||
jsr main
|
||||
jmp __breturn
|
||||
// __start::@return
|
||||
@ -194,7 +194,7 @@ main: {
|
||||
// [5] print::ch = 'c' -- vbuz1=vbuc1
|
||||
lda #'c'
|
||||
sta.z print.ch
|
||||
// [6] call print
|
||||
// [6] call print -- call_phi_near
|
||||
jsr print
|
||||
jmp __b1
|
||||
// main::@1
|
||||
@ -202,7 +202,7 @@ main: {
|
||||
// [7] print::ch = 'm' -- vbuz1=vbuc1
|
||||
lda #'m'
|
||||
sta.z print.ch
|
||||
// [8] call print
|
||||
// [8] call print -- call_phi_near
|
||||
jsr print
|
||||
jmp __b2
|
||||
// main::@2
|
||||
@ -210,7 +210,7 @@ main: {
|
||||
// [9] print::ch = 'l' -- vbuz1=vbuc1
|
||||
lda #'l'
|
||||
sta.z print.ch
|
||||
// [10] call print
|
||||
// [10] call print -- call_phi_near
|
||||
jsr print
|
||||
jmp __breturn
|
||||
// main::@return
|
||||
@ -295,7 +295,7 @@ __start: {
|
||||
sta idx
|
||||
// [2] phi from __start::__init1 to __start::@1 [phi:__start::__init1->__start::@1]
|
||||
// __start::@1
|
||||
// [3] call main
|
||||
// [3] call main -- call_phi_near
|
||||
jsr main
|
||||
// __start::@return
|
||||
// [4] return
|
||||
@ -307,21 +307,21 @@ main: {
|
||||
// [5] print::ch = 'c' -- vbuz1=vbuc1
|
||||
lda #'c'
|
||||
sta.z print.ch
|
||||
// [6] call print
|
||||
// [6] call print -- call_phi_near
|
||||
jsr print
|
||||
// main::@1
|
||||
// print('m')
|
||||
// [7] print::ch = 'm' -- vbuz1=vbuc1
|
||||
lda #'m'
|
||||
sta.z print.ch
|
||||
// [8] call print
|
||||
// [8] call print -- call_phi_near
|
||||
jsr print
|
||||
// main::@2
|
||||
// print('l')
|
||||
// [9] print::ch = 'l' -- vbuz1=vbuc1
|
||||
lda #'l'
|
||||
sta.z print.ch
|
||||
// [10] call print
|
||||
// [10] call print -- call_phi_near
|
||||
jsr print
|
||||
// main::@return
|
||||
// }
|
||||
|
@ -259,7 +259,7 @@ main: {
|
||||
sta.z setByte.ptr
|
||||
lda #>b1
|
||||
sta.z setByte.ptr+1
|
||||
// [12] phi setByte::b#3 = 'c' [phi:main->setByte#1] -- vbuxx=vbuc1
|
||||
// [12] phi setByte::b#3 = 'c' [phi:main->setByte#1] -- call_phi_near
|
||||
ldx #'c'
|
||||
jsr setByte
|
||||
// [4] phi from main to main::@1 [phi:main->main::@1]
|
||||
@ -275,7 +275,7 @@ main: {
|
||||
sta.z setByte.ptr
|
||||
lda #>b2
|
||||
sta.z setByte.ptr+1
|
||||
// [12] phi setByte::b#3 = 'm' [phi:main::@1->setByte#1] -- vbuxx=vbuc1
|
||||
// [12] phi setByte::b#3 = 'm' [phi:main::@1->setByte#1] -- call_phi_near
|
||||
ldx #'m'
|
||||
jsr setByte
|
||||
// [6] phi from main::@1 to main::@2 [phi:main::@1->main::@2]
|
||||
@ -291,7 +291,7 @@ main: {
|
||||
sta.z setByte.ptr
|
||||
lda #>b3
|
||||
sta.z setByte.ptr+1
|
||||
// [12] phi setByte::b#3 = 'l' [phi:main::@2->setByte#1] -- vbuxx=vbuc1
|
||||
// [12] phi setByte::b#3 = 'l' [phi:main::@2->setByte#1] -- call_phi_near
|
||||
ldx #'l'
|
||||
jsr setByte
|
||||
jmp __b3
|
||||
@ -410,7 +410,7 @@ main: {
|
||||
sta.z setByte.ptr
|
||||
lda #>b1
|
||||
sta.z setByte.ptr+1
|
||||
// [12] phi setByte::b#3 = 'c' [phi:main->setByte#1] -- vbuxx=vbuc1
|
||||
// [12] phi setByte::b#3 = 'c' [phi:main->setByte#1] -- call_phi_near
|
||||
ldx #'c'
|
||||
jsr setByte
|
||||
// [4] phi from main to main::@1 [phi:main->main::@1]
|
||||
@ -423,7 +423,7 @@ main: {
|
||||
sta.z setByte.ptr
|
||||
lda #>b2
|
||||
sta.z setByte.ptr+1
|
||||
// [12] phi setByte::b#3 = 'm' [phi:main::@1->setByte#1] -- vbuxx=vbuc1
|
||||
// [12] phi setByte::b#3 = 'm' [phi:main::@1->setByte#1] -- call_phi_near
|
||||
ldx #'m'
|
||||
jsr setByte
|
||||
// [6] phi from main::@1 to main::@2 [phi:main::@1->main::@2]
|
||||
@ -436,7 +436,7 @@ main: {
|
||||
sta.z setByte.ptr
|
||||
lda #>b3
|
||||
sta.z setByte.ptr+1
|
||||
// [12] phi setByte::b#3 = 'l' [phi:main::@2->setByte#1] -- vbuxx=vbuc1
|
||||
// [12] phi setByte::b#3 = 'l' [phi:main::@2->setByte#1] -- call_phi_near
|
||||
ldx #'l'
|
||||
jsr setByte
|
||||
// main::@3
|
||||
|
@ -367,7 +367,7 @@ __start: {
|
||||
jmp __b1
|
||||
// __start::@1
|
||||
__b1:
|
||||
// [3] call main
|
||||
// [3] call main -- call_phi_near
|
||||
jsr main
|
||||
jmp __breturn
|
||||
// __start::@return
|
||||
@ -417,7 +417,7 @@ main: {
|
||||
// [15] *(main::SCREEN2+3) = *main::ptr -- _deref_pbuc1=_deref_pbuc2
|
||||
lda.z ptr
|
||||
sta SCREEN2+3
|
||||
// [16] call setv
|
||||
// [16] call setv -- call_phi_near
|
||||
// Set value directly in a call
|
||||
jsr setv
|
||||
jmp __b1
|
||||
@ -429,7 +429,7 @@ main: {
|
||||
// [18] *(main::SCREEN2+4) = *main::ptr -- _deref_pbuc1=_deref_pbuc2
|
||||
lda.z ptr
|
||||
sta SCREEN2+4
|
||||
// [19] call setp
|
||||
// [19] call setp -- call_phi_near
|
||||
// Set value through pointer in a call
|
||||
jsr setp
|
||||
jmp __b2
|
||||
@ -545,7 +545,7 @@ __start: {
|
||||
sta.z val
|
||||
// [2] phi from __start::__init1 to __start::@1 [phi:__start::__init1->__start::@1]
|
||||
// __start::@1
|
||||
// [3] call main
|
||||
// [3] call main -- call_phi_near
|
||||
jsr main
|
||||
// __start::@return
|
||||
// [4] return
|
||||
@ -603,7 +603,7 @@ main: {
|
||||
lda.z ptr
|
||||
sta SCREEN2+3
|
||||
// setv(4)
|
||||
// [16] call setv
|
||||
// [16] call setv -- call_phi_near
|
||||
// Set value directly in a call
|
||||
jsr setv
|
||||
// main::@1
|
||||
@ -616,7 +616,7 @@ main: {
|
||||
lda.z ptr
|
||||
sta SCREEN2+4
|
||||
// setp(ptr, 5)
|
||||
// [19] call setp
|
||||
// [19] call setp -- call_phi_near
|
||||
// Set value through pointer in a call
|
||||
jsr setp
|
||||
// main::@2
|
||||
|
@ -332,7 +332,7 @@ main: {
|
||||
sta.z print.p
|
||||
lda #>VALS
|
||||
sta.z print.p+1
|
||||
// [11] phi idx#13 = 0 [phi:main->print#1] -- vbuz1=vbuc1
|
||||
// [11] phi idx#13 = 0 [phi:main->print#1] -- call_phi_near
|
||||
lda #0
|
||||
sta.z idx
|
||||
jsr print
|
||||
@ -349,7 +349,7 @@ main: {
|
||||
sta.z print.p
|
||||
lda #>VALS+1*SIZEOF_INT
|
||||
sta.z print.p+1
|
||||
// [11] phi idx#13 = idx#14 [phi:main::@2->print#1] -- register_copy
|
||||
// [11] phi idx#13 = idx#14 [phi:main::@2->print#1] -- call_phi_near
|
||||
jsr print
|
||||
// [4] phi from main::@2 to main::@1 [phi:main::@2->main::@1]
|
||||
__b1_from___b2:
|
||||
@ -377,7 +377,7 @@ main: {
|
||||
// [11] phi from main::@1 to print [phi:main::@1->print]
|
||||
print_from___b1:
|
||||
// [11] phi print::p#3 = print::p#2 [phi:main::@1->print#0] -- register_copy
|
||||
// [11] phi idx#13 = idx#14 [phi:main::@1->print#1] -- register_copy
|
||||
// [11] phi idx#13 = idx#14 [phi:main::@1->print#1] -- call_phi_near
|
||||
jsr print
|
||||
jmp __b3
|
||||
// main::@3
|
||||
@ -499,7 +499,7 @@ main: {
|
||||
sta.z print.p
|
||||
lda #>VALS
|
||||
sta.z print.p+1
|
||||
// [11] phi idx#13 = 0 [phi:main->print#1] -- vbuz1=vbuc1
|
||||
// [11] phi idx#13 = 0 [phi:main->print#1] -- call_phi_near
|
||||
lda #0
|
||||
sta.z idx
|
||||
jsr print
|
||||
@ -513,7 +513,7 @@ main: {
|
||||
sta.z print.p
|
||||
lda #>VALS+1*SIZEOF_INT
|
||||
sta.z print.p+1
|
||||
// [11] phi idx#13 = idx#14 [phi:main::@2->print#1] -- register_copy
|
||||
// [11] phi idx#13 = idx#14 [phi:main::@2->print#1] -- call_phi_near
|
||||
jsr print
|
||||
// [4] phi from main::@2 to main::@1 [phi:main::@2->main::@1]
|
||||
// [4] phi main::i#2 = 2 [phi:main::@2->main::@1#0] -- vbuz1=vbuc1
|
||||
@ -538,7 +538,7 @@ main: {
|
||||
// [7] call print
|
||||
// [11] phi from main::@1 to print [phi:main::@1->print]
|
||||
// [11] phi print::p#3 = print::p#2 [phi:main::@1->print#0] -- register_copy
|
||||
// [11] phi idx#13 = idx#14 [phi:main::@1->print#1] -- register_copy
|
||||
// [11] phi idx#13 = idx#14 [phi:main::@1->print#1] -- call_phi_near
|
||||
jsr print
|
||||
// main::@3
|
||||
// for(char i:2..3)
|
||||
|
@ -313,7 +313,7 @@ main: {
|
||||
sta.z getValue.index
|
||||
lda #0
|
||||
sta.z getValue.index+1
|
||||
// [3] call getValue
|
||||
// [3] call getValue -- call_phi_near
|
||||
jsr getValue
|
||||
// [4] getValue::return#0 = getValue::return#1
|
||||
jmp __b2
|
||||
@ -451,7 +451,7 @@ main: {
|
||||
sta.z getValue.index
|
||||
lda #0
|
||||
sta.z getValue.index+1
|
||||
// [3] call getValue
|
||||
// [3] call getValue -- call_phi_near
|
||||
jsr getValue
|
||||
// [4] getValue::return#0 = getValue::return#1
|
||||
// main::@2
|
||||
|
@ -135,7 +135,7 @@ main: {
|
||||
// [0] *lda = main::jmp -- _deref_pbuc1=vbuc2
|
||||
lda #jmp
|
||||
sta lda
|
||||
// [1] call bne
|
||||
// [1] call bne -- call_phi_near
|
||||
jsr bne
|
||||
jmp __b1
|
||||
// main::@1
|
||||
@ -215,7 +215,7 @@ main: {
|
||||
lda #jmp
|
||||
sta lda
|
||||
// bne(jmp)
|
||||
// [1] call bne
|
||||
// [1] call bne -- call_phi_near
|
||||
jsr bne
|
||||
// main::@1
|
||||
// asm
|
||||
|
@ -726,7 +726,7 @@ main: {
|
||||
test_from_main:
|
||||
// [23] phi test::i#11 = 0 [phi:main->test#0] -- vbuxx=vbuc1
|
||||
ldx #0
|
||||
// [23] phi test::a#11 = 3 [phi:main->test#1] -- vbuz1=vbuc1
|
||||
// [23] phi test::a#11 = 3 [phi:main->test#1] -- call_phi_near
|
||||
lda #3
|
||||
sta.z test.a
|
||||
jsr test
|
||||
@ -741,7 +741,7 @@ main: {
|
||||
test_from___b1:
|
||||
// [23] phi test::i#11 = 1 [phi:main::@1->test#0] -- vbuxx=vbuc1
|
||||
ldx #1
|
||||
// [23] phi test::a#11 = 3+1 [phi:main::@1->test#1] -- vbuz1=vbuc1
|
||||
// [23] phi test::a#11 = 3+1 [phi:main::@1->test#1] -- call_phi_near
|
||||
lda #3+1
|
||||
sta.z test.a
|
||||
jsr test
|
||||
@ -756,7 +756,7 @@ main: {
|
||||
test_from___b2:
|
||||
// [23] phi test::i#11 = 2 [phi:main::@2->test#0] -- vbuxx=vbuc1
|
||||
ldx #2
|
||||
// [23] phi test::a#11 = 3+1-1 [phi:main::@2->test#1] -- vbuz1=vbuc1
|
||||
// [23] phi test::a#11 = 3+1-1 [phi:main::@2->test#1] -- call_phi_near
|
||||
lda #3+1-1
|
||||
sta.z test.a
|
||||
jsr test
|
||||
@ -771,7 +771,7 @@ main: {
|
||||
test_from___b3:
|
||||
// [23] phi test::i#11 = 3 [phi:main::@3->test#0] -- vbuxx=vbuc1
|
||||
ldx #3
|
||||
// [23] phi test::a#11 = 3+1-1*6 [phi:main::@3->test#1] -- vbuz1=vbuc1
|
||||
// [23] phi test::a#11 = 3+1-1*6 [phi:main::@3->test#1] -- call_phi_near
|
||||
lda #(3+1-1)*6
|
||||
sta.z test.a
|
||||
jsr test
|
||||
@ -786,7 +786,7 @@ main: {
|
||||
test_from___b4:
|
||||
// [23] phi test::i#11 = 4 [phi:main::@4->test#0] -- vbuxx=vbuc1
|
||||
ldx #4
|
||||
// [23] phi test::a#11 = 3+1-1*6/2 [phi:main::@4->test#1] -- vbuz1=vbuc1
|
||||
// [23] phi test::a#11 = 3+1-1*6/2 [phi:main::@4->test#1] -- call_phi_near
|
||||
lda #(3+1-1)*6/2
|
||||
sta.z test.a
|
||||
jsr test
|
||||
@ -801,7 +801,7 @@ main: {
|
||||
test_from___b5:
|
||||
// [23] phi test::i#11 = 5 [phi:main::@5->test#0] -- vbuxx=vbuc1
|
||||
ldx #5
|
||||
// [23] phi test::a#11 = 3+1-1*6/2&2-1 [phi:main::@5->test#1] -- vbuz1=vbuc1
|
||||
// [23] phi test::a#11 = 3+1-1*6/2&2-1 [phi:main::@5->test#1] -- call_phi_near
|
||||
lda #(3+1-1)*6/2&2-1
|
||||
sta.z test.a
|
||||
jsr test
|
||||
@ -816,7 +816,7 @@ main: {
|
||||
test_from___b6:
|
||||
// [23] phi test::i#11 = 6 [phi:main::@6->test#0] -- vbuxx=vbuc1
|
||||
ldx #6
|
||||
// [23] phi test::a#11 = 3+1-1*6/2&2-1<<2 [phi:main::@6->test#1] -- vbuz1=vbuc1
|
||||
// [23] phi test::a#11 = 3+1-1*6/2&2-1<<2 [phi:main::@6->test#1] -- call_phi_near
|
||||
lda #((3+1-1)*6/2&2-1)<<2
|
||||
sta.z test.a
|
||||
jsr test
|
||||
@ -831,7 +831,7 @@ main: {
|
||||
test_from___b7:
|
||||
// [23] phi test::i#11 = 7 [phi:main::@7->test#0] -- vbuxx=vbuc1
|
||||
ldx #7
|
||||
// [23] phi test::a#11 = 3+1-1*6/2&2-1<<2>>1 [phi:main::@7->test#1] -- vbuz1=vbuc1
|
||||
// [23] phi test::a#11 = 3+1-1*6/2&2-1<<2>>1 [phi:main::@7->test#1] -- call_phi_near
|
||||
lda #((3+1-1)*6/2&2-1)<<2>>1
|
||||
sta.z test.a
|
||||
jsr test
|
||||
@ -846,7 +846,7 @@ main: {
|
||||
test_from___b8:
|
||||
// [23] phi test::i#11 = 8 [phi:main::@8->test#0] -- vbuxx=vbuc1
|
||||
ldx #8
|
||||
// [23] phi test::a#11 = 3+1-1*6/2&2-1<<2>>1^6 [phi:main::@8->test#1] -- vbuz1=vbuc1
|
||||
// [23] phi test::a#11 = 3+1-1*6/2&2-1<<2>>1^6 [phi:main::@8->test#1] -- call_phi_near
|
||||
lda #((3+1-1)*6/2&2-1)<<2>>1^6
|
||||
sta.z test.a
|
||||
jsr test
|
||||
@ -861,7 +861,7 @@ main: {
|
||||
test_from___b9:
|
||||
// [23] phi test::i#11 = 9 [phi:main::@9->test#0] -- vbuxx=vbuc1
|
||||
ldx #9
|
||||
// [23] phi test::a#11 = 3+1-1*6/2&2-1<<2>>1^6|1 [phi:main::@9->test#1] -- vbuz1=vbuc1
|
||||
// [23] phi test::a#11 = 3+1-1*6/2&2-1<<2>>1^6|1 [phi:main::@9->test#1] -- call_phi_near
|
||||
lda #((3+1-1)*6/2&2-1)<<2>>1^6|1
|
||||
sta.z test.a
|
||||
jsr test
|
||||
@ -876,7 +876,7 @@ main: {
|
||||
test_from___b10:
|
||||
// [23] phi test::i#11 = $a [phi:main::@10->test#0] -- vbuxx=vbuc1
|
||||
ldx #$a
|
||||
// [23] phi test::a#11 = 3+1-1*6/2&2-1<<2>>1^6|1&1 [phi:main::@10->test#1] -- vbuz1=vbuc1
|
||||
// [23] phi test::a#11 = 3+1-1*6/2&2-1<<2>>1^6|1&1 [phi:main::@10->test#1] -- call_phi_near
|
||||
lda #(((3+1-1)*6/2&2-1)<<2>>1^6|1)&1
|
||||
sta.z test.a
|
||||
jsr test
|
||||
@ -1027,7 +1027,7 @@ main: {
|
||||
// [23] phi from main to test [phi:main->test]
|
||||
// [23] phi test::i#11 = 0 [phi:main->test#0] -- vbuxx=vbuc1
|
||||
ldx #0
|
||||
// [23] phi test::a#11 = 3 [phi:main->test#1] -- vbuz1=vbuc1
|
||||
// [23] phi test::a#11 = 3 [phi:main->test#1] -- call_phi_near
|
||||
lda #3
|
||||
sta.z test.a
|
||||
jsr test
|
||||
@ -1039,7 +1039,7 @@ main: {
|
||||
// [23] phi from main::@1 to test [phi:main::@1->test]
|
||||
// [23] phi test::i#11 = 1 [phi:main::@1->test#0] -- vbuxx=vbuc1
|
||||
ldx #1
|
||||
// [23] phi test::a#11 = 3+1 [phi:main::@1->test#1] -- vbuz1=vbuc1
|
||||
// [23] phi test::a#11 = 3+1 [phi:main::@1->test#1] -- call_phi_near
|
||||
lda #3+1
|
||||
sta.z test.a
|
||||
jsr test
|
||||
@ -1051,7 +1051,7 @@ main: {
|
||||
// [23] phi from main::@2 to test [phi:main::@2->test]
|
||||
// [23] phi test::i#11 = 2 [phi:main::@2->test#0] -- vbuxx=vbuc1
|
||||
ldx #2
|
||||
// [23] phi test::a#11 = 3+1-1 [phi:main::@2->test#1] -- vbuz1=vbuc1
|
||||
// [23] phi test::a#11 = 3+1-1 [phi:main::@2->test#1] -- call_phi_near
|
||||
lda #3+1-1
|
||||
sta.z test.a
|
||||
jsr test
|
||||
@ -1063,7 +1063,7 @@ main: {
|
||||
// [23] phi from main::@3 to test [phi:main::@3->test]
|
||||
// [23] phi test::i#11 = 3 [phi:main::@3->test#0] -- vbuxx=vbuc1
|
||||
ldx #3
|
||||
// [23] phi test::a#11 = 3+1-1*6 [phi:main::@3->test#1] -- vbuz1=vbuc1
|
||||
// [23] phi test::a#11 = 3+1-1*6 [phi:main::@3->test#1] -- call_phi_near
|
||||
lda #(3+1-1)*6
|
||||
sta.z test.a
|
||||
jsr test
|
||||
@ -1075,7 +1075,7 @@ main: {
|
||||
// [23] phi from main::@4 to test [phi:main::@4->test]
|
||||
// [23] phi test::i#11 = 4 [phi:main::@4->test#0] -- vbuxx=vbuc1
|
||||
ldx #4
|
||||
// [23] phi test::a#11 = 3+1-1*6/2 [phi:main::@4->test#1] -- vbuz1=vbuc1
|
||||
// [23] phi test::a#11 = 3+1-1*6/2 [phi:main::@4->test#1] -- call_phi_near
|
||||
lda #(3+1-1)*6/2
|
||||
sta.z test.a
|
||||
jsr test
|
||||
@ -1087,7 +1087,7 @@ main: {
|
||||
// [23] phi from main::@5 to test [phi:main::@5->test]
|
||||
// [23] phi test::i#11 = 5 [phi:main::@5->test#0] -- vbuxx=vbuc1
|
||||
ldx #5
|
||||
// [23] phi test::a#11 = 3+1-1*6/2&2-1 [phi:main::@5->test#1] -- vbuz1=vbuc1
|
||||
// [23] phi test::a#11 = 3+1-1*6/2&2-1 [phi:main::@5->test#1] -- call_phi_near
|
||||
lda #(3+1-1)*6/2&2-1
|
||||
sta.z test.a
|
||||
jsr test
|
||||
@ -1099,7 +1099,7 @@ main: {
|
||||
// [23] phi from main::@6 to test [phi:main::@6->test]
|
||||
// [23] phi test::i#11 = 6 [phi:main::@6->test#0] -- vbuxx=vbuc1
|
||||
ldx #6
|
||||
// [23] phi test::a#11 = 3+1-1*6/2&2-1<<2 [phi:main::@6->test#1] -- vbuz1=vbuc1
|
||||
// [23] phi test::a#11 = 3+1-1*6/2&2-1<<2 [phi:main::@6->test#1] -- call_phi_near
|
||||
lda #((3+1-1)*6/2&2-1)<<2
|
||||
sta.z test.a
|
||||
jsr test
|
||||
@ -1111,7 +1111,7 @@ main: {
|
||||
// [23] phi from main::@7 to test [phi:main::@7->test]
|
||||
// [23] phi test::i#11 = 7 [phi:main::@7->test#0] -- vbuxx=vbuc1
|
||||
ldx #7
|
||||
// [23] phi test::a#11 = 3+1-1*6/2&2-1<<2>>1 [phi:main::@7->test#1] -- vbuz1=vbuc1
|
||||
// [23] phi test::a#11 = 3+1-1*6/2&2-1<<2>>1 [phi:main::@7->test#1] -- call_phi_near
|
||||
lda #((3+1-1)*6/2&2-1)<<2>>1
|
||||
sta.z test.a
|
||||
jsr test
|
||||
@ -1123,7 +1123,7 @@ main: {
|
||||
// [23] phi from main::@8 to test [phi:main::@8->test]
|
||||
// [23] phi test::i#11 = 8 [phi:main::@8->test#0] -- vbuxx=vbuc1
|
||||
ldx #8
|
||||
// [23] phi test::a#11 = 3+1-1*6/2&2-1<<2>>1^6 [phi:main::@8->test#1] -- vbuz1=vbuc1
|
||||
// [23] phi test::a#11 = 3+1-1*6/2&2-1<<2>>1^6 [phi:main::@8->test#1] -- call_phi_near
|
||||
lda #((3+1-1)*6/2&2-1)<<2>>1^6
|
||||
sta.z test.a
|
||||
jsr test
|
||||
@ -1135,7 +1135,7 @@ main: {
|
||||
// [23] phi from main::@9 to test [phi:main::@9->test]
|
||||
// [23] phi test::i#11 = 9 [phi:main::@9->test#0] -- vbuxx=vbuc1
|
||||
ldx #9
|
||||
// [23] phi test::a#11 = 3+1-1*6/2&2-1<<2>>1^6|1 [phi:main::@9->test#1] -- vbuz1=vbuc1
|
||||
// [23] phi test::a#11 = 3+1-1*6/2&2-1<<2>>1^6|1 [phi:main::@9->test#1] -- call_phi_near
|
||||
lda #((3+1-1)*6/2&2-1)<<2>>1^6|1
|
||||
sta.z test.a
|
||||
jsr test
|
||||
@ -1147,7 +1147,7 @@ main: {
|
||||
// [23] phi from main::@10 to test [phi:main::@10->test]
|
||||
// [23] phi test::i#11 = $a [phi:main::@10->test#0] -- vbuxx=vbuc1
|
||||
ldx #$a
|
||||
// [23] phi test::a#11 = 3+1-1*6/2&2-1<<2>>1^6|1&1 [phi:main::@10->test#1] -- vbuz1=vbuc1
|
||||
// [23] phi test::a#11 = 3+1-1*6/2&2-1<<2>>1^6|1&1 [phi:main::@10->test#1] -- call_phi_near
|
||||
lda #(((3+1-1)*6/2&2-1)<<2>>1^6|1)&1
|
||||
sta.z test.a
|
||||
jsr test
|
||||
|
@ -903,7 +903,7 @@ __start: {
|
||||
// __start::@1
|
||||
__b1:
|
||||
// [4] call main
|
||||
// [6] phi from __start::@1 to main [phi:__start::@1->main]
|
||||
// [6] phi from __start::@1 to main [phi:__start::@1->main] -- call_phi_near
|
||||
main_from___b1:
|
||||
jsr main
|
||||
jmp __breturn
|
||||
@ -940,7 +940,7 @@ main: {
|
||||
// main::@3
|
||||
__b3:
|
||||
// [10] call md5
|
||||
// [14] phi from main::@3 to md5 [phi:main::@3->md5]
|
||||
// [14] phi from main::@3 to md5 [phi:main::@3->md5] -- call_phi_near
|
||||
md5_from___b3:
|
||||
jsr md5
|
||||
// [11] phi from main::@3 main::@4 to main::@4 [phi:main::@3/main::@4->main::@4]
|
||||
@ -1012,7 +1012,7 @@ md5: {
|
||||
// [36] phi print::c#2 = print::c#0 [phi:md5::@2->print#0] -- register_copy
|
||||
// [36] phi print::b#2 = print::b#0 [phi:md5::@2->print#1] -- register_copy
|
||||
// [36] phi print::a#2 = print::a#0 [phi:md5::@2->print#2] -- register_copy
|
||||
// [36] phi print::print321_l#0 = print::i#0 [phi:md5::@2->print#3] -- register_copy
|
||||
// [36] phi print::print321_l#0 = print::i#0 [phi:md5::@2->print#3] -- call_phi_near
|
||||
jsr print
|
||||
jmp __b5
|
||||
// md5::@5
|
||||
@ -1049,7 +1049,7 @@ md5: {
|
||||
// [36] phi print::c#2 = print::c#1 [phi:md5::@3->print#0] -- register_copy
|
||||
// [36] phi print::b#2 = print::b#1 [phi:md5::@3->print#1] -- register_copy
|
||||
// [36] phi print::a#2 = print::a#1 [phi:md5::@3->print#2] -- register_copy
|
||||
// [36] phi print::print321_l#0 = print::i#1 [phi:md5::@3->print#3] -- register_copy
|
||||
// [36] phi print::print321_l#0 = print::i#1 [phi:md5::@3->print#3] -- call_phi_near
|
||||
jsr print
|
||||
jmp __b6
|
||||
// md5::@6
|
||||
@ -1400,7 +1400,7 @@ __start: {
|
||||
// [3] phi from __start::__init1 to __start::@1 [phi:__start::__init1->__start::@1]
|
||||
// __start::@1
|
||||
// [4] call main
|
||||
// [6] phi from __start::@1 to main [phi:__start::@1->main]
|
||||
// [6] phi from __start::@1 to main [phi:__start::@1->main] -- call_phi_near
|
||||
jsr main
|
||||
// __start::@return
|
||||
// [5] return
|
||||
@ -1431,7 +1431,7 @@ main: {
|
||||
// main::@3
|
||||
// md5()
|
||||
// [10] call md5
|
||||
// [14] phi from main::@3 to md5 [phi:main::@3->md5]
|
||||
// [14] phi from main::@3 to md5 [phi:main::@3->md5] -- call_phi_near
|
||||
jsr md5
|
||||
// [11] phi from main::@3 main::@4 to main::@4 [phi:main::@3/main::@4->main::@4]
|
||||
// main::@4
|
||||
@ -1498,7 +1498,7 @@ md5: {
|
||||
// [36] phi print::c#2 = print::c#0 [phi:md5::@2->print#0] -- register_copy
|
||||
// [36] phi print::b#2 = print::b#0 [phi:md5::@2->print#1] -- register_copy
|
||||
// [36] phi print::a#2 = print::a#0 [phi:md5::@2->print#2] -- register_copy
|
||||
// [36] phi print::print321_l#0 = print::i#0 [phi:md5::@2->print#3] -- register_copy
|
||||
// [36] phi print::print321_l#0 = print::i#0 [phi:md5::@2->print#3] -- call_phi_near
|
||||
jsr print
|
||||
// md5::@5
|
||||
// i&1
|
||||
@ -1530,7 +1530,7 @@ md5: {
|
||||
// [36] phi print::c#2 = print::c#1 [phi:md5::@3->print#0] -- register_copy
|
||||
// [36] phi print::b#2 = print::b#1 [phi:md5::@3->print#1] -- register_copy
|
||||
// [36] phi print::a#2 = print::a#1 [phi:md5::@3->print#2] -- register_copy
|
||||
// [36] phi print::print321_l#0 = print::i#1 [phi:md5::@3->print#3] -- register_copy
|
||||
// [36] phi print::print321_l#0 = print::i#1 [phi:md5::@3->print#3] -- call_phi_near
|
||||
jsr print
|
||||
// md5::@6
|
||||
// for(char i = 0; i<4; i++)
|
||||
|
@ -1318,7 +1318,7 @@ main: {
|
||||
sta.z fill.size
|
||||
lda #>$28*$19*8
|
||||
sta.z fill.size+1
|
||||
// [13] phi fill::addr#0 = BITMAP [phi:main->fill#2] -- pbuz1=pbuc1
|
||||
// [13] phi fill::addr#0 = BITMAP [phi:main->fill#2] -- call_phi_near
|
||||
lda #<BITMAP
|
||||
sta.z fill.addr
|
||||
lda #>BITMAP
|
||||
@ -1339,7 +1339,7 @@ main: {
|
||||
sta.z fill.size
|
||||
lda #>$28*$19
|
||||
sta.z fill.size+1
|
||||
// [13] phi fill::addr#0 = SCREEN [phi:main::@4->fill#2] -- pbuz1=pbuc1
|
||||
// [13] phi fill::addr#0 = SCREEN [phi:main::@4->fill#2] -- call_phi_near
|
||||
lda #<SCREEN
|
||||
sta.z fill.addr
|
||||
lda #>SCREEN
|
||||
@ -1390,7 +1390,7 @@ main: {
|
||||
sta.z circle.r
|
||||
lda.z i+1
|
||||
sta.z circle.r+1
|
||||
// [11] call circle
|
||||
// [11] call circle -- call_phi_near
|
||||
jsr circle
|
||||
jmp __b6
|
||||
// main::@6
|
||||
@ -1584,7 +1584,7 @@ circle: {
|
||||
// [60] phi from circle::@4 to plot [phi:circle::@4->plot]
|
||||
plot_from___b4:
|
||||
// [60] phi plot::y#8 = plot::y#0 [phi:circle::@4->plot#0] -- register_copy
|
||||
// [60] phi plot::x#8 = plot::x#0 [phi:circle::@4->plot#1] -- register_copy
|
||||
// [60] phi plot::x#8 = plot::x#0 [phi:circle::@4->plot#1] -- call_phi_near
|
||||
jsr plot
|
||||
jmp __b6
|
||||
// circle::@6
|
||||
@ -1609,7 +1609,7 @@ circle: {
|
||||
// [60] phi from circle::@6 to plot [phi:circle::@6->plot]
|
||||
plot_from___b6:
|
||||
// [60] phi plot::y#8 = plot::y#1 [phi:circle::@6->plot#0] -- register_copy
|
||||
// [60] phi plot::x#8 = plot::x#1 [phi:circle::@6->plot#1] -- register_copy
|
||||
// [60] phi plot::x#8 = plot::x#1 [phi:circle::@6->plot#1] -- call_phi_near
|
||||
jsr plot
|
||||
jmp __b7
|
||||
// circle::@7
|
||||
@ -1634,7 +1634,7 @@ circle: {
|
||||
// [60] phi from circle::@7 to plot [phi:circle::@7->plot]
|
||||
plot_from___b7:
|
||||
// [60] phi plot::y#8 = plot::y#2 [phi:circle::@7->plot#0] -- register_copy
|
||||
// [60] phi plot::x#8 = plot::x#2 [phi:circle::@7->plot#1] -- register_copy
|
||||
// [60] phi plot::x#8 = plot::x#2 [phi:circle::@7->plot#1] -- call_phi_near
|
||||
jsr plot
|
||||
jmp __b8
|
||||
// circle::@8
|
||||
@ -1659,7 +1659,7 @@ circle: {
|
||||
// [60] phi from circle::@8 to plot [phi:circle::@8->plot]
|
||||
plot_from___b8:
|
||||
// [60] phi plot::y#8 = plot::y#3 [phi:circle::@8->plot#0] -- register_copy
|
||||
// [60] phi plot::x#8 = plot::x#3 [phi:circle::@8->plot#1] -- register_copy
|
||||
// [60] phi plot::x#8 = plot::x#3 [phi:circle::@8->plot#1] -- call_phi_near
|
||||
jsr plot
|
||||
jmp __b9
|
||||
// circle::@9
|
||||
@ -1684,7 +1684,7 @@ circle: {
|
||||
// [60] phi from circle::@9 to plot [phi:circle::@9->plot]
|
||||
plot_from___b9:
|
||||
// [60] phi plot::y#8 = plot::y#4 [phi:circle::@9->plot#0] -- register_copy
|
||||
// [60] phi plot::x#8 = plot::x#4 [phi:circle::@9->plot#1] -- register_copy
|
||||
// [60] phi plot::x#8 = plot::x#4 [phi:circle::@9->plot#1] -- call_phi_near
|
||||
jsr plot
|
||||
jmp __b10
|
||||
// circle::@10
|
||||
@ -1709,7 +1709,7 @@ circle: {
|
||||
// [60] phi from circle::@10 to plot [phi:circle::@10->plot]
|
||||
plot_from___b10:
|
||||
// [60] phi plot::y#8 = plot::y#5 [phi:circle::@10->plot#0] -- register_copy
|
||||
// [60] phi plot::x#8 = plot::x#5 [phi:circle::@10->plot#1] -- register_copy
|
||||
// [60] phi plot::x#8 = plot::x#5 [phi:circle::@10->plot#1] -- call_phi_near
|
||||
jsr plot
|
||||
jmp __b11
|
||||
// circle::@11
|
||||
@ -1734,7 +1734,7 @@ circle: {
|
||||
// [60] phi from circle::@11 to plot [phi:circle::@11->plot]
|
||||
plot_from___b11:
|
||||
// [60] phi plot::y#8 = plot::y#6 [phi:circle::@11->plot#0] -- register_copy
|
||||
// [60] phi plot::x#8 = plot::x#6 [phi:circle::@11->plot#1] -- register_copy
|
||||
// [60] phi plot::x#8 = plot::x#6 [phi:circle::@11->plot#1] -- call_phi_near
|
||||
jsr plot
|
||||
jmp __b12
|
||||
// circle::@12
|
||||
@ -1759,7 +1759,7 @@ circle: {
|
||||
// [60] phi from circle::@12 to plot [phi:circle::@12->plot]
|
||||
plot_from___b12:
|
||||
// [60] phi plot::y#8 = plot::y#7 [phi:circle::@12->plot#0] -- register_copy
|
||||
// [60] phi plot::x#8 = plot::x#7 [phi:circle::@12->plot#1] -- register_copy
|
||||
// [60] phi plot::x#8 = plot::x#7 [phi:circle::@12->plot#1] -- call_phi_near
|
||||
jsr plot
|
||||
jmp __b13
|
||||
// circle::@13
|
||||
@ -2189,7 +2189,7 @@ main: {
|
||||
sta.z fill.size
|
||||
lda #>$28*$19*8
|
||||
sta.z fill.size+1
|
||||
// [13] phi fill::addr#0 = BITMAP [phi:main->fill#2] -- pbuz1=pbuc1
|
||||
// [13] phi fill::addr#0 = BITMAP [phi:main->fill#2] -- call_phi_near
|
||||
lda #<BITMAP
|
||||
sta.z fill.addr
|
||||
lda #>BITMAP
|
||||
@ -2207,7 +2207,7 @@ main: {
|
||||
sta.z fill.size
|
||||
lda #>$28*$19
|
||||
sta.z fill.size+1
|
||||
// [13] phi fill::addr#0 = SCREEN [phi:main::@4->fill#2] -- pbuz1=pbuc1
|
||||
// [13] phi fill::addr#0 = SCREEN [phi:main::@4->fill#2] -- call_phi_near
|
||||
lda #<SCREEN
|
||||
sta.z fill.addr
|
||||
lda #>SCREEN
|
||||
@ -2256,7 +2256,7 @@ main: {
|
||||
sta.z circle.r
|
||||
lda.z i+1
|
||||
sta.z circle.r+1
|
||||
// [11] call circle
|
||||
// [11] call circle -- call_phi_near
|
||||
jsr circle
|
||||
// main::@6
|
||||
// i += 5
|
||||
@ -2450,7 +2450,7 @@ circle: {
|
||||
// [34] call plot
|
||||
// [60] phi from circle::@4 to plot [phi:circle::@4->plot]
|
||||
// [60] phi plot::y#8 = plot::y#0 [phi:circle::@4->plot#0] -- register_copy
|
||||
// [60] phi plot::x#8 = plot::x#0 [phi:circle::@4->plot#1] -- register_copy
|
||||
// [60] phi plot::x#8 = plot::x#0 [phi:circle::@4->plot#1] -- call_phi_near
|
||||
jsr plot
|
||||
// circle::@6
|
||||
// plot(xc-x,yc-y)
|
||||
@ -2473,7 +2473,7 @@ circle: {
|
||||
// [37] call plot
|
||||
// [60] phi from circle::@6 to plot [phi:circle::@6->plot]
|
||||
// [60] phi plot::y#8 = plot::y#1 [phi:circle::@6->plot#0] -- register_copy
|
||||
// [60] phi plot::x#8 = plot::x#1 [phi:circle::@6->plot#1] -- register_copy
|
||||
// [60] phi plot::x#8 = plot::x#1 [phi:circle::@6->plot#1] -- call_phi_near
|
||||
jsr plot
|
||||
// circle::@7
|
||||
// plot(xc+x,yc+y)
|
||||
@ -2496,7 +2496,7 @@ circle: {
|
||||
// [40] call plot
|
||||
// [60] phi from circle::@7 to plot [phi:circle::@7->plot]
|
||||
// [60] phi plot::y#8 = plot::y#2 [phi:circle::@7->plot#0] -- register_copy
|
||||
// [60] phi plot::x#8 = plot::x#2 [phi:circle::@7->plot#1] -- register_copy
|
||||
// [60] phi plot::x#8 = plot::x#2 [phi:circle::@7->plot#1] -- call_phi_near
|
||||
jsr plot
|
||||
// circle::@8
|
||||
// plot(xc-x,yc+y)
|
||||
@ -2519,7 +2519,7 @@ circle: {
|
||||
// [43] call plot
|
||||
// [60] phi from circle::@8 to plot [phi:circle::@8->plot]
|
||||
// [60] phi plot::y#8 = plot::y#3 [phi:circle::@8->plot#0] -- register_copy
|
||||
// [60] phi plot::x#8 = plot::x#3 [phi:circle::@8->plot#1] -- register_copy
|
||||
// [60] phi plot::x#8 = plot::x#3 [phi:circle::@8->plot#1] -- call_phi_near
|
||||
jsr plot
|
||||
// circle::@9
|
||||
// plot(xc+y,yc-x)
|
||||
@ -2542,7 +2542,7 @@ circle: {
|
||||
// [46] call plot
|
||||
// [60] phi from circle::@9 to plot [phi:circle::@9->plot]
|
||||
// [60] phi plot::y#8 = plot::y#4 [phi:circle::@9->plot#0] -- register_copy
|
||||
// [60] phi plot::x#8 = plot::x#4 [phi:circle::@9->plot#1] -- register_copy
|
||||
// [60] phi plot::x#8 = plot::x#4 [phi:circle::@9->plot#1] -- call_phi_near
|
||||
jsr plot
|
||||
// circle::@10
|
||||
// plot(xc-y,yc-x)
|
||||
@ -2565,7 +2565,7 @@ circle: {
|
||||
// [49] call plot
|
||||
// [60] phi from circle::@10 to plot [phi:circle::@10->plot]
|
||||
// [60] phi plot::y#8 = plot::y#5 [phi:circle::@10->plot#0] -- register_copy
|
||||
// [60] phi plot::x#8 = plot::x#5 [phi:circle::@10->plot#1] -- register_copy
|
||||
// [60] phi plot::x#8 = plot::x#5 [phi:circle::@10->plot#1] -- call_phi_near
|
||||
jsr plot
|
||||
// circle::@11
|
||||
// plot(xc+y,yc+x)
|
||||
@ -2588,7 +2588,7 @@ circle: {
|
||||
// [52] call plot
|
||||
// [60] phi from circle::@11 to plot [phi:circle::@11->plot]
|
||||
// [60] phi plot::y#8 = plot::y#6 [phi:circle::@11->plot#0] -- register_copy
|
||||
// [60] phi plot::x#8 = plot::x#6 [phi:circle::@11->plot#1] -- register_copy
|
||||
// [60] phi plot::x#8 = plot::x#6 [phi:circle::@11->plot#1] -- call_phi_near
|
||||
jsr plot
|
||||
// circle::@12
|
||||
// plot(xc-y,yc+x)
|
||||
@ -2611,7 +2611,7 @@ circle: {
|
||||
// [55] call plot
|
||||
// [60] phi from circle::@12 to plot [phi:circle::@12->plot]
|
||||
// [60] phi plot::y#8 = plot::y#7 [phi:circle::@12->plot#0] -- register_copy
|
||||
// [60] phi plot::x#8 = plot::x#7 [phi:circle::@12->plot#1] -- register_copy
|
||||
// [60] phi plot::x#8 = plot::x#7 [phi:circle::@12->plot#1] -- call_phi_near
|
||||
jsr plot
|
||||
// circle::@13
|
||||
// for(int x = 0; x <= y; x ++)
|
||||
|
@ -1192,7 +1192,7 @@ main: {
|
||||
sta.z fill.size
|
||||
lda #>$28*$19*8
|
||||
sta.z fill.size+1
|
||||
// [9] phi fill::addr#0 = BITMAP [phi:main->fill#2] -- pbuz1=pbuc1
|
||||
// [9] phi fill::addr#0 = BITMAP [phi:main->fill#2] -- call_phi_near
|
||||
lda #<BITMAP
|
||||
sta.z fill.addr
|
||||
lda #>BITMAP
|
||||
@ -1213,7 +1213,7 @@ main: {
|
||||
sta.z fill.size
|
||||
lda #>$28*$19
|
||||
sta.z fill.size+1
|
||||
// [9] phi fill::addr#0 = SCREEN [phi:main::@2->fill#2] -- pbuz1=pbuc1
|
||||
// [9] phi fill::addr#0 = SCREEN [phi:main::@2->fill#2] -- call_phi_near
|
||||
lda #<SCREEN
|
||||
sta.z fill.addr
|
||||
lda #>SCREEN
|
||||
@ -1232,7 +1232,7 @@ main: {
|
||||
lda #(SCREEN&$3fff)/$40|(BITMAP&$3fff)/$400
|
||||
sta VICII_MEMORY
|
||||
// [7] call circle
|
||||
// [16] phi from main::@3 to circle [phi:main::@3->circle]
|
||||
// [16] phi from main::@3 to circle [phi:main::@3->circle] -- call_phi_near
|
||||
circle_from___b3:
|
||||
jsr circle
|
||||
// [8] phi from main::@1 main::@3 to main::@1 [phi:main::@1/main::@3->main::@1]
|
||||
@ -1411,7 +1411,7 @@ circle: {
|
||||
// [55] phi from circle::@4 to plot [phi:circle::@4->plot]
|
||||
plot_from___b4:
|
||||
// [55] phi plot::y#8 = plot::y#0 [phi:circle::@4->plot#0] -- register_copy
|
||||
// [55] phi plot::x#8 = plot::x#0 [phi:circle::@4->plot#1] -- register_copy
|
||||
// [55] phi plot::x#8 = plot::x#0 [phi:circle::@4->plot#1] -- call_phi_near
|
||||
jsr plot
|
||||
jmp __b6
|
||||
// circle::@6
|
||||
@ -1436,7 +1436,7 @@ circle: {
|
||||
// [55] phi from circle::@6 to plot [phi:circle::@6->plot]
|
||||
plot_from___b6:
|
||||
// [55] phi plot::y#8 = plot::y#1 [phi:circle::@6->plot#0] -- register_copy
|
||||
// [55] phi plot::x#8 = plot::x#1 [phi:circle::@6->plot#1] -- register_copy
|
||||
// [55] phi plot::x#8 = plot::x#1 [phi:circle::@6->plot#1] -- call_phi_near
|
||||
jsr plot
|
||||
jmp __b7
|
||||
// circle::@7
|
||||
@ -1461,7 +1461,7 @@ circle: {
|
||||
// [55] phi from circle::@7 to plot [phi:circle::@7->plot]
|
||||
plot_from___b7:
|
||||
// [55] phi plot::y#8 = plot::y#2 [phi:circle::@7->plot#0] -- register_copy
|
||||
// [55] phi plot::x#8 = plot::x#2 [phi:circle::@7->plot#1] -- register_copy
|
||||
// [55] phi plot::x#8 = plot::x#2 [phi:circle::@7->plot#1] -- call_phi_near
|
||||
jsr plot
|
||||
jmp __b8
|
||||
// circle::@8
|
||||
@ -1486,7 +1486,7 @@ circle: {
|
||||
// [55] phi from circle::@8 to plot [phi:circle::@8->plot]
|
||||
plot_from___b8:
|
||||
// [55] phi plot::y#8 = plot::y#3 [phi:circle::@8->plot#0] -- register_copy
|
||||
// [55] phi plot::x#8 = plot::x#3 [phi:circle::@8->plot#1] -- register_copy
|
||||
// [55] phi plot::x#8 = plot::x#3 [phi:circle::@8->plot#1] -- call_phi_near
|
||||
jsr plot
|
||||
jmp __b9
|
||||
// circle::@9
|
||||
@ -1511,7 +1511,7 @@ circle: {
|
||||
// [55] phi from circle::@9 to plot [phi:circle::@9->plot]
|
||||
plot_from___b9:
|
||||
// [55] phi plot::y#8 = plot::y#4 [phi:circle::@9->plot#0] -- register_copy
|
||||
// [55] phi plot::x#8 = plot::x#4 [phi:circle::@9->plot#1] -- register_copy
|
||||
// [55] phi plot::x#8 = plot::x#4 [phi:circle::@9->plot#1] -- call_phi_near
|
||||
jsr plot
|
||||
jmp __b10
|
||||
// circle::@10
|
||||
@ -1536,7 +1536,7 @@ circle: {
|
||||
// [55] phi from circle::@10 to plot [phi:circle::@10->plot]
|
||||
plot_from___b10:
|
||||
// [55] phi plot::y#8 = plot::y#5 [phi:circle::@10->plot#0] -- register_copy
|
||||
// [55] phi plot::x#8 = plot::x#5 [phi:circle::@10->plot#1] -- register_copy
|
||||
// [55] phi plot::x#8 = plot::x#5 [phi:circle::@10->plot#1] -- call_phi_near
|
||||
jsr plot
|
||||
jmp __b11
|
||||
// circle::@11
|
||||
@ -1561,7 +1561,7 @@ circle: {
|
||||
// [55] phi from circle::@11 to plot [phi:circle::@11->plot]
|
||||
plot_from___b11:
|
||||
// [55] phi plot::y#8 = plot::y#6 [phi:circle::@11->plot#0] -- register_copy
|
||||
// [55] phi plot::x#8 = plot::x#6 [phi:circle::@11->plot#1] -- register_copy
|
||||
// [55] phi plot::x#8 = plot::x#6 [phi:circle::@11->plot#1] -- call_phi_near
|
||||
jsr plot
|
||||
jmp __b12
|
||||
// circle::@12
|
||||
@ -1586,7 +1586,7 @@ circle: {
|
||||
// [55] phi from circle::@12 to plot [phi:circle::@12->plot]
|
||||
plot_from___b12:
|
||||
// [55] phi plot::y#8 = plot::y#7 [phi:circle::@12->plot#0] -- register_copy
|
||||
// [55] phi plot::x#8 = plot::x#7 [phi:circle::@12->plot#1] -- register_copy
|
||||
// [55] phi plot::x#8 = plot::x#7 [phi:circle::@12->plot#1] -- call_phi_near
|
||||
jsr plot
|
||||
jmp __b13
|
||||
// circle::@13
|
||||
@ -1955,7 +1955,7 @@ main: {
|
||||
sta.z fill.size
|
||||
lda #>$28*$19*8
|
||||
sta.z fill.size+1
|
||||
// [9] phi fill::addr#0 = BITMAP [phi:main->fill#2] -- pbuz1=pbuc1
|
||||
// [9] phi fill::addr#0 = BITMAP [phi:main->fill#2] -- call_phi_near
|
||||
lda #<BITMAP
|
||||
sta.z fill.addr
|
||||
lda #>BITMAP
|
||||
@ -1973,7 +1973,7 @@ main: {
|
||||
sta.z fill.size
|
||||
lda #>$28*$19
|
||||
sta.z fill.size+1
|
||||
// [9] phi fill::addr#0 = SCREEN [phi:main::@2->fill#2] -- pbuz1=pbuc1
|
||||
// [9] phi fill::addr#0 = SCREEN [phi:main::@2->fill#2] -- call_phi_near
|
||||
lda #<SCREEN
|
||||
sta.z fill.addr
|
||||
lda #>SCREEN
|
||||
@ -1994,7 +1994,7 @@ main: {
|
||||
sta VICII_MEMORY
|
||||
// circle(100,100,50)
|
||||
// [7] call circle
|
||||
// [16] phi from main::@3 to circle [phi:main::@3->circle]
|
||||
// [16] phi from main::@3 to circle [phi:main::@3->circle] -- call_phi_near
|
||||
jsr circle
|
||||
// [8] phi from main::@1 main::@3 to main::@1 [phi:main::@1/main::@3->main::@1]
|
||||
// main::@1
|
||||
@ -2169,7 +2169,7 @@ circle: {
|
||||
// [29] call plot
|
||||
// [55] phi from circle::@4 to plot [phi:circle::@4->plot]
|
||||
// [55] phi plot::y#8 = plot::y#0 [phi:circle::@4->plot#0] -- register_copy
|
||||
// [55] phi plot::x#8 = plot::x#0 [phi:circle::@4->plot#1] -- register_copy
|
||||
// [55] phi plot::x#8 = plot::x#0 [phi:circle::@4->plot#1] -- call_phi_near
|
||||
jsr plot
|
||||
// circle::@6
|
||||
// plot(xc-x,yc-y)
|
||||
@ -2192,7 +2192,7 @@ circle: {
|
||||
// [32] call plot
|
||||
// [55] phi from circle::@6 to plot [phi:circle::@6->plot]
|
||||
// [55] phi plot::y#8 = plot::y#1 [phi:circle::@6->plot#0] -- register_copy
|
||||
// [55] phi plot::x#8 = plot::x#1 [phi:circle::@6->plot#1] -- register_copy
|
||||
// [55] phi plot::x#8 = plot::x#1 [phi:circle::@6->plot#1] -- call_phi_near
|
||||
jsr plot
|
||||
// circle::@7
|
||||
// plot(xc+x,yc+y)
|
||||
@ -2215,7 +2215,7 @@ circle: {
|
||||
// [35] call plot
|
||||
// [55] phi from circle::@7 to plot [phi:circle::@7->plot]
|
||||
// [55] phi plot::y#8 = plot::y#2 [phi:circle::@7->plot#0] -- register_copy
|
||||
// [55] phi plot::x#8 = plot::x#2 [phi:circle::@7->plot#1] -- register_copy
|
||||
// [55] phi plot::x#8 = plot::x#2 [phi:circle::@7->plot#1] -- call_phi_near
|
||||
jsr plot
|
||||
// circle::@8
|
||||
// plot(xc-x,yc+y)
|
||||
@ -2238,7 +2238,7 @@ circle: {
|
||||
// [38] call plot
|
||||
// [55] phi from circle::@8 to plot [phi:circle::@8->plot]
|
||||
// [55] phi plot::y#8 = plot::y#3 [phi:circle::@8->plot#0] -- register_copy
|
||||
// [55] phi plot::x#8 = plot::x#3 [phi:circle::@8->plot#1] -- register_copy
|
||||
// [55] phi plot::x#8 = plot::x#3 [phi:circle::@8->plot#1] -- call_phi_near
|
||||
jsr plot
|
||||
// circle::@9
|
||||
// plot(xc+y,yc-x)
|
||||
@ -2261,7 +2261,7 @@ circle: {
|
||||
// [41] call plot
|
||||
// [55] phi from circle::@9 to plot [phi:circle::@9->plot]
|
||||
// [55] phi plot::y#8 = plot::y#4 [phi:circle::@9->plot#0] -- register_copy
|
||||
// [55] phi plot::x#8 = plot::x#4 [phi:circle::@9->plot#1] -- register_copy
|
||||
// [55] phi plot::x#8 = plot::x#4 [phi:circle::@9->plot#1] -- call_phi_near
|
||||
jsr plot
|
||||
// circle::@10
|
||||
// plot(xc-y,yc-x)
|
||||
@ -2284,7 +2284,7 @@ circle: {
|
||||
// [44] call plot
|
||||
// [55] phi from circle::@10 to plot [phi:circle::@10->plot]
|
||||
// [55] phi plot::y#8 = plot::y#5 [phi:circle::@10->plot#0] -- register_copy
|
||||
// [55] phi plot::x#8 = plot::x#5 [phi:circle::@10->plot#1] -- register_copy
|
||||
// [55] phi plot::x#8 = plot::x#5 [phi:circle::@10->plot#1] -- call_phi_near
|
||||
jsr plot
|
||||
// circle::@11
|
||||
// plot(xc+y,yc+x)
|
||||
@ -2307,7 +2307,7 @@ circle: {
|
||||
// [47] call plot
|
||||
// [55] phi from circle::@11 to plot [phi:circle::@11->plot]
|
||||
// [55] phi plot::y#8 = plot::y#6 [phi:circle::@11->plot#0] -- register_copy
|
||||
// [55] phi plot::x#8 = plot::x#6 [phi:circle::@11->plot#1] -- register_copy
|
||||
// [55] phi plot::x#8 = plot::x#6 [phi:circle::@11->plot#1] -- call_phi_near
|
||||
jsr plot
|
||||
// circle::@12
|
||||
// plot(xc-y,yc+x)
|
||||
@ -2330,7 +2330,7 @@ circle: {
|
||||
// [50] call plot
|
||||
// [55] phi from circle::@12 to plot [phi:circle::@12->plot]
|
||||
// [55] phi plot::y#8 = plot::y#7 [phi:circle::@12->plot#0] -- register_copy
|
||||
// [55] phi plot::x#8 = plot::x#7 [phi:circle::@12->plot#1] -- register_copy
|
||||
// [55] phi plot::x#8 = plot::x#7 [phi:circle::@12->plot#1] -- call_phi_near
|
||||
jsr plot
|
||||
// circle::@13
|
||||
// for(int x = 0; x <= y; x ++)
|
||||
|
@ -2327,7 +2327,7 @@ main: {
|
||||
lda #(SCREEN&$3fff)/$40|(BITMAP&$3fff)/$400
|
||||
sta VICII_MEMORY
|
||||
// [4] call bitmap_init
|
||||
// [13] phi from main to bitmap_init [phi:main->bitmap_init]
|
||||
// [13] phi from main to bitmap_init [phi:main->bitmap_init] -- call_phi_near
|
||||
bitmap_init_from_main:
|
||||
jsr bitmap_init
|
||||
// [5] phi from main to main::@2 [phi:main->main::@2]
|
||||
@ -2336,7 +2336,7 @@ main: {
|
||||
// main::@2
|
||||
__b2:
|
||||
// [6] call bitmap_clear
|
||||
// [35] phi from main::@2 to bitmap_clear [phi:main::@2->bitmap_clear]
|
||||
// [35] phi from main::@2 to bitmap_clear [phi:main::@2->bitmap_clear] -- call_phi_near
|
||||
bitmap_clear_from___b2:
|
||||
jsr bitmap_clear
|
||||
// [7] phi from main::@2 to main::@3 [phi:main::@2->main::@3]
|
||||
@ -2345,7 +2345,7 @@ main: {
|
||||
// main::@3
|
||||
__b3:
|
||||
// [8] call init_screen
|
||||
// [40] phi from main::@3 to init_screen [phi:main::@3->init_screen]
|
||||
// [40] phi from main::@3 to init_screen [phi:main::@3->init_screen] -- call_phi_near
|
||||
init_screen_from___b3:
|
||||
jsr init_screen
|
||||
// [9] phi from main::@3 to main::@1 [phi:main::@3->main::@1]
|
||||
@ -2361,7 +2361,7 @@ main: {
|
||||
sta.z bitmap_line.x2
|
||||
lda #0
|
||||
sta.z bitmap_line.x2+1
|
||||
// [11] call bitmap_line
|
||||
// [11] call bitmap_line -- call_phi_near
|
||||
jsr bitmap_line
|
||||
jmp __b4
|
||||
// main::@4
|
||||
@ -2501,7 +2501,7 @@ bitmap_clear: {
|
||||
sta.z memset.str
|
||||
lda #>SCREEN
|
||||
sta.z memset.str+1
|
||||
// [94] phi memset::num#2 = $3e8 [phi:bitmap_clear->memset#2] -- vwuz1=vwuc1
|
||||
// [94] phi memset::num#2 = $3e8 [phi:bitmap_clear->memset#2] -- call_phi_near
|
||||
lda #<$3e8
|
||||
sta.z memset.num
|
||||
lda #>$3e8
|
||||
@ -2522,7 +2522,7 @@ bitmap_clear: {
|
||||
sta.z memset.str
|
||||
lda #>BITMAP
|
||||
sta.z memset.str+1
|
||||
// [94] phi memset::num#2 = $1f40 [phi:bitmap_clear::@1->memset#2] -- vwuz1=vwuc1
|
||||
// [94] phi memset::num#2 = $1f40 [phi:bitmap_clear::@1->memset#2] -- call_phi_near
|
||||
lda #<$1f40
|
||||
sta.z memset.num
|
||||
lda #>$1f40
|
||||
@ -2599,7 +2599,7 @@ bitmap_line: {
|
||||
// [47] call abs_u16
|
||||
// [103] phi from bitmap_line to abs_u16 [phi:bitmap_line->abs_u16]
|
||||
abs_u16_from_bitmap_line:
|
||||
// [103] phi abs_u16::w#2 = abs_u16::w#0 [phi:bitmap_line->abs_u16#0] -- register_copy
|
||||
// [103] phi abs_u16::w#2 = abs_u16::w#0 [phi:bitmap_line->abs_u16#0] -- call_phi_near
|
||||
jsr abs_u16
|
||||
// [48] abs_u16::return#0 = abs_u16::return#4
|
||||
jmp __b12
|
||||
@ -2613,7 +2613,7 @@ bitmap_line: {
|
||||
// [50] call abs_u16
|
||||
// [103] phi from bitmap_line::@12 to abs_u16 [phi:bitmap_line::@12->abs_u16]
|
||||
abs_u16_from___b12:
|
||||
// [103] phi abs_u16::w#2 = bitmap_line::y2#0 [phi:bitmap_line::@12->abs_u16#0] -- vwuz1=vwuc1
|
||||
// [103] phi abs_u16::w#2 = bitmap_line::y2#0 [phi:bitmap_line::@12->abs_u16#0] -- call_phi_near
|
||||
lda #<y2
|
||||
sta.z abs_u16.w
|
||||
lda #>y2
|
||||
@ -2646,7 +2646,7 @@ bitmap_line: {
|
||||
// [56] call sgn_u16
|
||||
// [110] phi from bitmap_line::@1 to sgn_u16 [phi:bitmap_line::@1->sgn_u16]
|
||||
sgn_u16_from___b1:
|
||||
// [110] phi sgn_u16::w#2 = sgn_u16::w#0 [phi:bitmap_line::@1->sgn_u16#0] -- register_copy
|
||||
// [110] phi sgn_u16::w#2 = sgn_u16::w#0 [phi:bitmap_line::@1->sgn_u16#0] -- call_phi_near
|
||||
jsr sgn_u16
|
||||
// [57] sgn_u16::return#0 = sgn_u16::return#4
|
||||
jmp __b14
|
||||
@ -2660,7 +2660,7 @@ bitmap_line: {
|
||||
// [59] call sgn_u16
|
||||
// [110] phi from bitmap_line::@14 to sgn_u16 [phi:bitmap_line::@14->sgn_u16]
|
||||
sgn_u16_from___b14:
|
||||
// [110] phi sgn_u16::w#2 = bitmap_line::y2#0 [phi:bitmap_line::@14->sgn_u16#0] -- vwuz1=vwuc1
|
||||
// [110] phi sgn_u16::w#2 = bitmap_line::y2#0 [phi:bitmap_line::@14->sgn_u16#0] -- call_phi_near
|
||||
lda #<y2
|
||||
sta.z sgn_u16.w
|
||||
lda #>y2
|
||||
@ -2720,7 +2720,7 @@ bitmap_line: {
|
||||
// [117] phi from bitmap_line::@6 to bitmap_plot [phi:bitmap_line::@6->bitmap_plot]
|
||||
bitmap_plot_from___b6:
|
||||
// [117] phi bitmap_plot::x#4 = bitmap_plot::x#1 [phi:bitmap_line::@6->bitmap_plot#0] -- register_copy
|
||||
// [117] phi bitmap_plot::y#4 = bitmap_plot::y#1 [phi:bitmap_line::@6->bitmap_plot#1] -- register_copy
|
||||
// [117] phi bitmap_plot::y#4 = bitmap_plot::y#1 [phi:bitmap_line::@6->bitmap_plot#1] -- call_phi_near
|
||||
jsr bitmap_plot
|
||||
jmp __b16
|
||||
// bitmap_line::@16
|
||||
@ -2799,7 +2799,7 @@ bitmap_line: {
|
||||
// [117] phi from bitmap_line::@3 to bitmap_plot [phi:bitmap_line::@3->bitmap_plot]
|
||||
bitmap_plot_from___b3:
|
||||
// [117] phi bitmap_plot::x#4 = bitmap_plot::x#2 [phi:bitmap_line::@3->bitmap_plot#0] -- register_copy
|
||||
// [117] phi bitmap_plot::y#4 = bitmap_plot::y#2 [phi:bitmap_line::@3->bitmap_plot#1] -- register_copy
|
||||
// [117] phi bitmap_plot::y#4 = bitmap_plot::y#2 [phi:bitmap_line::@3->bitmap_plot#1] -- call_phi_near
|
||||
jsr bitmap_plot
|
||||
jmp __breturn
|
||||
// bitmap_line::@return
|
||||
@ -2845,7 +2845,7 @@ bitmap_line: {
|
||||
// [117] phi from bitmap_line::@9 to bitmap_plot [phi:bitmap_line::@9->bitmap_plot]
|
||||
bitmap_plot_from___b9:
|
||||
// [117] phi bitmap_plot::x#4 = bitmap_plot::x#3 [phi:bitmap_line::@9->bitmap_plot#0] -- register_copy
|
||||
// [117] phi bitmap_plot::y#4 = bitmap_plot::y#3 [phi:bitmap_line::@9->bitmap_plot#1] -- register_copy
|
||||
// [117] phi bitmap_plot::y#4 = bitmap_plot::y#3 [phi:bitmap_line::@9->bitmap_plot#1] -- call_phi_near
|
||||
jsr bitmap_plot
|
||||
jmp __b17
|
||||
// bitmap_line::@17
|
||||
@ -2923,7 +2923,7 @@ bitmap_line: {
|
||||
sta.z bitmap_plot.x
|
||||
lda #>x1
|
||||
sta.z bitmap_plot.x+1
|
||||
// [117] phi bitmap_plot::y#4 = 0 [phi:bitmap_line::@4->bitmap_plot#1] -- vbuxx=vbuc1
|
||||
// [117] phi bitmap_plot::y#4 = 0 [phi:bitmap_line::@4->bitmap_plot#1] -- call_phi_near
|
||||
ldx #0
|
||||
jsr bitmap_plot
|
||||
jmp __breturn
|
||||
@ -3494,19 +3494,19 @@ main: {
|
||||
sta VICII_MEMORY
|
||||
// bitmap_init(BITMAP, SCREEN)
|
||||
// [4] call bitmap_init
|
||||
// [13] phi from main to bitmap_init [phi:main->bitmap_init]
|
||||
// [13] phi from main to bitmap_init [phi:main->bitmap_init] -- call_phi_near
|
||||
jsr bitmap_init
|
||||
// [5] phi from main to main::@2 [phi:main->main::@2]
|
||||
// main::@2
|
||||
// bitmap_clear(BLACK, WHITE)
|
||||
// [6] call bitmap_clear
|
||||
// [35] phi from main::@2 to bitmap_clear [phi:main::@2->bitmap_clear]
|
||||
// [35] phi from main::@2 to bitmap_clear [phi:main::@2->bitmap_clear] -- call_phi_near
|
||||
jsr bitmap_clear
|
||||
// [7] phi from main::@2 to main::@3 [phi:main::@2->main::@3]
|
||||
// main::@3
|
||||
// init_screen()
|
||||
// [8] call init_screen
|
||||
// [40] phi from main::@3 to init_screen [phi:main::@3->init_screen]
|
||||
// [40] phi from main::@3 to init_screen [phi:main::@3->init_screen] -- call_phi_near
|
||||
jsr init_screen
|
||||
// [9] phi from main::@3 to main::@1 [phi:main::@3->main::@1]
|
||||
// [9] phi next#5 = 0 [phi:main::@3->main::@1#0] -- vbuz1=vbuc1
|
||||
@ -3520,7 +3520,7 @@ main: {
|
||||
sta.z bitmap_line.x2
|
||||
lda #0
|
||||
sta.z bitmap_line.x2+1
|
||||
// [11] call bitmap_line
|
||||
// [11] call bitmap_line -- call_phi_near
|
||||
jsr bitmap_line
|
||||
// main::@4
|
||||
// next++;
|
||||
@ -3650,7 +3650,7 @@ bitmap_clear: {
|
||||
sta.z memset.str
|
||||
lda #>SCREEN
|
||||
sta.z memset.str+1
|
||||
// [94] phi memset::num#2 = $3e8 [phi:bitmap_clear->memset#2] -- vwuz1=vwuc1
|
||||
// [94] phi memset::num#2 = $3e8 [phi:bitmap_clear->memset#2] -- call_phi_near
|
||||
lda #<$3e8
|
||||
sta.z memset.num
|
||||
lda #>$3e8
|
||||
@ -3668,7 +3668,7 @@ bitmap_clear: {
|
||||
sta.z memset.str
|
||||
lda #>BITMAP
|
||||
sta.z memset.str+1
|
||||
// [94] phi memset::num#2 = $1f40 [phi:bitmap_clear::@1->memset#2] -- vwuz1=vwuc1
|
||||
// [94] phi memset::num#2 = $1f40 [phi:bitmap_clear::@1->memset#2] -- call_phi_near
|
||||
lda #<$1f40
|
||||
sta.z memset.num
|
||||
lda #>$1f40
|
||||
@ -3743,7 +3743,7 @@ bitmap_line: {
|
||||
sta.z abs_u16.w+1
|
||||
// [47] call abs_u16
|
||||
// [103] phi from bitmap_line to abs_u16 [phi:bitmap_line->abs_u16]
|
||||
// [103] phi abs_u16::w#2 = abs_u16::w#0 [phi:bitmap_line->abs_u16#0] -- register_copy
|
||||
// [103] phi abs_u16::w#2 = abs_u16::w#0 [phi:bitmap_line->abs_u16#0] -- call_phi_near
|
||||
jsr abs_u16
|
||||
// unsigned int dx = abs_u16(x2-x1)
|
||||
// [48] abs_u16::return#0 = abs_u16::return#4
|
||||
@ -3756,7 +3756,7 @@ bitmap_line: {
|
||||
// unsigned int dy = abs_u16(y2-y1)
|
||||
// [50] call abs_u16
|
||||
// [103] phi from bitmap_line::@12 to abs_u16 [phi:bitmap_line::@12->abs_u16]
|
||||
// [103] phi abs_u16::w#2 = bitmap_line::y2#0 [phi:bitmap_line::@12->abs_u16#0] -- vwuz1=vwuc1
|
||||
// [103] phi abs_u16::w#2 = bitmap_line::y2#0 [phi:bitmap_line::@12->abs_u16#0] -- call_phi_near
|
||||
lda #<y2
|
||||
sta.z abs_u16.w
|
||||
lda #>y2
|
||||
@ -3788,7 +3788,7 @@ bitmap_line: {
|
||||
sta.z sgn_u16.w+1
|
||||
// [56] call sgn_u16
|
||||
// [110] phi from bitmap_line::@1 to sgn_u16 [phi:bitmap_line::@1->sgn_u16]
|
||||
// [110] phi sgn_u16::w#2 = sgn_u16::w#0 [phi:bitmap_line::@1->sgn_u16#0] -- register_copy
|
||||
// [110] phi sgn_u16::w#2 = sgn_u16::w#0 [phi:bitmap_line::@1->sgn_u16#0] -- call_phi_near
|
||||
jsr sgn_u16
|
||||
// unsigned int sx = sgn_u16(x2-x1)
|
||||
// [57] sgn_u16::return#0 = sgn_u16::return#4
|
||||
@ -3801,7 +3801,7 @@ bitmap_line: {
|
||||
// unsigned int sy = sgn_u16(y2-y1)
|
||||
// [59] call sgn_u16
|
||||
// [110] phi from bitmap_line::@14 to sgn_u16 [phi:bitmap_line::@14->sgn_u16]
|
||||
// [110] phi sgn_u16::w#2 = bitmap_line::y2#0 [phi:bitmap_line::@14->sgn_u16#0] -- vwuz1=vwuc1
|
||||
// [110] phi sgn_u16::w#2 = bitmap_line::y2#0 [phi:bitmap_line::@14->sgn_u16#0] -- call_phi_near
|
||||
lda #<y2
|
||||
sta.z sgn_u16.w
|
||||
lda #>y2
|
||||
@ -3856,7 +3856,7 @@ bitmap_line: {
|
||||
// [67] call bitmap_plot
|
||||
// [117] phi from bitmap_line::@6 to bitmap_plot [phi:bitmap_line::@6->bitmap_plot]
|
||||
// [117] phi bitmap_plot::x#4 = bitmap_plot::x#1 [phi:bitmap_line::@6->bitmap_plot#0] -- register_copy
|
||||
// [117] phi bitmap_plot::y#4 = bitmap_plot::y#1 [phi:bitmap_line::@6->bitmap_plot#1] -- register_copy
|
||||
// [117] phi bitmap_plot::y#4 = bitmap_plot::y#1 [phi:bitmap_line::@6->bitmap_plot#1] -- call_phi_near
|
||||
jsr bitmap_plot
|
||||
// bitmap_line::@16
|
||||
// y += sy
|
||||
@ -3930,7 +3930,7 @@ bitmap_line: {
|
||||
// [78] call bitmap_plot
|
||||
// [117] phi from bitmap_line::@3 to bitmap_plot [phi:bitmap_line::@3->bitmap_plot]
|
||||
// [117] phi bitmap_plot::x#4 = bitmap_plot::x#2 [phi:bitmap_line::@3->bitmap_plot#0] -- register_copy
|
||||
// [117] phi bitmap_plot::y#4 = bitmap_plot::y#2 [phi:bitmap_line::@3->bitmap_plot#1] -- register_copy
|
||||
// [117] phi bitmap_plot::y#4 = bitmap_plot::y#2 [phi:bitmap_line::@3->bitmap_plot#1] -- call_phi_near
|
||||
jsr bitmap_plot
|
||||
// bitmap_line::@return
|
||||
// }
|
||||
@ -3972,7 +3972,7 @@ bitmap_line: {
|
||||
// [84] call bitmap_plot
|
||||
// [117] phi from bitmap_line::@9 to bitmap_plot [phi:bitmap_line::@9->bitmap_plot]
|
||||
// [117] phi bitmap_plot::x#4 = bitmap_plot::x#3 [phi:bitmap_line::@9->bitmap_plot#0] -- register_copy
|
||||
// [117] phi bitmap_plot::y#4 = bitmap_plot::y#3 [phi:bitmap_line::@9->bitmap_plot#1] -- register_copy
|
||||
// [117] phi bitmap_plot::y#4 = bitmap_plot::y#3 [phi:bitmap_line::@9->bitmap_plot#1] -- call_phi_near
|
||||
jsr bitmap_plot
|
||||
// bitmap_line::@17
|
||||
// x += sx
|
||||
@ -4046,7 +4046,7 @@ bitmap_line: {
|
||||
sta.z bitmap_plot.x
|
||||
lda #>x1
|
||||
sta.z bitmap_plot.x+1
|
||||
// [117] phi bitmap_plot::y#4 = 0 [phi:bitmap_line::@4->bitmap_plot#1] -- vbuxx=vbuc1
|
||||
// [117] phi bitmap_plot::y#4 = 0 [phi:bitmap_line::@4->bitmap_plot#1] -- call_phi_near
|
||||
ldx #0
|
||||
jsr bitmap_plot
|
||||
rts
|
||||
|
@ -2293,7 +2293,7 @@ main: {
|
||||
lda #(SCREEN&$3fff)/$40|(BITMAP&$3fff)/$400
|
||||
sta VICII_MEMORY
|
||||
// [4] call bitmap_init
|
||||
// [14] phi from main to bitmap_init [phi:main->bitmap_init]
|
||||
// [14] phi from main to bitmap_init [phi:main->bitmap_init] -- call_phi_near
|
||||
bitmap_init_from_main:
|
||||
jsr bitmap_init
|
||||
// [5] phi from main to main::@3 [phi:main->main::@3]
|
||||
@ -2302,7 +2302,7 @@ main: {
|
||||
// main::@3
|
||||
__b3:
|
||||
// [6] call bitmap_clear
|
||||
// [36] phi from main::@3 to bitmap_clear [phi:main::@3->bitmap_clear]
|
||||
// [36] phi from main::@3 to bitmap_clear [phi:main::@3->bitmap_clear] -- call_phi_near
|
||||
bitmap_clear_from___b3:
|
||||
jsr bitmap_clear
|
||||
// [7] phi from main::@3 to main::@1 [phi:main::@3->main::@1]
|
||||
@ -2316,7 +2316,7 @@ main: {
|
||||
// main::@1
|
||||
__b1:
|
||||
// [8] bitmap_line::x2#0 = next#6
|
||||
// [9] call bitmap_line
|
||||
// [9] call bitmap_line -- call_phi_near
|
||||
jsr bitmap_line
|
||||
jmp __b4
|
||||
// main::@4
|
||||
@ -2485,7 +2485,7 @@ bitmap_clear: {
|
||||
sta.z memset.str
|
||||
lda #>SCREEN
|
||||
sta.z memset.str+1
|
||||
// [89] phi memset::num#2 = $3e8 [phi:bitmap_clear->memset#2] -- vwuz1=vwuc1
|
||||
// [89] phi memset::num#2 = $3e8 [phi:bitmap_clear->memset#2] -- call_phi_near
|
||||
lda #<$3e8
|
||||
sta.z memset.num
|
||||
lda #>$3e8
|
||||
@ -2506,7 +2506,7 @@ bitmap_clear: {
|
||||
sta.z memset.str
|
||||
lda #>BITMAP
|
||||
sta.z memset.str+1
|
||||
// [89] phi memset::num#2 = $1f40 [phi:bitmap_clear::@1->memset#2] -- vwuz1=vwuc1
|
||||
// [89] phi memset::num#2 = $1f40 [phi:bitmap_clear::@1->memset#2] -- call_phi_near
|
||||
lda #<$1f40
|
||||
sta.z memset.num
|
||||
lda #>$1f40
|
||||
@ -2542,7 +2542,7 @@ bitmap_line: {
|
||||
// [42] call abs_u16
|
||||
// [98] phi from bitmap_line to abs_u16 [phi:bitmap_line->abs_u16]
|
||||
abs_u16_from_bitmap_line:
|
||||
// [98] phi abs_u16::w#2 = abs_u16::w#0 [phi:bitmap_line->abs_u16#0] -- register_copy
|
||||
// [98] phi abs_u16::w#2 = abs_u16::w#0 [phi:bitmap_line->abs_u16#0] -- call_phi_near
|
||||
jsr abs_u16
|
||||
// [43] abs_u16::return#0 = abs_u16::return#4
|
||||
jmp __b12
|
||||
@ -2556,7 +2556,7 @@ bitmap_line: {
|
||||
// [45] call abs_u16
|
||||
// [98] phi from bitmap_line::@12 to abs_u16 [phi:bitmap_line::@12->abs_u16]
|
||||
abs_u16_from___b12:
|
||||
// [98] phi abs_u16::w#2 = bitmap_line::y2#0 [phi:bitmap_line::@12->abs_u16#0] -- vwuz1=vwuc1
|
||||
// [98] phi abs_u16::w#2 = bitmap_line::y2#0 [phi:bitmap_line::@12->abs_u16#0] -- call_phi_near
|
||||
lda #<y2
|
||||
sta.z abs_u16.w
|
||||
lda #>y2
|
||||
@ -2589,7 +2589,7 @@ bitmap_line: {
|
||||
// [51] call sgn_u16
|
||||
// [105] phi from bitmap_line::@1 to sgn_u16 [phi:bitmap_line::@1->sgn_u16]
|
||||
sgn_u16_from___b1:
|
||||
// [105] phi sgn_u16::w#2 = sgn_u16::w#0 [phi:bitmap_line::@1->sgn_u16#0] -- register_copy
|
||||
// [105] phi sgn_u16::w#2 = sgn_u16::w#0 [phi:bitmap_line::@1->sgn_u16#0] -- call_phi_near
|
||||
jsr sgn_u16
|
||||
// [52] sgn_u16::return#0 = sgn_u16::return#4
|
||||
jmp __b14
|
||||
@ -2603,7 +2603,7 @@ bitmap_line: {
|
||||
// [54] call sgn_u16
|
||||
// [105] phi from bitmap_line::@14 to sgn_u16 [phi:bitmap_line::@14->sgn_u16]
|
||||
sgn_u16_from___b14:
|
||||
// [105] phi sgn_u16::w#2 = bitmap_line::y2#0 [phi:bitmap_line::@14->sgn_u16#0] -- vwuz1=vwuc1
|
||||
// [105] phi sgn_u16::w#2 = bitmap_line::y2#0 [phi:bitmap_line::@14->sgn_u16#0] -- call_phi_near
|
||||
lda #<y2
|
||||
sta.z sgn_u16.w
|
||||
lda #>y2
|
||||
@ -2663,7 +2663,7 @@ bitmap_line: {
|
||||
// [112] phi from bitmap_line::@6 to bitmap_plot [phi:bitmap_line::@6->bitmap_plot]
|
||||
bitmap_plot_from___b6:
|
||||
// [112] phi bitmap_plot::x#4 = bitmap_plot::x#1 [phi:bitmap_line::@6->bitmap_plot#0] -- register_copy
|
||||
// [112] phi bitmap_plot::y#4 = bitmap_plot::y#1 [phi:bitmap_line::@6->bitmap_plot#1] -- register_copy
|
||||
// [112] phi bitmap_plot::y#4 = bitmap_plot::y#1 [phi:bitmap_line::@6->bitmap_plot#1] -- call_phi_near
|
||||
jsr bitmap_plot
|
||||
jmp __b16
|
||||
// bitmap_line::@16
|
||||
@ -2742,7 +2742,7 @@ bitmap_line: {
|
||||
// [112] phi from bitmap_line::@3 to bitmap_plot [phi:bitmap_line::@3->bitmap_plot]
|
||||
bitmap_plot_from___b3:
|
||||
// [112] phi bitmap_plot::x#4 = bitmap_plot::x#2 [phi:bitmap_line::@3->bitmap_plot#0] -- register_copy
|
||||
// [112] phi bitmap_plot::y#4 = bitmap_plot::y#2 [phi:bitmap_line::@3->bitmap_plot#1] -- register_copy
|
||||
// [112] phi bitmap_plot::y#4 = bitmap_plot::y#2 [phi:bitmap_line::@3->bitmap_plot#1] -- call_phi_near
|
||||
jsr bitmap_plot
|
||||
jmp __breturn
|
||||
// bitmap_line::@return
|
||||
@ -2788,7 +2788,7 @@ bitmap_line: {
|
||||
// [112] phi from bitmap_line::@9 to bitmap_plot [phi:bitmap_line::@9->bitmap_plot]
|
||||
bitmap_plot_from___b9:
|
||||
// [112] phi bitmap_plot::x#4 = bitmap_plot::x#3 [phi:bitmap_line::@9->bitmap_plot#0] -- register_copy
|
||||
// [112] phi bitmap_plot::y#4 = bitmap_plot::y#3 [phi:bitmap_line::@9->bitmap_plot#1] -- register_copy
|
||||
// [112] phi bitmap_plot::y#4 = bitmap_plot::y#3 [phi:bitmap_line::@9->bitmap_plot#1] -- call_phi_near
|
||||
jsr bitmap_plot
|
||||
jmp __b17
|
||||
// bitmap_line::@17
|
||||
@ -2866,7 +2866,7 @@ bitmap_line: {
|
||||
sta.z bitmap_plot.x
|
||||
lda #>x1
|
||||
sta.z bitmap_plot.x+1
|
||||
// [112] phi bitmap_plot::y#4 = 0 [phi:bitmap_line::@4->bitmap_plot#1] -- vbuxx=vbuc1
|
||||
// [112] phi bitmap_plot::y#4 = 0 [phi:bitmap_line::@4->bitmap_plot#1] -- call_phi_near
|
||||
ldx #0
|
||||
jsr bitmap_plot
|
||||
jmp __breturn
|
||||
@ -3443,13 +3443,13 @@ main: {
|
||||
sta VICII_MEMORY
|
||||
// bitmap_init(BITMAP, SCREEN)
|
||||
// [4] call bitmap_init
|
||||
// [14] phi from main to bitmap_init [phi:main->bitmap_init]
|
||||
// [14] phi from main to bitmap_init [phi:main->bitmap_init] -- call_phi_near
|
||||
jsr bitmap_init
|
||||
// [5] phi from main to main::@3 [phi:main->main::@3]
|
||||
// main::@3
|
||||
// bitmap_clear(PURPLE, WHITE)
|
||||
// [6] call bitmap_clear
|
||||
// [36] phi from main::@3 to bitmap_clear [phi:main::@3->bitmap_clear]
|
||||
// [36] phi from main::@3 to bitmap_clear [phi:main::@3->bitmap_clear] -- call_phi_near
|
||||
jsr bitmap_clear
|
||||
// [7] phi from main::@3 to main::@1 [phi:main::@3->main::@1]
|
||||
// [7] phi next#6 = 0 [phi:main::@3->main::@1#0] -- vwuz1=vwuc1
|
||||
@ -3460,7 +3460,7 @@ main: {
|
||||
__b1:
|
||||
// bitmap_line(0,0,next,100)
|
||||
// [8] bitmap_line::x2#0 = next#6
|
||||
// [9] call bitmap_line
|
||||
// [9] call bitmap_line -- call_phi_near
|
||||
jsr bitmap_line
|
||||
// main::@4
|
||||
// next++;
|
||||
@ -3611,7 +3611,7 @@ bitmap_clear: {
|
||||
sta.z memset.str
|
||||
lda #>SCREEN
|
||||
sta.z memset.str+1
|
||||
// [89] phi memset::num#2 = $3e8 [phi:bitmap_clear->memset#2] -- vwuz1=vwuc1
|
||||
// [89] phi memset::num#2 = $3e8 [phi:bitmap_clear->memset#2] -- call_phi_near
|
||||
lda #<$3e8
|
||||
sta.z memset.num
|
||||
lda #>$3e8
|
||||
@ -3629,7 +3629,7 @@ bitmap_clear: {
|
||||
sta.z memset.str
|
||||
lda #>BITMAP
|
||||
sta.z memset.str+1
|
||||
// [89] phi memset::num#2 = $1f40 [phi:bitmap_clear::@1->memset#2] -- vwuz1=vwuc1
|
||||
// [89] phi memset::num#2 = $1f40 [phi:bitmap_clear::@1->memset#2] -- call_phi_near
|
||||
lda #<$1f40
|
||||
sta.z memset.num
|
||||
lda #>$1f40
|
||||
@ -3664,7 +3664,7 @@ bitmap_line: {
|
||||
sta.z abs_u16.w+1
|
||||
// [42] call abs_u16
|
||||
// [98] phi from bitmap_line to abs_u16 [phi:bitmap_line->abs_u16]
|
||||
// [98] phi abs_u16::w#2 = abs_u16::w#0 [phi:bitmap_line->abs_u16#0] -- register_copy
|
||||
// [98] phi abs_u16::w#2 = abs_u16::w#0 [phi:bitmap_line->abs_u16#0] -- call_phi_near
|
||||
jsr abs_u16
|
||||
// unsigned int dx = abs_u16(x2-x1)
|
||||
// [43] abs_u16::return#0 = abs_u16::return#4
|
||||
@ -3677,7 +3677,7 @@ bitmap_line: {
|
||||
// unsigned int dy = abs_u16(y2-y1)
|
||||
// [45] call abs_u16
|
||||
// [98] phi from bitmap_line::@12 to abs_u16 [phi:bitmap_line::@12->abs_u16]
|
||||
// [98] phi abs_u16::w#2 = bitmap_line::y2#0 [phi:bitmap_line::@12->abs_u16#0] -- vwuz1=vwuc1
|
||||
// [98] phi abs_u16::w#2 = bitmap_line::y2#0 [phi:bitmap_line::@12->abs_u16#0] -- call_phi_near
|
||||
lda #<y2
|
||||
sta.z abs_u16.w
|
||||
lda #>y2
|
||||
@ -3709,7 +3709,7 @@ bitmap_line: {
|
||||
sta.z sgn_u16.w+1
|
||||
// [51] call sgn_u16
|
||||
// [105] phi from bitmap_line::@1 to sgn_u16 [phi:bitmap_line::@1->sgn_u16]
|
||||
// [105] phi sgn_u16::w#2 = sgn_u16::w#0 [phi:bitmap_line::@1->sgn_u16#0] -- register_copy
|
||||
// [105] phi sgn_u16::w#2 = sgn_u16::w#0 [phi:bitmap_line::@1->sgn_u16#0] -- call_phi_near
|
||||
jsr sgn_u16
|
||||
// unsigned int sx = sgn_u16(x2-x1)
|
||||
// [52] sgn_u16::return#0 = sgn_u16::return#4
|
||||
@ -3722,7 +3722,7 @@ bitmap_line: {
|
||||
// unsigned int sy = sgn_u16(y2-y1)
|
||||
// [54] call sgn_u16
|
||||
// [105] phi from bitmap_line::@14 to sgn_u16 [phi:bitmap_line::@14->sgn_u16]
|
||||
// [105] phi sgn_u16::w#2 = bitmap_line::y2#0 [phi:bitmap_line::@14->sgn_u16#0] -- vwuz1=vwuc1
|
||||
// [105] phi sgn_u16::w#2 = bitmap_line::y2#0 [phi:bitmap_line::@14->sgn_u16#0] -- call_phi_near
|
||||
lda #<y2
|
||||
sta.z sgn_u16.w
|
||||
lda #>y2
|
||||
@ -3777,7 +3777,7 @@ bitmap_line: {
|
||||
// [62] call bitmap_plot
|
||||
// [112] phi from bitmap_line::@6 to bitmap_plot [phi:bitmap_line::@6->bitmap_plot]
|
||||
// [112] phi bitmap_plot::x#4 = bitmap_plot::x#1 [phi:bitmap_line::@6->bitmap_plot#0] -- register_copy
|
||||
// [112] phi bitmap_plot::y#4 = bitmap_plot::y#1 [phi:bitmap_line::@6->bitmap_plot#1] -- register_copy
|
||||
// [112] phi bitmap_plot::y#4 = bitmap_plot::y#1 [phi:bitmap_line::@6->bitmap_plot#1] -- call_phi_near
|
||||
jsr bitmap_plot
|
||||
// bitmap_line::@16
|
||||
// y += sy
|
||||
@ -3851,7 +3851,7 @@ bitmap_line: {
|
||||
// [73] call bitmap_plot
|
||||
// [112] phi from bitmap_line::@3 to bitmap_plot [phi:bitmap_line::@3->bitmap_plot]
|
||||
// [112] phi bitmap_plot::x#4 = bitmap_plot::x#2 [phi:bitmap_line::@3->bitmap_plot#0] -- register_copy
|
||||
// [112] phi bitmap_plot::y#4 = bitmap_plot::y#2 [phi:bitmap_line::@3->bitmap_plot#1] -- register_copy
|
||||
// [112] phi bitmap_plot::y#4 = bitmap_plot::y#2 [phi:bitmap_line::@3->bitmap_plot#1] -- call_phi_near
|
||||
jsr bitmap_plot
|
||||
// bitmap_line::@return
|
||||
// }
|
||||
@ -3893,7 +3893,7 @@ bitmap_line: {
|
||||
// [79] call bitmap_plot
|
||||
// [112] phi from bitmap_line::@9 to bitmap_plot [phi:bitmap_line::@9->bitmap_plot]
|
||||
// [112] phi bitmap_plot::x#4 = bitmap_plot::x#3 [phi:bitmap_line::@9->bitmap_plot#0] -- register_copy
|
||||
// [112] phi bitmap_plot::y#4 = bitmap_plot::y#3 [phi:bitmap_line::@9->bitmap_plot#1] -- register_copy
|
||||
// [112] phi bitmap_plot::y#4 = bitmap_plot::y#3 [phi:bitmap_line::@9->bitmap_plot#1] -- call_phi_near
|
||||
jsr bitmap_plot
|
||||
// bitmap_line::@17
|
||||
// x += sx
|
||||
@ -3967,7 +3967,7 @@ bitmap_line: {
|
||||
sta.z bitmap_plot.x
|
||||
lda #>x1
|
||||
sta.z bitmap_plot.x+1
|
||||
// [112] phi bitmap_plot::y#4 = 0 [phi:bitmap_line::@4->bitmap_plot#1] -- vbuxx=vbuc1
|
||||
// [112] phi bitmap_plot::y#4 = 0 [phi:bitmap_line::@4->bitmap_plot#1] -- call_phi_near
|
||||
ldx #0
|
||||
jsr bitmap_plot
|
||||
rts
|
||||
|
@ -1730,7 +1730,7 @@ __start: {
|
||||
// __start::@1
|
||||
__b1:
|
||||
// [3] call main
|
||||
// [11] phi from __start::@1 to main [phi:__start::@1->main]
|
||||
// [11] phi from __start::@1 to main [phi:__start::@1->main] -- call_phi_near
|
||||
main_from___b1:
|
||||
jsr main
|
||||
jmp __breturn
|
||||
@ -1782,7 +1782,7 @@ main: {
|
||||
.label vx = $a
|
||||
.label vy = 9
|
||||
// [12] call bitmap_init
|
||||
// [34] phi from main to bitmap_init [phi:main->bitmap_init]
|
||||
// [34] phi from main to bitmap_init [phi:main->bitmap_init] -- call_phi_near
|
||||
bitmap_init_from_main:
|
||||
jsr bitmap_init
|
||||
// [13] phi from main to main::@8 [phi:main->main::@8]
|
||||
@ -1791,7 +1791,7 @@ main: {
|
||||
// main::@8
|
||||
__b8:
|
||||
// [14] call bitmap_clear
|
||||
// [56] phi from main::@8 to bitmap_clear [phi:main::@8->bitmap_clear]
|
||||
// [56] phi from main::@8 to bitmap_clear [phi:main::@8->bitmap_clear] -- call_phi_near
|
||||
bitmap_clear_from___b8:
|
||||
jsr bitmap_clear
|
||||
jmp __b9
|
||||
@ -1811,7 +1811,7 @@ main: {
|
||||
// [17] *D018 = main::toD0181_return#0 -- _deref_pbuc1=vbuc2
|
||||
lda #toD0181_return
|
||||
sta D018
|
||||
// [18] call init_irq
|
||||
// [18] call init_irq -- call_phi_near
|
||||
jsr init_irq
|
||||
// [19] phi from main::@7 to main::@1 [phi:main::@7->main::@1]
|
||||
__b1_from___b7:
|
||||
@ -1840,7 +1840,7 @@ main: {
|
||||
// [20] bitmap_plot::x#0 = main::x#2
|
||||
// [21] bitmap_plot::y#0 = main::y#2 -- vbuxx=vbuz1
|
||||
ldx.z y
|
||||
// [22] call bitmap_plot
|
||||
// [22] call bitmap_plot -- call_phi_near
|
||||
jsr bitmap_plot
|
||||
jmp __b10
|
||||
// main::@10
|
||||
@ -2056,7 +2056,7 @@ bitmap_clear: {
|
||||
sta.z memset.str
|
||||
lda #>SCREEN
|
||||
sta.z memset.str+1
|
||||
// [77] phi memset::num#2 = $3e8 [phi:bitmap_clear->memset#2] -- vwuz1=vwuc1
|
||||
// [77] phi memset::num#2 = $3e8 [phi:bitmap_clear->memset#2] -- call_phi_near
|
||||
lda #<$3e8
|
||||
sta.z memset.num
|
||||
lda #>$3e8
|
||||
@ -2077,7 +2077,7 @@ bitmap_clear: {
|
||||
sta.z memset.str
|
||||
lda #>BITMAP
|
||||
sta.z memset.str+1
|
||||
// [77] phi memset::num#2 = $1f40 [phi:bitmap_clear::@1->memset#2] -- vwuz1=vwuc1
|
||||
// [77] phi memset::num#2 = $1f40 [phi:bitmap_clear::@1->memset#2] -- call_phi_near
|
||||
lda #<$1f40
|
||||
sta.z memset.num
|
||||
lda #>$1f40
|
||||
@ -2562,7 +2562,7 @@ __start: {
|
||||
// [2] phi from __start::__init1 to __start::@1 [phi:__start::__init1->__start::@1]
|
||||
// __start::@1
|
||||
// [3] call main
|
||||
// [11] phi from __start::@1 to main [phi:__start::@1->main]
|
||||
// [11] phi from __start::@1 to main [phi:__start::@1->main] -- call_phi_near
|
||||
jsr main
|
||||
// __start::@return
|
||||
// [4] return
|
||||
@ -2613,13 +2613,13 @@ main: {
|
||||
.label vy = 9
|
||||
// bitmap_init(BITMAP, SCREEN)
|
||||
// [12] call bitmap_init
|
||||
// [34] phi from main to bitmap_init [phi:main->bitmap_init]
|
||||
// [34] phi from main to bitmap_init [phi:main->bitmap_init] -- call_phi_near
|
||||
jsr bitmap_init
|
||||
// [13] phi from main to main::@8 [phi:main->main::@8]
|
||||
// main::@8
|
||||
// bitmap_clear(BLACK, WHITE)
|
||||
// [14] call bitmap_clear
|
||||
// [56] phi from main::@8 to bitmap_clear [phi:main::@8->bitmap_clear]
|
||||
// [56] phi from main::@8 to bitmap_clear [phi:main::@8->bitmap_clear] -- call_phi_near
|
||||
jsr bitmap_clear
|
||||
// main::@9
|
||||
// *D011 = VICII_BMM|VICII_DEN|VICII_RSEL|3
|
||||
@ -2634,7 +2634,7 @@ main: {
|
||||
lda #toD0181_return
|
||||
sta D018
|
||||
// init_irq()
|
||||
// [18] call init_irq
|
||||
// [18] call init_irq -- call_phi_near
|
||||
jsr init_irq
|
||||
// [19] phi from main::@7 to main::@1 [phi:main::@7->main::@1]
|
||||
// [19] phi main::vy#2 = 1 [phi:main::@7->main::@1#0] -- vbuz1=vbuc1
|
||||
@ -2656,7 +2656,7 @@ main: {
|
||||
// [20] bitmap_plot::x#0 = main::x#2
|
||||
// [21] bitmap_plot::y#0 = main::y#2 -- vbuxx=vbuz1
|
||||
ldx.z y
|
||||
// [22] call bitmap_plot
|
||||
// [22] call bitmap_plot -- call_phi_near
|
||||
jsr bitmap_plot
|
||||
// main::@10
|
||||
// x += vx
|
||||
@ -2856,7 +2856,7 @@ bitmap_clear: {
|
||||
sta.z memset.str
|
||||
lda #>SCREEN
|
||||
sta.z memset.str+1
|
||||
// [77] phi memset::num#2 = $3e8 [phi:bitmap_clear->memset#2] -- vwuz1=vwuc1
|
||||
// [77] phi memset::num#2 = $3e8 [phi:bitmap_clear->memset#2] -- call_phi_near
|
||||
lda #<$3e8
|
||||
sta.z memset.num
|
||||
lda #>$3e8
|
||||
@ -2874,7 +2874,7 @@ bitmap_clear: {
|
||||
sta.z memset.str
|
||||
lda #>BITMAP
|
||||
sta.z memset.str+1
|
||||
// [77] phi memset::num#2 = $1f40 [phi:bitmap_clear::@1->memset#2] -- vwuz1=vwuc1
|
||||
// [77] phi memset::num#2 = $1f40 [phi:bitmap_clear::@1->memset#2] -- call_phi_near
|
||||
lda #<$1f40
|
||||
sta.z memset.num
|
||||
lda #>$1f40
|
||||
|
@ -2524,7 +2524,7 @@ main: {
|
||||
.label a = $1c
|
||||
.label i = $1b
|
||||
// [1] call bitmap_init
|
||||
// [19] phi from main to bitmap_init [phi:main->bitmap_init]
|
||||
// [19] phi from main to bitmap_init [phi:main->bitmap_init] -- call_phi_near
|
||||
bitmap_init_from_main:
|
||||
jsr bitmap_init
|
||||
// [2] phi from main to main::@5 [phi:main->main::@5]
|
||||
@ -2533,7 +2533,7 @@ main: {
|
||||
// main::@5
|
||||
__b5:
|
||||
// [3] call bitmap_clear
|
||||
// [41] phi from main::@5 to bitmap_clear [phi:main::@5->bitmap_clear]
|
||||
// [41] phi from main::@5 to bitmap_clear [phi:main::@5->bitmap_clear] -- call_phi_near
|
||||
bitmap_clear_from___b5:
|
||||
jsr bitmap_clear
|
||||
jmp __b6
|
||||
@ -2616,7 +2616,7 @@ main: {
|
||||
sta.z bitmap_line.y2
|
||||
lda #0
|
||||
sta.z bitmap_line.y2+1
|
||||
// [16] call bitmap_line
|
||||
// [16] call bitmap_line -- call_phi_near
|
||||
jsr bitmap_line
|
||||
jmp __b7
|
||||
// main::@7
|
||||
@ -2761,7 +2761,7 @@ bitmap_clear: {
|
||||
sta.z memset.str
|
||||
lda #>SCREEN
|
||||
sta.z memset.str+1
|
||||
// [97] phi memset::num#2 = $3e8 [phi:bitmap_clear->memset#2] -- vwuz1=vwuc1
|
||||
// [97] phi memset::num#2 = $3e8 [phi:bitmap_clear->memset#2] -- call_phi_near
|
||||
lda #<$3e8
|
||||
sta.z memset.num
|
||||
lda #>$3e8
|
||||
@ -2782,7 +2782,7 @@ bitmap_clear: {
|
||||
sta.z memset.str
|
||||
lda #>BITMAP
|
||||
sta.z memset.str+1
|
||||
// [97] phi memset::num#2 = $1f40 [phi:bitmap_clear::@1->memset#2] -- vwuz1=vwuc1
|
||||
// [97] phi memset::num#2 = $1f40 [phi:bitmap_clear::@1->memset#2] -- call_phi_near
|
||||
lda #<$1f40
|
||||
sta.z memset.num
|
||||
lda #>$1f40
|
||||
@ -2821,7 +2821,7 @@ bitmap_line: {
|
||||
// [47] call abs_u16
|
||||
// [106] phi from bitmap_line to abs_u16 [phi:bitmap_line->abs_u16]
|
||||
abs_u16_from_bitmap_line:
|
||||
// [106] phi abs_u16::w#2 = abs_u16::w#0 [phi:bitmap_line->abs_u16#0] -- register_copy
|
||||
// [106] phi abs_u16::w#2 = abs_u16::w#0 [phi:bitmap_line->abs_u16#0] -- call_phi_near
|
||||
jsr abs_u16
|
||||
// [48] abs_u16::return#0 = abs_u16::return#4
|
||||
jmp __b12
|
||||
@ -2843,7 +2843,7 @@ bitmap_line: {
|
||||
// [51] call abs_u16
|
||||
// [106] phi from bitmap_line::@12 to abs_u16 [phi:bitmap_line::@12->abs_u16]
|
||||
abs_u16_from___b12:
|
||||
// [106] phi abs_u16::w#2 = abs_u16::w#1 [phi:bitmap_line::@12->abs_u16#0] -- register_copy
|
||||
// [106] phi abs_u16::w#2 = abs_u16::w#1 [phi:bitmap_line::@12->abs_u16#0] -- call_phi_near
|
||||
jsr abs_u16
|
||||
// [52] abs_u16::return#1 = abs_u16::return#4
|
||||
jmp __b13
|
||||
@ -2875,7 +2875,7 @@ bitmap_line: {
|
||||
// [57] call sgn_u16
|
||||
// [113] phi from bitmap_line::@1 to sgn_u16 [phi:bitmap_line::@1->sgn_u16]
|
||||
sgn_u16_from___b1:
|
||||
// [113] phi sgn_u16::w#2 = sgn_u16::w#0 [phi:bitmap_line::@1->sgn_u16#0] -- register_copy
|
||||
// [113] phi sgn_u16::w#2 = sgn_u16::w#0 [phi:bitmap_line::@1->sgn_u16#0] -- call_phi_near
|
||||
jsr sgn_u16
|
||||
// [58] sgn_u16::return#0 = sgn_u16::return#4
|
||||
jmp __b14
|
||||
@ -2897,7 +2897,7 @@ bitmap_line: {
|
||||
// [61] call sgn_u16
|
||||
// [113] phi from bitmap_line::@14 to sgn_u16 [phi:bitmap_line::@14->sgn_u16]
|
||||
sgn_u16_from___b14:
|
||||
// [113] phi sgn_u16::w#2 = sgn_u16::w#1 [phi:bitmap_line::@14->sgn_u16#0] -- register_copy
|
||||
// [113] phi sgn_u16::w#2 = sgn_u16::w#1 [phi:bitmap_line::@14->sgn_u16#0] -- call_phi_near
|
||||
jsr sgn_u16
|
||||
// [62] sgn_u16::return#1 = sgn_u16::return#4
|
||||
jmp __b15
|
||||
@ -2940,7 +2940,7 @@ bitmap_line: {
|
||||
// [120] phi from bitmap_line::@6 to bitmap_plot [phi:bitmap_line::@6->bitmap_plot]
|
||||
bitmap_plot_from___b6:
|
||||
// [120] phi bitmap_plot::x#4 = bitmap_plot::x#1 [phi:bitmap_line::@6->bitmap_plot#0] -- register_copy
|
||||
// [120] phi bitmap_plot::y#4 = bitmap_plot::y#1 [phi:bitmap_line::@6->bitmap_plot#1] -- register_copy
|
||||
// [120] phi bitmap_plot::y#4 = bitmap_plot::y#1 [phi:bitmap_line::@6->bitmap_plot#1] -- call_phi_near
|
||||
jsr bitmap_plot
|
||||
jmp __b16
|
||||
// bitmap_line::@16
|
||||
@ -3019,7 +3019,7 @@ bitmap_line: {
|
||||
// [120] phi from bitmap_line::@3 to bitmap_plot [phi:bitmap_line::@3->bitmap_plot]
|
||||
bitmap_plot_from___b3:
|
||||
// [120] phi bitmap_plot::x#4 = bitmap_plot::x#2 [phi:bitmap_line::@3->bitmap_plot#0] -- register_copy
|
||||
// [120] phi bitmap_plot::y#4 = bitmap_plot::y#2 [phi:bitmap_line::@3->bitmap_plot#1] -- register_copy
|
||||
// [120] phi bitmap_plot::y#4 = bitmap_plot::y#2 [phi:bitmap_line::@3->bitmap_plot#1] -- call_phi_near
|
||||
jsr bitmap_plot
|
||||
jmp __breturn
|
||||
// bitmap_line::@return
|
||||
@ -3052,7 +3052,7 @@ bitmap_line: {
|
||||
// [120] phi from bitmap_line::@9 to bitmap_plot [phi:bitmap_line::@9->bitmap_plot]
|
||||
bitmap_plot_from___b9:
|
||||
// [120] phi bitmap_plot::x#4 = bitmap_plot::x#3 [phi:bitmap_line::@9->bitmap_plot#0] -- register_copy
|
||||
// [120] phi bitmap_plot::y#4 = bitmap_plot::y#3 [phi:bitmap_line::@9->bitmap_plot#1] -- register_copy
|
||||
// [120] phi bitmap_plot::y#4 = bitmap_plot::y#3 [phi:bitmap_line::@9->bitmap_plot#1] -- call_phi_near
|
||||
jsr bitmap_plot
|
||||
jmp __b17
|
||||
// bitmap_line::@17
|
||||
@ -3126,7 +3126,7 @@ bitmap_line: {
|
||||
// [120] phi from bitmap_line::@4 to bitmap_plot [phi:bitmap_line::@4->bitmap_plot]
|
||||
bitmap_plot_from___b4:
|
||||
// [120] phi bitmap_plot::x#4 = bitmap_plot::x#0 [phi:bitmap_line::@4->bitmap_plot#0] -- register_copy
|
||||
// [120] phi bitmap_plot::y#4 = bitmap_plot::y#0 [phi:bitmap_line::@4->bitmap_plot#1] -- register_copy
|
||||
// [120] phi bitmap_plot::y#4 = bitmap_plot::y#0 [phi:bitmap_line::@4->bitmap_plot#1] -- call_phi_near
|
||||
jsr bitmap_plot
|
||||
jmp __breturn
|
||||
}
|
||||
@ -3699,13 +3699,13 @@ main: {
|
||||
.label i = $1b
|
||||
// bitmap_init(BITMAP, SCREEN)
|
||||
// [1] call bitmap_init
|
||||
// [19] phi from main to bitmap_init [phi:main->bitmap_init]
|
||||
// [19] phi from main to bitmap_init [phi:main->bitmap_init] -- call_phi_near
|
||||
jsr bitmap_init
|
||||
// [2] phi from main to main::@5 [phi:main->main::@5]
|
||||
// main::@5
|
||||
// bitmap_clear(BLACK, WHITE)
|
||||
// [3] call bitmap_clear
|
||||
// [41] phi from main::@5 to bitmap_clear [phi:main::@5->bitmap_clear]
|
||||
// [41] phi from main::@5 to bitmap_clear [phi:main::@5->bitmap_clear] -- call_phi_near
|
||||
jsr bitmap_clear
|
||||
// main::@6
|
||||
// *D011 = VICII_BMM|VICII_DEN|VICII_RSEL|3
|
||||
@ -3783,7 +3783,7 @@ main: {
|
||||
sta.z bitmap_line.y2
|
||||
lda #0
|
||||
sta.z bitmap_line.y2+1
|
||||
// [16] call bitmap_line
|
||||
// [16] call bitmap_line -- call_phi_near
|
||||
jsr bitmap_line
|
||||
// main::@7
|
||||
// a+=32
|
||||
@ -3919,7 +3919,7 @@ bitmap_clear: {
|
||||
sta.z memset.str
|
||||
lda #>SCREEN
|
||||
sta.z memset.str+1
|
||||
// [97] phi memset::num#2 = $3e8 [phi:bitmap_clear->memset#2] -- vwuz1=vwuc1
|
||||
// [97] phi memset::num#2 = $3e8 [phi:bitmap_clear->memset#2] -- call_phi_near
|
||||
lda #<$3e8
|
||||
sta.z memset.num
|
||||
lda #>$3e8
|
||||
@ -3937,7 +3937,7 @@ bitmap_clear: {
|
||||
sta.z memset.str
|
||||
lda #>BITMAP
|
||||
sta.z memset.str+1
|
||||
// [97] phi memset::num#2 = $1f40 [phi:bitmap_clear::@1->memset#2] -- vwuz1=vwuc1
|
||||
// [97] phi memset::num#2 = $1f40 [phi:bitmap_clear::@1->memset#2] -- call_phi_near
|
||||
lda #<$1f40
|
||||
sta.z memset.num
|
||||
lda #>$1f40
|
||||
@ -3975,7 +3975,7 @@ bitmap_line: {
|
||||
sta.z abs_u16.w+1
|
||||
// [47] call abs_u16
|
||||
// [106] phi from bitmap_line to abs_u16 [phi:bitmap_line->abs_u16]
|
||||
// [106] phi abs_u16::w#2 = abs_u16::w#0 [phi:bitmap_line->abs_u16#0] -- register_copy
|
||||
// [106] phi abs_u16::w#2 = abs_u16::w#0 [phi:bitmap_line->abs_u16#0] -- call_phi_near
|
||||
jsr abs_u16
|
||||
// unsigned int dx = abs_u16(x2-x1)
|
||||
// [48] abs_u16::return#0 = abs_u16::return#4
|
||||
@ -3996,7 +3996,7 @@ bitmap_line: {
|
||||
sta.z abs_u16.w+1
|
||||
// [51] call abs_u16
|
||||
// [106] phi from bitmap_line::@12 to abs_u16 [phi:bitmap_line::@12->abs_u16]
|
||||
// [106] phi abs_u16::w#2 = abs_u16::w#1 [phi:bitmap_line::@12->abs_u16#0] -- register_copy
|
||||
// [106] phi abs_u16::w#2 = abs_u16::w#1 [phi:bitmap_line::@12->abs_u16#0] -- call_phi_near
|
||||
jsr abs_u16
|
||||
// unsigned int dy = abs_u16(y2-y1)
|
||||
// [52] abs_u16::return#1 = abs_u16::return#4
|
||||
@ -4027,7 +4027,7 @@ bitmap_line: {
|
||||
sta.z sgn_u16.w+1
|
||||
// [57] call sgn_u16
|
||||
// [113] phi from bitmap_line::@1 to sgn_u16 [phi:bitmap_line::@1->sgn_u16]
|
||||
// [113] phi sgn_u16::w#2 = sgn_u16::w#0 [phi:bitmap_line::@1->sgn_u16#0] -- register_copy
|
||||
// [113] phi sgn_u16::w#2 = sgn_u16::w#0 [phi:bitmap_line::@1->sgn_u16#0] -- call_phi_near
|
||||
jsr sgn_u16
|
||||
// unsigned int sx = sgn_u16(x2-x1)
|
||||
// [58] sgn_u16::return#0 = sgn_u16::return#4
|
||||
@ -4048,7 +4048,7 @@ bitmap_line: {
|
||||
sta.z sgn_u16.w+1
|
||||
// [61] call sgn_u16
|
||||
// [113] phi from bitmap_line::@14 to sgn_u16 [phi:bitmap_line::@14->sgn_u16]
|
||||
// [113] phi sgn_u16::w#2 = sgn_u16::w#1 [phi:bitmap_line::@14->sgn_u16#0] -- register_copy
|
||||
// [113] phi sgn_u16::w#2 = sgn_u16::w#1 [phi:bitmap_line::@14->sgn_u16#0] -- call_phi_near
|
||||
jsr sgn_u16
|
||||
// unsigned int sy = sgn_u16(y2-y1)
|
||||
// [62] sgn_u16::return#1 = sgn_u16::return#4
|
||||
@ -4087,7 +4087,7 @@ bitmap_line: {
|
||||
// [69] call bitmap_plot
|
||||
// [120] phi from bitmap_line::@6 to bitmap_plot [phi:bitmap_line::@6->bitmap_plot]
|
||||
// [120] phi bitmap_plot::x#4 = bitmap_plot::x#1 [phi:bitmap_line::@6->bitmap_plot#0] -- register_copy
|
||||
// [120] phi bitmap_plot::y#4 = bitmap_plot::y#1 [phi:bitmap_line::@6->bitmap_plot#1] -- register_copy
|
||||
// [120] phi bitmap_plot::y#4 = bitmap_plot::y#1 [phi:bitmap_line::@6->bitmap_plot#1] -- call_phi_near
|
||||
jsr bitmap_plot
|
||||
// bitmap_line::@16
|
||||
// y += sy
|
||||
@ -4161,7 +4161,7 @@ bitmap_line: {
|
||||
// [80] call bitmap_plot
|
||||
// [120] phi from bitmap_line::@3 to bitmap_plot [phi:bitmap_line::@3->bitmap_plot]
|
||||
// [120] phi bitmap_plot::x#4 = bitmap_plot::x#2 [phi:bitmap_line::@3->bitmap_plot#0] -- register_copy
|
||||
// [120] phi bitmap_plot::y#4 = bitmap_plot::y#2 [phi:bitmap_line::@3->bitmap_plot#1] -- register_copy
|
||||
// [120] phi bitmap_plot::y#4 = bitmap_plot::y#2 [phi:bitmap_line::@3->bitmap_plot#1] -- call_phi_near
|
||||
jsr bitmap_plot
|
||||
// bitmap_line::@return
|
||||
// }
|
||||
@ -4191,7 +4191,7 @@ bitmap_line: {
|
||||
// [86] call bitmap_plot
|
||||
// [120] phi from bitmap_line::@9 to bitmap_plot [phi:bitmap_line::@9->bitmap_plot]
|
||||
// [120] phi bitmap_plot::x#4 = bitmap_plot::x#3 [phi:bitmap_line::@9->bitmap_plot#0] -- register_copy
|
||||
// [120] phi bitmap_plot::y#4 = bitmap_plot::y#3 [phi:bitmap_line::@9->bitmap_plot#1] -- register_copy
|
||||
// [120] phi bitmap_plot::y#4 = bitmap_plot::y#3 [phi:bitmap_line::@9->bitmap_plot#1] -- call_phi_near
|
||||
jsr bitmap_plot
|
||||
// bitmap_line::@17
|
||||
// x += sx
|
||||
@ -4263,7 +4263,7 @@ bitmap_line: {
|
||||
// [96] call bitmap_plot
|
||||
// [120] phi from bitmap_line::@4 to bitmap_plot [phi:bitmap_line::@4->bitmap_plot]
|
||||
// [120] phi bitmap_plot::x#4 = bitmap_plot::x#0 [phi:bitmap_line::@4->bitmap_plot#0] -- register_copy
|
||||
// [120] phi bitmap_plot::y#4 = bitmap_plot::y#0 [phi:bitmap_line::@4->bitmap_plot#1] -- register_copy
|
||||
// [120] phi bitmap_plot::y#4 = bitmap_plot::y#0 [phi:bitmap_line::@4->bitmap_plot#1] -- call_phi_near
|
||||
jsr bitmap_plot
|
||||
rts
|
||||
}
|
||||
|
@ -980,7 +980,7 @@ main: {
|
||||
lda #SCREEN/$40|BITMAP/$400
|
||||
sta D018
|
||||
// [4] call init_screen
|
||||
// [11] phi from main to init_screen [phi:main->init_screen]
|
||||
// [11] phi from main to init_screen [phi:main->init_screen] -- call_phi_near
|
||||
init_screen_from_main:
|
||||
jsr init_screen
|
||||
// [5] phi from main to main::@3 [phi:main->main::@3]
|
||||
@ -989,7 +989,7 @@ main: {
|
||||
// main::@3
|
||||
__b3:
|
||||
// [6] call init_plot_tables
|
||||
// [21] phi from main::@3 to init_plot_tables [phi:main::@3->init_plot_tables]
|
||||
// [21] phi from main::@3 to init_plot_tables [phi:main::@3->init_plot_tables] -- call_phi_near
|
||||
init_plot_tables_from___b3:
|
||||
jsr init_plot_tables
|
||||
jmp __b1
|
||||
@ -1005,7 +1005,7 @@ main: {
|
||||
// [8] *BG_COLOR = ++ *BG_COLOR -- _deref_pbuc1=_inc__deref_pbuc1
|
||||
inc BG_COLOR
|
||||
// [9] call plots
|
||||
// [46] phi from main::@2 to plots [phi:main::@2->plots]
|
||||
// [46] phi from main::@2 to plots [phi:main::@2->plots] -- call_phi_near
|
||||
plots_from___b2:
|
||||
jsr plots
|
||||
jmp __b4
|
||||
@ -1234,7 +1234,7 @@ plots: {
|
||||
// [51] plot::y#0 = plots_y[plots::i#2] -- vbuz1=pbuc1_derefidx_vbuxx
|
||||
lda plots_y,x
|
||||
sta.z plot.y
|
||||
// [52] call plot
|
||||
// [52] call plot -- call_phi_near
|
||||
jsr plot
|
||||
jmp __b3
|
||||
// plots::@3
|
||||
@ -1511,13 +1511,13 @@ main: {
|
||||
sta D018
|
||||
// init_screen()
|
||||
// [4] call init_screen
|
||||
// [11] phi from main to init_screen [phi:main->init_screen]
|
||||
// [11] phi from main to init_screen [phi:main->init_screen] -- call_phi_near
|
||||
jsr init_screen
|
||||
// [5] phi from main to main::@3 [phi:main->main::@3]
|
||||
// main::@3
|
||||
// init_plot_tables()
|
||||
// [6] call init_plot_tables
|
||||
// [21] phi from main::@3 to init_plot_tables [phi:main::@3->init_plot_tables]
|
||||
// [21] phi from main::@3 to init_plot_tables [phi:main::@3->init_plot_tables] -- call_phi_near
|
||||
jsr init_plot_tables
|
||||
// main::@1
|
||||
__b1:
|
||||
@ -1532,7 +1532,7 @@ main: {
|
||||
inc BG_COLOR
|
||||
// plots()
|
||||
// [9] call plots
|
||||
// [46] phi from main::@2 to plots [phi:main::@2->plots]
|
||||
// [46] phi from main::@2 to plots [phi:main::@2->plots] -- call_phi_near
|
||||
jsr plots
|
||||
// main::@4
|
||||
// (*BG_COLOR)--;
|
||||
@ -1751,7 +1751,7 @@ plots: {
|
||||
// [51] plot::y#0 = plots_y[plots::i#2] -- vbuz1=pbuc1_derefidx_vbuxx
|
||||
lda plots_y,x
|
||||
sta.z plot.y
|
||||
// [52] call plot
|
||||
// [52] call plot -- call_phi_near
|
||||
jsr plot
|
||||
// plots::@3
|
||||
// for(byte i=0; i<plots_cnt;i++)
|
||||
|
@ -368,7 +368,7 @@ ASSEMBLER BEFORE OPTIMIZATION
|
||||
// main
|
||||
main: {
|
||||
// [1] call bool_const_if
|
||||
// [7] phi from main to bool_const_if [phi:main->bool_const_if]
|
||||
// [7] phi from main to bool_const_if [phi:main->bool_const_if] -- call_phi_near
|
||||
bool_const_if_from_main:
|
||||
jsr bool_const_if
|
||||
// [2] phi from main to main::@1 [phi:main->main::@1]
|
||||
@ -377,7 +377,7 @@ main: {
|
||||
// main::@1
|
||||
__b1:
|
||||
// [3] call bool_const_vars
|
||||
// [10] phi from main::@1 to bool_const_vars [phi:main::@1->bool_const_vars]
|
||||
// [10] phi from main::@1 to bool_const_vars [phi:main::@1->bool_const_vars] -- call_phi_near
|
||||
bool_const_vars_from___b1:
|
||||
jsr bool_const_vars
|
||||
// [4] phi from main::@1 to main::@2 [phi:main::@1->main::@2]
|
||||
@ -386,7 +386,7 @@ main: {
|
||||
// main::@2
|
||||
__b2:
|
||||
// [5] call bool_const_inline
|
||||
// [13] phi from main::@2 to bool_const_inline [phi:main::@2->bool_const_inline]
|
||||
// [13] phi from main::@2 to bool_const_inline [phi:main::@2->bool_const_inline] -- call_phi_near
|
||||
bool_const_inline_from___b2:
|
||||
jsr bool_const_inline
|
||||
jmp __breturn
|
||||
@ -503,19 +503,19 @@ Score: 60
|
||||
main: {
|
||||
// bool_const_if()
|
||||
// [1] call bool_const_if
|
||||
// [7] phi from main to bool_const_if [phi:main->bool_const_if]
|
||||
// [7] phi from main to bool_const_if [phi:main->bool_const_if] -- call_phi_near
|
||||
jsr bool_const_if
|
||||
// [2] phi from main to main::@1 [phi:main->main::@1]
|
||||
// main::@1
|
||||
// bool_const_vars()
|
||||
// [3] call bool_const_vars
|
||||
// [10] phi from main::@1 to bool_const_vars [phi:main::@1->bool_const_vars]
|
||||
// [10] phi from main::@1 to bool_const_vars [phi:main::@1->bool_const_vars] -- call_phi_near
|
||||
jsr bool_const_vars
|
||||
// [4] phi from main::@1 to main::@2 [phi:main::@1->main::@2]
|
||||
// main::@2
|
||||
// bool_const_inline()
|
||||
// [5] call bool_const_inline
|
||||
// [13] phi from main::@2 to bool_const_inline [phi:main::@2->bool_const_inline]
|
||||
// [13] phi from main::@2 to bool_const_inline [phi:main::@2->bool_const_inline] -- call_phi_near
|
||||
jsr bool_const_inline
|
||||
// main::@return
|
||||
// }
|
||||
|
@ -325,7 +325,7 @@ main: {
|
||||
tay
|
||||
// [4] isSet::i#0 = main::i#2 -- vbuaa=vbuxx
|
||||
txa
|
||||
// [5] call isSet
|
||||
// [5] call isSet -- call_phi_near
|
||||
jsr isSet
|
||||
// [6] isSet::return#0 = isSet::return#1
|
||||
jmp __b5
|
||||
@ -474,7 +474,7 @@ main: {
|
||||
tay
|
||||
// [4] isSet::i#0 = main::i#2 -- vbuaa=vbuxx
|
||||
txa
|
||||
// [5] call isSet
|
||||
// [5] call isSet -- call_phi_near
|
||||
jsr isSet
|
||||
// [6] isSet::return#0 = isSet::return#1
|
||||
// main::@5
|
||||
|
@ -655,7 +655,7 @@ ASSEMBLER BEFORE OPTIMIZATION
|
||||
// main
|
||||
main: {
|
||||
// [1] call bool_and
|
||||
// [9] phi from main to bool_and [phi:main->bool_and]
|
||||
// [9] phi from main to bool_and [phi:main->bool_and] -- call_phi_near
|
||||
bool_and_from_main:
|
||||
jsr bool_and
|
||||
// [2] phi from main to main::@1 [phi:main->main::@1]
|
||||
@ -664,7 +664,7 @@ main: {
|
||||
// main::@1
|
||||
__b1:
|
||||
// [3] call bool_or
|
||||
// [19] phi from main::@1 to bool_or [phi:main::@1->bool_or]
|
||||
// [19] phi from main::@1 to bool_or [phi:main::@1->bool_or] -- call_phi_near
|
||||
bool_or_from___b1:
|
||||
jsr bool_or
|
||||
// [4] phi from main::@1 to main::@2 [phi:main::@1->main::@2]
|
||||
@ -673,7 +673,7 @@ main: {
|
||||
// main::@2
|
||||
__b2:
|
||||
// [5] call bool_not
|
||||
// [29] phi from main::@2 to bool_not [phi:main::@2->bool_not]
|
||||
// [29] phi from main::@2 to bool_not [phi:main::@2->bool_not] -- call_phi_near
|
||||
bool_not_from___b2:
|
||||
jsr bool_not
|
||||
// [6] phi from main::@2 to main::@3 [phi:main::@2->main::@3]
|
||||
@ -682,7 +682,7 @@ main: {
|
||||
// main::@3
|
||||
__b3:
|
||||
// [7] call bool_complex
|
||||
// [39] phi from main::@3 to bool_complex [phi:main::@3->bool_complex]
|
||||
// [39] phi from main::@3 to bool_complex [phi:main::@3->bool_complex] -- call_phi_near
|
||||
bool_complex_from___b3:
|
||||
jsr bool_complex
|
||||
jmp __breturn
|
||||
@ -1040,25 +1040,25 @@ Score: 1684
|
||||
main: {
|
||||
// bool_and()
|
||||
// [1] call bool_and
|
||||
// [9] phi from main to bool_and [phi:main->bool_and]
|
||||
// [9] phi from main to bool_and [phi:main->bool_and] -- call_phi_near
|
||||
jsr bool_and
|
||||
// [2] phi from main to main::@1 [phi:main->main::@1]
|
||||
// main::@1
|
||||
// bool_or()
|
||||
// [3] call bool_or
|
||||
// [19] phi from main::@1 to bool_or [phi:main::@1->bool_or]
|
||||
// [19] phi from main::@1 to bool_or [phi:main::@1->bool_or] -- call_phi_near
|
||||
jsr bool_or
|
||||
// [4] phi from main::@1 to main::@2 [phi:main::@1->main::@2]
|
||||
// main::@2
|
||||
// bool_not()
|
||||
// [5] call bool_not
|
||||
// [29] phi from main::@2 to bool_not [phi:main::@2->bool_not]
|
||||
// [29] phi from main::@2 to bool_not [phi:main::@2->bool_not] -- call_phi_near
|
||||
jsr bool_not
|
||||
// [6] phi from main::@2 to main::@3 [phi:main::@2->main::@3]
|
||||
// main::@3
|
||||
// bool_complex()
|
||||
// [7] call bool_complex
|
||||
// [39] phi from main::@3 to bool_complex [phi:main::@3->bool_complex]
|
||||
// [39] phi from main::@3 to bool_complex [phi:main::@3->bool_complex] -- call_phi_near
|
||||
jsr bool_complex
|
||||
// main::@return
|
||||
// }
|
||||
|
@ -689,7 +689,7 @@ ASSEMBLER BEFORE OPTIMIZATION
|
||||
// main
|
||||
main: {
|
||||
// [1] call bool_and
|
||||
// [9] phi from main to bool_and [phi:main->bool_and]
|
||||
// [9] phi from main to bool_and [phi:main->bool_and] -- call_phi_near
|
||||
bool_and_from_main:
|
||||
jsr bool_and
|
||||
// [2] phi from main to main::@1 [phi:main->main::@1]
|
||||
@ -698,7 +698,7 @@ main: {
|
||||
// main::@1
|
||||
__b1:
|
||||
// [3] call bool_or
|
||||
// [19] phi from main::@1 to bool_or [phi:main::@1->bool_or]
|
||||
// [19] phi from main::@1 to bool_or [phi:main::@1->bool_or] -- call_phi_near
|
||||
bool_or_from___b1:
|
||||
jsr bool_or
|
||||
// [4] phi from main::@1 to main::@2 [phi:main::@1->main::@2]
|
||||
@ -707,7 +707,7 @@ main: {
|
||||
// main::@2
|
||||
__b2:
|
||||
// [5] call bool_not
|
||||
// [29] phi from main::@2 to bool_not [phi:main::@2->bool_not]
|
||||
// [29] phi from main::@2 to bool_not [phi:main::@2->bool_not] -- call_phi_near
|
||||
bool_not_from___b2:
|
||||
jsr bool_not
|
||||
// [6] phi from main::@2 to main::@3 [phi:main::@2->main::@3]
|
||||
@ -716,7 +716,7 @@ main: {
|
||||
// main::@3
|
||||
__b3:
|
||||
// [7] call bool_complex
|
||||
// [39] phi from main::@3 to bool_complex [phi:main::@3->bool_complex]
|
||||
// [39] phi from main::@3 to bool_complex [phi:main::@3->bool_complex] -- call_phi_near
|
||||
bool_complex_from___b3:
|
||||
jsr bool_complex
|
||||
jmp __breturn
|
||||
@ -1102,25 +1102,25 @@ Score: 1899
|
||||
main: {
|
||||
// bool_and()
|
||||
// [1] call bool_and
|
||||
// [9] phi from main to bool_and [phi:main->bool_and]
|
||||
// [9] phi from main to bool_and [phi:main->bool_and] -- call_phi_near
|
||||
jsr bool_and
|
||||
// [2] phi from main to main::@1 [phi:main->main::@1]
|
||||
// main::@1
|
||||
// bool_or()
|
||||
// [3] call bool_or
|
||||
// [19] phi from main::@1 to bool_or [phi:main::@1->bool_or]
|
||||
// [19] phi from main::@1 to bool_or [phi:main::@1->bool_or] -- call_phi_near
|
||||
jsr bool_or
|
||||
// [4] phi from main::@1 to main::@2 [phi:main::@1->main::@2]
|
||||
// main::@2
|
||||
// bool_not()
|
||||
// [5] call bool_not
|
||||
// [29] phi from main::@2 to bool_not [phi:main::@2->bool_not]
|
||||
// [29] phi from main::@2 to bool_not [phi:main::@2->bool_not] -- call_phi_near
|
||||
jsr bool_not
|
||||
// [6] phi from main::@2 to main::@3 [phi:main::@2->main::@3]
|
||||
// main::@3
|
||||
// bool_complex()
|
||||
// [7] call bool_complex
|
||||
// [39] phi from main::@3 to bool_complex [phi:main::@3->bool_complex]
|
||||
// [39] phi from main::@3 to bool_complex [phi:main::@3->bool_complex] -- call_phi_near
|
||||
jsr bool_complex
|
||||
// main::@return
|
||||
// }
|
||||
|
@ -2212,7 +2212,7 @@ ASSEMBLER BEFORE OPTIMIZATION
|
||||
// main
|
||||
main: {
|
||||
// [1] call print_cls
|
||||
// [11] phi from main to print_cls [phi:main->print_cls]
|
||||
// [11] phi from main to print_cls [phi:main->print_cls] -- call_phi_near
|
||||
print_cls_from_main:
|
||||
jsr print_cls
|
||||
// [2] phi from main to main::@1 [phi:main->main::@1]
|
||||
@ -2221,7 +2221,7 @@ main: {
|
||||
// main::@1
|
||||
__b1:
|
||||
// [3] call testChar
|
||||
// [14] phi from main::@1 to testChar [phi:main::@1->testChar]
|
||||
// [14] phi from main::@1 to testChar [phi:main::@1->testChar] -- call_phi_near
|
||||
testChar_from___b1:
|
||||
jsr testChar
|
||||
// [4] phi from main::@1 to main::@2 [phi:main::@1->main::@2]
|
||||
@ -2229,21 +2229,21 @@ main: {
|
||||
jmp __b2
|
||||
// main::@2
|
||||
__b2:
|
||||
// [5] call testShort
|
||||
// [5] call testShort -- call_phi_near
|
||||
jsr testShort
|
||||
// [6] phi from main::@2 to main::@3 [phi:main::@2->main::@3]
|
||||
__b3_from___b2:
|
||||
jmp __b3
|
||||
// main::@3
|
||||
__b3:
|
||||
// [7] call testInt
|
||||
// [7] call testInt -- call_phi_near
|
||||
jsr testInt
|
||||
// [8] phi from main::@3 to main::@4 [phi:main::@3->main::@4]
|
||||
__b4_from___b3:
|
||||
jmp __b4
|
||||
// main::@4
|
||||
__b4:
|
||||
// [9] call testLong
|
||||
// [9] call testLong -- call_phi_near
|
||||
jsr testLong
|
||||
jmp __breturn
|
||||
// main::@return
|
||||
@ -2255,7 +2255,7 @@ main: {
|
||||
// Clear the screen. Also resets current line/char cursor.
|
||||
print_cls: {
|
||||
// [12] call memset
|
||||
// [74] phi from print_cls to memset [phi:print_cls->memset]
|
||||
// [74] phi from print_cls to memset [phi:print_cls->memset] -- call_phi_near
|
||||
memset_from_print_cls:
|
||||
jsr memset
|
||||
jmp __breturn
|
||||
@ -2277,7 +2277,7 @@ testChar: {
|
||||
sta.z print_char_cursor
|
||||
lda #>print_screen
|
||||
sta.z print_char_cursor+1
|
||||
// [80] phi print_str::str#8 = testChar::str [phi:testChar->print_str#1] -- pbuz1=pbuc1
|
||||
// [80] phi print_str::str#8 = testChar::str [phi:testChar->print_str#1] -- call_phi_near
|
||||
lda #<str
|
||||
sta.z print_str.str
|
||||
lda #>str
|
||||
@ -2292,7 +2292,7 @@ testChar: {
|
||||
// [87] phi from testChar::@1 to print_uchar [phi:testChar::@1->print_uchar]
|
||||
print_uchar_from___b1:
|
||||
// [87] phi print_char_cursor#152 = print_char_cursor#1 [phi:testChar::@1->print_uchar#0] -- register_copy
|
||||
// [87] phi print_uchar::b#5 = testChar::u [phi:testChar::@1->print_uchar#1] -- vbuxx=vbuc1
|
||||
// [87] phi print_uchar::b#5 = testChar::u [phi:testChar::@1->print_uchar#1] -- call_phi_near
|
||||
ldx #u
|
||||
jsr print_uchar
|
||||
// [18] phi from testChar::@1 to testChar::@2 [phi:testChar::@1->testChar::@2]
|
||||
@ -2304,7 +2304,7 @@ testChar: {
|
||||
// [95] phi from testChar::@2 to print_char [phi:testChar::@2->print_char]
|
||||
print_char_from___b2:
|
||||
// [95] phi print_char_cursor#95 = print_char_cursor#25 [phi:testChar::@2->print_char#0] -- register_copy
|
||||
// [95] phi print_char::ch#17 = ' ' [phi:testChar::@2->print_char#1] -- vbuaa=vbuc1
|
||||
// [95] phi print_char::ch#17 = ' ' [phi:testChar::@2->print_char#1] -- call_phi_near
|
||||
lda #' '
|
||||
jsr print_char
|
||||
// [20] phi from testChar::@2 to testChar::@3 [phi:testChar::@2->testChar::@3]
|
||||
@ -2316,7 +2316,7 @@ testChar: {
|
||||
// [87] phi from testChar::@3 to print_uchar [phi:testChar::@3->print_uchar]
|
||||
print_uchar_from___b3:
|
||||
// [87] phi print_char_cursor#152 = print_char_cursor#25 [phi:testChar::@3->print_uchar#0] -- register_copy
|
||||
// [87] phi print_uchar::b#5 = testChar::n [phi:testChar::@3->print_uchar#1] -- vbuxx=vbuc1
|
||||
// [87] phi print_uchar::b#5 = testChar::n [phi:testChar::@3->print_uchar#1] -- call_phi_near
|
||||
ldx #n
|
||||
jsr print_uchar
|
||||
// [22] phi from testChar::@3 to testChar::@4 [phi:testChar::@3->testChar::@4]
|
||||
@ -2328,7 +2328,7 @@ testChar: {
|
||||
// [95] phi from testChar::@4 to print_char [phi:testChar::@4->print_char]
|
||||
print_char_from___b4:
|
||||
// [95] phi print_char_cursor#95 = print_char_cursor#25 [phi:testChar::@4->print_char#0] -- register_copy
|
||||
// [95] phi print_char::ch#17 = ' ' [phi:testChar::@4->print_char#1] -- vbuaa=vbuc1
|
||||
// [95] phi print_char::ch#17 = ' ' [phi:testChar::@4->print_char#1] -- call_phi_near
|
||||
lda #' '
|
||||
jsr print_char
|
||||
// [24] phi from testChar::@4 to testChar::@5 [phi:testChar::@4->testChar::@5]
|
||||
@ -2337,7 +2337,7 @@ testChar: {
|
||||
// testChar::@5
|
||||
__b5:
|
||||
// [25] call print_schar
|
||||
// [99] phi from testChar::@5 to print_schar [phi:testChar::@5->print_schar]
|
||||
// [99] phi from testChar::@5 to print_schar [phi:testChar::@5->print_schar] -- call_phi_near
|
||||
print_schar_from___b5:
|
||||
jsr print_schar
|
||||
// [26] phi from testChar::@5 to testChar::@6 [phi:testChar::@5->testChar::@6]
|
||||
@ -2348,7 +2348,7 @@ testChar: {
|
||||
// [27] call print_ln
|
||||
// [105] phi from testChar::@6 to print_ln [phi:testChar::@6->print_ln]
|
||||
print_ln_from___b6:
|
||||
// [105] phi print_line_cursor#41 = print_screen#0 [phi:testChar::@6->print_ln#0] -- pbuz1=pbuc1
|
||||
// [105] phi print_line_cursor#41 = print_screen#0 [phi:testChar::@6->print_ln#0] -- call_phi_near
|
||||
lda #<print_screen
|
||||
sta.z print_line_cursor
|
||||
lda #>print_screen
|
||||
@ -2378,7 +2378,7 @@ testShort: {
|
||||
// [80] phi from testShort to print_str [phi:testShort->print_str]
|
||||
print_str_from_testShort:
|
||||
// [80] phi print_char_cursor#159 = print_char_cursor#165 [phi:testShort->print_str#0] -- register_copy
|
||||
// [80] phi print_str::str#8 = testShort::str [phi:testShort->print_str#1] -- pbuz1=pbuc1
|
||||
// [80] phi print_str::str#8 = testShort::str [phi:testShort->print_str#1] -- call_phi_near
|
||||
lda #<str
|
||||
sta.z print_str.str
|
||||
lda #>str
|
||||
@ -2393,7 +2393,7 @@ testShort: {
|
||||
// [110] phi from testShort::@1 to print_uint [phi:testShort::@1->print_uint]
|
||||
print_uint_from___b1:
|
||||
// [110] phi print_char_cursor#147 = print_char_cursor#1 [phi:testShort::@1->print_uint#0] -- register_copy
|
||||
// [110] phi print_uint::w#5 = testShort::u [phi:testShort::@1->print_uint#1] -- vwuz1=vwuc1
|
||||
// [110] phi print_uint::w#5 = testShort::u [phi:testShort::@1->print_uint#1] -- call_phi_near
|
||||
lda #<u
|
||||
sta.z print_uint.w
|
||||
lda #>u
|
||||
@ -2408,7 +2408,7 @@ testShort: {
|
||||
// [95] phi from testShort::@2 to print_char [phi:testShort::@2->print_char]
|
||||
print_char_from___b2:
|
||||
// [95] phi print_char_cursor#95 = print_char_cursor#25 [phi:testShort::@2->print_char#0] -- register_copy
|
||||
// [95] phi print_char::ch#17 = ' ' [phi:testShort::@2->print_char#1] -- vbuaa=vbuc1
|
||||
// [95] phi print_char::ch#17 = ' ' [phi:testShort::@2->print_char#1] -- call_phi_near
|
||||
lda #' '
|
||||
jsr print_char
|
||||
// [35] phi from testShort::@2 to testShort::@3 [phi:testShort::@2->testShort::@3]
|
||||
@ -2419,7 +2419,7 @@ testShort: {
|
||||
// [36] call print_sint
|
||||
// [116] phi from testShort::@3 to print_sint [phi:testShort::@3->print_sint]
|
||||
print_sint_from___b3:
|
||||
// [116] phi print_sint::w#10 = testShort::n [phi:testShort::@3->print_sint#0] -- vwsz1=vwsc1
|
||||
// [116] phi print_sint::w#10 = testShort::n [phi:testShort::@3->print_sint#0] -- call_phi_near
|
||||
lda #<n
|
||||
sta.z print_sint.w
|
||||
lda #>n
|
||||
@ -2434,7 +2434,7 @@ testShort: {
|
||||
// [95] phi from testShort::@4 to print_char [phi:testShort::@4->print_char]
|
||||
print_char_from___b4:
|
||||
// [95] phi print_char_cursor#95 = print_char_cursor#25 [phi:testShort::@4->print_char#0] -- register_copy
|
||||
// [95] phi print_char::ch#17 = ' ' [phi:testShort::@4->print_char#1] -- vbuaa=vbuc1
|
||||
// [95] phi print_char::ch#17 = ' ' [phi:testShort::@4->print_char#1] -- call_phi_near
|
||||
lda #' '
|
||||
jsr print_char
|
||||
// [39] phi from testShort::@4 to testShort::@5 [phi:testShort::@4->testShort::@5]
|
||||
@ -2445,7 +2445,7 @@ testShort: {
|
||||
// [40] call print_sint
|
||||
// [116] phi from testShort::@5 to print_sint [phi:testShort::@5->print_sint]
|
||||
print_sint_from___b5:
|
||||
// [116] phi print_sint::w#10 = testShort::s [phi:testShort::@5->print_sint#0] -- vwsz1=vwsc1
|
||||
// [116] phi print_sint::w#10 = testShort::s [phi:testShort::@5->print_sint#0] -- call_phi_near
|
||||
lda #<s
|
||||
sta.z print_sint.w
|
||||
lda #>s
|
||||
@ -2459,7 +2459,7 @@ testShort: {
|
||||
// [42] call print_ln
|
||||
// [105] phi from testShort::@6 to print_ln [phi:testShort::@6->print_ln]
|
||||
print_ln_from___b6:
|
||||
// [105] phi print_line_cursor#41 = print_line_cursor#0 [phi:testShort::@6->print_ln#0] -- register_copy
|
||||
// [105] phi print_line_cursor#41 = print_line_cursor#0 [phi:testShort::@6->print_ln#0] -- call_phi_near
|
||||
jsr print_ln
|
||||
jmp __breturn
|
||||
// testShort::@return
|
||||
@ -2485,7 +2485,7 @@ testInt: {
|
||||
// [80] phi from testInt to print_str [phi:testInt->print_str]
|
||||
print_str_from_testInt:
|
||||
// [80] phi print_char_cursor#159 = print_char_cursor#163 [phi:testInt->print_str#0] -- register_copy
|
||||
// [80] phi print_str::str#8 = testInt::str [phi:testInt->print_str#1] -- pbuz1=pbuc1
|
||||
// [80] phi print_str::str#8 = testInt::str [phi:testInt->print_str#1] -- call_phi_near
|
||||
lda #<str
|
||||
sta.z print_str.str
|
||||
lda #>str
|
||||
@ -2500,7 +2500,7 @@ testInt: {
|
||||
// [110] phi from testInt::@1 to print_uint [phi:testInt::@1->print_uint]
|
||||
print_uint_from___b1:
|
||||
// [110] phi print_char_cursor#147 = print_char_cursor#1 [phi:testInt::@1->print_uint#0] -- register_copy
|
||||
// [110] phi print_uint::w#5 = testInt::u [phi:testInt::@1->print_uint#1] -- vwuz1=vwuc1
|
||||
// [110] phi print_uint::w#5 = testInt::u [phi:testInt::@1->print_uint#1] -- call_phi_near
|
||||
lda #<u
|
||||
sta.z print_uint.w
|
||||
lda #>u
|
||||
@ -2515,7 +2515,7 @@ testInt: {
|
||||
// [95] phi from testInt::@2 to print_char [phi:testInt::@2->print_char]
|
||||
print_char_from___b2:
|
||||
// [95] phi print_char_cursor#95 = print_char_cursor#25 [phi:testInt::@2->print_char#0] -- register_copy
|
||||
// [95] phi print_char::ch#17 = ' ' [phi:testInt::@2->print_char#1] -- vbuaa=vbuc1
|
||||
// [95] phi print_char::ch#17 = ' ' [phi:testInt::@2->print_char#1] -- call_phi_near
|
||||
lda #' '
|
||||
jsr print_char
|
||||
// [50] phi from testInt::@2 to testInt::@3 [phi:testInt::@2->testInt::@3]
|
||||
@ -2526,7 +2526,7 @@ testInt: {
|
||||
// [51] call print_sint
|
||||
// [116] phi from testInt::@3 to print_sint [phi:testInt::@3->print_sint]
|
||||
print_sint_from___b3:
|
||||
// [116] phi print_sint::w#10 = testInt::n [phi:testInt::@3->print_sint#0] -- vwsz1=vwsc1
|
||||
// [116] phi print_sint::w#10 = testInt::n [phi:testInt::@3->print_sint#0] -- call_phi_near
|
||||
lda #<n
|
||||
sta.z print_sint.w
|
||||
lda #>n
|
||||
@ -2541,7 +2541,7 @@ testInt: {
|
||||
// [95] phi from testInt::@4 to print_char [phi:testInt::@4->print_char]
|
||||
print_char_from___b4:
|
||||
// [95] phi print_char_cursor#95 = print_char_cursor#25 [phi:testInt::@4->print_char#0] -- register_copy
|
||||
// [95] phi print_char::ch#17 = ' ' [phi:testInt::@4->print_char#1] -- vbuaa=vbuc1
|
||||
// [95] phi print_char::ch#17 = ' ' [phi:testInt::@4->print_char#1] -- call_phi_near
|
||||
lda #' '
|
||||
jsr print_char
|
||||
// [54] phi from testInt::@4 to testInt::@5 [phi:testInt::@4->testInt::@5]
|
||||
@ -2552,7 +2552,7 @@ testInt: {
|
||||
// [55] call print_sint
|
||||
// [116] phi from testInt::@5 to print_sint [phi:testInt::@5->print_sint]
|
||||
print_sint_from___b5:
|
||||
// [116] phi print_sint::w#10 = testInt::s [phi:testInt::@5->print_sint#0] -- vwsz1=vwsc1
|
||||
// [116] phi print_sint::w#10 = testInt::s [phi:testInt::@5->print_sint#0] -- call_phi_near
|
||||
lda #<s
|
||||
sta.z print_sint.w
|
||||
lda #>s
|
||||
@ -2566,7 +2566,7 @@ testInt: {
|
||||
// [57] call print_ln
|
||||
// [105] phi from testInt::@6 to print_ln [phi:testInt::@6->print_ln]
|
||||
print_ln_from___b6:
|
||||
// [105] phi print_line_cursor#41 = print_line_cursor#0 [phi:testInt::@6->print_ln#0] -- register_copy
|
||||
// [105] phi print_line_cursor#41 = print_line_cursor#0 [phi:testInt::@6->print_ln#0] -- call_phi_near
|
||||
jsr print_ln
|
||||
jmp __breturn
|
||||
// testInt::@return
|
||||
@ -2592,7 +2592,7 @@ testLong: {
|
||||
// [80] phi from testLong to print_str [phi:testLong->print_str]
|
||||
print_str_from_testLong:
|
||||
// [80] phi print_char_cursor#159 = print_char_cursor#164 [phi:testLong->print_str#0] -- register_copy
|
||||
// [80] phi print_str::str#8 = testLong::str [phi:testLong->print_str#1] -- pbuz1=pbuc1
|
||||
// [80] phi print_str::str#8 = testLong::str [phi:testLong->print_str#1] -- call_phi_near
|
||||
lda #<str
|
||||
sta.z print_str.str
|
||||
lda #>str
|
||||
@ -2607,7 +2607,7 @@ testLong: {
|
||||
// [127] phi from testLong::@1 to print_ulong [phi:testLong::@1->print_ulong]
|
||||
print_ulong_from___b1:
|
||||
// [127] phi print_char_cursor#148 = print_char_cursor#1 [phi:testLong::@1->print_ulong#0] -- register_copy
|
||||
// [127] phi print_ulong::dw#2 = testLong::u [phi:testLong::@1->print_ulong#1] -- vduz1=vduc1
|
||||
// [127] phi print_ulong::dw#2 = testLong::u [phi:testLong::@1->print_ulong#1] -- call_phi_near
|
||||
lda #<u
|
||||
sta.z print_ulong.dw
|
||||
lda #>u
|
||||
@ -2626,7 +2626,7 @@ testLong: {
|
||||
// [95] phi from testLong::@2 to print_char [phi:testLong::@2->print_char]
|
||||
print_char_from___b2:
|
||||
// [95] phi print_char_cursor#95 = print_char_cursor#25 [phi:testLong::@2->print_char#0] -- register_copy
|
||||
// [95] phi print_char::ch#17 = ' ' [phi:testLong::@2->print_char#1] -- vbuaa=vbuc1
|
||||
// [95] phi print_char::ch#17 = ' ' [phi:testLong::@2->print_char#1] -- call_phi_near
|
||||
lda #' '
|
||||
jsr print_char
|
||||
// [65] phi from testLong::@2 to testLong::@3 [phi:testLong::@2->testLong::@3]
|
||||
@ -2637,7 +2637,7 @@ testLong: {
|
||||
// [66] call print_slong
|
||||
// [133] phi from testLong::@3 to print_slong [phi:testLong::@3->print_slong]
|
||||
print_slong_from___b3:
|
||||
// [133] phi print_slong::dw#3 = testLong::n [phi:testLong::@3->print_slong#0] -- vdsz1=vdsc1
|
||||
// [133] phi print_slong::dw#3 = testLong::n [phi:testLong::@3->print_slong#0] -- call_phi_near
|
||||
lda #<n
|
||||
sta.z print_slong.dw
|
||||
lda #>n
|
||||
@ -2656,7 +2656,7 @@ testLong: {
|
||||
// [95] phi from testLong::@4 to print_char [phi:testLong::@4->print_char]
|
||||
print_char_from___b4:
|
||||
// [95] phi print_char_cursor#95 = print_char_cursor#25 [phi:testLong::@4->print_char#0] -- register_copy
|
||||
// [95] phi print_char::ch#17 = ' ' [phi:testLong::@4->print_char#1] -- vbuaa=vbuc1
|
||||
// [95] phi print_char::ch#17 = ' ' [phi:testLong::@4->print_char#1] -- call_phi_near
|
||||
lda #' '
|
||||
jsr print_char
|
||||
// [69] phi from testLong::@4 to testLong::@5 [phi:testLong::@4->testLong::@5]
|
||||
@ -2667,7 +2667,7 @@ testLong: {
|
||||
// [70] call print_slong
|
||||
// [133] phi from testLong::@5 to print_slong [phi:testLong::@5->print_slong]
|
||||
print_slong_from___b5:
|
||||
// [133] phi print_slong::dw#3 = testLong::s [phi:testLong::@5->print_slong#0] -- vdsz1=vdsc1
|
||||
// [133] phi print_slong::dw#3 = testLong::s [phi:testLong::@5->print_slong#0] -- call_phi_near
|
||||
lda #<s
|
||||
sta.z print_slong.dw
|
||||
lda #>s
|
||||
@ -2685,7 +2685,7 @@ testLong: {
|
||||
// [72] call print_ln
|
||||
// [105] phi from testLong::@6 to print_ln [phi:testLong::@6->print_ln]
|
||||
print_ln_from___b6:
|
||||
// [105] phi print_line_cursor#41 = print_line_cursor#0 [phi:testLong::@6->print_ln#0] -- register_copy
|
||||
// [105] phi print_line_cursor#41 = print_line_cursor#0 [phi:testLong::@6->print_ln#0] -- call_phi_near
|
||||
jsr print_ln
|
||||
jmp __breturn
|
||||
// testLong::@return
|
||||
@ -2776,7 +2776,7 @@ print_str: {
|
||||
// [95] phi from print_str::@2 to print_char [phi:print_str::@2->print_char]
|
||||
print_char_from___b2:
|
||||
// [95] phi print_char_cursor#95 = print_char_cursor#1 [phi:print_str::@2->print_char#0] -- register_copy
|
||||
// [95] phi print_char::ch#17 = print_char::ch#0 [phi:print_str::@2->print_char#1] -- register_copy
|
||||
// [95] phi print_char::ch#17 = print_char::ch#0 [phi:print_str::@2->print_char#1] -- call_phi_near
|
||||
jsr print_char
|
||||
jmp __b3
|
||||
// print_str::@3
|
||||
@ -2806,7 +2806,7 @@ print_uchar: {
|
||||
// [95] phi from print_uchar to print_char [phi:print_uchar->print_char]
|
||||
print_char_from_print_uchar:
|
||||
// [95] phi print_char_cursor#95 = print_char_cursor#152 [phi:print_uchar->print_char#0] -- register_copy
|
||||
// [95] phi print_char::ch#17 = print_char::ch#7 [phi:print_uchar->print_char#1] -- register_copy
|
||||
// [95] phi print_char::ch#17 = print_char::ch#7 [phi:print_uchar->print_char#1] -- call_phi_near
|
||||
jsr print_char
|
||||
jmp __b1
|
||||
// print_uchar::@1
|
||||
@ -2820,7 +2820,7 @@ print_uchar: {
|
||||
// [95] phi from print_uchar::@1 to print_char [phi:print_uchar::@1->print_char]
|
||||
print_char_from___b1:
|
||||
// [95] phi print_char_cursor#95 = print_char_cursor#25 [phi:print_uchar::@1->print_char#0] -- register_copy
|
||||
// [95] phi print_char::ch#17 = print_char::ch#8 [phi:print_uchar::@1->print_char#1] -- register_copy
|
||||
// [95] phi print_char::ch#17 = print_char::ch#8 [phi:print_uchar::@1->print_char#1] -- call_phi_near
|
||||
jsr print_char
|
||||
jmp __breturn
|
||||
// print_uchar::@return
|
||||
@ -2860,7 +2860,7 @@ print_schar: {
|
||||
// [95] phi from print_schar::@1 to print_char [phi:print_schar::@1->print_char]
|
||||
print_char_from___b1:
|
||||
// [95] phi print_char_cursor#95 = print_char_cursor#25 [phi:print_schar::@1->print_char#0] -- register_copy
|
||||
// [95] phi print_char::ch#17 = '-' [phi:print_schar::@1->print_char#1] -- vbuaa=vbuc1
|
||||
// [95] phi print_char::ch#17 = '-' [phi:print_schar::@1->print_char#1] -- call_phi_near
|
||||
lda #'-'
|
||||
jsr print_char
|
||||
// [102] phi from print_schar::@1 to print_schar::@2 [phi:print_schar::@1->print_schar::@2]
|
||||
@ -2872,7 +2872,7 @@ print_schar: {
|
||||
// [87] phi from print_schar::@2 to print_uchar [phi:print_schar::@2->print_uchar]
|
||||
print_uchar_from___b2:
|
||||
// [87] phi print_char_cursor#152 = print_char_cursor#25 [phi:print_schar::@2->print_uchar#0] -- register_copy
|
||||
// [87] phi print_uchar::b#5 = (char)print_schar::b#0 [phi:print_schar::@2->print_uchar#1] -- vbuxx=vbuc1
|
||||
// [87] phi print_uchar::b#5 = (char)print_schar::b#0 [phi:print_schar::@2->print_uchar#1] -- call_phi_near
|
||||
ldx #b
|
||||
jsr print_uchar
|
||||
jmp __breturn
|
||||
@ -2925,7 +2925,7 @@ print_uint: {
|
||||
// [87] phi from print_uint to print_uchar [phi:print_uint->print_uchar]
|
||||
print_uchar_from_print_uint:
|
||||
// [87] phi print_char_cursor#152 = print_char_cursor#147 [phi:print_uint->print_uchar#0] -- register_copy
|
||||
// [87] phi print_uchar::b#5 = print_uchar::b#1 [phi:print_uint->print_uchar#1] -- register_copy
|
||||
// [87] phi print_uchar::b#5 = print_uchar::b#1 [phi:print_uint->print_uchar#1] -- call_phi_near
|
||||
jsr print_uchar
|
||||
jmp __b1
|
||||
// print_uint::@1
|
||||
@ -2936,7 +2936,7 @@ print_uint: {
|
||||
// [87] phi from print_uint::@1 to print_uchar [phi:print_uint::@1->print_uchar]
|
||||
print_uchar_from___b1:
|
||||
// [87] phi print_char_cursor#152 = print_char_cursor#25 [phi:print_uint::@1->print_uchar#0] -- register_copy
|
||||
// [87] phi print_uchar::b#5 = print_uchar::b#2 [phi:print_uint::@1->print_uchar#1] -- register_copy
|
||||
// [87] phi print_uchar::b#5 = print_uchar::b#2 [phi:print_uint::@1->print_uchar#1] -- call_phi_near
|
||||
jsr print_uchar
|
||||
jmp __breturn
|
||||
// print_uint::@return
|
||||
@ -2961,7 +2961,7 @@ print_sint: {
|
||||
// [95] phi from print_sint::@3 to print_char [phi:print_sint::@3->print_char]
|
||||
print_char_from___b3:
|
||||
// [95] phi print_char_cursor#95 = print_char_cursor#25 [phi:print_sint::@3->print_char#0] -- register_copy
|
||||
// [95] phi print_char::ch#17 = ' ' [phi:print_sint::@3->print_char#1] -- vbuaa=vbuc1
|
||||
// [95] phi print_char::ch#17 = ' ' [phi:print_sint::@3->print_char#1] -- call_phi_near
|
||||
lda #' '
|
||||
jsr print_char
|
||||
// [120] phi from print_sint::@3 print_sint::@4 to print_sint::@2 [phi:print_sint::@3/print_sint::@4->print_sint::@2]
|
||||
@ -2976,7 +2976,7 @@ print_sint: {
|
||||
// [110] phi from print_sint::@2 to print_uint [phi:print_sint::@2->print_uint]
|
||||
print_uint_from___b2:
|
||||
// [110] phi print_char_cursor#147 = print_char_cursor#25 [phi:print_sint::@2->print_uint#0] -- register_copy
|
||||
// [110] phi print_uint::w#5 = print_uint::w#0 [phi:print_sint::@2->print_uint#1] -- register_copy
|
||||
// [110] phi print_uint::w#5 = print_uint::w#0 [phi:print_sint::@2->print_uint#1] -- call_phi_near
|
||||
jsr print_uint
|
||||
jmp __breturn
|
||||
// print_sint::@return
|
||||
@ -2992,7 +2992,7 @@ print_sint: {
|
||||
// [95] phi from print_sint::@1 to print_char [phi:print_sint::@1->print_char]
|
||||
print_char_from___b1:
|
||||
// [95] phi print_char_cursor#95 = print_char_cursor#25 [phi:print_sint::@1->print_char#0] -- register_copy
|
||||
// [95] phi print_char::ch#17 = '-' [phi:print_sint::@1->print_char#1] -- vbuaa=vbuc1
|
||||
// [95] phi print_char::ch#17 = '-' [phi:print_sint::@1->print_char#1] -- call_phi_near
|
||||
lda #'-'
|
||||
jsr print_char
|
||||
jmp __b4
|
||||
@ -3022,7 +3022,7 @@ print_ulong: {
|
||||
// [110] phi from print_ulong to print_uint [phi:print_ulong->print_uint]
|
||||
print_uint_from_print_ulong:
|
||||
// [110] phi print_char_cursor#147 = print_char_cursor#148 [phi:print_ulong->print_uint#0] -- register_copy
|
||||
// [110] phi print_uint::w#5 = print_uint::w#1 [phi:print_ulong->print_uint#1] -- register_copy
|
||||
// [110] phi print_uint::w#5 = print_uint::w#1 [phi:print_ulong->print_uint#1] -- call_phi_near
|
||||
jsr print_uint
|
||||
jmp __b1
|
||||
// print_ulong::@1
|
||||
@ -3036,7 +3036,7 @@ print_ulong: {
|
||||
// [110] phi from print_ulong::@1 to print_uint [phi:print_ulong::@1->print_uint]
|
||||
print_uint_from___b1:
|
||||
// [110] phi print_char_cursor#147 = print_char_cursor#25 [phi:print_ulong::@1->print_uint#0] -- register_copy
|
||||
// [110] phi print_uint::w#5 = print_uint::w#2 [phi:print_ulong::@1->print_uint#1] -- register_copy
|
||||
// [110] phi print_uint::w#5 = print_uint::w#2 [phi:print_ulong::@1->print_uint#1] -- call_phi_near
|
||||
jsr print_uint
|
||||
jmp __breturn
|
||||
// print_ulong::@return
|
||||
@ -3061,7 +3061,7 @@ print_slong: {
|
||||
// [95] phi from print_slong::@3 to print_char [phi:print_slong::@3->print_char]
|
||||
print_char_from___b3:
|
||||
// [95] phi print_char_cursor#95 = print_char_cursor#25 [phi:print_slong::@3->print_char#0] -- register_copy
|
||||
// [95] phi print_char::ch#17 = ' ' [phi:print_slong::@3->print_char#1] -- vbuaa=vbuc1
|
||||
// [95] phi print_char::ch#17 = ' ' [phi:print_slong::@3->print_char#1] -- call_phi_near
|
||||
lda #' '
|
||||
jsr print_char
|
||||
// [137] phi from print_slong::@3 print_slong::@4 to print_slong::@2 [phi:print_slong::@3/print_slong::@4->print_slong::@2]
|
||||
@ -3076,7 +3076,7 @@ print_slong: {
|
||||
// [127] phi from print_slong::@2 to print_ulong [phi:print_slong::@2->print_ulong]
|
||||
print_ulong_from___b2:
|
||||
// [127] phi print_char_cursor#148 = print_char_cursor#25 [phi:print_slong::@2->print_ulong#0] -- register_copy
|
||||
// [127] phi print_ulong::dw#2 = print_ulong::dw#0 [phi:print_slong::@2->print_ulong#1] -- register_copy
|
||||
// [127] phi print_ulong::dw#2 = print_ulong::dw#0 [phi:print_slong::@2->print_ulong#1] -- call_phi_near
|
||||
jsr print_ulong
|
||||
jmp __breturn
|
||||
// print_slong::@return
|
||||
@ -3092,7 +3092,7 @@ print_slong: {
|
||||
// [95] phi from print_slong::@1 to print_char [phi:print_slong::@1->print_char]
|
||||
print_char_from___b1:
|
||||
// [95] phi print_char_cursor#95 = print_char_cursor#25 [phi:print_slong::@1->print_char#0] -- register_copy
|
||||
// [95] phi print_char::ch#17 = '-' [phi:print_slong::@1->print_char#1] -- vbuaa=vbuc1
|
||||
// [95] phi print_char::ch#17 = '-' [phi:print_slong::@1->print_char#1] -- call_phi_near
|
||||
lda #'-'
|
||||
jsr print_char
|
||||
jmp __b4
|
||||
@ -3473,28 +3473,28 @@ Score: 2013
|
||||
main: {
|
||||
// print_cls()
|
||||
// [1] call print_cls
|
||||
// [11] phi from main to print_cls [phi:main->print_cls]
|
||||
// [11] phi from main to print_cls [phi:main->print_cls] -- call_phi_near
|
||||
jsr print_cls
|
||||
// [2] phi from main to main::@1 [phi:main->main::@1]
|
||||
// main::@1
|
||||
// testChar()
|
||||
// [3] call testChar
|
||||
// [14] phi from main::@1 to testChar [phi:main::@1->testChar]
|
||||
// [14] phi from main::@1 to testChar [phi:main::@1->testChar] -- call_phi_near
|
||||
jsr testChar
|
||||
// [4] phi from main::@1 to main::@2 [phi:main::@1->main::@2]
|
||||
// main::@2
|
||||
// testShort()
|
||||
// [5] call testShort
|
||||
// [5] call testShort -- call_phi_near
|
||||
jsr testShort
|
||||
// [6] phi from main::@2 to main::@3 [phi:main::@2->main::@3]
|
||||
// main::@3
|
||||
// testInt()
|
||||
// [7] call testInt
|
||||
// [7] call testInt -- call_phi_near
|
||||
jsr testInt
|
||||
// [8] phi from main::@3 to main::@4 [phi:main::@3->main::@4]
|
||||
// main::@4
|
||||
// testLong()
|
||||
// [9] call testLong
|
||||
// [9] call testLong -- call_phi_near
|
||||
jsr testLong
|
||||
// main::@return
|
||||
// }
|
||||
@ -3506,7 +3506,7 @@ main: {
|
||||
print_cls: {
|
||||
// memset(print_screen, ' ', 1000)
|
||||
// [12] call memset
|
||||
// [74] phi from print_cls to memset [phi:print_cls->memset]
|
||||
// [74] phi from print_cls to memset [phi:print_cls->memset] -- call_phi_near
|
||||
jsr memset
|
||||
// print_cls::@return
|
||||
// }
|
||||
@ -3526,7 +3526,7 @@ testChar: {
|
||||
sta.z print_char_cursor
|
||||
lda #>print_screen
|
||||
sta.z print_char_cursor+1
|
||||
// [80] phi print_str::str#8 = testChar::str [phi:testChar->print_str#1] -- pbuz1=pbuc1
|
||||
// [80] phi print_str::str#8 = testChar::str [phi:testChar->print_str#1] -- call_phi_near
|
||||
lda #<str
|
||||
sta.z print_str.str
|
||||
lda #>str
|
||||
@ -3538,7 +3538,7 @@ testChar: {
|
||||
// [17] call print_uchar
|
||||
// [87] phi from testChar::@1 to print_uchar [phi:testChar::@1->print_uchar]
|
||||
// [87] phi print_char_cursor#152 = print_char_cursor#1 [phi:testChar::@1->print_uchar#0] -- register_copy
|
||||
// [87] phi print_uchar::b#5 = testChar::u [phi:testChar::@1->print_uchar#1] -- vbuxx=vbuc1
|
||||
// [87] phi print_uchar::b#5 = testChar::u [phi:testChar::@1->print_uchar#1] -- call_phi_near
|
||||
ldx #u
|
||||
jsr print_uchar
|
||||
// [18] phi from testChar::@1 to testChar::@2 [phi:testChar::@1->testChar::@2]
|
||||
@ -3547,7 +3547,7 @@ testChar: {
|
||||
// [19] call print_char
|
||||
// [95] phi from testChar::@2 to print_char [phi:testChar::@2->print_char]
|
||||
// [95] phi print_char_cursor#95 = print_char_cursor#25 [phi:testChar::@2->print_char#0] -- register_copy
|
||||
// [95] phi print_char::ch#17 = ' ' [phi:testChar::@2->print_char#1] -- vbuaa=vbuc1
|
||||
// [95] phi print_char::ch#17 = ' ' [phi:testChar::@2->print_char#1] -- call_phi_near
|
||||
lda #' '
|
||||
jsr print_char
|
||||
// [20] phi from testChar::@2 to testChar::@3 [phi:testChar::@2->testChar::@3]
|
||||
@ -3556,7 +3556,7 @@ testChar: {
|
||||
// [21] call print_uchar
|
||||
// [87] phi from testChar::@3 to print_uchar [phi:testChar::@3->print_uchar]
|
||||
// [87] phi print_char_cursor#152 = print_char_cursor#25 [phi:testChar::@3->print_uchar#0] -- register_copy
|
||||
// [87] phi print_uchar::b#5 = testChar::n [phi:testChar::@3->print_uchar#1] -- vbuxx=vbuc1
|
||||
// [87] phi print_uchar::b#5 = testChar::n [phi:testChar::@3->print_uchar#1] -- call_phi_near
|
||||
ldx #n
|
||||
jsr print_uchar
|
||||
// [22] phi from testChar::@3 to testChar::@4 [phi:testChar::@3->testChar::@4]
|
||||
@ -3565,21 +3565,21 @@ testChar: {
|
||||
// [23] call print_char
|
||||
// [95] phi from testChar::@4 to print_char [phi:testChar::@4->print_char]
|
||||
// [95] phi print_char_cursor#95 = print_char_cursor#25 [phi:testChar::@4->print_char#0] -- register_copy
|
||||
// [95] phi print_char::ch#17 = ' ' [phi:testChar::@4->print_char#1] -- vbuaa=vbuc1
|
||||
// [95] phi print_char::ch#17 = ' ' [phi:testChar::@4->print_char#1] -- call_phi_near
|
||||
lda #' '
|
||||
jsr print_char
|
||||
// [24] phi from testChar::@4 to testChar::@5 [phi:testChar::@4->testChar::@5]
|
||||
// testChar::@5
|
||||
// print_schar(s)
|
||||
// [25] call print_schar
|
||||
// [99] phi from testChar::@5 to print_schar [phi:testChar::@5->print_schar]
|
||||
// [99] phi from testChar::@5 to print_schar [phi:testChar::@5->print_schar] -- call_phi_near
|
||||
jsr print_schar
|
||||
// [26] phi from testChar::@5 to testChar::@6 [phi:testChar::@5->testChar::@6]
|
||||
// testChar::@6
|
||||
// print_ln()
|
||||
// [27] call print_ln
|
||||
// [105] phi from testChar::@6 to print_ln [phi:testChar::@6->print_ln]
|
||||
// [105] phi print_line_cursor#41 = print_screen#0 [phi:testChar::@6->print_ln#0] -- pbuz1=pbuc1
|
||||
// [105] phi print_line_cursor#41 = print_screen#0 [phi:testChar::@6->print_ln#0] -- call_phi_near
|
||||
lda #<print_screen
|
||||
sta.z print_line_cursor
|
||||
lda #>print_screen
|
||||
@ -3608,7 +3608,7 @@ testShort: {
|
||||
// [30] call print_str
|
||||
// [80] phi from testShort to print_str [phi:testShort->print_str]
|
||||
// [80] phi print_char_cursor#159 = print_char_cursor#165 [phi:testShort->print_str#0] -- register_copy
|
||||
// [80] phi print_str::str#8 = testShort::str [phi:testShort->print_str#1] -- pbuz1=pbuc1
|
||||
// [80] phi print_str::str#8 = testShort::str [phi:testShort->print_str#1] -- call_phi_near
|
||||
lda #<str
|
||||
sta.z print_str.str
|
||||
lda #>str
|
||||
@ -3620,7 +3620,7 @@ testShort: {
|
||||
// [32] call print_uint
|
||||
// [110] phi from testShort::@1 to print_uint [phi:testShort::@1->print_uint]
|
||||
// [110] phi print_char_cursor#147 = print_char_cursor#1 [phi:testShort::@1->print_uint#0] -- register_copy
|
||||
// [110] phi print_uint::w#5 = testShort::u [phi:testShort::@1->print_uint#1] -- vwuz1=vwuc1
|
||||
// [110] phi print_uint::w#5 = testShort::u [phi:testShort::@1->print_uint#1] -- call_phi_near
|
||||
lda #<u
|
||||
sta.z print_uint.w
|
||||
lda #>u
|
||||
@ -3632,7 +3632,7 @@ testShort: {
|
||||
// [34] call print_char
|
||||
// [95] phi from testShort::@2 to print_char [phi:testShort::@2->print_char]
|
||||
// [95] phi print_char_cursor#95 = print_char_cursor#25 [phi:testShort::@2->print_char#0] -- register_copy
|
||||
// [95] phi print_char::ch#17 = ' ' [phi:testShort::@2->print_char#1] -- vbuaa=vbuc1
|
||||
// [95] phi print_char::ch#17 = ' ' [phi:testShort::@2->print_char#1] -- call_phi_near
|
||||
lda #' '
|
||||
jsr print_char
|
||||
// [35] phi from testShort::@2 to testShort::@3 [phi:testShort::@2->testShort::@3]
|
||||
@ -3640,7 +3640,7 @@ testShort: {
|
||||
// print_sint(n)
|
||||
// [36] call print_sint
|
||||
// [116] phi from testShort::@3 to print_sint [phi:testShort::@3->print_sint]
|
||||
// [116] phi print_sint::w#10 = testShort::n [phi:testShort::@3->print_sint#0] -- vwsz1=vwsc1
|
||||
// [116] phi print_sint::w#10 = testShort::n [phi:testShort::@3->print_sint#0] -- call_phi_near
|
||||
lda #<n
|
||||
sta.z print_sint.w
|
||||
lda #>n
|
||||
@ -3652,7 +3652,7 @@ testShort: {
|
||||
// [38] call print_char
|
||||
// [95] phi from testShort::@4 to print_char [phi:testShort::@4->print_char]
|
||||
// [95] phi print_char_cursor#95 = print_char_cursor#25 [phi:testShort::@4->print_char#0] -- register_copy
|
||||
// [95] phi print_char::ch#17 = ' ' [phi:testShort::@4->print_char#1] -- vbuaa=vbuc1
|
||||
// [95] phi print_char::ch#17 = ' ' [phi:testShort::@4->print_char#1] -- call_phi_near
|
||||
lda #' '
|
||||
jsr print_char
|
||||
// [39] phi from testShort::@4 to testShort::@5 [phi:testShort::@4->testShort::@5]
|
||||
@ -3660,7 +3660,7 @@ testShort: {
|
||||
// print_sint(s)
|
||||
// [40] call print_sint
|
||||
// [116] phi from testShort::@5 to print_sint [phi:testShort::@5->print_sint]
|
||||
// [116] phi print_sint::w#10 = testShort::s [phi:testShort::@5->print_sint#0] -- vwsz1=vwsc1
|
||||
// [116] phi print_sint::w#10 = testShort::s [phi:testShort::@5->print_sint#0] -- call_phi_near
|
||||
lda #<s
|
||||
sta.z print_sint.w
|
||||
lda #>s
|
||||
@ -3671,7 +3671,7 @@ testShort: {
|
||||
// print_ln()
|
||||
// [42] call print_ln
|
||||
// [105] phi from testShort::@6 to print_ln [phi:testShort::@6->print_ln]
|
||||
// [105] phi print_line_cursor#41 = print_line_cursor#0 [phi:testShort::@6->print_ln#0] -- register_copy
|
||||
// [105] phi print_line_cursor#41 = print_line_cursor#0 [phi:testShort::@6->print_ln#0] -- call_phi_near
|
||||
jsr print_ln
|
||||
// testShort::@return
|
||||
// }
|
||||
@ -3696,7 +3696,7 @@ testInt: {
|
||||
// [45] call print_str
|
||||
// [80] phi from testInt to print_str [phi:testInt->print_str]
|
||||
// [80] phi print_char_cursor#159 = print_char_cursor#163 [phi:testInt->print_str#0] -- register_copy
|
||||
// [80] phi print_str::str#8 = testInt::str [phi:testInt->print_str#1] -- pbuz1=pbuc1
|
||||
// [80] phi print_str::str#8 = testInt::str [phi:testInt->print_str#1] -- call_phi_near
|
||||
lda #<str
|
||||
sta.z print_str.str
|
||||
lda #>str
|
||||
@ -3708,7 +3708,7 @@ testInt: {
|
||||
// [47] call print_uint
|
||||
// [110] phi from testInt::@1 to print_uint [phi:testInt::@1->print_uint]
|
||||
// [110] phi print_char_cursor#147 = print_char_cursor#1 [phi:testInt::@1->print_uint#0] -- register_copy
|
||||
// [110] phi print_uint::w#5 = testInt::u [phi:testInt::@1->print_uint#1] -- vwuz1=vwuc1
|
||||
// [110] phi print_uint::w#5 = testInt::u [phi:testInt::@1->print_uint#1] -- call_phi_near
|
||||
lda #<u
|
||||
sta.z print_uint.w
|
||||
lda #>u
|
||||
@ -3720,7 +3720,7 @@ testInt: {
|
||||
// [49] call print_char
|
||||
// [95] phi from testInt::@2 to print_char [phi:testInt::@2->print_char]
|
||||
// [95] phi print_char_cursor#95 = print_char_cursor#25 [phi:testInt::@2->print_char#0] -- register_copy
|
||||
// [95] phi print_char::ch#17 = ' ' [phi:testInt::@2->print_char#1] -- vbuaa=vbuc1
|
||||
// [95] phi print_char::ch#17 = ' ' [phi:testInt::@2->print_char#1] -- call_phi_near
|
||||
lda #' '
|
||||
jsr print_char
|
||||
// [50] phi from testInt::@2 to testInt::@3 [phi:testInt::@2->testInt::@3]
|
||||
@ -3728,7 +3728,7 @@ testInt: {
|
||||
// print_sint(n)
|
||||
// [51] call print_sint
|
||||
// [116] phi from testInt::@3 to print_sint [phi:testInt::@3->print_sint]
|
||||
// [116] phi print_sint::w#10 = testInt::n [phi:testInt::@3->print_sint#0] -- vwsz1=vwsc1
|
||||
// [116] phi print_sint::w#10 = testInt::n [phi:testInt::@3->print_sint#0] -- call_phi_near
|
||||
lda #<n
|
||||
sta.z print_sint.w
|
||||
lda #>n
|
||||
@ -3740,7 +3740,7 @@ testInt: {
|
||||
// [53] call print_char
|
||||
// [95] phi from testInt::@4 to print_char [phi:testInt::@4->print_char]
|
||||
// [95] phi print_char_cursor#95 = print_char_cursor#25 [phi:testInt::@4->print_char#0] -- register_copy
|
||||
// [95] phi print_char::ch#17 = ' ' [phi:testInt::@4->print_char#1] -- vbuaa=vbuc1
|
||||
// [95] phi print_char::ch#17 = ' ' [phi:testInt::@4->print_char#1] -- call_phi_near
|
||||
lda #' '
|
||||
jsr print_char
|
||||
// [54] phi from testInt::@4 to testInt::@5 [phi:testInt::@4->testInt::@5]
|
||||
@ -3748,7 +3748,7 @@ testInt: {
|
||||
// print_sint(s)
|
||||
// [55] call print_sint
|
||||
// [116] phi from testInt::@5 to print_sint [phi:testInt::@5->print_sint]
|
||||
// [116] phi print_sint::w#10 = testInt::s [phi:testInt::@5->print_sint#0] -- vwsz1=vwsc1
|
||||
// [116] phi print_sint::w#10 = testInt::s [phi:testInt::@5->print_sint#0] -- call_phi_near
|
||||
lda #<s
|
||||
sta.z print_sint.w
|
||||
lda #>s
|
||||
@ -3759,7 +3759,7 @@ testInt: {
|
||||
// print_ln()
|
||||
// [57] call print_ln
|
||||
// [105] phi from testInt::@6 to print_ln [phi:testInt::@6->print_ln]
|
||||
// [105] phi print_line_cursor#41 = print_line_cursor#0 [phi:testInt::@6->print_ln#0] -- register_copy
|
||||
// [105] phi print_line_cursor#41 = print_line_cursor#0 [phi:testInt::@6->print_ln#0] -- call_phi_near
|
||||
jsr print_ln
|
||||
// testInt::@return
|
||||
// }
|
||||
@ -3784,7 +3784,7 @@ testLong: {
|
||||
// [60] call print_str
|
||||
// [80] phi from testLong to print_str [phi:testLong->print_str]
|
||||
// [80] phi print_char_cursor#159 = print_char_cursor#164 [phi:testLong->print_str#0] -- register_copy
|
||||
// [80] phi print_str::str#8 = testLong::str [phi:testLong->print_str#1] -- pbuz1=pbuc1
|
||||
// [80] phi print_str::str#8 = testLong::str [phi:testLong->print_str#1] -- call_phi_near
|
||||
lda #<str
|
||||
sta.z print_str.str
|
||||
lda #>str
|
||||
@ -3796,7 +3796,7 @@ testLong: {
|
||||
// [62] call print_ulong
|
||||
// [127] phi from testLong::@1 to print_ulong [phi:testLong::@1->print_ulong]
|
||||
// [127] phi print_char_cursor#148 = print_char_cursor#1 [phi:testLong::@1->print_ulong#0] -- register_copy
|
||||
// [127] phi print_ulong::dw#2 = testLong::u [phi:testLong::@1->print_ulong#1] -- vduz1=vduc1
|
||||
// [127] phi print_ulong::dw#2 = testLong::u [phi:testLong::@1->print_ulong#1] -- call_phi_near
|
||||
lda #<u
|
||||
sta.z print_ulong.dw
|
||||
lda #>u
|
||||
@ -3812,7 +3812,7 @@ testLong: {
|
||||
// [64] call print_char
|
||||
// [95] phi from testLong::@2 to print_char [phi:testLong::@2->print_char]
|
||||
// [95] phi print_char_cursor#95 = print_char_cursor#25 [phi:testLong::@2->print_char#0] -- register_copy
|
||||
// [95] phi print_char::ch#17 = ' ' [phi:testLong::@2->print_char#1] -- vbuaa=vbuc1
|
||||
// [95] phi print_char::ch#17 = ' ' [phi:testLong::@2->print_char#1] -- call_phi_near
|
||||
lda #' '
|
||||
jsr print_char
|
||||
// [65] phi from testLong::@2 to testLong::@3 [phi:testLong::@2->testLong::@3]
|
||||
@ -3820,7 +3820,7 @@ testLong: {
|
||||
// print_slong(n)
|
||||
// [66] call print_slong
|
||||
// [133] phi from testLong::@3 to print_slong [phi:testLong::@3->print_slong]
|
||||
// [133] phi print_slong::dw#3 = testLong::n [phi:testLong::@3->print_slong#0] -- vdsz1=vdsc1
|
||||
// [133] phi print_slong::dw#3 = testLong::n [phi:testLong::@3->print_slong#0] -- call_phi_near
|
||||
lda #<n
|
||||
sta.z print_slong.dw
|
||||
lda #>n
|
||||
@ -3836,7 +3836,7 @@ testLong: {
|
||||
// [68] call print_char
|
||||
// [95] phi from testLong::@4 to print_char [phi:testLong::@4->print_char]
|
||||
// [95] phi print_char_cursor#95 = print_char_cursor#25 [phi:testLong::@4->print_char#0] -- register_copy
|
||||
// [95] phi print_char::ch#17 = ' ' [phi:testLong::@4->print_char#1] -- vbuaa=vbuc1
|
||||
// [95] phi print_char::ch#17 = ' ' [phi:testLong::@4->print_char#1] -- call_phi_near
|
||||
lda #' '
|
||||
jsr print_char
|
||||
// [69] phi from testLong::@4 to testLong::@5 [phi:testLong::@4->testLong::@5]
|
||||
@ -3844,7 +3844,7 @@ testLong: {
|
||||
// print_slong(s)
|
||||
// [70] call print_slong
|
||||
// [133] phi from testLong::@5 to print_slong [phi:testLong::@5->print_slong]
|
||||
// [133] phi print_slong::dw#3 = testLong::s [phi:testLong::@5->print_slong#0] -- vdsz1=vdsc1
|
||||
// [133] phi print_slong::dw#3 = testLong::s [phi:testLong::@5->print_slong#0] -- call_phi_near
|
||||
lda #<s
|
||||
sta.z print_slong.dw
|
||||
lda #>s
|
||||
@ -3859,7 +3859,7 @@ testLong: {
|
||||
// print_ln()
|
||||
// [72] call print_ln
|
||||
// [105] phi from testLong::@6 to print_ln [phi:testLong::@6->print_ln]
|
||||
// [105] phi print_line_cursor#41 = print_line_cursor#0 [phi:testLong::@6->print_ln#0] -- register_copy
|
||||
// [105] phi print_line_cursor#41 = print_line_cursor#0 [phi:testLong::@6->print_ln#0] -- call_phi_near
|
||||
jsr print_ln
|
||||
// testLong::@return
|
||||
// }
|
||||
@ -3945,7 +3945,7 @@ print_str: {
|
||||
// [85] call print_char
|
||||
// [95] phi from print_str::@2 to print_char [phi:print_str::@2->print_char]
|
||||
// [95] phi print_char_cursor#95 = print_char_cursor#1 [phi:print_str::@2->print_char#0] -- register_copy
|
||||
// [95] phi print_char::ch#17 = print_char::ch#0 [phi:print_str::@2->print_char#1] -- register_copy
|
||||
// [95] phi print_char::ch#17 = print_char::ch#0 [phi:print_str::@2->print_char#1] -- call_phi_near
|
||||
jsr print_char
|
||||
// print_str::@3
|
||||
// print_char(*(str++));
|
||||
@ -3975,7 +3975,7 @@ print_uchar: {
|
||||
// Table of hexadecimal digits
|
||||
// [95] phi from print_uchar to print_char [phi:print_uchar->print_char]
|
||||
// [95] phi print_char_cursor#95 = print_char_cursor#152 [phi:print_uchar->print_char#0] -- register_copy
|
||||
// [95] phi print_char::ch#17 = print_char::ch#7 [phi:print_uchar->print_char#1] -- register_copy
|
||||
// [95] phi print_char::ch#17 = print_char::ch#7 [phi:print_uchar->print_char#1] -- call_phi_near
|
||||
jsr print_char
|
||||
// print_uchar::@1
|
||||
// b&$f
|
||||
@ -3988,7 +3988,7 @@ print_uchar: {
|
||||
// [93] call print_char
|
||||
// [95] phi from print_uchar::@1 to print_char [phi:print_uchar::@1->print_char]
|
||||
// [95] phi print_char_cursor#95 = print_char_cursor#25 [phi:print_uchar::@1->print_char#0] -- register_copy
|
||||
// [95] phi print_char::ch#17 = print_char::ch#8 [phi:print_uchar::@1->print_char#1] -- register_copy
|
||||
// [95] phi print_char::ch#17 = print_char::ch#8 [phi:print_uchar::@1->print_char#1] -- call_phi_near
|
||||
jsr print_char
|
||||
// print_uchar::@return
|
||||
// }
|
||||
@ -4025,7 +4025,7 @@ print_schar: {
|
||||
// [101] call print_char
|
||||
// [95] phi from print_schar::@1 to print_char [phi:print_schar::@1->print_char]
|
||||
// [95] phi print_char_cursor#95 = print_char_cursor#25 [phi:print_schar::@1->print_char#0] -- register_copy
|
||||
// [95] phi print_char::ch#17 = '-' [phi:print_schar::@1->print_char#1] -- vbuaa=vbuc1
|
||||
// [95] phi print_char::ch#17 = '-' [phi:print_schar::@1->print_char#1] -- call_phi_near
|
||||
lda #'-'
|
||||
jsr print_char
|
||||
// [102] phi from print_schar::@1 to print_schar::@2 [phi:print_schar::@1->print_schar::@2]
|
||||
@ -4034,7 +4034,7 @@ print_schar: {
|
||||
// [103] call print_uchar
|
||||
// [87] phi from print_schar::@2 to print_uchar [phi:print_schar::@2->print_uchar]
|
||||
// [87] phi print_char_cursor#152 = print_char_cursor#25 [phi:print_schar::@2->print_uchar#0] -- register_copy
|
||||
// [87] phi print_uchar::b#5 = (char)print_schar::b#0 [phi:print_schar::@2->print_uchar#1] -- vbuxx=vbuc1
|
||||
// [87] phi print_uchar::b#5 = (char)print_schar::b#0 [phi:print_schar::@2->print_uchar#1] -- call_phi_near
|
||||
ldx #b
|
||||
jsr print_uchar
|
||||
// print_schar::@return
|
||||
@ -4084,7 +4084,7 @@ print_uint: {
|
||||
// [112] call print_uchar
|
||||
// [87] phi from print_uint to print_uchar [phi:print_uint->print_uchar]
|
||||
// [87] phi print_char_cursor#152 = print_char_cursor#147 [phi:print_uint->print_uchar#0] -- register_copy
|
||||
// [87] phi print_uchar::b#5 = print_uchar::b#1 [phi:print_uint->print_uchar#1] -- register_copy
|
||||
// [87] phi print_uchar::b#5 = print_uchar::b#1 [phi:print_uint->print_uchar#1] -- call_phi_near
|
||||
jsr print_uchar
|
||||
// print_uint::@1
|
||||
// print_uchar(BYTE0(w))
|
||||
@ -4093,7 +4093,7 @@ print_uint: {
|
||||
// [114] call print_uchar
|
||||
// [87] phi from print_uint::@1 to print_uchar [phi:print_uint::@1->print_uchar]
|
||||
// [87] phi print_char_cursor#152 = print_char_cursor#25 [phi:print_uint::@1->print_uchar#0] -- register_copy
|
||||
// [87] phi print_uchar::b#5 = print_uchar::b#2 [phi:print_uint::@1->print_uchar#1] -- register_copy
|
||||
// [87] phi print_uchar::b#5 = print_uchar::b#2 [phi:print_uint::@1->print_uchar#1] -- call_phi_near
|
||||
jsr print_uchar
|
||||
// print_uint::@return
|
||||
// }
|
||||
@ -4115,7 +4115,7 @@ print_sint: {
|
||||
// [119] call print_char
|
||||
// [95] phi from print_sint::@3 to print_char [phi:print_sint::@3->print_char]
|
||||
// [95] phi print_char_cursor#95 = print_char_cursor#25 [phi:print_sint::@3->print_char#0] -- register_copy
|
||||
// [95] phi print_char::ch#17 = ' ' [phi:print_sint::@3->print_char#1] -- vbuaa=vbuc1
|
||||
// [95] phi print_char::ch#17 = ' ' [phi:print_sint::@3->print_char#1] -- call_phi_near
|
||||
lda #' '
|
||||
jsr print_char
|
||||
// [120] phi from print_sint::@3 print_sint::@4 to print_sint::@2 [phi:print_sint::@3/print_sint::@4->print_sint::@2]
|
||||
@ -4127,7 +4127,7 @@ print_sint: {
|
||||
// [122] call print_uint
|
||||
// [110] phi from print_sint::@2 to print_uint [phi:print_sint::@2->print_uint]
|
||||
// [110] phi print_char_cursor#147 = print_char_cursor#25 [phi:print_sint::@2->print_uint#0] -- register_copy
|
||||
// [110] phi print_uint::w#5 = print_uint::w#0 [phi:print_sint::@2->print_uint#1] -- register_copy
|
||||
// [110] phi print_uint::w#5 = print_uint::w#0 [phi:print_sint::@2->print_uint#1] -- call_phi_near
|
||||
jsr print_uint
|
||||
// print_sint::@return
|
||||
// }
|
||||
@ -4140,7 +4140,7 @@ print_sint: {
|
||||
// [125] call print_char
|
||||
// [95] phi from print_sint::@1 to print_char [phi:print_sint::@1->print_char]
|
||||
// [95] phi print_char_cursor#95 = print_char_cursor#25 [phi:print_sint::@1->print_char#0] -- register_copy
|
||||
// [95] phi print_char::ch#17 = '-' [phi:print_sint::@1->print_char#1] -- vbuaa=vbuc1
|
||||
// [95] phi print_char::ch#17 = '-' [phi:print_sint::@1->print_char#1] -- call_phi_near
|
||||
lda #'-'
|
||||
jsr print_char
|
||||
// print_sint::@4
|
||||
@ -4169,7 +4169,7 @@ print_ulong: {
|
||||
// [129] call print_uint
|
||||
// [110] phi from print_ulong to print_uint [phi:print_ulong->print_uint]
|
||||
// [110] phi print_char_cursor#147 = print_char_cursor#148 [phi:print_ulong->print_uint#0] -- register_copy
|
||||
// [110] phi print_uint::w#5 = print_uint::w#1 [phi:print_ulong->print_uint#1] -- register_copy
|
||||
// [110] phi print_uint::w#5 = print_uint::w#1 [phi:print_ulong->print_uint#1] -- call_phi_near
|
||||
jsr print_uint
|
||||
// print_ulong::@1
|
||||
// print_uint(WORD0(dw))
|
||||
@ -4181,7 +4181,7 @@ print_ulong: {
|
||||
// [131] call print_uint
|
||||
// [110] phi from print_ulong::@1 to print_uint [phi:print_ulong::@1->print_uint]
|
||||
// [110] phi print_char_cursor#147 = print_char_cursor#25 [phi:print_ulong::@1->print_uint#0] -- register_copy
|
||||
// [110] phi print_uint::w#5 = print_uint::w#2 [phi:print_ulong::@1->print_uint#1] -- register_copy
|
||||
// [110] phi print_uint::w#5 = print_uint::w#2 [phi:print_ulong::@1->print_uint#1] -- call_phi_near
|
||||
jsr print_uint
|
||||
// print_ulong::@return
|
||||
// }
|
||||
@ -4203,7 +4203,7 @@ print_slong: {
|
||||
// [136] call print_char
|
||||
// [95] phi from print_slong::@3 to print_char [phi:print_slong::@3->print_char]
|
||||
// [95] phi print_char_cursor#95 = print_char_cursor#25 [phi:print_slong::@3->print_char#0] -- register_copy
|
||||
// [95] phi print_char::ch#17 = ' ' [phi:print_slong::@3->print_char#1] -- vbuaa=vbuc1
|
||||
// [95] phi print_char::ch#17 = ' ' [phi:print_slong::@3->print_char#1] -- call_phi_near
|
||||
lda #' '
|
||||
jsr print_char
|
||||
// [137] phi from print_slong::@3 print_slong::@4 to print_slong::@2 [phi:print_slong::@3/print_slong::@4->print_slong::@2]
|
||||
@ -4215,7 +4215,7 @@ print_slong: {
|
||||
// [139] call print_ulong
|
||||
// [127] phi from print_slong::@2 to print_ulong [phi:print_slong::@2->print_ulong]
|
||||
// [127] phi print_char_cursor#148 = print_char_cursor#25 [phi:print_slong::@2->print_ulong#0] -- register_copy
|
||||
// [127] phi print_ulong::dw#2 = print_ulong::dw#0 [phi:print_slong::@2->print_ulong#1] -- register_copy
|
||||
// [127] phi print_ulong::dw#2 = print_ulong::dw#0 [phi:print_slong::@2->print_ulong#1] -- call_phi_near
|
||||
jsr print_ulong
|
||||
// print_slong::@return
|
||||
// }
|
||||
@ -4228,7 +4228,7 @@ print_slong: {
|
||||
// [142] call print_char
|
||||
// [95] phi from print_slong::@1 to print_char [phi:print_slong::@1->print_char]
|
||||
// [95] phi print_char_cursor#95 = print_char_cursor#25 [phi:print_slong::@1->print_char#0] -- register_copy
|
||||
// [95] phi print_char::ch#17 = '-' [phi:print_slong::@1->print_char#1] -- vbuaa=vbuc1
|
||||
// [95] phi print_char::ch#17 = '-' [phi:print_slong::@1->print_char#1] -- call_phi_near
|
||||
lda #'-'
|
||||
jsr print_char
|
||||
// print_slong::@4
|
||||
|
@ -1380,7 +1380,7 @@ main: {
|
||||
lda #PROCPORT_RAM_IO
|
||||
sta.z PROCPORT
|
||||
// [3] call gfx_init
|
||||
// [40] phi from main to gfx_init [phi:main->gfx_init]
|
||||
// [40] phi from main to gfx_init [phi:main->gfx_init] -- call_phi_near
|
||||
gfx_init_from_main:
|
||||
jsr gfx_init
|
||||
jmp __b6
|
||||
@ -1592,7 +1592,7 @@ main: {
|
||||
// Initialize the different graphics in the memory
|
||||
gfx_init: {
|
||||
// [41] call gfx_init_screen0
|
||||
// [45] phi from gfx_init to gfx_init_screen0 [phi:gfx_init->gfx_init_screen0]
|
||||
// [45] phi from gfx_init to gfx_init_screen0 [phi:gfx_init->gfx_init_screen0] -- call_phi_near
|
||||
gfx_init_screen0_from_gfx_init:
|
||||
jsr gfx_init_screen0
|
||||
// [42] phi from gfx_init to gfx_init::@1 [phi:gfx_init->gfx_init::@1]
|
||||
@ -1601,7 +1601,7 @@ gfx_init: {
|
||||
// gfx_init::@1
|
||||
__b1:
|
||||
// [43] call gfx_init_plane_charset8
|
||||
// [59] phi from gfx_init::@1 to gfx_init_plane_charset8 [phi:gfx_init::@1->gfx_init_plane_charset8]
|
||||
// [59] phi from gfx_init::@1 to gfx_init_plane_charset8 [phi:gfx_init::@1->gfx_init_plane_charset8] -- call_phi_near
|
||||
gfx_init_plane_charset8_from___b1:
|
||||
jsr gfx_init_plane_charset8
|
||||
jmp __breturn
|
||||
@ -1703,7 +1703,7 @@ gfx_init_plane_charset8: {
|
||||
// [60] call dtvSetCpuBankSegment1
|
||||
// [84] phi from gfx_init_plane_charset8 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_charset8->dtvSetCpuBankSegment1]
|
||||
dtvSetCpuBankSegment1_from_gfx_init_plane_charset8:
|
||||
// [84] phi dtvSetCpuBankSegment1::cpuBankIdx#2 = gfx_init_plane_charset8::gfxbCpuBank#0 [phi:gfx_init_plane_charset8->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1
|
||||
// [84] phi dtvSetCpuBankSegment1::cpuBankIdx#2 = gfx_init_plane_charset8::gfxbCpuBank#0 [phi:gfx_init_plane_charset8->dtvSetCpuBankSegment1#0] -- call_phi_near
|
||||
lda #gfxbCpuBank
|
||||
jsr dtvSetCpuBankSegment1
|
||||
jmp __b9
|
||||
@ -1850,7 +1850,7 @@ gfx_init_plane_charset8: {
|
||||
// Reset CPU BANK segment to $4000
|
||||
// [84] phi from gfx_init_plane_charset8::@8 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_charset8::@8->dtvSetCpuBankSegment1]
|
||||
dtvSetCpuBankSegment1_from___b8:
|
||||
// [84] phi dtvSetCpuBankSegment1::cpuBankIdx#2 = (char)$4000/$4000 [phi:gfx_init_plane_charset8::@8->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1
|
||||
// [84] phi dtvSetCpuBankSegment1::cpuBankIdx#2 = (char)$4000/$4000 [phi:gfx_init_plane_charset8::@8->dtvSetCpuBankSegment1#0] -- call_phi_near
|
||||
lda #$4000/$4000
|
||||
jsr dtvSetCpuBankSegment1
|
||||
jmp __breturn
|
||||
@ -2224,7 +2224,7 @@ main: {
|
||||
sta.z PROCPORT
|
||||
// gfx_init()
|
||||
// [3] call gfx_init
|
||||
// [40] phi from main to gfx_init [phi:main->gfx_init]
|
||||
// [40] phi from main to gfx_init [phi:main->gfx_init] -- call_phi_near
|
||||
jsr gfx_init
|
||||
// main::@6
|
||||
// *DTV_FEATURE = DTV_FEATURE_ENABLE
|
||||
@ -2454,13 +2454,13 @@ main: {
|
||||
gfx_init: {
|
||||
// gfx_init_screen0()
|
||||
// [41] call gfx_init_screen0
|
||||
// [45] phi from gfx_init to gfx_init_screen0 [phi:gfx_init->gfx_init_screen0]
|
||||
// [45] phi from gfx_init to gfx_init_screen0 [phi:gfx_init->gfx_init_screen0] -- call_phi_near
|
||||
jsr gfx_init_screen0
|
||||
// [42] phi from gfx_init to gfx_init::@1 [phi:gfx_init->gfx_init::@1]
|
||||
// gfx_init::@1
|
||||
// gfx_init_plane_charset8()
|
||||
// [43] call gfx_init_plane_charset8
|
||||
// [59] phi from gfx_init::@1 to gfx_init_plane_charset8 [phi:gfx_init::@1->gfx_init_plane_charset8]
|
||||
// [59] phi from gfx_init::@1 to gfx_init_plane_charset8 [phi:gfx_init::@1->gfx_init_plane_charset8] -- call_phi_near
|
||||
jsr gfx_init_plane_charset8
|
||||
// gfx_init::@return
|
||||
// }
|
||||
@ -2557,7 +2557,7 @@ gfx_init_plane_charset8: {
|
||||
// dtvSetCpuBankSegment1(gfxbCpuBank++)
|
||||
// [60] call dtvSetCpuBankSegment1
|
||||
// [84] phi from gfx_init_plane_charset8 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_charset8->dtvSetCpuBankSegment1]
|
||||
// [84] phi dtvSetCpuBankSegment1::cpuBankIdx#2 = gfx_init_plane_charset8::gfxbCpuBank#0 [phi:gfx_init_plane_charset8->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1
|
||||
// [84] phi dtvSetCpuBankSegment1::cpuBankIdx#2 = gfx_init_plane_charset8::gfxbCpuBank#0 [phi:gfx_init_plane_charset8->dtvSetCpuBankSegment1#0] -- call_phi_near
|
||||
lda #gfxbCpuBank
|
||||
jsr dtvSetCpuBankSegment1
|
||||
// gfx_init_plane_charset8::@9
|
||||
@ -2691,7 +2691,7 @@ gfx_init_plane_charset8: {
|
||||
// [82] call dtvSetCpuBankSegment1
|
||||
// Reset CPU BANK segment to $4000
|
||||
// [84] phi from gfx_init_plane_charset8::@8 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_charset8::@8->dtvSetCpuBankSegment1]
|
||||
// [84] phi dtvSetCpuBankSegment1::cpuBankIdx#2 = (char)$4000/$4000 [phi:gfx_init_plane_charset8::@8->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1
|
||||
// [84] phi dtvSetCpuBankSegment1::cpuBankIdx#2 = (char)$4000/$4000 [phi:gfx_init_plane_charset8::@8->dtvSetCpuBankSegment1#0] -- call_phi_near
|
||||
lda #$4000/$4000
|
||||
jsr dtvSetCpuBankSegment1
|
||||
// gfx_init_plane_charset8::@return
|
||||
|
@ -911,7 +911,7 @@ main: {
|
||||
lda #PROCPORT_RAM_IO
|
||||
sta.z PROCPORT
|
||||
// [3] call gfx_init_chunky
|
||||
// [34] phi from main to gfx_init_chunky [phi:main->gfx_init_chunky]
|
||||
// [34] phi from main to gfx_init_chunky [phi:main->gfx_init_chunky] -- call_phi_near
|
||||
gfx_init_chunky_from_main:
|
||||
jsr gfx_init_chunky
|
||||
jmp __b6
|
||||
@ -1110,7 +1110,7 @@ gfx_init_chunky: {
|
||||
// [35] call dtvSetCpuBankSegment1
|
||||
// [54] phi from gfx_init_chunky to dtvSetCpuBankSegment1 [phi:gfx_init_chunky->dtvSetCpuBankSegment1]
|
||||
dtvSetCpuBankSegment1_from_gfx_init_chunky:
|
||||
// [54] phi dtvSetCpuBankSegment1::cpuBankIdx#3 = (char)CHUNKY/$4000 [phi:gfx_init_chunky->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1
|
||||
// [54] phi dtvSetCpuBankSegment1::cpuBankIdx#3 = (char)CHUNKY/$4000 [phi:gfx_init_chunky->dtvSetCpuBankSegment1#0] -- call_phi_near
|
||||
lda #CHUNKY/$4000
|
||||
jsr dtvSetCpuBankSegment1
|
||||
// [36] phi from gfx_init_chunky to gfx_init_chunky::@1 [phi:gfx_init_chunky->gfx_init_chunky::@1]
|
||||
@ -1167,7 +1167,7 @@ gfx_init_chunky: {
|
||||
// [40] call dtvSetCpuBankSegment1
|
||||
// [54] phi from gfx_init_chunky::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_chunky::@4->dtvSetCpuBankSegment1]
|
||||
dtvSetCpuBankSegment1_from___b4:
|
||||
// [54] phi dtvSetCpuBankSegment1::cpuBankIdx#3 = dtvSetCpuBankSegment1::cpuBankIdx#1 [phi:gfx_init_chunky::@4->dtvSetCpuBankSegment1#0] -- register_copy
|
||||
// [54] phi dtvSetCpuBankSegment1::cpuBankIdx#3 = dtvSetCpuBankSegment1::cpuBankIdx#1 [phi:gfx_init_chunky::@4->dtvSetCpuBankSegment1#0] -- call_phi_near
|
||||
jsr dtvSetCpuBankSegment1
|
||||
jmp __b7
|
||||
// gfx_init_chunky::@7
|
||||
@ -1238,7 +1238,7 @@ gfx_init_chunky: {
|
||||
// Reset CPU BANK segment to $4000
|
||||
// [54] phi from gfx_init_chunky::@6 to dtvSetCpuBankSegment1 [phi:gfx_init_chunky::@6->dtvSetCpuBankSegment1]
|
||||
dtvSetCpuBankSegment1_from___b6:
|
||||
// [54] phi dtvSetCpuBankSegment1::cpuBankIdx#3 = (char)$4000/$4000 [phi:gfx_init_chunky::@6->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1
|
||||
// [54] phi dtvSetCpuBankSegment1::cpuBankIdx#3 = (char)$4000/$4000 [phi:gfx_init_chunky::@6->dtvSetCpuBankSegment1#0] -- call_phi_near
|
||||
lda #$4000/$4000
|
||||
jsr dtvSetCpuBankSegment1
|
||||
jmp __breturn
|
||||
@ -1530,7 +1530,7 @@ main: {
|
||||
sta.z PROCPORT
|
||||
// gfx_init_chunky()
|
||||
// [3] call gfx_init_chunky
|
||||
// [34] phi from main to gfx_init_chunky [phi:main->gfx_init_chunky]
|
||||
// [34] phi from main to gfx_init_chunky [phi:main->gfx_init_chunky] -- call_phi_near
|
||||
jsr gfx_init_chunky
|
||||
// main::@6
|
||||
// *DTV_FEATURE = DTV_FEATURE_ENABLE
|
||||
@ -1744,7 +1744,7 @@ gfx_init_chunky: {
|
||||
// dtvSetCpuBankSegment1(gfxbCpuBank++)
|
||||
// [35] call dtvSetCpuBankSegment1
|
||||
// [54] phi from gfx_init_chunky to dtvSetCpuBankSegment1 [phi:gfx_init_chunky->dtvSetCpuBankSegment1]
|
||||
// [54] phi dtvSetCpuBankSegment1::cpuBankIdx#3 = (char)CHUNKY/$4000 [phi:gfx_init_chunky->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1
|
||||
// [54] phi dtvSetCpuBankSegment1::cpuBankIdx#3 = (char)CHUNKY/$4000 [phi:gfx_init_chunky->dtvSetCpuBankSegment1#0] -- call_phi_near
|
||||
lda #CHUNKY/$4000
|
||||
jsr dtvSetCpuBankSegment1
|
||||
// [36] phi from gfx_init_chunky to gfx_init_chunky::@1 [phi:gfx_init_chunky->gfx_init_chunky::@1]
|
||||
@ -1791,7 +1791,7 @@ gfx_init_chunky: {
|
||||
txa
|
||||
// [40] call dtvSetCpuBankSegment1
|
||||
// [54] phi from gfx_init_chunky::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_chunky::@4->dtvSetCpuBankSegment1]
|
||||
// [54] phi dtvSetCpuBankSegment1::cpuBankIdx#3 = dtvSetCpuBankSegment1::cpuBankIdx#1 [phi:gfx_init_chunky::@4->dtvSetCpuBankSegment1#0] -- register_copy
|
||||
// [54] phi dtvSetCpuBankSegment1::cpuBankIdx#3 = dtvSetCpuBankSegment1::cpuBankIdx#1 [phi:gfx_init_chunky::@4->dtvSetCpuBankSegment1#0] -- call_phi_near
|
||||
jsr dtvSetCpuBankSegment1
|
||||
// gfx_init_chunky::@7
|
||||
// dtvSetCpuBankSegment1(gfxbCpuBank++);
|
||||
@ -1858,7 +1858,7 @@ gfx_init_chunky: {
|
||||
// [52] call dtvSetCpuBankSegment1
|
||||
// Reset CPU BANK segment to $4000
|
||||
// [54] phi from gfx_init_chunky::@6 to dtvSetCpuBankSegment1 [phi:gfx_init_chunky::@6->dtvSetCpuBankSegment1]
|
||||
// [54] phi dtvSetCpuBankSegment1::cpuBankIdx#3 = (char)$4000/$4000 [phi:gfx_init_chunky::@6->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1
|
||||
// [54] phi dtvSetCpuBankSegment1::cpuBankIdx#3 = (char)$4000/$4000 [phi:gfx_init_chunky::@6->dtvSetCpuBankSegment1#0] -- call_phi_near
|
||||
lda #$4000/$4000
|
||||
jsr dtvSetCpuBankSegment1
|
||||
// gfx_init_chunky::@return
|
||||
|
@ -179,7 +179,7 @@ ASSEMBLER BEFORE OPTIMIZATION
|
||||
// main
|
||||
main: {
|
||||
// [1] call plus
|
||||
// [4] phi from main to plus [phi:main->plus] -- call__phi_near_finalize
|
||||
// [4] phi from main to plus [phi:main->plus] -- call_phi_near
|
||||
plus_from_main:
|
||||
jsr plus
|
||||
jmp __b1
|
||||
@ -259,7 +259,7 @@ Score: 24
|
||||
main: {
|
||||
// plus('0', 7)
|
||||
// [1] call plus
|
||||
// [4] phi from main to plus [phi:main->plus] -- call__phi_near_finalize
|
||||
// [4] phi from main to plus [phi:main->plus] -- call_phi_near
|
||||
jsr plus
|
||||
// main::@1
|
||||
// SCREEN[0] = plus('0', 7)
|
||||
|
@ -248,7 +248,7 @@ ASSEMBLER BEFORE OPTIMIZATION
|
||||
// main
|
||||
main: {
|
||||
// [1] call plus
|
||||
// [4] phi from main to plus [phi:main->plus] -- call__phi_near_finalize
|
||||
// [4] phi from main to plus [phi:main->plus] -- call_phi_near
|
||||
plus_from_main:
|
||||
jsr plus
|
||||
jmp __b1
|
||||
@ -269,7 +269,7 @@ plus: {
|
||||
.label a = '0'
|
||||
.label b = 7
|
||||
// [5] call min
|
||||
// [7] phi from plus to min [phi:plus->min] -- call__phi_near_finalize
|
||||
// [7] phi from plus to min [phi:plus->min] -- call_phi_near
|
||||
min_from_plus:
|
||||
jsr min
|
||||
jmp __breturn
|
||||
@ -348,7 +348,7 @@ Score: 36
|
||||
main: {
|
||||
// plus('0', 7)
|
||||
// [1] call plus
|
||||
// [4] phi from main to plus [phi:main->plus] -- call__phi_near_finalize
|
||||
// [4] phi from main to plus [phi:main->plus] -- call_phi_near
|
||||
jsr plus
|
||||
// main::@1
|
||||
// SCREEN[0] = plus('0', 7)
|
||||
@ -367,7 +367,7 @@ plus: {
|
||||
.label b = 7
|
||||
// min(a, b)
|
||||
// [5] call min
|
||||
// [7] phi from plus to min [phi:plus->min] -- call__phi_near_finalize
|
||||
// [7] phi from plus to min [phi:plus->min] -- call_phi_near
|
||||
jsr min
|
||||
// plus::@return
|
||||
// }
|
||||
|
@ -180,7 +180,7 @@ ASSEMBLER BEFORE OPTIMIZATION
|
||||
// main
|
||||
main: {
|
||||
// [1] call plus
|
||||
// [4] phi from main to plus [phi:main->plus] -- call_cx16_ram_phi_close_finalize
|
||||
// [4] phi from main to plus [phi:main->plus] -- call_phi_close_cx16_ram
|
||||
plus_from_main:
|
||||
lda #1
|
||||
sta.z 0
|
||||
@ -266,7 +266,7 @@ Score: 39
|
||||
main: {
|
||||
// plus('0', 7)
|
||||
// [1] call plus
|
||||
// [4] phi from main to plus [phi:main->plus] -- call_cx16_ram_phi_close_finalize
|
||||
// [4] phi from main to plus [phi:main->plus] -- call_phi_close_cx16_ram
|
||||
lda #1
|
||||
sta.z 0
|
||||
pha
|
||||
|
@ -180,7 +180,7 @@ ASSEMBLER BEFORE OPTIMIZATION
|
||||
// main
|
||||
main: {
|
||||
// [1] call plus
|
||||
// [4] phi from main to plus [phi:main->plus] -- call_cx16_ram_phi_close_finalize
|
||||
// [4] phi from main to plus [phi:main->plus] -- call_phi_close_cx16_ram
|
||||
plus_from_main:
|
||||
lda #1
|
||||
sta.z 0
|
||||
@ -266,7 +266,7 @@ Score: 39
|
||||
main: {
|
||||
// plus('0', 7)
|
||||
// [1] call plus
|
||||
// [4] phi from main to plus [phi:main->plus] -- call_cx16_ram_phi_close_finalize
|
||||
// [4] phi from main to plus [phi:main->plus] -- call_phi_close_cx16_ram
|
||||
lda #1
|
||||
sta.z 0
|
||||
pha
|
||||
|
@ -249,7 +249,7 @@ ASSEMBLER BEFORE OPTIMIZATION
|
||||
// main
|
||||
main: {
|
||||
// [1] call plus
|
||||
// [4] phi from main to plus [phi:main->plus] -- call_cx16_ram_phi_close_finalize
|
||||
// [4] phi from main to plus [phi:main->plus] -- call_phi_close_cx16_ram
|
||||
plus_from_main:
|
||||
lda #1
|
||||
sta.z 0
|
||||
@ -276,7 +276,7 @@ plus: {
|
||||
.label a = '0'
|
||||
.label b = 7
|
||||
// [5] call min
|
||||
// [7] phi from plus to min [phi:plus->min] -- call__phi_near_finalize
|
||||
// [7] phi from plus to min [phi:plus->min] -- call_phi_near
|
||||
min_from_plus:
|
||||
jsr min
|
||||
jmp __breturn
|
||||
@ -356,7 +356,7 @@ Score: 51
|
||||
main: {
|
||||
// plus('0', 7)
|
||||
// [1] call plus
|
||||
// [4] phi from main to plus [phi:main->plus] -- call_cx16_ram_phi_close_finalize
|
||||
// [4] phi from main to plus [phi:main->plus] -- call_phi_close_cx16_ram
|
||||
lda #1
|
||||
sta.z 0
|
||||
pha
|
||||
@ -381,7 +381,7 @@ plus: {
|
||||
.label b = 7
|
||||
// min(a, b)
|
||||
// [5] call min
|
||||
// [7] phi from plus to min [phi:plus->min] -- call__phi_near_finalize
|
||||
// [7] phi from plus to min [phi:plus->min] -- call_phi_near
|
||||
jsr min
|
||||
// plus::@return
|
||||
// }
|
||||
|
@ -249,7 +249,7 @@ ASSEMBLER BEFORE OPTIMIZATION
|
||||
// main
|
||||
main: {
|
||||
// [1] call plus
|
||||
// [4] phi from main to plus [phi:main->plus] -- call_cx16_ram_phi_close_finalize
|
||||
// [4] phi from main to plus [phi:main->plus] -- call_phi_close_cx16_ram
|
||||
plus_from_main:
|
||||
lda #1
|
||||
sta.z 0
|
||||
@ -276,7 +276,7 @@ plus: {
|
||||
.label a = '0'
|
||||
.label b = 7
|
||||
// [5] call min
|
||||
// [7] phi from plus to min [phi:plus->min] -- call__phi_near_finalize
|
||||
// [7] phi from plus to min [phi:plus->min] -- call_phi_near
|
||||
min_from_plus:
|
||||
jsr min
|
||||
jmp __breturn
|
||||
@ -356,7 +356,7 @@ Score: 51
|
||||
main: {
|
||||
// plus('0', 7)
|
||||
// [1] call plus
|
||||
// [4] phi from main to plus [phi:main->plus] -- call_cx16_ram_phi_close_finalize
|
||||
// [4] phi from main to plus [phi:main->plus] -- call_phi_close_cx16_ram
|
||||
lda #1
|
||||
sta.z 0
|
||||
pha
|
||||
@ -381,7 +381,7 @@ plus: {
|
||||
.label b = 7
|
||||
// min(a, b)
|
||||
// [5] call min
|
||||
// [7] phi from plus to min [phi:plus->min] -- call__phi_near_finalize
|
||||
// [7] phi from plus to min [phi:plus->min] -- call_phi_near
|
||||
jsr min
|
||||
// plus::@return
|
||||
// }
|
||||
|
@ -249,7 +249,7 @@ ASSEMBLER BEFORE OPTIMIZATION
|
||||
// main
|
||||
main: {
|
||||
// [1] call plus
|
||||
// [4] phi from main to plus [phi:main->plus] -- call_cx16_ram_phi_close_finalize
|
||||
// [4] phi from main to plus [phi:main->plus] -- call_phi_close_cx16_ram
|
||||
plus_from_main:
|
||||
lda #1
|
||||
sta.z 0
|
||||
@ -276,7 +276,7 @@ plus: {
|
||||
.label a = '0'
|
||||
.label b = 7
|
||||
// [5] call min
|
||||
// [7] phi from plus to min [phi:plus->min] -- call__phi_near_finalize
|
||||
// [7] phi from plus to min [phi:plus->min] -- call_phi_near
|
||||
min_from_plus:
|
||||
jsr min
|
||||
jmp __breturn
|
||||
@ -355,7 +355,7 @@ Score: 51
|
||||
main: {
|
||||
// plus('0', 7)
|
||||
// [1] call plus
|
||||
// [4] phi from main to plus [phi:main->plus] -- call_cx16_ram_phi_close_finalize
|
||||
// [4] phi from main to plus [phi:main->plus] -- call_phi_close_cx16_ram
|
||||
lda #1
|
||||
sta.z 0
|
||||
pha
|
||||
@ -380,7 +380,7 @@ plus: {
|
||||
.label b = 7
|
||||
// min(a, b)
|
||||
// [5] call min
|
||||
// [7] phi from plus to min [phi:plus->min] -- call__phi_near_finalize
|
||||
// [7] phi from plus to min [phi:plus->min] -- call_phi_near
|
||||
jsr min
|
||||
// plus::@return
|
||||
// }
|
||||
|
@ -249,7 +249,7 @@ ASSEMBLER BEFORE OPTIMIZATION
|
||||
// main
|
||||
main: {
|
||||
// [1] call plus
|
||||
// [4] phi from main to plus [phi:main->plus] -- call_cx16_ram_phi_close_finalize
|
||||
// [4] phi from main to plus [phi:main->plus] -- call_phi_close_cx16_ram
|
||||
plus_from_main:
|
||||
lda #1
|
||||
sta.z 0
|
||||
@ -276,7 +276,7 @@ plus: {
|
||||
.label a = '0'
|
||||
.label b = 7
|
||||
// [5] call min
|
||||
// [7] phi from plus to min [phi:plus->min] -- call__phi_near_finalize
|
||||
// [7] phi from plus to min [phi:plus->min] -- call_phi_near
|
||||
min_from_plus:
|
||||
jsr min
|
||||
jmp __breturn
|
||||
@ -355,7 +355,7 @@ Score: 51
|
||||
main: {
|
||||
// plus('0', 7)
|
||||
// [1] call plus
|
||||
// [4] phi from main to plus [phi:main->plus] -- call_cx16_ram_phi_close_finalize
|
||||
// [4] phi from main to plus [phi:main->plus] -- call_phi_close_cx16_ram
|
||||
lda #1
|
||||
sta.z 0
|
||||
pha
|
||||
@ -380,7 +380,7 @@ plus: {
|
||||
.label b = 7
|
||||
// min(a, b)
|
||||
// [5] call min
|
||||
// [7] phi from plus to min [phi:plus->min] -- call__phi_near_finalize
|
||||
// [7] phi from plus to min [phi:plus->min] -- call_phi_near
|
||||
jsr min
|
||||
// plus::@return
|
||||
// }
|
||||
|
@ -249,7 +249,7 @@ ASSEMBLER BEFORE OPTIMIZATION
|
||||
// main
|
||||
main: {
|
||||
// [1] call plus
|
||||
// [4] phi from main to plus [phi:main->plus] -- call_cx16_ram_phi_close_finalize
|
||||
// [4] phi from main to plus [phi:main->plus] -- call_phi_close_cx16_ram
|
||||
plus_from_main:
|
||||
lda #1
|
||||
sta.z 0
|
||||
@ -276,7 +276,7 @@ plus: {
|
||||
.label a = '0'
|
||||
.label b = 7
|
||||
// [5] call min
|
||||
// [7] phi from plus to min [phi:plus->min] -- call_cx16_ram_phi_far_finalize
|
||||
// [7] phi from plus to min [phi:plus->min] -- call_phi_far_cx16_ram
|
||||
min_from_plus:
|
||||
jsr $ff6e
|
||||
.byte <min
|
||||
@ -359,7 +359,7 @@ Score: 51
|
||||
main: {
|
||||
// plus('0', 7)
|
||||
// [1] call plus
|
||||
// [4] phi from main to plus [phi:main->plus] -- call_cx16_ram_phi_close_finalize
|
||||
// [4] phi from main to plus [phi:main->plus] -- call_phi_close_cx16_ram
|
||||
lda #1
|
||||
sta.z 0
|
||||
pha
|
||||
@ -384,7 +384,7 @@ plus: {
|
||||
.label b = 7
|
||||
// min(a, b)
|
||||
// [5] call min
|
||||
// [7] phi from plus to min [phi:plus->min] -- call_cx16_ram_phi_far_finalize
|
||||
// [7] phi from plus to min [phi:plus->min] -- call_phi_far_cx16_ram
|
||||
jsr $ff6e
|
||||
.byte <min
|
||||
.byte >min
|
||||
|
@ -249,7 +249,7 @@ ASSEMBLER BEFORE OPTIMIZATION
|
||||
// main
|
||||
main: {
|
||||
// [1] call plus
|
||||
// [4] phi from main to plus [phi:main->plus] -- call_cx16_ram_phi_close_finalize
|
||||
// [4] phi from main to plus [phi:main->plus] -- call_phi_close_cx16_ram
|
||||
plus_from_main:
|
||||
lda #1
|
||||
sta.z 0
|
||||
@ -276,7 +276,7 @@ plus: {
|
||||
.label a = '0'
|
||||
.label b = 7
|
||||
// [5] call min
|
||||
// [7] phi from plus to min [phi:plus->min] -- call_cx16_ram_phi_far_finalize
|
||||
// [7] phi from plus to min [phi:plus->min] -- call_phi_far_cx16_ram
|
||||
min_from_plus:
|
||||
jsr $ff6e
|
||||
.byte <min
|
||||
@ -359,7 +359,7 @@ Score: 51
|
||||
main: {
|
||||
// plus('0', 7)
|
||||
// [1] call plus
|
||||
// [4] phi from main to plus [phi:main->plus] -- call_cx16_ram_phi_close_finalize
|
||||
// [4] phi from main to plus [phi:main->plus] -- call_phi_close_cx16_ram
|
||||
lda #1
|
||||
sta.z 0
|
||||
pha
|
||||
@ -384,7 +384,7 @@ plus: {
|
||||
.label b = 7
|
||||
// min(a, b)
|
||||
// [5] call min
|
||||
// [7] phi from plus to min [phi:plus->min] -- call_cx16_ram_phi_far_finalize
|
||||
// [7] phi from plus to min [phi:plus->min] -- call_phi_far_cx16_ram
|
||||
jsr $ff6e
|
||||
.byte <min
|
||||
.byte >min
|
||||
|
@ -250,7 +250,7 @@ ASSEMBLER BEFORE OPTIMIZATION
|
||||
// main
|
||||
main: {
|
||||
// [1] call plus
|
||||
// [4] phi from main to plus [phi:main->plus] -- call_cx16_ram_phi_close_finalize
|
||||
// [4] phi from main to plus [phi:main->plus] -- call_phi_close_cx16_ram
|
||||
plus_from_main:
|
||||
lda #1
|
||||
sta.z 0
|
||||
@ -277,7 +277,7 @@ plus: {
|
||||
.label a = '0'
|
||||
.label b = 7
|
||||
// [5] call min
|
||||
// [7] phi from plus to min [phi:plus->min] -- call_cx16_rom_phi_close_finalize
|
||||
// [7] phi from plus to min [phi:plus->min] -- call_phi_close_cx16_rom
|
||||
min_from_plus:
|
||||
lda #1
|
||||
sta.z 1
|
||||
@ -362,7 +362,7 @@ Score: 66
|
||||
main: {
|
||||
// plus('0', 7)
|
||||
// [1] call plus
|
||||
// [4] phi from main to plus [phi:main->plus] -- call_cx16_ram_phi_close_finalize
|
||||
// [4] phi from main to plus [phi:main->plus] -- call_phi_close_cx16_ram
|
||||
lda #1
|
||||
sta.z 0
|
||||
pha
|
||||
@ -387,7 +387,7 @@ plus: {
|
||||
.label b = 7
|
||||
// min(a, b)
|
||||
// [5] call min
|
||||
// [7] phi from plus to min [phi:plus->min] -- call_cx16_rom_phi_close_finalize
|
||||
// [7] phi from plus to min [phi:plus->min] -- call_phi_close_cx16_rom
|
||||
lda #1
|
||||
sta.z 1
|
||||
pha
|
||||
|
@ -250,7 +250,7 @@ ASSEMBLER BEFORE OPTIMIZATION
|
||||
// main
|
||||
main: {
|
||||
// [1] call plus
|
||||
// [4] phi from main to plus [phi:main->plus] -- call_cx16_ram_phi_close_finalize
|
||||
// [4] phi from main to plus [phi:main->plus] -- call_phi_close_cx16_ram
|
||||
plus_from_main:
|
||||
lda #1
|
||||
sta.z 0
|
||||
@ -277,7 +277,7 @@ plus: {
|
||||
.label a = '0'
|
||||
.label b = 7
|
||||
// [5] call min
|
||||
// [7] phi from plus to min [phi:plus->min] -- call_cx16_rom_phi_close_finalize
|
||||
// [7] phi from plus to min [phi:plus->min] -- call_phi_close_cx16_rom
|
||||
min_from_plus:
|
||||
lda #1
|
||||
sta.z 1
|
||||
@ -362,7 +362,7 @@ Score: 66
|
||||
main: {
|
||||
// plus('0', 7)
|
||||
// [1] call plus
|
||||
// [4] phi from main to plus [phi:main->plus] -- call_cx16_ram_phi_close_finalize
|
||||
// [4] phi from main to plus [phi:main->plus] -- call_phi_close_cx16_ram
|
||||
lda #1
|
||||
sta.z 0
|
||||
pha
|
||||
@ -387,7 +387,7 @@ plus: {
|
||||
.label b = 7
|
||||
// min(a, b)
|
||||
// [5] call min
|
||||
// [7] phi from plus to min [phi:plus->min] -- call_cx16_rom_phi_close_finalize
|
||||
// [7] phi from plus to min [phi:plus->min] -- call_phi_close_cx16_rom
|
||||
lda #1
|
||||
sta.z 1
|
||||
pha
|
||||
|
@ -261,7 +261,7 @@ main: {
|
||||
sta.z print.w
|
||||
lda #>$1234
|
||||
sta.z print.w+1
|
||||
// [7] phi idx#13 = 0 [phi:main->print#1] -- vbuxx=vbuc1
|
||||
// [7] phi idx#13 = 0 [phi:main->print#1] -- call_phi_near
|
||||
ldx #0
|
||||
jsr print
|
||||
// [2] phi from main to main::@1 [phi:main->main::@1]
|
||||
@ -277,7 +277,7 @@ main: {
|
||||
sta.z print.w
|
||||
lda #>w
|
||||
sta.z print.w+1
|
||||
// [7] phi idx#13 = idx#14 [phi:main::@1->print#1] -- register_copy
|
||||
// [7] phi idx#13 = idx#14 [phi:main::@1->print#1] -- call_phi_near
|
||||
jsr print
|
||||
// [4] phi from main::@1 to main::@2 [phi:main::@1->main::@2]
|
||||
__b2_from___b1:
|
||||
@ -292,7 +292,7 @@ main: {
|
||||
sta.z print.w
|
||||
lda #>$12*$100+$34
|
||||
sta.z print.w+1
|
||||
// [7] phi idx#13 = idx#14 [phi:main::@2->print#1] -- register_copy
|
||||
// [7] phi idx#13 = idx#14 [phi:main::@2->print#1] -- call_phi_near
|
||||
jsr print
|
||||
jmp __breturn
|
||||
// main::@return
|
||||
@ -386,7 +386,7 @@ main: {
|
||||
sta.z print.w
|
||||
lda #>$1234
|
||||
sta.z print.w+1
|
||||
// [7] phi idx#13 = 0 [phi:main->print#1] -- vbuxx=vbuc1
|
||||
// [7] phi idx#13 = 0 [phi:main->print#1] -- call_phi_near
|
||||
ldx #0
|
||||
jsr print
|
||||
// [2] phi from main to main::@1 [phi:main->main::@1]
|
||||
@ -399,7 +399,7 @@ main: {
|
||||
sta.z print.w
|
||||
lda #>w
|
||||
sta.z print.w+1
|
||||
// [7] phi idx#13 = idx#14 [phi:main::@1->print#1] -- register_copy
|
||||
// [7] phi idx#13 = idx#14 [phi:main::@1->print#1] -- call_phi_near
|
||||
jsr print
|
||||
// [4] phi from main::@1 to main::@2 [phi:main::@1->main::@2]
|
||||
// main::@2
|
||||
@ -411,7 +411,7 @@ main: {
|
||||
sta.z print.w
|
||||
lda #>$12*$100+$34
|
||||
sta.z print.w+1
|
||||
// [7] phi idx#13 = idx#14 [phi:main::@2->print#1] -- register_copy
|
||||
// [7] phi idx#13 = idx#14 [phi:main::@2->print#1] -- call_phi_near
|
||||
jsr print
|
||||
// main::@return
|
||||
// }
|
||||
|
@ -307,7 +307,7 @@ main: {
|
||||
// [5] phi line::x1#3 = 2 [phi:main->line#1] -- vbuz1=vbuc1
|
||||
lda #2
|
||||
sta.z line.x1
|
||||
// [5] phi line::x#0 = 1 [phi:main->line#2] -- vbuxx=vbuc1
|
||||
// [5] phi line::x#0 = 1 [phi:main->line#2] -- call_phi_near
|
||||
ldx #1
|
||||
jsr line
|
||||
// [2] phi from main to main::@1 [phi:main->main::@1]
|
||||
@ -322,7 +322,7 @@ main: {
|
||||
// [5] phi line::x1#3 = 5 [phi:main::@1->line#1] -- vbuz1=vbuc1
|
||||
lda #5
|
||||
sta.z line.x1
|
||||
// [5] phi line::x#0 = 3 [phi:main::@1->line#2] -- vbuxx=vbuc1
|
||||
// [5] phi line::x#0 = 3 [phi:main::@1->line#2] -- call_phi_near
|
||||
ldx #3
|
||||
jsr line
|
||||
jmp __breturn
|
||||
@ -438,7 +438,7 @@ main: {
|
||||
// [5] phi line::x1#3 = 2 [phi:main->line#1] -- vbuz1=vbuc1
|
||||
lda #2
|
||||
sta.z line.x1
|
||||
// [5] phi line::x#0 = 1 [phi:main->line#2] -- vbuxx=vbuc1
|
||||
// [5] phi line::x#0 = 1 [phi:main->line#2] -- call_phi_near
|
||||
ldx #1
|
||||
jsr line
|
||||
// [2] phi from main to main::@1 [phi:main->main::@1]
|
||||
@ -450,7 +450,7 @@ main: {
|
||||
// [5] phi line::x1#3 = 5 [phi:main::@1->line#1] -- vbuz1=vbuc1
|
||||
lda #5
|
||||
sta.z line.x1
|
||||
// [5] phi line::x#0 = 3 [phi:main::@1->line#2] -- vbuxx=vbuc1
|
||||
// [5] phi line::x#0 = 3 [phi:main::@1->line#2] -- call_phi_near
|
||||
ldx #3
|
||||
jsr line
|
||||
// main::@return
|
||||
|
@ -3802,7 +3802,7 @@ __start: {
|
||||
sta.z conio_line_color
|
||||
lda #>COLORRAM
|
||||
sta.z conio_line_color+1
|
||||
// [5] call conio_c64_init
|
||||
// [5] call conio_c64_init -- call_phi_near
|
||||
jsr conio_c64_init
|
||||
// [6] phi from __start::__init1 to __start::@1 [phi:__start::__init1->__start::@1]
|
||||
__b1_from___init1:
|
||||
@ -3810,7 +3810,7 @@ __start: {
|
||||
// __start::@1
|
||||
__b1:
|
||||
// [7] call main
|
||||
// [27] phi from __start::@1 to main [phi:__start::@1->main]
|
||||
// [27] phi from __start::@1 to main [phi:__start::@1->main] -- call_phi_near
|
||||
main_from___b1:
|
||||
jsr main
|
||||
jmp __breturn
|
||||
@ -3846,7 +3846,7 @@ conio_c64_init: {
|
||||
// conio_c64_init::@1
|
||||
__b1:
|
||||
// [13] gotoxy::y#2 = conio_c64_init::line#2
|
||||
// [14] call gotoxy
|
||||
// [14] call gotoxy -- call_phi_near
|
||||
jsr gotoxy
|
||||
jmp __breturn
|
||||
// conio_c64_init::@return
|
||||
@ -3887,7 +3887,7 @@ cputc: {
|
||||
jmp __b3
|
||||
// cputc::@3
|
||||
__b3:
|
||||
// [23] call cputln
|
||||
// [23] call cputln -- call_phi_near
|
||||
jsr cputln
|
||||
jmp __breturn
|
||||
// cputc::@return
|
||||
@ -3899,7 +3899,7 @@ cputc: {
|
||||
jmp __b1
|
||||
// cputc::@1
|
||||
__b1:
|
||||
// [26] call cputln
|
||||
// [26] call cputln -- call_phi_near
|
||||
jsr cputln
|
||||
jmp __breturn
|
||||
}
|
||||
@ -3907,7 +3907,7 @@ cputc: {
|
||||
main: {
|
||||
.label signed_char_value = $17
|
||||
// [28] call clrscr
|
||||
// [55] phi from main to clrscr [phi:main->clrscr]
|
||||
// [55] phi from main to clrscr [phi:main->clrscr] -- call_phi_near
|
||||
clrscr_from_main:
|
||||
jsr clrscr
|
||||
// [29] phi from main to main::@1 [phi:main->main::@1]
|
||||
@ -3939,7 +3939,7 @@ main: {
|
||||
lda #$ff
|
||||
!:
|
||||
sta.z test_casting.signed_short_value+1
|
||||
// [34] call test_casting
|
||||
// [34] call test_casting -- call_phi_near
|
||||
jsr test_casting
|
||||
// [29] phi from main::@2 to main::@1 [phi:main::@2->main::@1]
|
||||
__b1_from___b2:
|
||||
@ -4069,7 +4069,7 @@ cputln: {
|
||||
sta.z conio_cursor_x
|
||||
// [52] conio_cursor_y = ++ conio_cursor_y -- vbuz1=_inc_vbuz1
|
||||
inc.z conio_cursor_y
|
||||
// [53] call cscroll
|
||||
// [53] call cscroll -- call_phi_near
|
||||
jsr cscroll
|
||||
jmp __breturn
|
||||
// cputln::@return
|
||||
@ -4183,7 +4183,7 @@ clrscr: {
|
||||
test_casting: {
|
||||
.label signed_short_value = 4
|
||||
// [71] printf_sint::value#1 = test_casting::signed_short_value#0
|
||||
// [72] call printf_sint
|
||||
// [72] call printf_sint -- call_phi_near
|
||||
jsr printf_sint
|
||||
// [73] phi from test_casting to test_casting::@1 [phi:test_casting->test_casting::@1]
|
||||
__b1_from_test_casting:
|
||||
@ -4198,7 +4198,7 @@ test_casting: {
|
||||
sta.z printf_str.putc
|
||||
lda #>cputc
|
||||
sta.z printf_str.putc+1
|
||||
// [99] phi printf_str::s#4 = test_casting::s [phi:test_casting::@1->printf_str#1] -- pbuz1=pbuc1
|
||||
// [99] phi printf_str::s#4 = test_casting::s [phi:test_casting::@1->printf_str#1] -- call_phi_near
|
||||
lda #<s
|
||||
sta.z printf_str.s
|
||||
lda #>s
|
||||
@ -4234,7 +4234,7 @@ cscroll: {
|
||||
sta.z memcpy.destination
|
||||
lda #>DEFAULT_SCREEN
|
||||
sta.z memcpy.destination+1
|
||||
// [108] phi memcpy::source#2 = (void *)DEFAULT_SCREEN+$28 [phi:cscroll::@1->memcpy#1] -- pvoz1=pvoc1
|
||||
// [108] phi memcpy::source#2 = (void *)DEFAULT_SCREEN+$28 [phi:cscroll::@1->memcpy#1] -- call_phi_near
|
||||
lda #<DEFAULT_SCREEN+$28
|
||||
sta.z memcpy.source
|
||||
lda #>DEFAULT_SCREEN+$28
|
||||
@ -4253,7 +4253,7 @@ cscroll: {
|
||||
sta.z memcpy.destination
|
||||
lda #>COLORRAM
|
||||
sta.z memcpy.destination+1
|
||||
// [108] phi memcpy::source#2 = (void *)COLORRAM+$28 [phi:cscroll::@2->memcpy#1] -- pvoz1=pvoc1
|
||||
// [108] phi memcpy::source#2 = (void *)COLORRAM+$28 [phi:cscroll::@2->memcpy#1] -- call_phi_near
|
||||
lda #<COLORRAM+$28
|
||||
sta.z memcpy.source
|
||||
lda #>COLORRAM+$28
|
||||
@ -4269,7 +4269,7 @@ cscroll: {
|
||||
memset_from___b3:
|
||||
// [118] phi memset::c#4 = ' ' [phi:cscroll::@3->memset#0] -- vbuxx=vbuc1
|
||||
ldx #' '
|
||||
// [118] phi memset::str#3 = (void *)DEFAULT_SCREEN+(unsigned int)$19*$28-$28 [phi:cscroll::@3->memset#1] -- pvoz1=pvoc1
|
||||
// [118] phi memset::str#3 = (void *)DEFAULT_SCREEN+(unsigned int)$19*$28-$28 [phi:cscroll::@3->memset#1] -- call_phi_near
|
||||
lda #<DEFAULT_SCREEN+$19*$28-$28
|
||||
sta.z memset.str
|
||||
lda #>DEFAULT_SCREEN+$19*$28-$28
|
||||
@ -4285,7 +4285,7 @@ cscroll: {
|
||||
memset_from___b4:
|
||||
// [118] phi memset::c#4 = LIGHT_BLUE [phi:cscroll::@4->memset#0] -- vbuxx=vbuc1
|
||||
ldx #LIGHT_BLUE
|
||||
// [118] phi memset::str#3 = (void *)COLORRAM+(unsigned int)$19*$28-$28 [phi:cscroll::@4->memset#1] -- pvoz1=pvoc1
|
||||
// [118] phi memset::str#3 = (void *)COLORRAM+(unsigned int)$19*$28-$28 [phi:cscroll::@4->memset#1] -- call_phi_near
|
||||
lda #<COLORRAM+$19*$28-$28
|
||||
sta.z memset.str
|
||||
lda #>COLORRAM+$19*$28-$28
|
||||
@ -4354,7 +4354,7 @@ printf_sint: {
|
||||
__b2:
|
||||
// [94] utoa::value#1 = (unsigned int)printf_sint::value#4
|
||||
// [95] call utoa
|
||||
// [126] phi from printf_sint::@2 to utoa [phi:printf_sint::@2->utoa]
|
||||
// [126] phi from printf_sint::@2 to utoa [phi:printf_sint::@2->utoa] -- call_phi_near
|
||||
utoa_from___b2:
|
||||
jsr utoa
|
||||
jmp __b3
|
||||
@ -4364,7 +4364,7 @@ printf_sint: {
|
||||
lda printf_buffer
|
||||
// [97] call printf_number_buffer
|
||||
// Print using format
|
||||
// [147] phi from printf_sint::@3 to printf_number_buffer [phi:printf_sint::@3->printf_number_buffer]
|
||||
// [147] phi from printf_sint::@3 to printf_number_buffer [phi:printf_sint::@3->printf_number_buffer] -- call_phi_near
|
||||
printf_number_buffer_from___b3:
|
||||
jsr printf_number_buffer
|
||||
jmp __breturn
|
||||
@ -4630,7 +4630,7 @@ utoa: {
|
||||
// [141] utoa_append::value#0 = utoa::value#2
|
||||
// [142] utoa_append::sub#0 = utoa::digit_value#0
|
||||
// [143] call utoa_append
|
||||
// [155] phi from utoa::@5 to utoa_append [phi:utoa::@5->utoa_append]
|
||||
// [155] phi from utoa::@5 to utoa_append [phi:utoa::@5->utoa_append] -- call_phi_near
|
||||
utoa_append_from___b5:
|
||||
jsr utoa_append
|
||||
// [144] utoa_append::return#0 = utoa_append::value#2
|
||||
@ -4686,7 +4686,7 @@ printf_number_buffer: {
|
||||
sta.z printf_str.putc
|
||||
lda #>printf_sint.putc
|
||||
sta.z printf_str.putc+1
|
||||
// [99] phi printf_str::s#4 = printf_number_buffer::buffer_digits#0 [phi:printf_number_buffer::@2->printf_str#1] -- pbuz1=pbuc1
|
||||
// [99] phi printf_str::s#4 = printf_number_buffer::buffer_digits#0 [phi:printf_number_buffer::@2->printf_str#1] -- call_phi_near
|
||||
lda #<buffer_digits
|
||||
sta.z printf_str.s
|
||||
lda #>buffer_digits
|
||||
@ -5199,12 +5199,12 @@ __start: {
|
||||
lda #>COLORRAM
|
||||
sta.z conio_line_color+1
|
||||
// #pragma constructor_for(conio_c64_init, cputc, clrscr, cscroll)
|
||||
// [5] call conio_c64_init
|
||||
// [5] call conio_c64_init -- call_phi_near
|
||||
jsr conio_c64_init
|
||||
// [6] phi from __start::__init1 to __start::@1 [phi:__start::__init1->__start::@1]
|
||||
// __start::@1
|
||||
// [7] call main
|
||||
// [27] phi from __start::@1 to main [phi:__start::@1->main]
|
||||
// [27] phi from __start::@1 to main [phi:__start::@1->main] -- call_phi_near
|
||||
jsr main
|
||||
// __start::@return
|
||||
// [8] return
|
||||
@ -5233,7 +5233,7 @@ conio_c64_init: {
|
||||
__b1:
|
||||
// gotoxy(0, line)
|
||||
// [13] gotoxy::y#2 = conio_c64_init::line#2
|
||||
// [14] call gotoxy
|
||||
// [14] call gotoxy -- call_phi_near
|
||||
jsr gotoxy
|
||||
// conio_c64_init::@return
|
||||
// }
|
||||
@ -5272,7 +5272,7 @@ cputc: {
|
||||
// [22] phi from cputc::@2 to cputc::@3 [phi:cputc::@2->cputc::@3]
|
||||
// cputc::@3
|
||||
// cputln()
|
||||
// [23] call cputln
|
||||
// [23] call cputln -- call_phi_near
|
||||
jsr cputln
|
||||
// cputc::@return
|
||||
__breturn:
|
||||
@ -5283,7 +5283,7 @@ cputc: {
|
||||
// cputc::@1
|
||||
__b1:
|
||||
// cputln()
|
||||
// [26] call cputln
|
||||
// [26] call cputln -- call_phi_near
|
||||
jsr cputln
|
||||
rts
|
||||
}
|
||||
@ -5292,7 +5292,7 @@ main: {
|
||||
.label signed_char_value = $17
|
||||
// clrscr()
|
||||
// [28] call clrscr
|
||||
// [55] phi from main to clrscr [phi:main->clrscr]
|
||||
// [55] phi from main to clrscr [phi:main->clrscr] -- call_phi_near
|
||||
jsr clrscr
|
||||
// [29] phi from main to main::@1 [phi:main->main::@1]
|
||||
// [29] phi main::signed_char_value#2 = -5 [phi:main->main::@1#0] -- vbsz1=vbsc1
|
||||
@ -5323,7 +5323,7 @@ main: {
|
||||
lda #$ff
|
||||
!:
|
||||
sta.z test_casting.signed_short_value+1
|
||||
// [34] call test_casting
|
||||
// [34] call test_casting -- call_phi_near
|
||||
jsr test_casting
|
||||
// [29] phi from main::@2 to main::@1 [phi:main::@2->main::@1]
|
||||
// [29] phi main::signed_char_value#2 = main::signed_char_value#1 [phi:main::@2->main::@1#0] -- register_copy
|
||||
@ -5455,7 +5455,7 @@ cputln: {
|
||||
// [52] conio_cursor_y = ++ conio_cursor_y -- vbuz1=_inc_vbuz1
|
||||
inc.z conio_cursor_y
|
||||
// cscroll()
|
||||
// [53] call cscroll
|
||||
// [53] call cscroll -- call_phi_near
|
||||
jsr cscroll
|
||||
// cputln::@return
|
||||
// }
|
||||
@ -5570,7 +5570,7 @@ test_casting: {
|
||||
.label signed_short_value = 4
|
||||
// printf("%d\n", signed_short_value)
|
||||
// [71] printf_sint::value#1 = test_casting::signed_short_value#0
|
||||
// [72] call printf_sint
|
||||
// [72] call printf_sint -- call_phi_near
|
||||
jsr printf_sint
|
||||
// [73] phi from test_casting to test_casting::@1 [phi:test_casting->test_casting::@1]
|
||||
// test_casting::@1
|
||||
@ -5582,7 +5582,7 @@ test_casting: {
|
||||
sta.z printf_str.putc
|
||||
lda #>cputc
|
||||
sta.z printf_str.putc+1
|
||||
// [99] phi printf_str::s#4 = test_casting::s [phi:test_casting::@1->printf_str#1] -- pbuz1=pbuc1
|
||||
// [99] phi printf_str::s#4 = test_casting::s [phi:test_casting::@1->printf_str#1] -- call_phi_near
|
||||
lda #<s
|
||||
sta.z printf_str.s
|
||||
lda #>s
|
||||
@ -5615,7 +5615,7 @@ cscroll: {
|
||||
sta.z memcpy.destination
|
||||
lda #>DEFAULT_SCREEN
|
||||
sta.z memcpy.destination+1
|
||||
// [108] phi memcpy::source#2 = (void *)DEFAULT_SCREEN+$28 [phi:cscroll::@1->memcpy#1] -- pvoz1=pvoc1
|
||||
// [108] phi memcpy::source#2 = (void *)DEFAULT_SCREEN+$28 [phi:cscroll::@1->memcpy#1] -- call_phi_near
|
||||
lda #<DEFAULT_SCREEN+$28
|
||||
sta.z memcpy.source
|
||||
lda #>DEFAULT_SCREEN+$28
|
||||
@ -5631,7 +5631,7 @@ cscroll: {
|
||||
sta.z memcpy.destination
|
||||
lda #>COLORRAM
|
||||
sta.z memcpy.destination+1
|
||||
// [108] phi memcpy::source#2 = (void *)COLORRAM+$28 [phi:cscroll::@2->memcpy#1] -- pvoz1=pvoc1
|
||||
// [108] phi memcpy::source#2 = (void *)COLORRAM+$28 [phi:cscroll::@2->memcpy#1] -- call_phi_near
|
||||
lda #<COLORRAM+$28
|
||||
sta.z memcpy.source
|
||||
lda #>COLORRAM+$28
|
||||
@ -5644,7 +5644,7 @@ cscroll: {
|
||||
// [118] phi from cscroll::@3 to memset [phi:cscroll::@3->memset]
|
||||
// [118] phi memset::c#4 = ' ' [phi:cscroll::@3->memset#0] -- vbuxx=vbuc1
|
||||
ldx #' '
|
||||
// [118] phi memset::str#3 = (void *)DEFAULT_SCREEN+(unsigned int)$19*$28-$28 [phi:cscroll::@3->memset#1] -- pvoz1=pvoc1
|
||||
// [118] phi memset::str#3 = (void *)DEFAULT_SCREEN+(unsigned int)$19*$28-$28 [phi:cscroll::@3->memset#1] -- call_phi_near
|
||||
lda #<DEFAULT_SCREEN+$19*$28-$28
|
||||
sta.z memset.str
|
||||
lda #>DEFAULT_SCREEN+$19*$28-$28
|
||||
@ -5657,7 +5657,7 @@ cscroll: {
|
||||
// [118] phi from cscroll::@4 to memset [phi:cscroll::@4->memset]
|
||||
// [118] phi memset::c#4 = LIGHT_BLUE [phi:cscroll::@4->memset#0] -- vbuxx=vbuc1
|
||||
ldx #LIGHT_BLUE
|
||||
// [118] phi memset::str#3 = (void *)COLORRAM+(unsigned int)$19*$28-$28 [phi:cscroll::@4->memset#1] -- pvoz1=pvoc1
|
||||
// [118] phi memset::str#3 = (void *)COLORRAM+(unsigned int)$19*$28-$28 [phi:cscroll::@4->memset#1] -- call_phi_near
|
||||
lda #<COLORRAM+$19*$28-$28
|
||||
sta.z memset.str
|
||||
lda #>COLORRAM+$19*$28-$28
|
||||
@ -5729,7 +5729,7 @@ printf_sint: {
|
||||
// utoa(uvalue, printf_buffer.digits, format.radix)
|
||||
// [94] utoa::value#1 = (unsigned int)printf_sint::value#4
|
||||
// [95] call utoa
|
||||
// [126] phi from printf_sint::@2 to utoa [phi:printf_sint::@2->utoa]
|
||||
// [126] phi from printf_sint::@2 to utoa [phi:printf_sint::@2->utoa] -- call_phi_near
|
||||
jsr utoa
|
||||
// printf_sint::@3
|
||||
// printf_number_buffer(putc, printf_buffer, format)
|
||||
@ -5737,7 +5737,7 @@ printf_sint: {
|
||||
lda printf_buffer
|
||||
// [97] call printf_number_buffer
|
||||
// Print using format
|
||||
// [147] phi from printf_sint::@3 to printf_number_buffer [phi:printf_sint::@3->printf_number_buffer]
|
||||
// [147] phi from printf_sint::@3 to printf_number_buffer [phi:printf_sint::@3->printf_number_buffer] -- call_phi_near
|
||||
jsr printf_number_buffer
|
||||
// printf_sint::@return
|
||||
// }
|
||||
@ -5993,7 +5993,7 @@ utoa: {
|
||||
// [141] utoa_append::value#0 = utoa::value#2
|
||||
// [142] utoa_append::sub#0 = utoa::digit_value#0
|
||||
// [143] call utoa_append
|
||||
// [155] phi from utoa::@5 to utoa_append [phi:utoa::@5->utoa_append]
|
||||
// [155] phi from utoa::@5 to utoa_append [phi:utoa::@5->utoa_append] -- call_phi_near
|
||||
jsr utoa_append
|
||||
// utoa_append(buffer++, value, digit_value)
|
||||
// [144] utoa_append::return#0 = utoa_append::value#2
|
||||
@ -6043,7 +6043,7 @@ printf_number_buffer: {
|
||||
sta.z printf_str.putc
|
||||
lda #>printf_sint.putc
|
||||
sta.z printf_str.putc+1
|
||||
// [99] phi printf_str::s#4 = printf_number_buffer::buffer_digits#0 [phi:printf_number_buffer::@2->printf_str#1] -- pbuz1=pbuc1
|
||||
// [99] phi printf_str::s#4 = printf_number_buffer::buffer_digits#0 [phi:printf_number_buffer::@2->printf_str#1] -- call_phi_near
|
||||
lda #<buffer_digits
|
||||
sta.z printf_str.s
|
||||
lda #>buffer_digits
|
||||
|
@ -413,7 +413,7 @@ main: {
|
||||
// main::@2
|
||||
__b2:
|
||||
// [9] call w
|
||||
// [11] phi from main::@2 to w [phi:main::@2->w]
|
||||
// [11] phi from main::@2 to w [phi:main::@2->w] -- call_phi_near
|
||||
w_from___b2:
|
||||
jsr w
|
||||
jmp __breturn
|
||||
@ -577,7 +577,7 @@ main: {
|
||||
// main::@2
|
||||
// w()
|
||||
// [9] call w
|
||||
// [11] phi from main::@2 to w [phi:main::@2->w]
|
||||
// [11] phi from main::@2 to w [phi:main::@2->w] -- call_phi_near
|
||||
jsr w
|
||||
// main::@return
|
||||
// }
|
||||
|
@ -4473,7 +4473,7 @@ __start: {
|
||||
sta.z conio_line_color
|
||||
lda #>COLORRAM
|
||||
sta.z conio_line_color+1
|
||||
// [5] call conio_c64_init
|
||||
// [5] call conio_c64_init -- call_phi_near
|
||||
jsr conio_c64_init
|
||||
// [6] phi from __start::__init1 to __start::@1 [phi:__start::__init1->__start::@1]
|
||||
__b1_from___init1:
|
||||
@ -4481,7 +4481,7 @@ __start: {
|
||||
// __start::@1
|
||||
__b1:
|
||||
// [7] call main
|
||||
// [27] phi from __start::@1 to main [phi:__start::@1->main]
|
||||
// [27] phi from __start::@1 to main [phi:__start::@1->main] -- call_phi_near
|
||||
main_from___b1:
|
||||
jsr main
|
||||
jmp __breturn
|
||||
@ -4517,7 +4517,7 @@ conio_c64_init: {
|
||||
// conio_c64_init::@1
|
||||
__b1:
|
||||
// [13] gotoxy::y#2 = conio_c64_init::line#2
|
||||
// [14] call gotoxy
|
||||
// [14] call gotoxy -- call_phi_near
|
||||
jsr gotoxy
|
||||
jmp __breturn
|
||||
// conio_c64_init::@return
|
||||
@ -4558,7 +4558,7 @@ cputc: {
|
||||
jmp __b3
|
||||
// cputc::@3
|
||||
__b3:
|
||||
// [23] call cputln
|
||||
// [23] call cputln -- call_phi_near
|
||||
jsr cputln
|
||||
jmp __breturn
|
||||
// cputc::@return
|
||||
@ -4570,7 +4570,7 @@ cputc: {
|
||||
jmp __b1
|
||||
// cputc::@1
|
||||
__b1:
|
||||
// [26] call cputln
|
||||
// [26] call cputln -- call_phi_near
|
||||
jsr cputln
|
||||
jmp __breturn
|
||||
}
|
||||
@ -4593,7 +4593,7 @@ main: {
|
||||
lda #toD0181_return
|
||||
sta VICII+OFFSET_STRUCT_MOS6569_VICII_MEMORY
|
||||
// [30] call clrscr
|
||||
// [71] phi from main::@3 to clrscr [phi:main::@3->clrscr]
|
||||
// [71] phi from main::@3 to clrscr [phi:main::@3->clrscr] -- call_phi_near
|
||||
clrscr_from___b3:
|
||||
jsr clrscr
|
||||
// [31] phi from main::@3 to main::@1 [phi:main::@3->main::@1]
|
||||
@ -4609,7 +4609,7 @@ main: {
|
||||
jmp __b1
|
||||
// main::@1
|
||||
__b1:
|
||||
// [32] call GETIN
|
||||
// [32] call GETIN -- call_phi_near
|
||||
jsr GETIN
|
||||
// [33] GETIN::return#0 = GETIN::return#1
|
||||
jmp __b4
|
||||
@ -4634,7 +4634,7 @@ main: {
|
||||
__b2:
|
||||
// [37] petscii_to_screencode::petscii#0 = main::ch#0 -- vbuaa=vbuz1
|
||||
lda.z ch
|
||||
// [38] call petscii_to_screencode
|
||||
// [38] call petscii_to_screencode -- call_phi_near
|
||||
jsr petscii_to_screencode
|
||||
// [39] petscii_to_screencode::return#0 = petscii_to_screencode::return#10
|
||||
jmp __b5
|
||||
@ -4650,7 +4650,7 @@ main: {
|
||||
sta.z printf_str.putc
|
||||
lda #>cputc
|
||||
sta.z printf_str.putc+1
|
||||
// [103] phi printf_str::s#6 = main::s [phi:main::@5->printf_str#1] -- pbuz1=pbuc1
|
||||
// [103] phi printf_str::s#6 = main::s [phi:main::@5->printf_str#1] -- call_phi_near
|
||||
lda #<s
|
||||
sta.z printf_str.s
|
||||
lda #>s
|
||||
@ -4674,7 +4674,7 @@ main: {
|
||||
sta.z printf_str.putc
|
||||
lda #>cputc
|
||||
sta.z printf_str.putc+1
|
||||
// [103] phi printf_str::s#6 = main::s1 [phi:main::@6->printf_str#1] -- pbuz1=pbuc1
|
||||
// [103] phi printf_str::s#6 = main::s1 [phi:main::@6->printf_str#1] -- call_phi_near
|
||||
lda #<s1
|
||||
sta.z printf_str.s
|
||||
lda #>s1
|
||||
@ -4686,7 +4686,7 @@ main: {
|
||||
// [46] printf_uchar::uvalue#0 = main::ch#0 -- vbuxx=vbuz1
|
||||
ldx.z ch
|
||||
// [47] call printf_uchar
|
||||
// [112] phi from main::@7 to printf_uchar [phi:main::@7->printf_uchar]
|
||||
// [112] phi from main::@7 to printf_uchar [phi:main::@7->printf_uchar] -- call_phi_near
|
||||
printf_uchar_from___b7:
|
||||
jsr printf_uchar
|
||||
// [48] phi from main::@7 to main::@8 [phi:main::@7->main::@8]
|
||||
@ -4702,7 +4702,7 @@ main: {
|
||||
sta.z printf_str.putc
|
||||
lda #>cputc
|
||||
sta.z printf_str.putc+1
|
||||
// [103] phi printf_str::s#6 = main::s2 [phi:main::@8->printf_str#1] -- pbuz1=pbuc1
|
||||
// [103] phi printf_str::s#6 = main::s2 [phi:main::@8->printf_str#1] -- call_phi_near
|
||||
lda #<s2
|
||||
sta.z printf_str.s
|
||||
lda #>s2
|
||||
@ -4847,7 +4847,7 @@ cputln: {
|
||||
sta.z conio_cursor_x
|
||||
// [68] conio_cursor_y = ++ conio_cursor_y -- vbuz1=_inc_vbuz1
|
||||
inc.z conio_cursor_y
|
||||
// [69] call cscroll
|
||||
// [69] call cscroll -- call_phi_near
|
||||
jsr cscroll
|
||||
jmp __breturn
|
||||
// cputln::@return
|
||||
@ -5115,7 +5115,7 @@ printf_uchar: {
|
||||
// [114] uctoa::value#1 = printf_uchar::uvalue#0
|
||||
// [115] call uctoa
|
||||
// Format number into buffer
|
||||
// [132] phi from printf_uchar::@1 to uctoa [phi:printf_uchar::@1->uctoa]
|
||||
// [132] phi from printf_uchar::@1 to uctoa [phi:printf_uchar::@1->uctoa] -- call_phi_near
|
||||
uctoa_from___b1:
|
||||
jsr uctoa
|
||||
jmp __b2
|
||||
@ -5126,7 +5126,7 @@ printf_uchar: {
|
||||
sta.z printf_number_buffer.buffer_sign
|
||||
// [117] call printf_number_buffer
|
||||
// Print using format
|
||||
// [151] phi from printf_uchar::@2 to printf_number_buffer [phi:printf_uchar::@2->printf_number_buffer]
|
||||
// [151] phi from printf_uchar::@2 to printf_number_buffer [phi:printf_uchar::@2->printf_number_buffer] -- call_phi_near
|
||||
printf_number_buffer_from___b2:
|
||||
jsr printf_number_buffer
|
||||
jmp __breturn
|
||||
@ -5155,7 +5155,7 @@ cscroll: {
|
||||
sta.z memcpy.destination
|
||||
lda #>DEFAULT_SCREEN
|
||||
sta.z memcpy.destination+1
|
||||
// [174] phi memcpy::source#2 = (void *)DEFAULT_SCREEN+$28 [phi:cscroll::@1->memcpy#1] -- pvoz1=pvoc1
|
||||
// [174] phi memcpy::source#2 = (void *)DEFAULT_SCREEN+$28 [phi:cscroll::@1->memcpy#1] -- call_phi_near
|
||||
lda #<DEFAULT_SCREEN+$28
|
||||
sta.z memcpy.source
|
||||
lda #>DEFAULT_SCREEN+$28
|
||||
@ -5174,7 +5174,7 @@ cscroll: {
|
||||
sta.z memcpy.destination
|
||||
lda #>COLORRAM
|
||||
sta.z memcpy.destination+1
|
||||
// [174] phi memcpy::source#2 = (void *)COLORRAM+$28 [phi:cscroll::@2->memcpy#1] -- pvoz1=pvoc1
|
||||
// [174] phi memcpy::source#2 = (void *)COLORRAM+$28 [phi:cscroll::@2->memcpy#1] -- call_phi_near
|
||||
lda #<COLORRAM+$28
|
||||
sta.z memcpy.source
|
||||
lda #>COLORRAM+$28
|
||||
@ -5190,7 +5190,7 @@ cscroll: {
|
||||
memset_from___b3:
|
||||
// [184] phi memset::c#4 = ' ' [phi:cscroll::@3->memset#0] -- vbuxx=vbuc1
|
||||
ldx #' '
|
||||
// [184] phi memset::str#3 = (void *)DEFAULT_SCREEN+(unsigned int)$19*$28-$28 [phi:cscroll::@3->memset#1] -- pvoz1=pvoc1
|
||||
// [184] phi memset::str#3 = (void *)DEFAULT_SCREEN+(unsigned int)$19*$28-$28 [phi:cscroll::@3->memset#1] -- call_phi_near
|
||||
lda #<DEFAULT_SCREEN+$19*$28-$28
|
||||
sta.z memset.str
|
||||
lda #>DEFAULT_SCREEN+$19*$28-$28
|
||||
@ -5206,7 +5206,7 @@ cscroll: {
|
||||
memset_from___b4:
|
||||
// [184] phi memset::c#4 = LIGHT_BLUE [phi:cscroll::@4->memset#0] -- vbuxx=vbuc1
|
||||
ldx #LIGHT_BLUE
|
||||
// [184] phi memset::str#3 = (void *)COLORRAM+(unsigned int)$19*$28-$28 [phi:cscroll::@4->memset#1] -- pvoz1=pvoc1
|
||||
// [184] phi memset::str#3 = (void *)COLORRAM+(unsigned int)$19*$28-$28 [phi:cscroll::@4->memset#1] -- call_phi_near
|
||||
lda #<COLORRAM+$19*$28-$28
|
||||
sta.z memset.str
|
||||
lda #>COLORRAM+$19*$28-$28
|
||||
@ -5332,7 +5332,7 @@ uctoa: {
|
||||
// [145] uctoa_append::value#0 = uctoa::value#2
|
||||
// [146] uctoa_append::sub#0 = uctoa::digit_value#0
|
||||
// [147] call uctoa_append
|
||||
// [192] phi from uctoa::@5 to uctoa_append [phi:uctoa::@5->uctoa_append]
|
||||
// [192] phi from uctoa::@5 to uctoa_append [phi:uctoa::@5->uctoa_append] -- call_phi_near
|
||||
uctoa_append_from___b5:
|
||||
jsr uctoa_append
|
||||
// [148] uctoa_append::return#0 = uctoa_append::value#2
|
||||
@ -5368,7 +5368,7 @@ printf_number_buffer: {
|
||||
// printf_number_buffer::@4
|
||||
__b4:
|
||||
// [153] call strlen
|
||||
// [199] phi from printf_number_buffer::@4 to strlen [phi:printf_number_buffer::@4->strlen]
|
||||
// [199] phi from printf_number_buffer::@4 to strlen [phi:printf_number_buffer::@4->strlen] -- call_phi_near
|
||||
strlen_from___b4:
|
||||
jsr strlen
|
||||
// [154] strlen::return#2 = strlen::len#2
|
||||
@ -5430,7 +5430,7 @@ printf_number_buffer: {
|
||||
// [165] printf_padding::length#0 = (char)printf_number_buffer::padding#10 -- vbuz1=vbuaa
|
||||
sta.z printf_padding.length
|
||||
// [166] call printf_padding
|
||||
// [205] phi from printf_number_buffer::@6 to printf_padding [phi:printf_number_buffer::@6->printf_padding]
|
||||
// [205] phi from printf_number_buffer::@6 to printf_padding [phi:printf_number_buffer::@6->printf_padding] -- call_phi_near
|
||||
printf_padding_from___b6:
|
||||
jsr printf_padding
|
||||
jmp __b2
|
||||
@ -5463,7 +5463,7 @@ printf_number_buffer: {
|
||||
sta.z printf_str.putc
|
||||
lda #>printf_uchar.putc
|
||||
sta.z printf_str.putc+1
|
||||
// [103] phi printf_str::s#6 = printf_number_buffer::buffer_digits#0 [phi:printf_number_buffer::@3->printf_str#1] -- pbuz1=pbuc1
|
||||
// [103] phi printf_str::s#6 = printf_number_buffer::buffer_digits#0 [phi:printf_number_buffer::@3->printf_str#1] -- call_phi_near
|
||||
lda #<buffer_digits
|
||||
sta.z printf_str.s
|
||||
lda #>buffer_digits
|
||||
@ -6310,12 +6310,12 @@ __start: {
|
||||
lda #>COLORRAM
|
||||
sta.z conio_line_color+1
|
||||
// #pragma constructor_for(conio_c64_init, cputc, clrscr, cscroll)
|
||||
// [5] call conio_c64_init
|
||||
// [5] call conio_c64_init -- call_phi_near
|
||||
jsr conio_c64_init
|
||||
// [6] phi from __start::__init1 to __start::@1 [phi:__start::__init1->__start::@1]
|
||||
// __start::@1
|
||||
// [7] call main
|
||||
// [27] phi from __start::@1 to main [phi:__start::@1->main]
|
||||
// [27] phi from __start::@1 to main [phi:__start::@1->main] -- call_phi_near
|
||||
jsr main
|
||||
// __start::@return
|
||||
// [8] return
|
||||
@ -6344,7 +6344,7 @@ conio_c64_init: {
|
||||
__b1:
|
||||
// gotoxy(0, line)
|
||||
// [13] gotoxy::y#2 = conio_c64_init::line#2
|
||||
// [14] call gotoxy
|
||||
// [14] call gotoxy -- call_phi_near
|
||||
jsr gotoxy
|
||||
// conio_c64_init::@return
|
||||
// }
|
||||
@ -6383,7 +6383,7 @@ cputc: {
|
||||
// [22] phi from cputc::@2 to cputc::@3 [phi:cputc::@2->cputc::@3]
|
||||
// cputc::@3
|
||||
// cputln()
|
||||
// [23] call cputln
|
||||
// [23] call cputln -- call_phi_near
|
||||
jsr cputln
|
||||
// cputc::@return
|
||||
__breturn:
|
||||
@ -6394,7 +6394,7 @@ cputc: {
|
||||
// cputc::@1
|
||||
__b1:
|
||||
// cputln()
|
||||
// [26] call cputln
|
||||
// [26] call cputln -- call_phi_near
|
||||
jsr cputln
|
||||
rts
|
||||
}
|
||||
@ -6414,7 +6414,7 @@ main: {
|
||||
sta VICII+OFFSET_STRUCT_MOS6569_VICII_MEMORY
|
||||
// clrscr()
|
||||
// [30] call clrscr
|
||||
// [71] phi from main::@3 to clrscr [phi:main::@3->clrscr]
|
||||
// [71] phi from main::@3 to clrscr [phi:main::@3->clrscr] -- call_phi_near
|
||||
jsr clrscr
|
||||
// [31] phi from main::@3 to main::@1 [phi:main::@3->main::@1]
|
||||
// [31] phi main::current#2 = 0 [phi:main::@3->main::@1#0] -- vbuz1=vbuc1
|
||||
@ -6425,7 +6425,7 @@ main: {
|
||||
// main::@1
|
||||
__b1:
|
||||
// char ch = GETIN()
|
||||
// [32] call GETIN
|
||||
// [32] call GETIN -- call_phi_near
|
||||
jsr GETIN
|
||||
// [33] GETIN::return#0 = GETIN::return#1
|
||||
// main::@4
|
||||
@ -6445,7 +6445,7 @@ main: {
|
||||
// petscii_to_screencode(ch)
|
||||
// [37] petscii_to_screencode::petscii#0 = main::ch#0 -- vbuaa=vbuz1
|
||||
lda.z ch
|
||||
// [38] call petscii_to_screencode
|
||||
// [38] call petscii_to_screencode -- call_phi_near
|
||||
jsr petscii_to_screencode
|
||||
// [39] petscii_to_screencode::return#0 = petscii_to_screencode::return#10
|
||||
// main::@5
|
||||
@ -6459,7 +6459,7 @@ main: {
|
||||
sta.z printf_str.putc
|
||||
lda #>cputc
|
||||
sta.z printf_str.putc+1
|
||||
// [103] phi printf_str::s#6 = main::s [phi:main::@5->printf_str#1] -- pbuz1=pbuc1
|
||||
// [103] phi printf_str::s#6 = main::s [phi:main::@5->printf_str#1] -- call_phi_near
|
||||
lda #<s
|
||||
sta.z printf_str.s
|
||||
lda #>s
|
||||
@ -6481,7 +6481,7 @@ main: {
|
||||
sta.z printf_str.putc
|
||||
lda #>cputc
|
||||
sta.z printf_str.putc+1
|
||||
// [103] phi printf_str::s#6 = main::s1 [phi:main::@6->printf_str#1] -- pbuz1=pbuc1
|
||||
// [103] phi printf_str::s#6 = main::s1 [phi:main::@6->printf_str#1] -- call_phi_near
|
||||
lda #<s1
|
||||
sta.z printf_str.s
|
||||
lda #>s1
|
||||
@ -6492,7 +6492,7 @@ main: {
|
||||
// [46] printf_uchar::uvalue#0 = main::ch#0 -- vbuxx=vbuz1
|
||||
ldx.z ch
|
||||
// [47] call printf_uchar
|
||||
// [112] phi from main::@7 to printf_uchar [phi:main::@7->printf_uchar]
|
||||
// [112] phi from main::@7 to printf_uchar [phi:main::@7->printf_uchar] -- call_phi_near
|
||||
jsr printf_uchar
|
||||
// [48] phi from main::@7 to main::@8 [phi:main::@7->main::@8]
|
||||
// main::@8
|
||||
@ -6504,7 +6504,7 @@ main: {
|
||||
sta.z printf_str.putc
|
||||
lda #>cputc
|
||||
sta.z printf_str.putc+1
|
||||
// [103] phi printf_str::s#6 = main::s2 [phi:main::@8->printf_str#1] -- pbuz1=pbuc1
|
||||
// [103] phi printf_str::s#6 = main::s2 [phi:main::@8->printf_str#1] -- call_phi_near
|
||||
lda #<s2
|
||||
sta.z printf_str.s
|
||||
lda #>s2
|
||||
@ -6650,7 +6650,7 @@ cputln: {
|
||||
// [68] conio_cursor_y = ++ conio_cursor_y -- vbuz1=_inc_vbuz1
|
||||
inc.z conio_cursor_y
|
||||
// cscroll()
|
||||
// [69] call cscroll
|
||||
// [69] call cscroll -- call_phi_near
|
||||
jsr cscroll
|
||||
// cputln::@return
|
||||
// }
|
||||
@ -6910,7 +6910,7 @@ printf_uchar: {
|
||||
// [114] uctoa::value#1 = printf_uchar::uvalue#0
|
||||
// [115] call uctoa
|
||||
// Format number into buffer
|
||||
// [132] phi from printf_uchar::@1 to uctoa [phi:printf_uchar::@1->uctoa]
|
||||
// [132] phi from printf_uchar::@1 to uctoa [phi:printf_uchar::@1->uctoa] -- call_phi_near
|
||||
jsr uctoa
|
||||
// printf_uchar::@2
|
||||
// printf_number_buffer(putc, printf_buffer, format)
|
||||
@ -6919,7 +6919,7 @@ printf_uchar: {
|
||||
sta.z printf_number_buffer.buffer_sign
|
||||
// [117] call printf_number_buffer
|
||||
// Print using format
|
||||
// [151] phi from printf_uchar::@2 to printf_number_buffer [phi:printf_uchar::@2->printf_number_buffer]
|
||||
// [151] phi from printf_uchar::@2 to printf_number_buffer [phi:printf_uchar::@2->printf_number_buffer] -- call_phi_near
|
||||
jsr printf_number_buffer
|
||||
// printf_uchar::@return
|
||||
// }
|
||||
@ -6944,7 +6944,7 @@ cscroll: {
|
||||
sta.z memcpy.destination
|
||||
lda #>DEFAULT_SCREEN
|
||||
sta.z memcpy.destination+1
|
||||
// [174] phi memcpy::source#2 = (void *)DEFAULT_SCREEN+$28 [phi:cscroll::@1->memcpy#1] -- pvoz1=pvoc1
|
||||
// [174] phi memcpy::source#2 = (void *)DEFAULT_SCREEN+$28 [phi:cscroll::@1->memcpy#1] -- call_phi_near
|
||||
lda #<DEFAULT_SCREEN+$28
|
||||
sta.z memcpy.source
|
||||
lda #>DEFAULT_SCREEN+$28
|
||||
@ -6960,7 +6960,7 @@ cscroll: {
|
||||
sta.z memcpy.destination
|
||||
lda #>COLORRAM
|
||||
sta.z memcpy.destination+1
|
||||
// [174] phi memcpy::source#2 = (void *)COLORRAM+$28 [phi:cscroll::@2->memcpy#1] -- pvoz1=pvoc1
|
||||
// [174] phi memcpy::source#2 = (void *)COLORRAM+$28 [phi:cscroll::@2->memcpy#1] -- call_phi_near
|
||||
lda #<COLORRAM+$28
|
||||
sta.z memcpy.source
|
||||
lda #>COLORRAM+$28
|
||||
@ -6973,7 +6973,7 @@ cscroll: {
|
||||
// [184] phi from cscroll::@3 to memset [phi:cscroll::@3->memset]
|
||||
// [184] phi memset::c#4 = ' ' [phi:cscroll::@3->memset#0] -- vbuxx=vbuc1
|
||||
ldx #' '
|
||||
// [184] phi memset::str#3 = (void *)DEFAULT_SCREEN+(unsigned int)$19*$28-$28 [phi:cscroll::@3->memset#1] -- pvoz1=pvoc1
|
||||
// [184] phi memset::str#3 = (void *)DEFAULT_SCREEN+(unsigned int)$19*$28-$28 [phi:cscroll::@3->memset#1] -- call_phi_near
|
||||
lda #<DEFAULT_SCREEN+$19*$28-$28
|
||||
sta.z memset.str
|
||||
lda #>DEFAULT_SCREEN+$19*$28-$28
|
||||
@ -6986,7 +6986,7 @@ cscroll: {
|
||||
// [184] phi from cscroll::@4 to memset [phi:cscroll::@4->memset]
|
||||
// [184] phi memset::c#4 = LIGHT_BLUE [phi:cscroll::@4->memset#0] -- vbuxx=vbuc1
|
||||
ldx #LIGHT_BLUE
|
||||
// [184] phi memset::str#3 = (void *)COLORRAM+(unsigned int)$19*$28-$28 [phi:cscroll::@4->memset#1] -- pvoz1=pvoc1
|
||||
// [184] phi memset::str#3 = (void *)COLORRAM+(unsigned int)$19*$28-$28 [phi:cscroll::@4->memset#1] -- call_phi_near
|
||||
lda #<COLORRAM+$19*$28-$28
|
||||
sta.z memset.str
|
||||
lda #>COLORRAM+$19*$28-$28
|
||||
@ -7110,7 +7110,7 @@ uctoa: {
|
||||
// [145] uctoa_append::value#0 = uctoa::value#2
|
||||
// [146] uctoa_append::sub#0 = uctoa::digit_value#0
|
||||
// [147] call uctoa_append
|
||||
// [192] phi from uctoa::@5 to uctoa_append [phi:uctoa::@5->uctoa_append]
|
||||
// [192] phi from uctoa::@5 to uctoa_append [phi:uctoa::@5->uctoa_append] -- call_phi_near
|
||||
jsr uctoa_append
|
||||
// uctoa_append(buffer++, value, digit_value)
|
||||
// [148] uctoa_append::return#0 = uctoa_append::value#2
|
||||
@ -7143,7 +7143,7 @@ printf_number_buffer: {
|
||||
// printf_number_buffer::@4
|
||||
// strlen(buffer.digits)
|
||||
// [153] call strlen
|
||||
// [199] phi from printf_number_buffer::@4 to strlen [phi:printf_number_buffer::@4->strlen]
|
||||
// [199] phi from printf_number_buffer::@4 to strlen [phi:printf_number_buffer::@4->strlen] -- call_phi_near
|
||||
jsr strlen
|
||||
// strlen(buffer.digits)
|
||||
// [154] strlen::return#2 = strlen::len#2
|
||||
@ -7196,7 +7196,7 @@ printf_number_buffer: {
|
||||
// [165] printf_padding::length#0 = (char)printf_number_buffer::padding#10 -- vbuz1=vbuaa
|
||||
sta.z printf_padding.length
|
||||
// [166] call printf_padding
|
||||
// [205] phi from printf_number_buffer::@6 to printf_padding [phi:printf_number_buffer::@6->printf_padding]
|
||||
// [205] phi from printf_number_buffer::@6 to printf_padding [phi:printf_number_buffer::@6->printf_padding] -- call_phi_near
|
||||
jsr printf_padding
|
||||
// printf_number_buffer::@2
|
||||
__b2:
|
||||
@ -7223,7 +7223,7 @@ printf_number_buffer: {
|
||||
sta.z printf_str.putc
|
||||
lda #>printf_uchar.putc
|
||||
sta.z printf_str.putc+1
|
||||
// [103] phi printf_str::s#6 = printf_number_buffer::buffer_digits#0 [phi:printf_number_buffer::@3->printf_str#1] -- pbuz1=pbuc1
|
||||
// [103] phi printf_str::s#6 = printf_number_buffer::buffer_digits#0 [phi:printf_number_buffer::@3->printf_str#1] -- call_phi_near
|
||||
lda #<buffer_digits
|
||||
sta.z printf_str.s
|
||||
lda #>buffer_digits
|
||||
|
@ -694,7 +694,7 @@ main: {
|
||||
jmp __b1
|
||||
// main::@1
|
||||
__b1:
|
||||
// [2] call clock_start
|
||||
// [2] call clock_start -- call_phi_near
|
||||
// Reset & start the CIA#2 timer A+B
|
||||
jsr clock_start
|
||||
jmp __b2
|
||||
@ -702,7 +702,7 @@ main: {
|
||||
__b2:
|
||||
// asm { nop }
|
||||
nop
|
||||
// [4] call clock
|
||||
// [4] call clock -- call_phi_near
|
||||
jsr clock
|
||||
// [5] clock::return#2 = clock::return#0
|
||||
jmp __b3
|
||||
@ -725,7 +725,7 @@ main: {
|
||||
sbc #>CLOCKS_PER_INIT>>$10
|
||||
sta.z cyclecount+3
|
||||
// [8] print_ulong_at::dw#0 = main::cyclecount#0
|
||||
// [9] call print_ulong_at
|
||||
// [9] call print_ulong_at -- call_phi_near
|
||||
// Print cycle count
|
||||
jsr print_ulong_at
|
||||
jmp __b1_from___b3
|
||||
@ -813,7 +813,7 @@ print_ulong_at: {
|
||||
sta.z print_uint_at.at
|
||||
lda #>SCREEN
|
||||
sta.z print_uint_at.at+1
|
||||
// [25] phi print_uint_at::w#2 = print_uint_at::w#0 [phi:print_ulong_at->print_uint_at#1] -- register_copy
|
||||
// [25] phi print_uint_at::w#2 = print_uint_at::w#0 [phi:print_ulong_at->print_uint_at#1] -- call_phi_near
|
||||
jsr print_uint_at
|
||||
jmp __b1
|
||||
// print_ulong_at::@1
|
||||
@ -831,7 +831,7 @@ print_ulong_at: {
|
||||
sta.z print_uint_at.at
|
||||
lda #>SCREEN+4
|
||||
sta.z print_uint_at.at+1
|
||||
// [25] phi print_uint_at::w#2 = print_uint_at::w#1 [phi:print_ulong_at::@1->print_uint_at#1] -- register_copy
|
||||
// [25] phi print_uint_at::w#2 = print_uint_at::w#1 [phi:print_ulong_at::@1->print_uint_at#1] -- call_phi_near
|
||||
jsr print_uint_at
|
||||
jmp __breturn
|
||||
// print_ulong_at::@return
|
||||
@ -853,7 +853,7 @@ print_uint_at: {
|
||||
// [33] phi from print_uint_at to print_uchar_at [phi:print_uint_at->print_uchar_at]
|
||||
print_uchar_at_from_print_uint_at:
|
||||
// [33] phi print_uchar_at::at#2 = print_uchar_at::at#0 [phi:print_uint_at->print_uchar_at#0] -- register_copy
|
||||
// [33] phi print_uchar_at::b#2 = print_uchar_at::b#0 [phi:print_uint_at->print_uchar_at#1] -- register_copy
|
||||
// [33] phi print_uchar_at::b#2 = print_uchar_at::b#0 [phi:print_uint_at->print_uchar_at#1] -- call_phi_near
|
||||
jsr print_uchar_at
|
||||
jmp __b1
|
||||
// print_uint_at::@1
|
||||
@ -873,7 +873,7 @@ print_uint_at: {
|
||||
// [33] phi from print_uint_at::@1 to print_uchar_at [phi:print_uint_at::@1->print_uchar_at]
|
||||
print_uchar_at_from___b1:
|
||||
// [33] phi print_uchar_at::at#2 = print_uchar_at::at#1 [phi:print_uint_at::@1->print_uchar_at#0] -- register_copy
|
||||
// [33] phi print_uchar_at::b#2 = print_uchar_at::b#1 [phi:print_uint_at::@1->print_uchar_at#1] -- register_copy
|
||||
// [33] phi print_uchar_at::b#2 = print_uchar_at::b#1 [phi:print_uint_at::@1->print_uchar_at#1] -- call_phi_near
|
||||
jsr print_uchar_at
|
||||
jmp __breturn
|
||||
// print_uint_at::@return
|
||||
@ -906,7 +906,7 @@ print_uchar_at: {
|
||||
// [43] phi from print_uchar_at to print_char_at [phi:print_uchar_at->print_char_at]
|
||||
print_char_at_from_print_uchar_at:
|
||||
// [43] phi print_char_at::at#2 = print_char_at::at#0 [phi:print_uchar_at->print_char_at#0] -- register_copy
|
||||
// [43] phi print_char_at::ch#2 = print_char_at::ch#0 [phi:print_uchar_at->print_char_at#1] -- register_copy
|
||||
// [43] phi print_char_at::ch#2 = print_char_at::ch#0 [phi:print_uchar_at->print_char_at#1] -- call_phi_near
|
||||
jsr print_char_at
|
||||
jmp __b1
|
||||
// print_uchar_at::@1
|
||||
@ -929,7 +929,7 @@ print_uchar_at: {
|
||||
// [43] phi from print_uchar_at::@1 to print_char_at [phi:print_uchar_at::@1->print_char_at]
|
||||
print_char_at_from___b1:
|
||||
// [43] phi print_char_at::at#2 = print_char_at::at#1 [phi:print_uchar_at::@1->print_char_at#0] -- register_copy
|
||||
// [43] phi print_char_at::ch#2 = print_char_at::ch#1 [phi:print_uchar_at::@1->print_char_at#1] -- register_copy
|
||||
// [43] phi print_char_at::ch#2 = print_char_at::ch#1 [phi:print_uchar_at::@1->print_char_at#1] -- call_phi_near
|
||||
jsr print_char_at
|
||||
jmp __breturn
|
||||
// print_uchar_at::@return
|
||||
@ -1097,7 +1097,7 @@ main: {
|
||||
// main::@1
|
||||
__b1:
|
||||
// clock_start()
|
||||
// [2] call clock_start
|
||||
// [2] call clock_start -- call_phi_near
|
||||
// Reset & start the CIA#2 timer A+B
|
||||
jsr clock_start
|
||||
// main::@2
|
||||
@ -1105,7 +1105,7 @@ main: {
|
||||
// asm { nop }
|
||||
nop
|
||||
// clock()
|
||||
// [4] call clock
|
||||
// [4] call clock -- call_phi_near
|
||||
jsr clock
|
||||
// [5] clock::return#2 = clock::return#0
|
||||
// main::@3
|
||||
@ -1128,7 +1128,7 @@ main: {
|
||||
sta.z cyclecount+3
|
||||
// print_ulong_at(cyclecount, SCREEN)
|
||||
// [8] print_ulong_at::dw#0 = main::cyclecount#0
|
||||
// [9] call print_ulong_at
|
||||
// [9] call print_ulong_at -- call_phi_near
|
||||
// Print cycle count
|
||||
jsr print_ulong_at
|
||||
jmp __b1
|
||||
@ -1222,7 +1222,7 @@ print_ulong_at: {
|
||||
sta.z print_uint_at.at
|
||||
lda #>SCREEN
|
||||
sta.z print_uint_at.at+1
|
||||
// [25] phi print_uint_at::w#2 = print_uint_at::w#0 [phi:print_ulong_at->print_uint_at#1] -- register_copy
|
||||
// [25] phi print_uint_at::w#2 = print_uint_at::w#0 [phi:print_ulong_at->print_uint_at#1] -- call_phi_near
|
||||
jsr print_uint_at
|
||||
// print_ulong_at::@1
|
||||
// print_uint_at(WORD0(dw), at+4)
|
||||
@ -1238,7 +1238,7 @@ print_ulong_at: {
|
||||
sta.z print_uint_at.at
|
||||
lda #>SCREEN+4
|
||||
sta.z print_uint_at.at+1
|
||||
// [25] phi print_uint_at::w#2 = print_uint_at::w#1 [phi:print_ulong_at::@1->print_uint_at#1] -- register_copy
|
||||
// [25] phi print_uint_at::w#2 = print_uint_at::w#1 [phi:print_ulong_at::@1->print_uint_at#1] -- call_phi_near
|
||||
jsr print_uint_at
|
||||
// print_ulong_at::@return
|
||||
// }
|
||||
@ -1259,7 +1259,7 @@ print_uint_at: {
|
||||
// [28] call print_uchar_at
|
||||
// [33] phi from print_uint_at to print_uchar_at [phi:print_uint_at->print_uchar_at]
|
||||
// [33] phi print_uchar_at::at#2 = print_uchar_at::at#0 [phi:print_uint_at->print_uchar_at#0] -- register_copy
|
||||
// [33] phi print_uchar_at::b#2 = print_uchar_at::b#0 [phi:print_uint_at->print_uchar_at#1] -- register_copy
|
||||
// [33] phi print_uchar_at::b#2 = print_uchar_at::b#0 [phi:print_uint_at->print_uchar_at#1] -- call_phi_near
|
||||
jsr print_uchar_at
|
||||
// print_uint_at::@1
|
||||
// print_uchar_at(BYTE0(w), at+2)
|
||||
@ -1277,7 +1277,7 @@ print_uint_at: {
|
||||
// [31] call print_uchar_at
|
||||
// [33] phi from print_uint_at::@1 to print_uchar_at [phi:print_uint_at::@1->print_uchar_at]
|
||||
// [33] phi print_uchar_at::at#2 = print_uchar_at::at#1 [phi:print_uint_at::@1->print_uchar_at#0] -- register_copy
|
||||
// [33] phi print_uchar_at::b#2 = print_uchar_at::b#1 [phi:print_uint_at::@1->print_uchar_at#1] -- register_copy
|
||||
// [33] phi print_uchar_at::b#2 = print_uchar_at::b#1 [phi:print_uint_at::@1->print_uchar_at#1] -- call_phi_near
|
||||
jsr print_uchar_at
|
||||
// print_uint_at::@return
|
||||
// }
|
||||
@ -1310,7 +1310,7 @@ print_uchar_at: {
|
||||
// Table of hexadecimal digits
|
||||
// [43] phi from print_uchar_at to print_char_at [phi:print_uchar_at->print_char_at]
|
||||
// [43] phi print_char_at::at#2 = print_char_at::at#0 [phi:print_uchar_at->print_char_at#0] -- register_copy
|
||||
// [43] phi print_char_at::ch#2 = print_char_at::ch#0 [phi:print_uchar_at->print_char_at#1] -- register_copy
|
||||
// [43] phi print_char_at::ch#2 = print_char_at::ch#0 [phi:print_uchar_at->print_char_at#1] -- call_phi_near
|
||||
jsr print_char_at
|
||||
// print_uchar_at::@1
|
||||
// b&$f
|
||||
@ -1332,7 +1332,7 @@ print_uchar_at: {
|
||||
// [41] call print_char_at
|
||||
// [43] phi from print_uchar_at::@1 to print_char_at [phi:print_uchar_at::@1->print_char_at]
|
||||
// [43] phi print_char_at::at#2 = print_char_at::at#1 [phi:print_uchar_at::@1->print_char_at#0] -- register_copy
|
||||
// [43] phi print_char_at::ch#2 = print_char_at::ch#1 [phi:print_uchar_at::@1->print_char_at#1] -- register_copy
|
||||
// [43] phi print_char_at::ch#2 = print_char_at::ch#1 [phi:print_uchar_at::@1->print_char_at#1] -- call_phi_near
|
||||
jsr print_char_at
|
||||
// print_uchar_at::@return
|
||||
// }
|
||||
|
@ -657,7 +657,7 @@ ASSEMBLER BEFORE OPTIMIZATION
|
||||
.segment Code
|
||||
// main
|
||||
main: {
|
||||
// [1] call clock_start
|
||||
// [1] call clock_start -- call_phi_near
|
||||
// Reset & start the CIA#2 timer A+B
|
||||
jsr clock_start
|
||||
// [2] phi from main main::@2 to main::@1 [phi:main/main::@2->main::@1]
|
||||
@ -666,14 +666,14 @@ main: {
|
||||
jmp __b1
|
||||
// main::@1
|
||||
__b1:
|
||||
// [3] call clock
|
||||
// [3] call clock -- call_phi_near
|
||||
jsr clock
|
||||
// [4] clock::return#2 = clock::return#0
|
||||
jmp __b2
|
||||
// main::@2
|
||||
__b2:
|
||||
// [5] print_ulong_at::dw#0 = clock::return#2
|
||||
// [6] call print_ulong_at
|
||||
// [6] call print_ulong_at -- call_phi_near
|
||||
jsr print_ulong_at
|
||||
jmp __b1_from___b2
|
||||
}
|
||||
@ -760,7 +760,7 @@ print_ulong_at: {
|
||||
sta.z print_uint_at.at
|
||||
lda #>SCREEN
|
||||
sta.z print_uint_at.at+1
|
||||
// [22] phi print_uint_at::w#2 = print_uint_at::w#0 [phi:print_ulong_at->print_uint_at#1] -- register_copy
|
||||
// [22] phi print_uint_at::w#2 = print_uint_at::w#0 [phi:print_ulong_at->print_uint_at#1] -- call_phi_near
|
||||
jsr print_uint_at
|
||||
jmp __b1
|
||||
// print_ulong_at::@1
|
||||
@ -778,7 +778,7 @@ print_ulong_at: {
|
||||
sta.z print_uint_at.at
|
||||
lda #>SCREEN+4
|
||||
sta.z print_uint_at.at+1
|
||||
// [22] phi print_uint_at::w#2 = print_uint_at::w#1 [phi:print_ulong_at::@1->print_uint_at#1] -- register_copy
|
||||
// [22] phi print_uint_at::w#2 = print_uint_at::w#1 [phi:print_ulong_at::@1->print_uint_at#1] -- call_phi_near
|
||||
jsr print_uint_at
|
||||
jmp __breturn
|
||||
// print_ulong_at::@return
|
||||
@ -800,7 +800,7 @@ print_uint_at: {
|
||||
// [30] phi from print_uint_at to print_uchar_at [phi:print_uint_at->print_uchar_at]
|
||||
print_uchar_at_from_print_uint_at:
|
||||
// [30] phi print_uchar_at::at#2 = print_uchar_at::at#0 [phi:print_uint_at->print_uchar_at#0] -- register_copy
|
||||
// [30] phi print_uchar_at::b#2 = print_uchar_at::b#0 [phi:print_uint_at->print_uchar_at#1] -- register_copy
|
||||
// [30] phi print_uchar_at::b#2 = print_uchar_at::b#0 [phi:print_uint_at->print_uchar_at#1] -- call_phi_near
|
||||
jsr print_uchar_at
|
||||
jmp __b1
|
||||
// print_uint_at::@1
|
||||
@ -820,7 +820,7 @@ print_uint_at: {
|
||||
// [30] phi from print_uint_at::@1 to print_uchar_at [phi:print_uint_at::@1->print_uchar_at]
|
||||
print_uchar_at_from___b1:
|
||||
// [30] phi print_uchar_at::at#2 = print_uchar_at::at#1 [phi:print_uint_at::@1->print_uchar_at#0] -- register_copy
|
||||
// [30] phi print_uchar_at::b#2 = print_uchar_at::b#1 [phi:print_uint_at::@1->print_uchar_at#1] -- register_copy
|
||||
// [30] phi print_uchar_at::b#2 = print_uchar_at::b#1 [phi:print_uint_at::@1->print_uchar_at#1] -- call_phi_near
|
||||
jsr print_uchar_at
|
||||
jmp __breturn
|
||||
// print_uint_at::@return
|
||||
@ -853,7 +853,7 @@ print_uchar_at: {
|
||||
// [40] phi from print_uchar_at to print_char_at [phi:print_uchar_at->print_char_at]
|
||||
print_char_at_from_print_uchar_at:
|
||||
// [40] phi print_char_at::at#2 = print_char_at::at#0 [phi:print_uchar_at->print_char_at#0] -- register_copy
|
||||
// [40] phi print_char_at::ch#2 = print_char_at::ch#0 [phi:print_uchar_at->print_char_at#1] -- register_copy
|
||||
// [40] phi print_char_at::ch#2 = print_char_at::ch#0 [phi:print_uchar_at->print_char_at#1] -- call_phi_near
|
||||
jsr print_char_at
|
||||
jmp __b1
|
||||
// print_uchar_at::@1
|
||||
@ -876,7 +876,7 @@ print_uchar_at: {
|
||||
// [40] phi from print_uchar_at::@1 to print_char_at [phi:print_uchar_at::@1->print_char_at]
|
||||
print_char_at_from___b1:
|
||||
// [40] phi print_char_at::at#2 = print_char_at::at#1 [phi:print_uchar_at::@1->print_char_at#0] -- register_copy
|
||||
// [40] phi print_char_at::ch#2 = print_char_at::ch#1 [phi:print_uchar_at::@1->print_char_at#1] -- register_copy
|
||||
// [40] phi print_char_at::ch#2 = print_char_at::ch#1 [phi:print_uchar_at::@1->print_char_at#1] -- call_phi_near
|
||||
jsr print_char_at
|
||||
jmp __breturn
|
||||
// print_uchar_at::@return
|
||||
@ -1030,20 +1030,20 @@ Score: 467
|
||||
// main
|
||||
main: {
|
||||
// clock_start()
|
||||
// [1] call clock_start
|
||||
// [1] call clock_start -- call_phi_near
|
||||
// Reset & start the CIA#2 timer A+B
|
||||
jsr clock_start
|
||||
// [2] phi from main main::@2 to main::@1 [phi:main/main::@2->main::@1]
|
||||
// main::@1
|
||||
__b1:
|
||||
// clock()
|
||||
// [3] call clock
|
||||
// [3] call clock -- call_phi_near
|
||||
jsr clock
|
||||
// [4] clock::return#2 = clock::return#0
|
||||
// main::@2
|
||||
// print_ulong_at(clock(), SCREEN)
|
||||
// [5] print_ulong_at::dw#0 = clock::return#2
|
||||
// [6] call print_ulong_at
|
||||
// [6] call print_ulong_at -- call_phi_near
|
||||
jsr print_ulong_at
|
||||
jmp __b1
|
||||
}
|
||||
@ -1136,7 +1136,7 @@ print_ulong_at: {
|
||||
sta.z print_uint_at.at
|
||||
lda #>SCREEN
|
||||
sta.z print_uint_at.at+1
|
||||
// [22] phi print_uint_at::w#2 = print_uint_at::w#0 [phi:print_ulong_at->print_uint_at#1] -- register_copy
|
||||
// [22] phi print_uint_at::w#2 = print_uint_at::w#0 [phi:print_ulong_at->print_uint_at#1] -- call_phi_near
|
||||
jsr print_uint_at
|
||||
// print_ulong_at::@1
|
||||
// print_uint_at(WORD0(dw), at+4)
|
||||
@ -1152,7 +1152,7 @@ print_ulong_at: {
|
||||
sta.z print_uint_at.at
|
||||
lda #>SCREEN+4
|
||||
sta.z print_uint_at.at+1
|
||||
// [22] phi print_uint_at::w#2 = print_uint_at::w#1 [phi:print_ulong_at::@1->print_uint_at#1] -- register_copy
|
||||
// [22] phi print_uint_at::w#2 = print_uint_at::w#1 [phi:print_ulong_at::@1->print_uint_at#1] -- call_phi_near
|
||||
jsr print_uint_at
|
||||
// print_ulong_at::@return
|
||||
// }
|
||||
@ -1173,7 +1173,7 @@ print_uint_at: {
|
||||
// [25] call print_uchar_at
|
||||
// [30] phi from print_uint_at to print_uchar_at [phi:print_uint_at->print_uchar_at]
|
||||
// [30] phi print_uchar_at::at#2 = print_uchar_at::at#0 [phi:print_uint_at->print_uchar_at#0] -- register_copy
|
||||
// [30] phi print_uchar_at::b#2 = print_uchar_at::b#0 [phi:print_uint_at->print_uchar_at#1] -- register_copy
|
||||
// [30] phi print_uchar_at::b#2 = print_uchar_at::b#0 [phi:print_uint_at->print_uchar_at#1] -- call_phi_near
|
||||
jsr print_uchar_at
|
||||
// print_uint_at::@1
|
||||
// print_uchar_at(BYTE0(w), at+2)
|
||||
@ -1191,7 +1191,7 @@ print_uint_at: {
|
||||
// [28] call print_uchar_at
|
||||
// [30] phi from print_uint_at::@1 to print_uchar_at [phi:print_uint_at::@1->print_uchar_at]
|
||||
// [30] phi print_uchar_at::at#2 = print_uchar_at::at#1 [phi:print_uint_at::@1->print_uchar_at#0] -- register_copy
|
||||
// [30] phi print_uchar_at::b#2 = print_uchar_at::b#1 [phi:print_uint_at::@1->print_uchar_at#1] -- register_copy
|
||||
// [30] phi print_uchar_at::b#2 = print_uchar_at::b#1 [phi:print_uint_at::@1->print_uchar_at#1] -- call_phi_near
|
||||
jsr print_uchar_at
|
||||
// print_uint_at::@return
|
||||
// }
|
||||
@ -1224,7 +1224,7 @@ print_uchar_at: {
|
||||
// Table of hexadecimal digits
|
||||
// [40] phi from print_uchar_at to print_char_at [phi:print_uchar_at->print_char_at]
|
||||
// [40] phi print_char_at::at#2 = print_char_at::at#0 [phi:print_uchar_at->print_char_at#0] -- register_copy
|
||||
// [40] phi print_char_at::ch#2 = print_char_at::ch#0 [phi:print_uchar_at->print_char_at#1] -- register_copy
|
||||
// [40] phi print_char_at::ch#2 = print_char_at::ch#0 [phi:print_uchar_at->print_char_at#1] -- call_phi_near
|
||||
jsr print_char_at
|
||||
// print_uchar_at::@1
|
||||
// b&$f
|
||||
@ -1246,7 +1246,7 @@ print_uchar_at: {
|
||||
// [38] call print_char_at
|
||||
// [40] phi from print_uchar_at::@1 to print_char_at [phi:print_uchar_at::@1->print_char_at]
|
||||
// [40] phi print_char_at::at#2 = print_char_at::at#1 [phi:print_uchar_at::@1->print_char_at#0] -- register_copy
|
||||
// [40] phi print_char_at::ch#2 = print_char_at::ch#1 [phi:print_uchar_at::@1->print_char_at#1] -- register_copy
|
||||
// [40] phi print_char_at::ch#2 = print_char_at::ch#1 [phi:print_uchar_at::@1->print_char_at#1] -- call_phi_near
|
||||
jsr print_char_at
|
||||
// print_uchar_at::@return
|
||||
// }
|
||||
|
@ -236,7 +236,7 @@ __start: {
|
||||
jmp __b1
|
||||
// __start::@1
|
||||
__b1:
|
||||
// [3] call main
|
||||
// [3] call main -- call_phi_near
|
||||
jsr main
|
||||
jmp __breturn
|
||||
// __start::@return
|
||||
@ -383,7 +383,7 @@ __start: {
|
||||
sta.z irq_raster_next
|
||||
// [2] phi from __start::__init1 to __start::@1 [phi:__start::__init1->__start::@1]
|
||||
// __start::@1
|
||||
// [3] call main
|
||||
// [3] call main -- call_phi_near
|
||||
jsr main
|
||||
// __start::@return
|
||||
// [4] return
|
||||
|
@ -235,7 +235,7 @@ ASSEMBLER BEFORE OPTIMIZATION
|
||||
main: {
|
||||
.label __0 = 4
|
||||
// [1] call strlen
|
||||
// [6] phi from main to strlen [phi:main->strlen]
|
||||
// [6] phi from main to strlen [phi:main->strlen] -- call_phi_near
|
||||
strlen_from_main:
|
||||
jsr strlen
|
||||
// [2] strlen::return#2 = strlen::len#2
|
||||
@ -364,7 +364,7 @@ main: {
|
||||
.label __0 = 4
|
||||
// strlen(STR)
|
||||
// [1] call strlen
|
||||
// [6] phi from main to strlen [phi:main->strlen]
|
||||
// [6] phi from main to strlen [phi:main->strlen] -- call_phi_near
|
||||
jsr strlen
|
||||
// strlen(STR)
|
||||
// [2] strlen::return#2 = strlen::len#2
|
||||
|
@ -164,7 +164,7 @@ ASSEMBLER BEFORE OPTIMIZATION
|
||||
// main
|
||||
main: {
|
||||
// [1] call strlen
|
||||
// [4] phi from main to strlen [phi:main->strlen]
|
||||
// [4] phi from main to strlen [phi:main->strlen] -- call_phi_near
|
||||
strlen_from_main:
|
||||
jsr strlen
|
||||
jmp __b1
|
||||
@ -234,7 +234,7 @@ Score: 24
|
||||
main: {
|
||||
// strlen(STR)
|
||||
// [1] call strlen
|
||||
// [4] phi from main to strlen [phi:main->strlen]
|
||||
// [4] phi from main to strlen [phi:main->strlen] -- call_phi_near
|
||||
jsr strlen
|
||||
// main::@1
|
||||
// SCREEN [0] = (char) strlen(STR)
|
||||
|
@ -569,7 +569,7 @@ main: {
|
||||
memset_from_main:
|
||||
// [17] phi memset::c#4 = ' ' [phi:main->memset#0] -- vbuxx=vbuc1
|
||||
ldx #' '
|
||||
// [17] phi memset::str#3 = (void *)SCREEN [phi:main->memset#1] -- pvoz1=pvoc1
|
||||
// [17] phi memset::str#3 = (void *)SCREEN [phi:main->memset#1] -- call_phi_near
|
||||
lda #<SCREEN
|
||||
sta.z memset.str
|
||||
lda #>SCREEN
|
||||
@ -585,7 +585,7 @@ main: {
|
||||
memset_from___b6:
|
||||
// [17] phi memset::c#4 = WHITE [phi:main::@6->memset#0] -- vbuxx=vbuc1
|
||||
ldx #WHITE
|
||||
// [17] phi memset::str#3 = (void *)COLS [phi:main::@6->memset#1] -- pvoz1=pvoc1
|
||||
// [17] phi memset::str#3 = (void *)COLS [phi:main::@6->memset#1] -- call_phi_near
|
||||
lda #<COLS
|
||||
sta.z memset.str
|
||||
lda #>COLS
|
||||
@ -866,7 +866,7 @@ main: {
|
||||
// [17] phi from main to memset [phi:main->memset]
|
||||
// [17] phi memset::c#4 = ' ' [phi:main->memset#0] -- vbuxx=vbuc1
|
||||
ldx #' '
|
||||
// [17] phi memset::str#3 = (void *)SCREEN [phi:main->memset#1] -- pvoz1=pvoc1
|
||||
// [17] phi memset::str#3 = (void *)SCREEN [phi:main->memset#1] -- call_phi_near
|
||||
lda #<SCREEN
|
||||
sta.z memset.str
|
||||
lda #>SCREEN
|
||||
@ -879,7 +879,7 @@ main: {
|
||||
// [17] phi from main::@6 to memset [phi:main::@6->memset]
|
||||
// [17] phi memset::c#4 = WHITE [phi:main::@6->memset#0] -- vbuxx=vbuc1
|
||||
ldx #WHITE
|
||||
// [17] phi memset::str#3 = (void *)COLS [phi:main::@6->memset#1] -- pvoz1=pvoc1
|
||||
// [17] phi memset::str#3 = (void *)COLS [phi:main::@6->memset#1] -- call_phi_near
|
||||
lda #<COLS
|
||||
sta.z memset.str
|
||||
lda #>COLS
|
||||
|
@ -420,7 +420,7 @@ main: {
|
||||
__b3:
|
||||
// [7] OBJ_is_solid::oy#0 = main::oy#2 -- vbuaa=vbuz1
|
||||
lda.z oy
|
||||
// [8] call OBJ_is_solid
|
||||
// [8] call OBJ_is_solid -- call_phi_near
|
||||
jsr OBJ_is_solid
|
||||
// [9] OBJ_is_solid::return#0 = OBJ_is_solid::return#3
|
||||
jmp __b7
|
||||
@ -467,7 +467,7 @@ OBJ_is_solid: {
|
||||
// OBJ_is_solid::@1
|
||||
__b1:
|
||||
// [16] call tile_flag_at
|
||||
// [19] phi from OBJ_is_solid::@1 to tile_flag_at [phi:OBJ_is_solid::@1->tile_flag_at]
|
||||
// [19] phi from OBJ_is_solid::@1 to tile_flag_at [phi:OBJ_is_solid::@1->tile_flag_at] -- call_phi_near
|
||||
tile_flag_at_from___b1:
|
||||
jsr tile_flag_at
|
||||
// [17] phi from OBJ_is_solid::@1 to OBJ_is_solid::@return [phi:OBJ_is_solid::@1->OBJ_is_solid::@return]
|
||||
@ -612,7 +612,7 @@ main: {
|
||||
// OBJ_is_solid(ox,oy)
|
||||
// [7] OBJ_is_solid::oy#0 = main::oy#2 -- vbuaa=vbuz1
|
||||
lda.z oy
|
||||
// [8] call OBJ_is_solid
|
||||
// [8] call OBJ_is_solid -- call_phi_near
|
||||
jsr OBJ_is_solid
|
||||
// [9] OBJ_is_solid::return#0 = OBJ_is_solid::return#3
|
||||
// main::@7
|
||||
@ -657,7 +657,7 @@ OBJ_is_solid: {
|
||||
__b1:
|
||||
// tile_flag_at()
|
||||
// [16] call tile_flag_at
|
||||
// [19] phi from OBJ_is_solid::@1 to tile_flag_at [phi:OBJ_is_solid::@1->tile_flag_at]
|
||||
// [19] phi from OBJ_is_solid::@1 to tile_flag_at [phi:OBJ_is_solid::@1->tile_flag_at] -- call_phi_near
|
||||
jsr tile_flag_at
|
||||
// [17] phi from OBJ_is_solid::@1 to OBJ_is_solid::@return [phi:OBJ_is_solid::@1->OBJ_is_solid::@return]
|
||||
// [17] phi OBJ_is_solid::return#3 = tile_flag_at::return#1 [phi:OBJ_is_solid::@1->OBJ_is_solid::@return#0] -- vboaa=vboc1
|
||||
|
@ -206,7 +206,7 @@ __start: {
|
||||
jmp __b1
|
||||
// __start::@1
|
||||
__b1:
|
||||
// [3] call main
|
||||
// [3] call main -- call_phi_near
|
||||
jsr main
|
||||
jmp __breturn
|
||||
// __start::@return
|
||||
@ -227,7 +227,7 @@ main: {
|
||||
// [7] *(SCREEN+2) = *main::addrA -- _deref_pbuc1=_deref_pbuc2
|
||||
lda.z addrA
|
||||
sta SCREEN+2
|
||||
// [8] call sub
|
||||
// [8] call sub -- call_phi_near
|
||||
jsr sub
|
||||
jmp __breturn
|
||||
// main::@return
|
||||
@ -315,7 +315,7 @@ __start: {
|
||||
sta.z A
|
||||
// [2] phi from __start::__init1 to __start::@1 [phi:__start::__init1->__start::@1]
|
||||
// __start::@1
|
||||
// [3] call main
|
||||
// [3] call main -- call_phi_near
|
||||
jsr main
|
||||
// __start::@return
|
||||
// [4] return
|
||||
@ -338,7 +338,7 @@ main: {
|
||||
lda.z addrA
|
||||
sta SCREEN+2
|
||||
// sub()
|
||||
// [8] call sub
|
||||
// [8] call sub -- call_phi_near
|
||||
jsr sub
|
||||
// main::@return
|
||||
// }
|
||||
|
@ -377,7 +377,7 @@ main: {
|
||||
// main::@2
|
||||
__b2:
|
||||
// [7] call line
|
||||
// [8] phi from main::@2 to line [phi:main::@2->line]
|
||||
// [8] phi from main::@2 to line [phi:main::@2->line] -- call_phi_near
|
||||
line_from___b2:
|
||||
jsr line
|
||||
jmp __b2_from___b2
|
||||
@ -405,7 +405,7 @@ line: {
|
||||
// line::@2
|
||||
__b2:
|
||||
// [12] plot::x#1 = line::x#2
|
||||
// [13] call plot
|
||||
// [13] call plot -- call_phi_near
|
||||
jsr plot
|
||||
jmp __b3
|
||||
// line::@3
|
||||
@ -535,7 +535,7 @@ main: {
|
||||
__b2:
|
||||
// line(0, 10)
|
||||
// [7] call line
|
||||
// [8] phi from main::@2 to line [phi:main::@2->line]
|
||||
// [8] phi from main::@2 to line [phi:main::@2->line] -- call_phi_near
|
||||
jsr line
|
||||
jmp __b2
|
||||
}
|
||||
@ -561,7 +561,7 @@ line: {
|
||||
__b2:
|
||||
// plot(x)
|
||||
// [12] plot::x#1 = line::x#2
|
||||
// [13] call plot
|
||||
// [13] call plot -- call_phi_near
|
||||
jsr plot
|
||||
// line::@3
|
||||
// for(byte x = x0; x<=x1; x++)
|
||||
|
@ -269,7 +269,7 @@ main: {
|
||||
// [1] call sum
|
||||
// [14] phi from main to sum [phi:main->sum]
|
||||
sum_from_main:
|
||||
// [14] phi sum::b#3 = 'c' [phi:main->sum#0] -- vbuaa=vbuc1
|
||||
// [14] phi sum::b#3 = 'c' [phi:main->sum#0] -- call_phi_near
|
||||
lda #'c'
|
||||
jsr sum
|
||||
// [2] sum::return#0 = sum::return#3
|
||||
@ -282,7 +282,7 @@ main: {
|
||||
// [5] call sum
|
||||
// [14] phi from main::@1 to sum [phi:main::@1->sum]
|
||||
sum_from___b1:
|
||||
// [14] phi sum::b#3 = 'm' [phi:main::@1->sum#0] -- vbuaa=vbuc1
|
||||
// [14] phi sum::b#3 = 'm' [phi:main::@1->sum#0] -- call_phi_near
|
||||
lda #'m'
|
||||
jsr sum
|
||||
// [6] sum::return#1 = sum::return#3
|
||||
@ -295,7 +295,7 @@ main: {
|
||||
// [9] call sum
|
||||
// [14] phi from main::@2 to sum [phi:main::@2->sum]
|
||||
sum_from___b2:
|
||||
// [14] phi sum::b#3 = 'l' [phi:main::@2->sum#0] -- vbuaa=vbuc1
|
||||
// [14] phi sum::b#3 = 'l' [phi:main::@2->sum#0] -- call_phi_near
|
||||
lda #'l'
|
||||
jsr sum
|
||||
// [10] sum::return#2 = sum::return#3
|
||||
@ -392,7 +392,7 @@ main: {
|
||||
// sum(reverse, 'c')
|
||||
// [1] call sum
|
||||
// [14] phi from main to sum [phi:main->sum]
|
||||
// [14] phi sum::b#3 = 'c' [phi:main->sum#0] -- vbuaa=vbuc1
|
||||
// [14] phi sum::b#3 = 'c' [phi:main->sum#0] -- call_phi_near
|
||||
lda #'c'
|
||||
jsr sum
|
||||
// sum(reverse, 'c')
|
||||
@ -405,7 +405,7 @@ main: {
|
||||
// sum(reverse, 'm')
|
||||
// [5] call sum
|
||||
// [14] phi from main::@1 to sum [phi:main::@1->sum]
|
||||
// [14] phi sum::b#3 = 'm' [phi:main::@1->sum#0] -- vbuaa=vbuc1
|
||||
// [14] phi sum::b#3 = 'm' [phi:main::@1->sum#0] -- call_phi_near
|
||||
lda #'m'
|
||||
jsr sum
|
||||
// sum(reverse, 'm')
|
||||
@ -418,7 +418,7 @@ main: {
|
||||
// sum(reverse, 'l')
|
||||
// [9] call sum
|
||||
// [14] phi from main::@2 to sum [phi:main::@2->sum]
|
||||
// [14] phi sum::b#3 = 'l' [phi:main::@2->sum#0] -- vbuaa=vbuc1
|
||||
// [14] phi sum::b#3 = 'l' [phi:main::@2->sum#0] -- call_phi_near
|
||||
lda #'l'
|
||||
jsr sum
|
||||
// sum(reverse, 'l')
|
||||
|
@ -204,7 +204,7 @@ __start: {
|
||||
jmp __b1
|
||||
// __start::@1
|
||||
__b1:
|
||||
// [3] call main
|
||||
// [3] call main -- call_phi_near
|
||||
jsr main
|
||||
jmp __breturn
|
||||
// __start::@return
|
||||
@ -313,7 +313,7 @@ __start: {
|
||||
sta.z idx
|
||||
// [2] phi from __start::__init1 to __start::@1 [phi:__start::__init1->__start::@1]
|
||||
// __start::@1
|
||||
// [3] call main
|
||||
// [3] call main -- call_phi_near
|
||||
jsr main
|
||||
// __start::@return
|
||||
// [4] return
|
||||
|
@ -1647,7 +1647,7 @@ ASSEMBLER BEFORE OPTIMIZATION
|
||||
// main
|
||||
main: {
|
||||
// [1] call print_cls
|
||||
// [7] phi from main to print_cls [phi:main->print_cls]
|
||||
// [7] phi from main to print_cls [phi:main->print_cls] -- call_phi_near
|
||||
print_cls_from_main:
|
||||
jsr print_cls
|
||||
jmp __b1
|
||||
@ -1657,7 +1657,7 @@ main: {
|
||||
lda #GREEN
|
||||
sta BG_COLOR
|
||||
// [3] call test_bytes
|
||||
// [10] phi from main::@1 to test_bytes [phi:main::@1->test_bytes]
|
||||
// [10] phi from main::@1 to test_bytes [phi:main::@1->test_bytes] -- call_phi_near
|
||||
test_bytes_from___b1:
|
||||
jsr test_bytes
|
||||
// [4] phi from main::@1 to main::@2 [phi:main::@1->main::@2]
|
||||
@ -1666,7 +1666,7 @@ main: {
|
||||
// main::@2
|
||||
__b2:
|
||||
// [5] call test_sbytes
|
||||
// [17] phi from main::@2 to test_sbytes [phi:main::@2->test_sbytes]
|
||||
// [17] phi from main::@2 to test_sbytes [phi:main::@2->test_sbytes] -- call_phi_near
|
||||
test_sbytes_from___b2:
|
||||
jsr test_sbytes
|
||||
jmp __breturn
|
||||
@ -1679,7 +1679,7 @@ main: {
|
||||
// Clear the screen. Also resets current line/char cursor.
|
||||
print_cls: {
|
||||
// [8] call memset
|
||||
// [28] phi from print_cls to memset [phi:print_cls->memset]
|
||||
// [28] phi from print_cls to memset [phi:print_cls->memset] -- call_phi_near
|
||||
memset_from_print_cls:
|
||||
jsr memset
|
||||
jmp __breturn
|
||||
@ -1712,7 +1712,7 @@ test_bytes: {
|
||||
sta.z print_char_cursor
|
||||
lda #>print_screen
|
||||
sta.z print_char_cursor+1
|
||||
// [34] phi assert_byte::msg#3 = msg [phi:test_bytes->assert_byte#4] -- pbuz1=pbuc1
|
||||
// [34] phi assert_byte::msg#3 = msg [phi:test_bytes->assert_byte#4] -- call_phi_near
|
||||
lda #<msg
|
||||
sta.z assert_byte.msg
|
||||
lda #>msg
|
||||
@ -1736,7 +1736,7 @@ test_bytes: {
|
||||
// [34] phi assert_byte::b#3 = test_bytes::bc#0 [phi:test_bytes::@1->assert_byte#2] -- vbuxx=vbuc1
|
||||
ldx #bc
|
||||
// [34] phi print_char_cursor#77 = print_char_cursor#98 [phi:test_bytes::@1->assert_byte#3] -- register_copy
|
||||
// [34] phi assert_byte::msg#3 = msg1 [phi:test_bytes::@1->assert_byte#4] -- pbuz1=pbuc1
|
||||
// [34] phi assert_byte::msg#3 = msg1 [phi:test_bytes::@1->assert_byte#4] -- call_phi_near
|
||||
lda #<msg1
|
||||
sta.z assert_byte.msg
|
||||
lda #>msg1
|
||||
@ -1760,7 +1760,7 @@ test_bytes: {
|
||||
// [34] phi assert_byte::b#3 = test_bytes::bd#0 [phi:test_bytes::@2->assert_byte#2] -- vbuxx=vbuc1
|
||||
ldx #bd
|
||||
// [34] phi print_char_cursor#77 = print_char_cursor#99 [phi:test_bytes::@2->assert_byte#3] -- register_copy
|
||||
// [34] phi assert_byte::msg#3 = test_bytes::msg2 [phi:test_bytes::@2->assert_byte#4] -- pbuz1=pbuc1
|
||||
// [34] phi assert_byte::msg#3 = test_bytes::msg2 [phi:test_bytes::@2->assert_byte#4] -- call_phi_near
|
||||
lda #<msg2
|
||||
sta.z assert_byte.msg
|
||||
lda #>msg2
|
||||
@ -1792,7 +1792,7 @@ test_sbytes: {
|
||||
sta.z assert_sbyte.c
|
||||
// [47] phi assert_sbyte::b#5 = test_sbytes::bb [phi:test_sbytes->assert_sbyte#1] -- vbsxx=vbsc1
|
||||
ldx #bb
|
||||
// [47] phi assert_sbyte::msg#5 = msg [phi:test_sbytes->assert_sbyte#2] -- pbuz1=pbuc1
|
||||
// [47] phi assert_sbyte::msg#5 = msg [phi:test_sbytes->assert_sbyte#2] -- call_phi_near
|
||||
lda #<msg
|
||||
sta.z assert_sbyte.msg
|
||||
lda #>msg
|
||||
@ -1811,7 +1811,7 @@ test_sbytes: {
|
||||
sta.z assert_sbyte.c
|
||||
// [47] phi assert_sbyte::b#5 = test_sbytes::bc#0 [phi:test_sbytes::@1->assert_sbyte#1] -- vbsxx=vbsc1
|
||||
ldx #bc
|
||||
// [47] phi assert_sbyte::msg#5 = msg1 [phi:test_sbytes::@1->assert_sbyte#2] -- pbuz1=pbuc1
|
||||
// [47] phi assert_sbyte::msg#5 = msg1 [phi:test_sbytes::@1->assert_sbyte#2] -- call_phi_near
|
||||
lda #<msg1
|
||||
sta.z assert_sbyte.msg
|
||||
lda #>msg1
|
||||
@ -1830,7 +1830,7 @@ test_sbytes: {
|
||||
sta.z assert_sbyte.c
|
||||
// [47] phi assert_sbyte::b#5 = test_sbytes::bd#0 [phi:test_sbytes::@2->assert_sbyte#1] -- vbsxx=vbsc1
|
||||
ldx #bd
|
||||
// [47] phi assert_sbyte::msg#5 = test_sbytes::msg2 [phi:test_sbytes::@2->assert_sbyte#2] -- pbuz1=pbuc1
|
||||
// [47] phi assert_sbyte::msg#5 = test_sbytes::msg2 [phi:test_sbytes::@2->assert_sbyte#2] -- call_phi_near
|
||||
lda #<msg2
|
||||
sta.z assert_sbyte.msg
|
||||
lda #>msg2
|
||||
@ -1849,7 +1849,7 @@ test_sbytes: {
|
||||
sta.z assert_sbyte.c
|
||||
// [47] phi assert_sbyte::b#5 = test_sbytes::be#0 [phi:test_sbytes::@3->assert_sbyte#1] -- vbsxx=vbsc1
|
||||
ldx #be
|
||||
// [47] phi assert_sbyte::msg#5 = test_sbytes::msg3 [phi:test_sbytes::@3->assert_sbyte#2] -- pbuz1=pbuc1
|
||||
// [47] phi assert_sbyte::msg#5 = test_sbytes::msg3 [phi:test_sbytes::@3->assert_sbyte#2] -- call_phi_near
|
||||
lda #<msg3
|
||||
sta.z assert_sbyte.msg
|
||||
lda #>msg3
|
||||
@ -1868,7 +1868,7 @@ test_sbytes: {
|
||||
sta.z assert_sbyte.c
|
||||
// [47] phi assert_sbyte::b#5 = test_sbytes::bf [phi:test_sbytes::@4->assert_sbyte#1] -- vbsxx=vbsc1
|
||||
ldx #bf
|
||||
// [47] phi assert_sbyte::msg#5 = test_sbytes::msg4 [phi:test_sbytes::@4->assert_sbyte#2] -- pbuz1=pbuc1
|
||||
// [47] phi assert_sbyte::msg#5 = test_sbytes::msg4 [phi:test_sbytes::@4->assert_sbyte#2] -- call_phi_near
|
||||
lda #<msg4
|
||||
sta.z assert_sbyte.msg
|
||||
lda #>msg4
|
||||
@ -1945,7 +1945,7 @@ assert_byte: {
|
||||
// [61] phi from assert_byte to print_str [phi:assert_byte->print_str]
|
||||
print_str_from_assert_byte:
|
||||
// [61] phi print_char_cursor#87 = print_char_cursor#77 [phi:assert_byte->print_str#0] -- register_copy
|
||||
// [61] phi print_str::str#12 = print_str::str#1 [phi:assert_byte->print_str#1] -- register_copy
|
||||
// [61] phi print_str::str#12 = print_str::str#1 [phi:assert_byte->print_str#1] -- call_phi_near
|
||||
jsr print_str
|
||||
// [37] phi from assert_byte to assert_byte::@4 [phi:assert_byte->assert_byte::@4]
|
||||
__b4_from_assert_byte:
|
||||
@ -1956,7 +1956,7 @@ assert_byte: {
|
||||
// [61] phi from assert_byte::@4 to print_str [phi:assert_byte::@4->print_str]
|
||||
print_str_from___b4:
|
||||
// [61] phi print_char_cursor#87 = print_char_cursor#1 [phi:assert_byte::@4->print_str#0] -- register_copy
|
||||
// [61] phi print_str::str#12 = str [phi:assert_byte::@4->print_str#1] -- pbuz1=pbuc1
|
||||
// [61] phi print_str::str#12 = str [phi:assert_byte::@4->print_str#1] -- call_phi_near
|
||||
lda #<str
|
||||
sta.z print_str.str
|
||||
lda #>str
|
||||
@ -1977,7 +1977,7 @@ assert_byte: {
|
||||
// [61] phi from assert_byte::@3 to print_str [phi:assert_byte::@3->print_str]
|
||||
print_str_from___b3:
|
||||
// [61] phi print_char_cursor#87 = print_char_cursor#1 [phi:assert_byte::@3->print_str#0] -- register_copy
|
||||
// [61] phi print_str::str#12 = str2 [phi:assert_byte::@3->print_str#1] -- pbuz1=pbuc1
|
||||
// [61] phi print_str::str#12 = str2 [phi:assert_byte::@3->print_str#1] -- call_phi_near
|
||||
lda #<str2
|
||||
sta.z print_str.str
|
||||
lda #>str2
|
||||
@ -1992,7 +1992,7 @@ assert_byte: {
|
||||
// [43] call print_ln
|
||||
// [68] phi from assert_byte::@2 to print_ln [phi:assert_byte::@2->print_ln]
|
||||
print_ln_from___b2:
|
||||
// [68] phi print_line_cursor#49 = print_line_cursor#52 [phi:assert_byte::@2->print_ln#0] -- register_copy
|
||||
// [68] phi print_line_cursor#49 = print_line_cursor#52 [phi:assert_byte::@2->print_ln#0] -- call_phi_near
|
||||
jsr print_ln
|
||||
jmp __breturn
|
||||
// assert_byte::@return
|
||||
@ -2008,7 +2008,7 @@ assert_byte: {
|
||||
// [61] phi from assert_byte::@1 to print_str [phi:assert_byte::@1->print_str]
|
||||
print_str_from___b1:
|
||||
// [61] phi print_char_cursor#87 = print_char_cursor#1 [phi:assert_byte::@1->print_str#0] -- register_copy
|
||||
// [61] phi print_str::str#12 = str1 [phi:assert_byte::@1->print_str#1] -- pbuz1=pbuc1
|
||||
// [61] phi print_str::str#12 = str1 [phi:assert_byte::@1->print_str#1] -- call_phi_near
|
||||
lda #<str1
|
||||
sta.z print_str.str
|
||||
lda #>str1
|
||||
@ -2031,7 +2031,7 @@ assert_sbyte: {
|
||||
// [61] phi from assert_sbyte to print_str [phi:assert_sbyte->print_str]
|
||||
print_str_from_assert_sbyte:
|
||||
// [61] phi print_char_cursor#87 = print_char_cursor#92 [phi:assert_sbyte->print_str#0] -- register_copy
|
||||
// [61] phi print_str::str#12 = print_str::str#5 [phi:assert_sbyte->print_str#1] -- register_copy
|
||||
// [61] phi print_str::str#12 = print_str::str#5 [phi:assert_sbyte->print_str#1] -- call_phi_near
|
||||
jsr print_str
|
||||
// [51] phi from assert_sbyte to assert_sbyte::@4 [phi:assert_sbyte->assert_sbyte::@4]
|
||||
__b4_from_assert_sbyte:
|
||||
@ -2042,7 +2042,7 @@ assert_sbyte: {
|
||||
// [61] phi from assert_sbyte::@4 to print_str [phi:assert_sbyte::@4->print_str]
|
||||
print_str_from___b4:
|
||||
// [61] phi print_char_cursor#87 = print_char_cursor#1 [phi:assert_sbyte::@4->print_str#0] -- register_copy
|
||||
// [61] phi print_str::str#12 = str [phi:assert_sbyte::@4->print_str#1] -- pbuz1=pbuc1
|
||||
// [61] phi print_str::str#12 = str [phi:assert_sbyte::@4->print_str#1] -- call_phi_near
|
||||
lda #<str
|
||||
sta.z print_str.str
|
||||
lda #>str
|
||||
@ -2063,7 +2063,7 @@ assert_sbyte: {
|
||||
// [61] phi from assert_sbyte::@3 to print_str [phi:assert_sbyte::@3->print_str]
|
||||
print_str_from___b3:
|
||||
// [61] phi print_char_cursor#87 = print_char_cursor#1 [phi:assert_sbyte::@3->print_str#0] -- register_copy
|
||||
// [61] phi print_str::str#12 = str2 [phi:assert_sbyte::@3->print_str#1] -- pbuz1=pbuc1
|
||||
// [61] phi print_str::str#12 = str2 [phi:assert_sbyte::@3->print_str#1] -- call_phi_near
|
||||
lda #<str2
|
||||
sta.z print_str.str
|
||||
lda #>str2
|
||||
@ -2078,7 +2078,7 @@ assert_sbyte: {
|
||||
// [57] call print_ln
|
||||
// [68] phi from assert_sbyte::@2 to print_ln [phi:assert_sbyte::@2->print_ln]
|
||||
print_ln_from___b2:
|
||||
// [68] phi print_line_cursor#49 = print_line_cursor#0 [phi:assert_sbyte::@2->print_ln#0] -- register_copy
|
||||
// [68] phi print_line_cursor#49 = print_line_cursor#0 [phi:assert_sbyte::@2->print_ln#0] -- call_phi_near
|
||||
jsr print_ln
|
||||
jmp __breturn
|
||||
// assert_sbyte::@return
|
||||
@ -2094,7 +2094,7 @@ assert_sbyte: {
|
||||
// [61] phi from assert_sbyte::@1 to print_str [phi:assert_sbyte::@1->print_str]
|
||||
print_str_from___b1:
|
||||
// [61] phi print_char_cursor#87 = print_char_cursor#1 [phi:assert_sbyte::@1->print_str#0] -- register_copy
|
||||
// [61] phi print_str::str#12 = str1 [phi:assert_sbyte::@1->print_str#1] -- pbuz1=pbuc1
|
||||
// [61] phi print_str::str#12 = str1 [phi:assert_sbyte::@1->print_str#1] -- call_phi_near
|
||||
lda #<str1
|
||||
sta.z print_str.str
|
||||
lda #>str1
|
||||
@ -2130,7 +2130,7 @@ print_str: {
|
||||
// [65] print_char::ch#0 = *print_str::str#10 -- vbuaa=_deref_pbuz1
|
||||
ldy #0
|
||||
lda (str),y
|
||||
// [66] call print_char
|
||||
// [66] call print_char -- call_phi_near
|
||||
jsr print_char
|
||||
jmp __b3
|
||||
// print_str::@3
|
||||
@ -2438,7 +2438,7 @@ Score: 1783
|
||||
main: {
|
||||
// print_cls()
|
||||
// [1] call print_cls
|
||||
// [7] phi from main to print_cls [phi:main->print_cls]
|
||||
// [7] phi from main to print_cls [phi:main->print_cls] -- call_phi_near
|
||||
jsr print_cls
|
||||
// main::@1
|
||||
// *BG_COLOR = GREEN
|
||||
@ -2447,13 +2447,13 @@ main: {
|
||||
sta BG_COLOR
|
||||
// test_bytes()
|
||||
// [3] call test_bytes
|
||||
// [10] phi from main::@1 to test_bytes [phi:main::@1->test_bytes]
|
||||
// [10] phi from main::@1 to test_bytes [phi:main::@1->test_bytes] -- call_phi_near
|
||||
jsr test_bytes
|
||||
// [4] phi from main::@1 to main::@2 [phi:main::@1->main::@2]
|
||||
// main::@2
|
||||
// test_sbytes()
|
||||
// [5] call test_sbytes
|
||||
// [17] phi from main::@2 to test_sbytes [phi:main::@2->test_sbytes]
|
||||
// [17] phi from main::@2 to test_sbytes [phi:main::@2->test_sbytes] -- call_phi_near
|
||||
jsr test_sbytes
|
||||
// main::@return
|
||||
// }
|
||||
@ -2465,7 +2465,7 @@ main: {
|
||||
print_cls: {
|
||||
// memset(print_screen, ' ', 1000)
|
||||
// [8] call memset
|
||||
// [28] phi from print_cls to memset [phi:print_cls->memset]
|
||||
// [28] phi from print_cls to memset [phi:print_cls->memset] -- call_phi_near
|
||||
jsr memset
|
||||
// print_cls::@return
|
||||
// }
|
||||
@ -2496,7 +2496,7 @@ test_bytes: {
|
||||
sta.z print_char_cursor
|
||||
lda #>print_screen
|
||||
sta.z print_char_cursor+1
|
||||
// [34] phi assert_byte::msg#3 = msg [phi:test_bytes->assert_byte#4] -- pbuz1=pbuc1
|
||||
// [34] phi assert_byte::msg#3 = msg [phi:test_bytes->assert_byte#4] -- call_phi_near
|
||||
lda #<msg
|
||||
sta.z assert_byte.msg
|
||||
lda #>msg
|
||||
@ -2518,7 +2518,7 @@ test_bytes: {
|
||||
// [34] phi assert_byte::b#3 = test_bytes::bc#0 [phi:test_bytes::@1->assert_byte#2] -- vbuxx=vbuc1
|
||||
ldx #bc
|
||||
// [34] phi print_char_cursor#77 = print_char_cursor#98 [phi:test_bytes::@1->assert_byte#3] -- register_copy
|
||||
// [34] phi assert_byte::msg#3 = msg1 [phi:test_bytes::@1->assert_byte#4] -- pbuz1=pbuc1
|
||||
// [34] phi assert_byte::msg#3 = msg1 [phi:test_bytes::@1->assert_byte#4] -- call_phi_near
|
||||
lda #<msg1
|
||||
sta.z assert_byte.msg
|
||||
lda #>msg1
|
||||
@ -2540,7 +2540,7 @@ test_bytes: {
|
||||
// [34] phi assert_byte::b#3 = test_bytes::bd#0 [phi:test_bytes::@2->assert_byte#2] -- vbuxx=vbuc1
|
||||
ldx #bd
|
||||
// [34] phi print_char_cursor#77 = print_char_cursor#99 [phi:test_bytes::@2->assert_byte#3] -- register_copy
|
||||
// [34] phi assert_byte::msg#3 = test_bytes::msg2 [phi:test_bytes::@2->assert_byte#4] -- pbuz1=pbuc1
|
||||
// [34] phi assert_byte::msg#3 = test_bytes::msg2 [phi:test_bytes::@2->assert_byte#4] -- call_phi_near
|
||||
lda #<msg2
|
||||
sta.z assert_byte.msg
|
||||
lda #>msg2
|
||||
@ -2571,7 +2571,7 @@ test_sbytes: {
|
||||
sta.z assert_sbyte.c
|
||||
// [47] phi assert_sbyte::b#5 = test_sbytes::bb [phi:test_sbytes->assert_sbyte#1] -- vbsxx=vbsc1
|
||||
ldx #bb
|
||||
// [47] phi assert_sbyte::msg#5 = msg [phi:test_sbytes->assert_sbyte#2] -- pbuz1=pbuc1
|
||||
// [47] phi assert_sbyte::msg#5 = msg [phi:test_sbytes->assert_sbyte#2] -- call_phi_near
|
||||
lda #<msg
|
||||
sta.z assert_sbyte.msg
|
||||
lda #>msg
|
||||
@ -2587,7 +2587,7 @@ test_sbytes: {
|
||||
sta.z assert_sbyte.c
|
||||
// [47] phi assert_sbyte::b#5 = test_sbytes::bc#0 [phi:test_sbytes::@1->assert_sbyte#1] -- vbsxx=vbsc1
|
||||
ldx #bc
|
||||
// [47] phi assert_sbyte::msg#5 = msg1 [phi:test_sbytes::@1->assert_sbyte#2] -- pbuz1=pbuc1
|
||||
// [47] phi assert_sbyte::msg#5 = msg1 [phi:test_sbytes::@1->assert_sbyte#2] -- call_phi_near
|
||||
lda #<msg1
|
||||
sta.z assert_sbyte.msg
|
||||
lda #>msg1
|
||||
@ -2603,7 +2603,7 @@ test_sbytes: {
|
||||
sta.z assert_sbyte.c
|
||||
// [47] phi assert_sbyte::b#5 = test_sbytes::bd#0 [phi:test_sbytes::@2->assert_sbyte#1] -- vbsxx=vbsc1
|
||||
ldx #bd
|
||||
// [47] phi assert_sbyte::msg#5 = test_sbytes::msg2 [phi:test_sbytes::@2->assert_sbyte#2] -- pbuz1=pbuc1
|
||||
// [47] phi assert_sbyte::msg#5 = test_sbytes::msg2 [phi:test_sbytes::@2->assert_sbyte#2] -- call_phi_near
|
||||
lda #<msg2
|
||||
sta.z assert_sbyte.msg
|
||||
lda #>msg2
|
||||
@ -2619,7 +2619,7 @@ test_sbytes: {
|
||||
sta.z assert_sbyte.c
|
||||
// [47] phi assert_sbyte::b#5 = test_sbytes::be#0 [phi:test_sbytes::@3->assert_sbyte#1] -- vbsxx=vbsc1
|
||||
ldx #be
|
||||
// [47] phi assert_sbyte::msg#5 = test_sbytes::msg3 [phi:test_sbytes::@3->assert_sbyte#2] -- pbuz1=pbuc1
|
||||
// [47] phi assert_sbyte::msg#5 = test_sbytes::msg3 [phi:test_sbytes::@3->assert_sbyte#2] -- call_phi_near
|
||||
lda #<msg3
|
||||
sta.z assert_sbyte.msg
|
||||
lda #>msg3
|
||||
@ -2635,7 +2635,7 @@ test_sbytes: {
|
||||
sta.z assert_sbyte.c
|
||||
// [47] phi assert_sbyte::b#5 = test_sbytes::bf [phi:test_sbytes::@4->assert_sbyte#1] -- vbsxx=vbsc1
|
||||
ldx #bf
|
||||
// [47] phi assert_sbyte::msg#5 = test_sbytes::msg4 [phi:test_sbytes::@4->assert_sbyte#2] -- pbuz1=pbuc1
|
||||
// [47] phi assert_sbyte::msg#5 = test_sbytes::msg4 [phi:test_sbytes::@4->assert_sbyte#2] -- call_phi_near
|
||||
lda #<msg4
|
||||
sta.z assert_sbyte.msg
|
||||
lda #>msg4
|
||||
@ -2710,7 +2710,7 @@ assert_byte: {
|
||||
// [36] call print_str
|
||||
// [61] phi from assert_byte to print_str [phi:assert_byte->print_str]
|
||||
// [61] phi print_char_cursor#87 = print_char_cursor#77 [phi:assert_byte->print_str#0] -- register_copy
|
||||
// [61] phi print_str::str#12 = print_str::str#1 [phi:assert_byte->print_str#1] -- register_copy
|
||||
// [61] phi print_str::str#12 = print_str::str#1 [phi:assert_byte->print_str#1] -- call_phi_near
|
||||
jsr print_str
|
||||
// [37] phi from assert_byte to assert_byte::@4 [phi:assert_byte->assert_byte::@4]
|
||||
// assert_byte::@4
|
||||
@ -2718,7 +2718,7 @@ assert_byte: {
|
||||
// [38] call print_str
|
||||
// [61] phi from assert_byte::@4 to print_str [phi:assert_byte::@4->print_str]
|
||||
// [61] phi print_char_cursor#87 = print_char_cursor#1 [phi:assert_byte::@4->print_str#0] -- register_copy
|
||||
// [61] phi print_str::str#12 = str [phi:assert_byte::@4->print_str#1] -- pbuz1=pbuc1
|
||||
// [61] phi print_str::str#12 = str [phi:assert_byte::@4->print_str#1] -- call_phi_near
|
||||
lda #<str
|
||||
sta.z print_str.str
|
||||
lda #>str
|
||||
@ -2735,7 +2735,7 @@ assert_byte: {
|
||||
// [41] call print_str
|
||||
// [61] phi from assert_byte::@3 to print_str [phi:assert_byte::@3->print_str]
|
||||
// [61] phi print_char_cursor#87 = print_char_cursor#1 [phi:assert_byte::@3->print_str#0] -- register_copy
|
||||
// [61] phi print_str::str#12 = str2 [phi:assert_byte::@3->print_str#1] -- pbuz1=pbuc1
|
||||
// [61] phi print_str::str#12 = str2 [phi:assert_byte::@3->print_str#1] -- call_phi_near
|
||||
lda #<str2
|
||||
sta.z print_str.str
|
||||
lda #>str2
|
||||
@ -2747,7 +2747,7 @@ assert_byte: {
|
||||
// print_ln()
|
||||
// [43] call print_ln
|
||||
// [68] phi from assert_byte::@2 to print_ln [phi:assert_byte::@2->print_ln]
|
||||
// [68] phi print_line_cursor#49 = print_line_cursor#52 [phi:assert_byte::@2->print_ln#0] -- register_copy
|
||||
// [68] phi print_line_cursor#49 = print_line_cursor#52 [phi:assert_byte::@2->print_ln#0] -- call_phi_near
|
||||
jsr print_ln
|
||||
// assert_byte::@return
|
||||
// }
|
||||
@ -2763,7 +2763,7 @@ assert_byte: {
|
||||
// [46] call print_str
|
||||
// [61] phi from assert_byte::@1 to print_str [phi:assert_byte::@1->print_str]
|
||||
// [61] phi print_char_cursor#87 = print_char_cursor#1 [phi:assert_byte::@1->print_str#0] -- register_copy
|
||||
// [61] phi print_str::str#12 = str1 [phi:assert_byte::@1->print_str#1] -- pbuz1=pbuc1
|
||||
// [61] phi print_str::str#12 = str1 [phi:assert_byte::@1->print_str#1] -- call_phi_near
|
||||
lda #<str1
|
||||
sta.z print_str.str
|
||||
lda #>str1
|
||||
@ -2787,7 +2787,7 @@ assert_sbyte: {
|
||||
// [50] call print_str
|
||||
// [61] phi from assert_sbyte to print_str [phi:assert_sbyte->print_str]
|
||||
// [61] phi print_char_cursor#87 = print_char_cursor#92 [phi:assert_sbyte->print_str#0] -- register_copy
|
||||
// [61] phi print_str::str#12 = print_str::str#5 [phi:assert_sbyte->print_str#1] -- register_copy
|
||||
// [61] phi print_str::str#12 = print_str::str#5 [phi:assert_sbyte->print_str#1] -- call_phi_near
|
||||
jsr print_str
|
||||
// [51] phi from assert_sbyte to assert_sbyte::@4 [phi:assert_sbyte->assert_sbyte::@4]
|
||||
// assert_sbyte::@4
|
||||
@ -2795,7 +2795,7 @@ assert_sbyte: {
|
||||
// [52] call print_str
|
||||
// [61] phi from assert_sbyte::@4 to print_str [phi:assert_sbyte::@4->print_str]
|
||||
// [61] phi print_char_cursor#87 = print_char_cursor#1 [phi:assert_sbyte::@4->print_str#0] -- register_copy
|
||||
// [61] phi print_str::str#12 = str [phi:assert_sbyte::@4->print_str#1] -- pbuz1=pbuc1
|
||||
// [61] phi print_str::str#12 = str [phi:assert_sbyte::@4->print_str#1] -- call_phi_near
|
||||
lda #<str
|
||||
sta.z print_str.str
|
||||
lda #>str
|
||||
@ -2812,7 +2812,7 @@ assert_sbyte: {
|
||||
// [55] call print_str
|
||||
// [61] phi from assert_sbyte::@3 to print_str [phi:assert_sbyte::@3->print_str]
|
||||
// [61] phi print_char_cursor#87 = print_char_cursor#1 [phi:assert_sbyte::@3->print_str#0] -- register_copy
|
||||
// [61] phi print_str::str#12 = str2 [phi:assert_sbyte::@3->print_str#1] -- pbuz1=pbuc1
|
||||
// [61] phi print_str::str#12 = str2 [phi:assert_sbyte::@3->print_str#1] -- call_phi_near
|
||||
lda #<str2
|
||||
sta.z print_str.str
|
||||
lda #>str2
|
||||
@ -2824,7 +2824,7 @@ assert_sbyte: {
|
||||
// print_ln()
|
||||
// [57] call print_ln
|
||||
// [68] phi from assert_sbyte::@2 to print_ln [phi:assert_sbyte::@2->print_ln]
|
||||
// [68] phi print_line_cursor#49 = print_line_cursor#0 [phi:assert_sbyte::@2->print_ln#0] -- register_copy
|
||||
// [68] phi print_line_cursor#49 = print_line_cursor#0 [phi:assert_sbyte::@2->print_ln#0] -- call_phi_near
|
||||
jsr print_ln
|
||||
// assert_sbyte::@return
|
||||
// }
|
||||
@ -2840,7 +2840,7 @@ assert_sbyte: {
|
||||
// [60] call print_str
|
||||
// [61] phi from assert_sbyte::@1 to print_str [phi:assert_sbyte::@1->print_str]
|
||||
// [61] phi print_char_cursor#87 = print_char_cursor#1 [phi:assert_sbyte::@1->print_str#0] -- register_copy
|
||||
// [61] phi print_str::str#12 = str1 [phi:assert_sbyte::@1->print_str#1] -- pbuz1=pbuc1
|
||||
// [61] phi print_str::str#12 = str1 [phi:assert_sbyte::@1->print_str#1] -- call_phi_near
|
||||
lda #<str1
|
||||
sta.z print_str.str
|
||||
lda #>str1
|
||||
@ -2874,7 +2874,7 @@ print_str: {
|
||||
// [65] print_char::ch#0 = *print_str::str#10 -- vbuaa=_deref_pbuz1
|
||||
ldy #0
|
||||
lda (str),y
|
||||
// [66] call print_char
|
||||
// [66] call print_char -- call_phi_near
|
||||
jsr print_char
|
||||
// print_str::@3
|
||||
// print_char(*(str++));
|
||||
|
@ -180,7 +180,7 @@ ASSEMBLER BEFORE OPTIMIZATION
|
||||
.segment Code
|
||||
// main
|
||||
main: {
|
||||
// [1] call copy
|
||||
// [1] call copy -- call_phi_near
|
||||
jsr copy
|
||||
jmp __breturn
|
||||
// main::@return
|
||||
@ -267,7 +267,7 @@ Score: 41
|
||||
// main
|
||||
main: {
|
||||
// copy(B, A)
|
||||
// [1] call copy
|
||||
// [1] call copy -- call_phi_near
|
||||
jsr copy
|
||||
// main::@return
|
||||
// }
|
||||
|
@ -1758,7 +1758,7 @@ main: {
|
||||
.label x = $f
|
||||
.label y = $17
|
||||
// [1] call init_font_hex
|
||||
// [22] phi from main to init_font_hex [phi:main->init_font_hex]
|
||||
// [22] phi from main to init_font_hex [phi:main->init_font_hex] -- call_phi_near
|
||||
init_font_hex_from_main:
|
||||
jsr init_font_hex
|
||||
// [2] phi from main to main::toD0181 [phi:main->main::toD0181]
|
||||
@ -1816,7 +1816,7 @@ main: {
|
||||
sta.z yw
|
||||
// [8] atan2_16::x#0 = (int)main::xw#0
|
||||
// [9] atan2_16::y#0 = (int)main::yw#0
|
||||
// [10] call atan2_16
|
||||
// [10] call atan2_16 -- call_phi_near
|
||||
jsr atan2_16
|
||||
// [11] atan2_16::return#2 = atan2_16::return#0
|
||||
jmp __b6
|
||||
@ -2636,7 +2636,7 @@ main: {
|
||||
.label y = $17
|
||||
// init_font_hex(CHARSET)
|
||||
// [1] call init_font_hex
|
||||
// [22] phi from main to init_font_hex [phi:main->init_font_hex]
|
||||
// [22] phi from main to init_font_hex [phi:main->init_font_hex] -- call_phi_near
|
||||
jsr init_font_hex
|
||||
// [2] phi from main to main::toD0181 [phi:main->main::toD0181]
|
||||
// main::toD0181
|
||||
@ -2683,7 +2683,7 @@ main: {
|
||||
// word angle_w = atan2_16(xw, yw)
|
||||
// [8] atan2_16::x#0 = (int)main::xw#0
|
||||
// [9] atan2_16::y#0 = (int)main::yw#0
|
||||
// [10] call atan2_16
|
||||
// [10] call atan2_16 -- call_phi_near
|
||||
jsr atan2_16
|
||||
// [11] atan2_16::return#2 = atan2_16::return#0
|
||||
// main::@6
|
||||
|
@ -2027,7 +2027,7 @@ main: {
|
||||
// Clear the screen by modifying the charset
|
||||
.label clear_char = $18
|
||||
// [1] call init_font_hex
|
||||
// [10] phi from main to init_font_hex [phi:main->init_font_hex]
|
||||
// [10] phi from main to init_font_hex [phi:main->init_font_hex] -- call_phi_near
|
||||
init_font_hex_from_main:
|
||||
jsr init_font_hex
|
||||
// [2] phi from main to main::toD0181 [phi:main->main::toD0181]
|
||||
@ -2042,7 +2042,7 @@ main: {
|
||||
lda #toD0181_return
|
||||
sta D018
|
||||
// [4] call init_angle_screen
|
||||
// [33] phi from main::@5 to init_angle_screen [phi:main::@5->init_angle_screen]
|
||||
// [33] phi from main::@5 to init_angle_screen [phi:main::@5->init_angle_screen] -- call_phi_near
|
||||
init_angle_screen_from___b5:
|
||||
jsr init_angle_screen
|
||||
// [5] phi from main::@5 to main::@1 [phi:main::@5->main::@1]
|
||||
@ -2357,7 +2357,7 @@ init_angle_screen: {
|
||||
sty.z yw
|
||||
// [47] atan2_16::x#0 = (int)init_angle_screen::xw#0
|
||||
// [48] atan2_16::y#0 = (int)init_angle_screen::yw#0
|
||||
// [49] call atan2_16
|
||||
// [49] call atan2_16 -- call_phi_near
|
||||
jsr atan2_16
|
||||
// [50] atan2_16::return#2 = atan2_16::return#0
|
||||
jmp __b5
|
||||
@ -3059,7 +3059,7 @@ main: {
|
||||
.label clear_char = $18
|
||||
// init_font_hex(CHARSET)
|
||||
// [1] call init_font_hex
|
||||
// [10] phi from main to init_font_hex [phi:main->init_font_hex]
|
||||
// [10] phi from main to init_font_hex [phi:main->init_font_hex] -- call_phi_near
|
||||
jsr init_font_hex
|
||||
// [2] phi from main to main::toD0181 [phi:main->main::toD0181]
|
||||
// main::toD0181
|
||||
@ -3070,7 +3070,7 @@ main: {
|
||||
sta D018
|
||||
// init_angle_screen(SCREEN)
|
||||
// [4] call init_angle_screen
|
||||
// [33] phi from main::@5 to init_angle_screen [phi:main::@5->init_angle_screen]
|
||||
// [33] phi from main::@5 to init_angle_screen [phi:main::@5->init_angle_screen] -- call_phi_near
|
||||
jsr init_angle_screen
|
||||
// [5] phi from main::@5 to main::@1 [phi:main::@5->main::@1]
|
||||
// [5] phi main::clear_char#5 = CHARSET [phi:main::@5->main::@1#0] -- pbuz1=pbuc1
|
||||
@ -3373,7 +3373,7 @@ init_angle_screen: {
|
||||
// word angle_w = atan2_16(xw, yw)
|
||||
// [47] atan2_16::x#0 = (int)init_angle_screen::xw#0
|
||||
// [48] atan2_16::y#0 = (int)init_angle_screen::yw#0
|
||||
// [49] call atan2_16
|
||||
// [49] call atan2_16 -- call_phi_near
|
||||
jsr atan2_16
|
||||
// [50] atan2_16::return#2 = atan2_16::return#0
|
||||
// init_angle_screen::@5
|
||||
|
@ -1440,7 +1440,7 @@ main: {
|
||||
.label x = $c
|
||||
.label y = $d
|
||||
// [1] call init_font_hex
|
||||
// [18] phi from main to init_font_hex [phi:main->init_font_hex]
|
||||
// [18] phi from main to init_font_hex [phi:main->init_font_hex] -- call_phi_near
|
||||
init_font_hex_from_main:
|
||||
jsr init_font_hex
|
||||
// [2] phi from main to main::toD0181 [phi:main->main::toD0181]
|
||||
@ -1488,7 +1488,7 @@ main: {
|
||||
__b2:
|
||||
// [6] atan2_8::x#0 = main::x#2
|
||||
// [7] atan2_8::y#0 = main::y#4
|
||||
// [8] call atan2_8
|
||||
// [8] call atan2_8 -- call_phi_near
|
||||
jsr atan2_8
|
||||
// [9] atan2_8::return#2 = atan2_8::return#0 -- vbuaa=vbuxx
|
||||
txa
|
||||
@ -2171,7 +2171,7 @@ main: {
|
||||
.label y = $d
|
||||
// init_font_hex(CHARSET)
|
||||
// [1] call init_font_hex
|
||||
// [18] phi from main to init_font_hex [phi:main->init_font_hex]
|
||||
// [18] phi from main to init_font_hex [phi:main->init_font_hex] -- call_phi_near
|
||||
jsr init_font_hex
|
||||
// [2] phi from main to main::toD0181 [phi:main->main::toD0181]
|
||||
// main::toD0181
|
||||
@ -2207,7 +2207,7 @@ main: {
|
||||
// byte angle = atan2_8(x, y)
|
||||
// [6] atan2_8::x#0 = main::x#2
|
||||
// [7] atan2_8::y#0 = main::y#4
|
||||
// [8] call atan2_8
|
||||
// [8] call atan2_8 -- call_phi_near
|
||||
jsr atan2_8
|
||||
// [9] atan2_8::return#2 = atan2_8::return#0 -- vbuaa=vbuxx
|
||||
txa
|
||||
|
@ -243,7 +243,7 @@ main: {
|
||||
sum_from_main:
|
||||
// [10] phi sum::b#2 = 2 [phi:main->sum#0] -- vbuaa=vbuc1
|
||||
lda #2
|
||||
// [10] phi sum::a#2 = 'a' [phi:main->sum#1] -- vbuxx=vbuc1
|
||||
// [10] phi sum::a#2 = 'a' [phi:main->sum#1] -- call_phi_near
|
||||
ldx #'a'
|
||||
jsr sum
|
||||
// [2] sum::return#0 = sum::return#2
|
||||
@ -258,7 +258,7 @@ main: {
|
||||
sum_from___b1:
|
||||
// [10] phi sum::b#2 = $c [phi:main::@1->sum#0] -- vbuaa=vbuc1
|
||||
lda #$c
|
||||
// [10] phi sum::a#2 = 'a' [phi:main::@1->sum#1] -- vbuxx=vbuc1
|
||||
// [10] phi sum::a#2 = 'a' [phi:main::@1->sum#1] -- call_phi_near
|
||||
ldx #'a'
|
||||
jsr sum
|
||||
// [6] sum::return#1 = sum::return#2
|
||||
@ -353,7 +353,7 @@ main: {
|
||||
// [10] phi from main to sum [phi:main->sum]
|
||||
// [10] phi sum::b#2 = 2 [phi:main->sum#0] -- vbuaa=vbuc1
|
||||
lda #2
|
||||
// [10] phi sum::a#2 = 'a' [phi:main->sum#1] -- vbuxx=vbuc1
|
||||
// [10] phi sum::a#2 = 'a' [phi:main->sum#1] -- call_phi_near
|
||||
ldx #'a'
|
||||
jsr sum
|
||||
// sum('a', 2)
|
||||
@ -368,7 +368,7 @@ main: {
|
||||
// [10] phi from main::@1 to sum [phi:main::@1->sum]
|
||||
// [10] phi sum::b#2 = $c [phi:main::@1->sum#0] -- vbuaa=vbuc1
|
||||
lda #$c
|
||||
// [10] phi sum::a#2 = 'a' [phi:main::@1->sum#1] -- vbuxx=vbuc1
|
||||
// [10] phi sum::a#2 = 'a' [phi:main::@1->sum#1] -- call_phi_near
|
||||
ldx #'a'
|
||||
jsr sum
|
||||
// sum('a', 12)
|
||||
|
@ -438,7 +438,7 @@ main: {
|
||||
out_from_main:
|
||||
// [24] phi i#27 = 0 [phi:main->out#0] -- vbuyy=vbuc1
|
||||
ldy #0
|
||||
// [24] phi out::c#10 = main::reg_zp_flex [phi:main->out#1] -- vbuxx=vbuc1
|
||||
// [24] phi out::c#10 = main::reg_zp_flex [phi:main->out#1] -- call_phi_near
|
||||
ldx #reg_zp_flex
|
||||
jsr out
|
||||
jmp __b1
|
||||
@ -450,7 +450,7 @@ main: {
|
||||
// [24] phi from main::@1 to out [phi:main::@1->out]
|
||||
out_from___b1:
|
||||
// [24] phi i#27 = i#11 [phi:main::@1->out#0] -- register_copy
|
||||
// [24] phi out::c#10 = out::c#1 [phi:main::@1->out#1] -- register_copy
|
||||
// [24] phi out::c#10 = out::c#1 [phi:main::@1->out#1] -- call_phi_near
|
||||
jsr out
|
||||
// [7] phi from main::@1 to main::@2 [phi:main::@1->main::@2]
|
||||
__b2_from___b1:
|
||||
@ -461,7 +461,7 @@ main: {
|
||||
// [24] phi from main::@2 to out [phi:main::@2->out]
|
||||
out_from___b2:
|
||||
// [24] phi i#27 = i#11 [phi:main::@2->out#0] -- register_copy
|
||||
// [24] phi out::c#10 = main::reg_mem_flex [phi:main::@2->out#1] -- vbuxx=vbuc1
|
||||
// [24] phi out::c#10 = main::reg_mem_flex [phi:main::@2->out#1] -- call_phi_near
|
||||
ldx #reg_mem_flex
|
||||
jsr out
|
||||
jmp __b3
|
||||
@ -473,7 +473,7 @@ main: {
|
||||
// [24] phi from main::@3 to out [phi:main::@3->out]
|
||||
out_from___b3:
|
||||
// [24] phi i#27 = i#11 [phi:main::@3->out#0] -- register_copy
|
||||
// [24] phi out::c#10 = out::c#3 [phi:main::@3->out#1] -- register_copy
|
||||
// [24] phi out::c#10 = out::c#3 [phi:main::@3->out#1] -- call_phi_near
|
||||
jsr out
|
||||
// [11] phi from main::@3 to main::@4 [phi:main::@3->main::@4]
|
||||
__b4_from___b3:
|
||||
@ -484,7 +484,7 @@ main: {
|
||||
// [24] phi from main::@4 to out [phi:main::@4->out]
|
||||
out_from___b4:
|
||||
// [24] phi i#27 = i#11 [phi:main::@4->out#0] -- register_copy
|
||||
// [24] phi out::c#10 = main::default_default [phi:main::@4->out#1] -- vbuxx=vbuc1
|
||||
// [24] phi out::c#10 = main::default_default [phi:main::@4->out#1] -- call_phi_near
|
||||
ldx #default_default
|
||||
jsr out
|
||||
// [13] phi from main::@4 to main::@5 [phi:main::@4->main::@5]
|
||||
@ -496,7 +496,7 @@ main: {
|
||||
// [24] phi from main::@5 to out [phi:main::@5->out]
|
||||
out_from___b5:
|
||||
// [24] phi i#27 = i#11 [phi:main::@5->out#0] -- register_copy
|
||||
// [24] phi out::c#10 = main::reg_default [phi:main::@5->out#1] -- vbuxx=vbuc1
|
||||
// [24] phi out::c#10 = main::reg_default [phi:main::@5->out#1] -- call_phi_near
|
||||
ldx #reg_default
|
||||
jsr out
|
||||
// [15] phi from main::@5 to main::@6 [phi:main::@5->main::@6]
|
||||
@ -508,7 +508,7 @@ main: {
|
||||
// [24] phi from main::@6 to out [phi:main::@6->out]
|
||||
out_from___b6:
|
||||
// [24] phi i#27 = i#11 [phi:main::@6->out#0] -- register_copy
|
||||
// [24] phi out::c#10 = main::default_zp_flex [phi:main::@6->out#1] -- vbuxx=vbuc1
|
||||
// [24] phi out::c#10 = main::default_zp_flex [phi:main::@6->out#1] -- call_phi_near
|
||||
ldx #default_zp_flex
|
||||
jsr out
|
||||
jmp __b7
|
||||
@ -520,7 +520,7 @@ main: {
|
||||
// [24] phi from main::@7 to out [phi:main::@7->out]
|
||||
out_from___b7:
|
||||
// [24] phi i#27 = i#11 [phi:main::@7->out#0] -- register_copy
|
||||
// [24] phi out::c#10 = out::c#7 [phi:main::@7->out#1] -- register_copy
|
||||
// [24] phi out::c#10 = out::c#7 [phi:main::@7->out#1] -- call_phi_near
|
||||
jsr out
|
||||
// [19] phi from main::@7 to main::@8 [phi:main::@7->main::@8]
|
||||
__b8_from___b7:
|
||||
@ -531,7 +531,7 @@ main: {
|
||||
// [24] phi from main::@8 to out [phi:main::@8->out]
|
||||
out_from___b8:
|
||||
// [24] phi i#27 = i#11 [phi:main::@8->out#0] -- register_copy
|
||||
// [24] phi out::c#10 = main::default_mem_flex [phi:main::@8->out#1] -- vbuxx=vbuc1
|
||||
// [24] phi out::c#10 = main::default_mem_flex [phi:main::@8->out#1] -- call_phi_near
|
||||
ldx #default_mem_flex
|
||||
jsr out
|
||||
jmp __b9
|
||||
@ -543,7 +543,7 @@ main: {
|
||||
// [24] phi from main::@9 to out [phi:main::@9->out]
|
||||
out_from___b9:
|
||||
// [24] phi i#27 = i#11 [phi:main::@9->out#0] -- register_copy
|
||||
// [24] phi out::c#10 = out::c#9 [phi:main::@9->out#1] -- register_copy
|
||||
// [24] phi out::c#10 = out::c#9 [phi:main::@9->out#1] -- call_phi_near
|
||||
jsr out
|
||||
jmp __breturn
|
||||
// main::@return
|
||||
@ -694,7 +694,7 @@ main: {
|
||||
// [24] phi from main to out [phi:main->out]
|
||||
// [24] phi i#27 = 0 [phi:main->out#0] -- vbuyy=vbuc1
|
||||
ldy #0
|
||||
// [24] phi out::c#10 = main::reg_zp_flex [phi:main->out#1] -- vbuxx=vbuc1
|
||||
// [24] phi out::c#10 = main::reg_zp_flex [phi:main->out#1] -- call_phi_near
|
||||
ldx #reg_zp_flex
|
||||
jsr out
|
||||
// main::@1
|
||||
@ -704,7 +704,7 @@ main: {
|
||||
// [6] call out
|
||||
// [24] phi from main::@1 to out [phi:main::@1->out]
|
||||
// [24] phi i#27 = i#11 [phi:main::@1->out#0] -- register_copy
|
||||
// [24] phi out::c#10 = out::c#1 [phi:main::@1->out#1] -- register_copy
|
||||
// [24] phi out::c#10 = out::c#1 [phi:main::@1->out#1] -- call_phi_near
|
||||
jsr out
|
||||
// [7] phi from main::@1 to main::@2 [phi:main::@1->main::@2]
|
||||
// main::@2
|
||||
@ -712,7 +712,7 @@ main: {
|
||||
// [8] call out
|
||||
// [24] phi from main::@2 to out [phi:main::@2->out]
|
||||
// [24] phi i#27 = i#11 [phi:main::@2->out#0] -- register_copy
|
||||
// [24] phi out::c#10 = main::reg_mem_flex [phi:main::@2->out#1] -- vbuxx=vbuc1
|
||||
// [24] phi out::c#10 = main::reg_mem_flex [phi:main::@2->out#1] -- call_phi_near
|
||||
ldx #reg_mem_flex
|
||||
jsr out
|
||||
// main::@3
|
||||
@ -722,7 +722,7 @@ main: {
|
||||
// [10] call out
|
||||
// [24] phi from main::@3 to out [phi:main::@3->out]
|
||||
// [24] phi i#27 = i#11 [phi:main::@3->out#0] -- register_copy
|
||||
// [24] phi out::c#10 = out::c#3 [phi:main::@3->out#1] -- register_copy
|
||||
// [24] phi out::c#10 = out::c#3 [phi:main::@3->out#1] -- call_phi_near
|
||||
jsr out
|
||||
// [11] phi from main::@3 to main::@4 [phi:main::@3->main::@4]
|
||||
// main::@4
|
||||
@ -730,7 +730,7 @@ main: {
|
||||
// [12] call out
|
||||
// [24] phi from main::@4 to out [phi:main::@4->out]
|
||||
// [24] phi i#27 = i#11 [phi:main::@4->out#0] -- register_copy
|
||||
// [24] phi out::c#10 = main::default_default [phi:main::@4->out#1] -- vbuxx=vbuc1
|
||||
// [24] phi out::c#10 = main::default_default [phi:main::@4->out#1] -- call_phi_near
|
||||
ldx #default_default
|
||||
jsr out
|
||||
// [13] phi from main::@4 to main::@5 [phi:main::@4->main::@5]
|
||||
@ -739,7 +739,7 @@ main: {
|
||||
// [14] call out
|
||||
// [24] phi from main::@5 to out [phi:main::@5->out]
|
||||
// [24] phi i#27 = i#11 [phi:main::@5->out#0] -- register_copy
|
||||
// [24] phi out::c#10 = main::reg_default [phi:main::@5->out#1] -- vbuxx=vbuc1
|
||||
// [24] phi out::c#10 = main::reg_default [phi:main::@5->out#1] -- call_phi_near
|
||||
ldx #reg_default
|
||||
jsr out
|
||||
// [15] phi from main::@5 to main::@6 [phi:main::@5->main::@6]
|
||||
@ -748,7 +748,7 @@ main: {
|
||||
// [16] call out
|
||||
// [24] phi from main::@6 to out [phi:main::@6->out]
|
||||
// [24] phi i#27 = i#11 [phi:main::@6->out#0] -- register_copy
|
||||
// [24] phi out::c#10 = main::default_zp_flex [phi:main::@6->out#1] -- vbuxx=vbuc1
|
||||
// [24] phi out::c#10 = main::default_zp_flex [phi:main::@6->out#1] -- call_phi_near
|
||||
ldx #default_zp_flex
|
||||
jsr out
|
||||
// main::@7
|
||||
@ -758,7 +758,7 @@ main: {
|
||||
// [18] call out
|
||||
// [24] phi from main::@7 to out [phi:main::@7->out]
|
||||
// [24] phi i#27 = i#11 [phi:main::@7->out#0] -- register_copy
|
||||
// [24] phi out::c#10 = out::c#7 [phi:main::@7->out#1] -- register_copy
|
||||
// [24] phi out::c#10 = out::c#7 [phi:main::@7->out#1] -- call_phi_near
|
||||
jsr out
|
||||
// [19] phi from main::@7 to main::@8 [phi:main::@7->main::@8]
|
||||
// main::@8
|
||||
@ -766,7 +766,7 @@ main: {
|
||||
// [20] call out
|
||||
// [24] phi from main::@8 to out [phi:main::@8->out]
|
||||
// [24] phi i#27 = i#11 [phi:main::@8->out#0] -- register_copy
|
||||
// [24] phi out::c#10 = main::default_mem_flex [phi:main::@8->out#1] -- vbuxx=vbuc1
|
||||
// [24] phi out::c#10 = main::default_mem_flex [phi:main::@8->out#1] -- call_phi_near
|
||||
ldx #default_mem_flex
|
||||
jsr out
|
||||
// main::@9
|
||||
@ -776,7 +776,7 @@ main: {
|
||||
// [22] call out
|
||||
// [24] phi from main::@9 to out [phi:main::@9->out]
|
||||
// [24] phi i#27 = i#11 [phi:main::@9->out#0] -- register_copy
|
||||
// [24] phi out::c#10 = out::c#9 [phi:main::@9->out#1] -- register_copy
|
||||
// [24] phi out::c#10 = out::c#9 [phi:main::@9->out#1] -- call_phi_near
|
||||
jsr out
|
||||
// main::@return
|
||||
// }
|
||||
|
@ -181,7 +181,7 @@ __start: {
|
||||
// __start::@1
|
||||
__b1:
|
||||
// [3] call main
|
||||
// [5] phi from __start::@1 to main [phi:__start::@1->main]
|
||||
// [5] phi from __start::@1 to main [phi:__start::@1->main] -- call_phi_near
|
||||
main_from___b1:
|
||||
jsr main
|
||||
jmp __breturn
|
||||
@ -287,7 +287,7 @@ __start: {
|
||||
// [2] phi from __start::__init1 to __start::@1 [phi:__start::__init1->__start::@1]
|
||||
// __start::@1
|
||||
// [3] call main
|
||||
// [5] phi from __start::@1 to main [phi:__start::@1->main]
|
||||
// [5] phi from __start::@1 to main [phi:__start::@1->main] -- call_phi_near
|
||||
jsr main
|
||||
// __start::@return
|
||||
// [4] return
|
||||
|
@ -179,7 +179,7 @@ __start: {
|
||||
// __start::@1
|
||||
__b1:
|
||||
// [3] call main
|
||||
// [5] phi from __start::@1 to main [phi:__start::@1->main]
|
||||
// [5] phi from __start::@1 to main [phi:__start::@1->main] -- call_phi_near
|
||||
main_from___b1:
|
||||
jsr main
|
||||
jmp __breturn
|
||||
@ -285,7 +285,7 @@ __start: {
|
||||
// [2] phi from __start::__init1 to __start::@1 [phi:__start::__init1->__start::@1]
|
||||
// __start::@1
|
||||
// [3] call main
|
||||
// [5] phi from __start::@1 to main [phi:__start::@1->main]
|
||||
// [5] phi from __start::@1 to main [phi:__start::@1->main] -- call_phi_near
|
||||
jsr main
|
||||
// __start::@return
|
||||
// [4] return
|
||||
|
@ -518,7 +518,7 @@ __start: {
|
||||
jmp __b1
|
||||
// __start::@1
|
||||
__b1:
|
||||
// [3] call main
|
||||
// [3] call main -- call_phi_near
|
||||
jsr main
|
||||
jmp __breturn
|
||||
// __start::@return
|
||||
@ -791,7 +791,7 @@ __start: {
|
||||
sta.z idx_nssa_g
|
||||
// [2] phi from __start::__init1 to __start::@1 [phi:__start::__init1->__start::@1]
|
||||
// __start::@1
|
||||
// [3] call main
|
||||
// [3] call main -- call_phi_near
|
||||
jsr main
|
||||
// __start::@return
|
||||
// [4] return
|
||||
|
@ -469,7 +469,7 @@ main: {
|
||||
.label ch = 6
|
||||
.label x = 7
|
||||
// [1] call memset
|
||||
// [13] phi from main to memset [phi:main->memset]
|
||||
// [13] phi from main to memset [phi:main->memset] -- call_phi_near
|
||||
memset_from_main:
|
||||
jsr memset
|
||||
// [2] phi from main to main::@1 [phi:main->main::@1]
|
||||
@ -686,7 +686,7 @@ main: {
|
||||
.label x = 7
|
||||
// memset(SCREEN, ' ', 1000)
|
||||
// [1] call memset
|
||||
// [13] phi from main to memset [phi:main->memset]
|
||||
// [13] phi from main to memset [phi:main->memset] -- call_phi_near
|
||||
jsr memset
|
||||
// [2] phi from main to main::@1 [phi:main->main::@1]
|
||||
// [2] phi main::x#4 = 0 [phi:main->main::@1#0] -- vbuz1=vbuc1
|
||||
|
@ -245,7 +245,7 @@ main: {
|
||||
// [5] phi screen_idx#11 = 0 [phi:main->print#0] -- vbuz1=vbuc1
|
||||
lda #0
|
||||
sta.z screen_idx
|
||||
// [5] phi print::m#2 = msg1 [phi:main->print#1] -- pbuz1=pbuc1
|
||||
// [5] phi print::m#2 = msg1 [phi:main->print#1] -- call_phi_near
|
||||
lda #<msg1
|
||||
sta.z print.m
|
||||
lda #>msg1
|
||||
@ -260,7 +260,7 @@ main: {
|
||||
// [5] phi from main::@1 to print [phi:main::@1->print]
|
||||
print_from___b1:
|
||||
// [5] phi screen_idx#11 = screen_idx#12 [phi:main::@1->print#0] -- register_copy
|
||||
// [5] phi print::m#2 = msg2 [phi:main::@1->print#1] -- pbuz1=pbuc1
|
||||
// [5] phi print::m#2 = msg2 [phi:main::@1->print#1] -- call_phi_near
|
||||
lda #<msg2
|
||||
sta.z print.m
|
||||
lda #>msg2
|
||||
@ -358,7 +358,7 @@ main: {
|
||||
// [5] phi screen_idx#11 = 0 [phi:main->print#0] -- vbuz1=vbuc1
|
||||
lda #0
|
||||
sta.z screen_idx
|
||||
// [5] phi print::m#2 = msg1 [phi:main->print#1] -- pbuz1=pbuc1
|
||||
// [5] phi print::m#2 = msg1 [phi:main->print#1] -- call_phi_near
|
||||
lda #<msg1
|
||||
sta.z print.m
|
||||
lda #>msg1
|
||||
@ -370,7 +370,7 @@ main: {
|
||||
// [3] call print
|
||||
// [5] phi from main::@1 to print [phi:main::@1->print]
|
||||
// [5] phi screen_idx#11 = screen_idx#12 [phi:main::@1->print#0] -- register_copy
|
||||
// [5] phi print::m#2 = msg2 [phi:main::@1->print#1] -- pbuz1=pbuc1
|
||||
// [5] phi print::m#2 = msg2 [phi:main::@1->print#1] -- call_phi_near
|
||||
lda #<msg2
|
||||
sta.z print.m
|
||||
lda #>msg2
|
||||
|
@ -225,7 +225,7 @@ main: {
|
||||
print_from_main:
|
||||
// [5] phi idx#11 = 0 [phi:main->print#0] -- vbuxx=vbuc1
|
||||
ldx #0
|
||||
// [5] phi print::m#2 = msg1 [phi:main->print#1] -- pbuz1=pbuc1
|
||||
// [5] phi print::m#2 = msg1 [phi:main->print#1] -- call_phi_near
|
||||
lda #<msg1
|
||||
sta.z print.m
|
||||
lda #>msg1
|
||||
@ -240,7 +240,7 @@ main: {
|
||||
// [5] phi from main::@1 to print [phi:main::@1->print]
|
||||
print_from___b1:
|
||||
// [5] phi idx#11 = idx#12 [phi:main::@1->print#0] -- register_copy
|
||||
// [5] phi print::m#2 = msg2 [phi:main::@1->print#1] -- pbuz1=pbuc1
|
||||
// [5] phi print::m#2 = msg2 [phi:main::@1->print#1] -- call_phi_near
|
||||
lda #<msg2
|
||||
sta.z print.m
|
||||
lda #>msg2
|
||||
@ -327,7 +327,7 @@ main: {
|
||||
// [5] phi from main to print [phi:main->print]
|
||||
// [5] phi idx#11 = 0 [phi:main->print#0] -- vbuxx=vbuc1
|
||||
ldx #0
|
||||
// [5] phi print::m#2 = msg1 [phi:main->print#1] -- pbuz1=pbuc1
|
||||
// [5] phi print::m#2 = msg1 [phi:main->print#1] -- call_phi_near
|
||||
lda #<msg1
|
||||
sta.z print.m
|
||||
lda #>msg1
|
||||
@ -339,7 +339,7 @@ main: {
|
||||
// [3] call print
|
||||
// [5] phi from main::@1 to print [phi:main::@1->print]
|
||||
// [5] phi idx#11 = idx#12 [phi:main::@1->print#0] -- register_copy
|
||||
// [5] phi print::m#2 = msg2 [phi:main::@1->print#1] -- pbuz1=pbuc1
|
||||
// [5] phi print::m#2 = msg2 [phi:main::@1->print#1] -- call_phi_near
|
||||
lda #<msg2
|
||||
sta.z print.m
|
||||
lda #>msg2
|
||||
|
@ -360,7 +360,7 @@ main: {
|
||||
// [0] chrout::petscii = $95 -- vbuz1=vbuc1
|
||||
lda #$95
|
||||
sta.z chrout.petscii
|
||||
// [1] call chrout
|
||||
// [1] call chrout -- call_phi_near
|
||||
jsr chrout
|
||||
jmp __b1
|
||||
// main::@1
|
||||
@ -368,7 +368,7 @@ main: {
|
||||
// [2] chrout::petscii = *points -- vbuz1=_deref_pbuc1
|
||||
lda points
|
||||
sta.z chrout.petscii
|
||||
// [3] call chrout
|
||||
// [3] call chrout -- call_phi_near
|
||||
jsr chrout
|
||||
jmp __b2
|
||||
// main::@2
|
||||
@ -376,7 +376,7 @@ main: {
|
||||
// [4] chrout::petscii = *(points+1) -- vbuz1=_deref_pbuc1
|
||||
lda points+1
|
||||
sta.z chrout.petscii
|
||||
// [5] call chrout
|
||||
// [5] call chrout -- call_phi_near
|
||||
jsr chrout
|
||||
jmp __b3
|
||||
// main::@3
|
||||
@ -384,7 +384,7 @@ main: {
|
||||
// [6] chrout::petscii = *(points+2) -- vbuz1=_deref_pbuc1
|
||||
lda points+2
|
||||
sta.z chrout.petscii
|
||||
// [7] call chrout
|
||||
// [7] call chrout -- call_phi_near
|
||||
jsr chrout
|
||||
jmp __b4
|
||||
// main::@4
|
||||
@ -392,7 +392,7 @@ main: {
|
||||
// [8] chrout::petscii = *(points+3) -- vbuz1=_deref_pbuc1
|
||||
lda points+3
|
||||
sta.z chrout.petscii
|
||||
// [9] call chrout
|
||||
// [9] call chrout -- call_phi_near
|
||||
jsr chrout
|
||||
jmp __breturn
|
||||
// main::@return
|
||||
@ -468,35 +468,35 @@ main: {
|
||||
// [0] chrout::petscii = $95 -- vbuz1=vbuc1
|
||||
lda #$95
|
||||
sta.z chrout.petscii
|
||||
// [1] call chrout
|
||||
// [1] call chrout -- call_phi_near
|
||||
jsr chrout
|
||||
// main::@1
|
||||
// chrout(points[0])
|
||||
// [2] chrout::petscii = *points -- vbuz1=_deref_pbuc1
|
||||
lda points
|
||||
sta.z chrout.petscii
|
||||
// [3] call chrout
|
||||
// [3] call chrout -- call_phi_near
|
||||
jsr chrout
|
||||
// main::@2
|
||||
// chrout(points[1])
|
||||
// [4] chrout::petscii = *(points+1) -- vbuz1=_deref_pbuc1
|
||||
lda points+1
|
||||
sta.z chrout.petscii
|
||||
// [5] call chrout
|
||||
// [5] call chrout -- call_phi_near
|
||||
jsr chrout
|
||||
// main::@3
|
||||
// chrout(points[2])
|
||||
// [6] chrout::petscii = *(points+2) -- vbuz1=_deref_pbuc1
|
||||
lda points+2
|
||||
sta.z chrout.petscii
|
||||
// [7] call chrout
|
||||
// [7] call chrout -- call_phi_near
|
||||
jsr chrout
|
||||
// main::@4
|
||||
// chrout(points[3])
|
||||
// [8] chrout::petscii = *(points+3) -- vbuz1=_deref_pbuc1
|
||||
lda points+3
|
||||
sta.z chrout.petscii
|
||||
// [9] call chrout
|
||||
// [9] call chrout -- call_phi_near
|
||||
jsr chrout
|
||||
// main::@return
|
||||
// }
|
||||
|
@ -214,7 +214,7 @@ main: {
|
||||
// [4] chrout::petscii = brick -- vbuz1=vbuc1
|
||||
lda #brick
|
||||
sta.z chrout.petscii
|
||||
// [5] call chrout
|
||||
// [5] call chrout -- call_phi_near
|
||||
jsr chrout
|
||||
jmp __b2
|
||||
// main::@2
|
||||
@ -320,7 +320,7 @@ main: {
|
||||
// [4] chrout::petscii = brick -- vbuz1=vbuc1
|
||||
lda #brick
|
||||
sta.z chrout.petscii
|
||||
// [5] call chrout
|
||||
// [5] call chrout -- call_phi_near
|
||||
jsr chrout
|
||||
// main::@2
|
||||
// ++k;
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -210,7 +210,7 @@ main: {
|
||||
// main::@1
|
||||
__b1:
|
||||
// [2] call menu
|
||||
// [3] phi from main::@1 to menu [phi:main::@1->menu]
|
||||
// [3] phi from main::@1 to menu [phi:main::@1->menu] -- call_phi_near
|
||||
menu_from___b1:
|
||||
jsr menu
|
||||
jmp __b1_from___b1
|
||||
@ -223,7 +223,7 @@ menu: {
|
||||
// menu::@1
|
||||
__b1:
|
||||
// [5] call mode
|
||||
// [7] phi from menu::@1 to mode [phi:menu::@1->mode]
|
||||
// [7] phi from menu::@1 to mode [phi:menu::@1->mode] -- call_phi_near
|
||||
mode_from___b1:
|
||||
jsr mode
|
||||
jmp __breturn
|
||||
@ -301,7 +301,7 @@ main: {
|
||||
__b1:
|
||||
// menu()
|
||||
// [2] call menu
|
||||
// [3] phi from main::@1 to menu [phi:main::@1->menu]
|
||||
// [3] phi from main::@1 to menu [phi:main::@1->menu] -- call_phi_near
|
||||
jsr menu
|
||||
jmp __b1
|
||||
}
|
||||
@ -311,7 +311,7 @@ menu: {
|
||||
// menu::@1
|
||||
// mode()
|
||||
// [5] call mode
|
||||
// [7] phi from menu::@1 to mode [phi:menu::@1->mode]
|
||||
// [7] phi from menu::@1 to mode [phi:menu::@1->mode] -- call_phi_near
|
||||
jsr mode
|
||||
// menu::@return
|
||||
// }
|
||||
|
@ -120,7 +120,7 @@ main: {
|
||||
// [0] *main::SCREEN = main::ON -- _deref_pbuc1=vbuc2
|
||||
lda #ON
|
||||
sta SCREEN
|
||||
// [1] call test
|
||||
// [1] call test -- call_phi_near
|
||||
jsr test
|
||||
jmp __breturn
|
||||
// main::@return
|
||||
@ -186,7 +186,7 @@ main: {
|
||||
lda #ON
|
||||
sta SCREEN
|
||||
// test()
|
||||
// [1] call test
|
||||
// [1] call test -- call_phi_near
|
||||
jsr test
|
||||
// main::@return
|
||||
// }
|
||||
|
@ -1274,7 +1274,7 @@ ASSEMBLER BEFORE OPTIMIZATION
|
||||
// main
|
||||
main: {
|
||||
// [1] call print_cls
|
||||
// [15] phi from main to print_cls [phi:main->print_cls]
|
||||
// [15] phi from main to print_cls [phi:main->print_cls] -- call_phi_near
|
||||
print_cls_from_main:
|
||||
jsr print_cls
|
||||
// [2] phi from main to main::@1 [phi:main->main::@1]
|
||||
@ -1298,7 +1298,7 @@ main: {
|
||||
sta.z print_char_cursor
|
||||
lda #>print_screen
|
||||
sta.z print_char_cursor+1
|
||||
// [18] phi print_euclid::a#10 = $80 [phi:main::@1->print_euclid#3] -- vbuz1=vbuc1
|
||||
// [18] phi print_euclid::a#10 = $80 [phi:main::@1->print_euclid#3] -- call_phi_near
|
||||
lda #$80
|
||||
sta.z print_euclid.a
|
||||
jsr print_euclid
|
||||
@ -1318,7 +1318,7 @@ main: {
|
||||
lda #$45
|
||||
sta.z print_euclid.b
|
||||
// [18] phi print_char_cursor#55 = print_char_cursor#65 [phi:main::@2->print_euclid#2] -- register_copy
|
||||
// [18] phi print_euclid::a#10 = $a9 [phi:main::@2->print_euclid#3] -- vbuz1=vbuc1
|
||||
// [18] phi print_euclid::a#10 = $a9 [phi:main::@2->print_euclid#3] -- call_phi_near
|
||||
lda #$a9
|
||||
sta.z print_euclid.a
|
||||
jsr print_euclid
|
||||
@ -1338,7 +1338,7 @@ main: {
|
||||
lda #$37
|
||||
sta.z print_euclid.b
|
||||
// [18] phi print_char_cursor#55 = print_char_cursor#66 [phi:main::@3->print_euclid#2] -- register_copy
|
||||
// [18] phi print_euclid::a#10 = $9b [phi:main::@3->print_euclid#3] -- vbuz1=vbuc1
|
||||
// [18] phi print_euclid::a#10 = $9b [phi:main::@3->print_euclid#3] -- call_phi_near
|
||||
lda #$9b
|
||||
sta.z print_euclid.a
|
||||
jsr print_euclid
|
||||
@ -1358,7 +1358,7 @@ main: {
|
||||
lda #3
|
||||
sta.z print_euclid.b
|
||||
// [18] phi print_char_cursor#55 = print_char_cursor#67 [phi:main::@4->print_euclid#2] -- register_copy
|
||||
// [18] phi print_euclid::a#10 = $c7 [phi:main::@4->print_euclid#3] -- vbuz1=vbuc1
|
||||
// [18] phi print_euclid::a#10 = $c7 [phi:main::@4->print_euclid#3] -- call_phi_near
|
||||
lda #$c7
|
||||
sta.z print_euclid.a
|
||||
jsr print_euclid
|
||||
@ -1378,7 +1378,7 @@ main: {
|
||||
lda #$1a
|
||||
sta.z print_euclid.b
|
||||
// [18] phi print_char_cursor#55 = print_char_cursor#68 [phi:main::@5->print_euclid#2] -- register_copy
|
||||
// [18] phi print_euclid::a#10 = $5b [phi:main::@5->print_euclid#3] -- vbuz1=vbuc1
|
||||
// [18] phi print_euclid::a#10 = $5b [phi:main::@5->print_euclid#3] -- call_phi_near
|
||||
lda #$5b
|
||||
sta.z print_euclid.a
|
||||
jsr print_euclid
|
||||
@ -1398,7 +1398,7 @@ main: {
|
||||
lda #$bb
|
||||
sta.z print_euclid.b
|
||||
// [18] phi print_char_cursor#55 = print_char_cursor#69 [phi:main::@6->print_euclid#2] -- register_copy
|
||||
// [18] phi print_euclid::a#10 = $77 [phi:main::@6->print_euclid#3] -- vbuz1=vbuc1
|
||||
// [18] phi print_euclid::a#10 = $77 [phi:main::@6->print_euclid#3] -- call_phi_near
|
||||
lda #$77
|
||||
sta.z print_euclid.a
|
||||
jsr print_euclid
|
||||
@ -1412,7 +1412,7 @@ main: {
|
||||
// Clear the screen. Also resets current line/char cursor.
|
||||
print_cls: {
|
||||
// [16] call memset
|
||||
// [36] phi from print_cls to memset [phi:print_cls->memset]
|
||||
// [36] phi from print_cls to memset [phi:print_cls->memset] -- call_phi_near
|
||||
memset_from_print_cls:
|
||||
jsr memset
|
||||
jmp __breturn
|
||||
@ -1432,7 +1432,7 @@ print_euclid: {
|
||||
// [42] phi from print_euclid to print_uchar [phi:print_euclid->print_uchar]
|
||||
print_uchar_from_print_euclid:
|
||||
// [42] phi print_char_cursor#53 = print_char_cursor#55 [phi:print_euclid->print_uchar#0] -- register_copy
|
||||
// [42] phi print_uchar::b#3 = print_uchar::b#0 [phi:print_euclid->print_uchar#1] -- register_copy
|
||||
// [42] phi print_uchar::b#3 = print_uchar::b#0 [phi:print_euclid->print_uchar#1] -- call_phi_near
|
||||
jsr print_uchar
|
||||
// [21] phi from print_euclid to print_euclid::@1 [phi:print_euclid->print_euclid::@1]
|
||||
__b1_from_print_euclid:
|
||||
@ -1443,7 +1443,7 @@ print_euclid: {
|
||||
// [50] phi from print_euclid::@1 to print_char [phi:print_euclid::@1->print_char]
|
||||
print_char_from___b1:
|
||||
// [50] phi print_char_cursor#32 = print_char_cursor#33 [phi:print_euclid::@1->print_char#0] -- register_copy
|
||||
// [50] phi print_char::ch#4 = ' ' [phi:print_euclid::@1->print_char#1] -- vbuaa=vbuc1
|
||||
// [50] phi print_char::ch#4 = ' ' [phi:print_euclid::@1->print_char#1] -- call_phi_near
|
||||
lda #' '
|
||||
jsr print_char
|
||||
jmp __b2
|
||||
@ -1455,7 +1455,7 @@ print_euclid: {
|
||||
// [42] phi from print_euclid::@2 to print_uchar [phi:print_euclid::@2->print_uchar]
|
||||
print_uchar_from___b2:
|
||||
// [42] phi print_char_cursor#53 = print_char_cursor#33 [phi:print_euclid::@2->print_uchar#0] -- register_copy
|
||||
// [42] phi print_uchar::b#3 = print_uchar::b#1 [phi:print_euclid::@2->print_uchar#1] -- register_copy
|
||||
// [42] phi print_uchar::b#3 = print_uchar::b#1 [phi:print_euclid::@2->print_uchar#1] -- call_phi_near
|
||||
jsr print_uchar
|
||||
// [25] phi from print_euclid::@2 to print_euclid::@3 [phi:print_euclid::@2->print_euclid::@3]
|
||||
__b3_from___b2:
|
||||
@ -1466,7 +1466,7 @@ print_euclid: {
|
||||
// [50] phi from print_euclid::@3 to print_char [phi:print_euclid::@3->print_char]
|
||||
print_char_from___b3:
|
||||
// [50] phi print_char_cursor#32 = print_char_cursor#33 [phi:print_euclid::@3->print_char#0] -- register_copy
|
||||
// [50] phi print_char::ch#4 = ' ' [phi:print_euclid::@3->print_char#1] -- vbuaa=vbuc1
|
||||
// [50] phi print_char::ch#4 = ' ' [phi:print_euclid::@3->print_char#1] -- call_phi_near
|
||||
lda #' '
|
||||
jsr print_char
|
||||
jmp __b4
|
||||
@ -1476,7 +1476,7 @@ print_euclid: {
|
||||
// [28] euclid::b#0 = print_euclid::b#10 -- vbuxx=vbuz1
|
||||
ldx.z b
|
||||
// [29] call euclid
|
||||
// [54] phi from print_euclid::@4 to euclid [phi:print_euclid::@4->euclid]
|
||||
// [54] phi from print_euclid::@4 to euclid [phi:print_euclid::@4->euclid] -- call_phi_near
|
||||
euclid_from___b4:
|
||||
jsr euclid
|
||||
// [30] euclid::return#0 = euclid::a#2 -- vbuaa=vbuz1
|
||||
@ -1490,7 +1490,7 @@ print_euclid: {
|
||||
// [42] phi from print_euclid::@5 to print_uchar [phi:print_euclid::@5->print_uchar]
|
||||
print_uchar_from___b5:
|
||||
// [42] phi print_char_cursor#53 = print_char_cursor#33 [phi:print_euclid::@5->print_uchar#0] -- register_copy
|
||||
// [42] phi print_uchar::b#3 = print_uchar::b#2 [phi:print_euclid::@5->print_uchar#1] -- register_copy
|
||||
// [42] phi print_uchar::b#3 = print_uchar::b#2 [phi:print_euclid::@5->print_uchar#1] -- call_phi_near
|
||||
jsr print_uchar
|
||||
// [33] phi from print_euclid::@5 to print_euclid::@6 [phi:print_euclid::@5->print_euclid::@6]
|
||||
__b6_from___b5:
|
||||
@ -1498,7 +1498,7 @@ print_euclid: {
|
||||
// print_euclid::@6
|
||||
__b6:
|
||||
// [34] call print_ln
|
||||
// [61] phi from print_euclid::@6 to print_ln [phi:print_euclid::@6->print_ln]
|
||||
// [61] phi from print_euclid::@6 to print_ln [phi:print_euclid::@6->print_ln] -- call_phi_near
|
||||
print_ln_from___b6:
|
||||
jsr print_ln
|
||||
jmp __breturn
|
||||
@ -1572,7 +1572,7 @@ print_uchar: {
|
||||
// [50] phi from print_uchar to print_char [phi:print_uchar->print_char]
|
||||
print_char_from_print_uchar:
|
||||
// [50] phi print_char_cursor#32 = print_char_cursor#53 [phi:print_uchar->print_char#0] -- register_copy
|
||||
// [50] phi print_char::ch#4 = print_char::ch#0 [phi:print_uchar->print_char#1] -- register_copy
|
||||
// [50] phi print_char::ch#4 = print_char::ch#0 [phi:print_uchar->print_char#1] -- call_phi_near
|
||||
jsr print_char
|
||||
jmp __b1
|
||||
// print_uchar::@1
|
||||
@ -1586,7 +1586,7 @@ print_uchar: {
|
||||
// [50] phi from print_uchar::@1 to print_char [phi:print_uchar::@1->print_char]
|
||||
print_char_from___b1:
|
||||
// [50] phi print_char_cursor#32 = print_char_cursor#33 [phi:print_uchar::@1->print_char#0] -- register_copy
|
||||
// [50] phi print_char::ch#4 = print_char::ch#1 [phi:print_uchar::@1->print_char#1] -- register_copy
|
||||
// [50] phi print_char::ch#4 = print_char::ch#1 [phi:print_uchar::@1->print_char#1] -- call_phi_near
|
||||
jsr print_char
|
||||
jmp __breturn
|
||||
// print_uchar::@return
|
||||
@ -1885,7 +1885,7 @@ Score: 1607
|
||||
main: {
|
||||
// print_cls()
|
||||
// [1] call print_cls
|
||||
// [15] phi from main to print_cls [phi:main->print_cls]
|
||||
// [15] phi from main to print_cls [phi:main->print_cls] -- call_phi_near
|
||||
jsr print_cls
|
||||
// [2] phi from main to main::@1 [phi:main->main::@1]
|
||||
// main::@1
|
||||
@ -1905,7 +1905,7 @@ main: {
|
||||
sta.z print_char_cursor
|
||||
lda #>print_screen
|
||||
sta.z print_char_cursor+1
|
||||
// [18] phi print_euclid::a#10 = $80 [phi:main::@1->print_euclid#3] -- vbuz1=vbuc1
|
||||
// [18] phi print_euclid::a#10 = $80 [phi:main::@1->print_euclid#3] -- call_phi_near
|
||||
lda #$80
|
||||
sta.z print_euclid.a
|
||||
jsr print_euclid
|
||||
@ -1923,7 +1923,7 @@ main: {
|
||||
lda #$45
|
||||
sta.z print_euclid.b
|
||||
// [18] phi print_char_cursor#55 = print_char_cursor#65 [phi:main::@2->print_euclid#2] -- register_copy
|
||||
// [18] phi print_euclid::a#10 = $a9 [phi:main::@2->print_euclid#3] -- vbuz1=vbuc1
|
||||
// [18] phi print_euclid::a#10 = $a9 [phi:main::@2->print_euclid#3] -- call_phi_near
|
||||
lda #$a9
|
||||
sta.z print_euclid.a
|
||||
jsr print_euclid
|
||||
@ -1941,7 +1941,7 @@ main: {
|
||||
lda #$37
|
||||
sta.z print_euclid.b
|
||||
// [18] phi print_char_cursor#55 = print_char_cursor#66 [phi:main::@3->print_euclid#2] -- register_copy
|
||||
// [18] phi print_euclid::a#10 = $9b [phi:main::@3->print_euclid#3] -- vbuz1=vbuc1
|
||||
// [18] phi print_euclid::a#10 = $9b [phi:main::@3->print_euclid#3] -- call_phi_near
|
||||
lda #$9b
|
||||
sta.z print_euclid.a
|
||||
jsr print_euclid
|
||||
@ -1959,7 +1959,7 @@ main: {
|
||||
lda #3
|
||||
sta.z print_euclid.b
|
||||
// [18] phi print_char_cursor#55 = print_char_cursor#67 [phi:main::@4->print_euclid#2] -- register_copy
|
||||
// [18] phi print_euclid::a#10 = $c7 [phi:main::@4->print_euclid#3] -- vbuz1=vbuc1
|
||||
// [18] phi print_euclid::a#10 = $c7 [phi:main::@4->print_euclid#3] -- call_phi_near
|
||||
lda #$c7
|
||||
sta.z print_euclid.a
|
||||
jsr print_euclid
|
||||
@ -1977,7 +1977,7 @@ main: {
|
||||
lda #$1a
|
||||
sta.z print_euclid.b
|
||||
// [18] phi print_char_cursor#55 = print_char_cursor#68 [phi:main::@5->print_euclid#2] -- register_copy
|
||||
// [18] phi print_euclid::a#10 = $5b [phi:main::@5->print_euclid#3] -- vbuz1=vbuc1
|
||||
// [18] phi print_euclid::a#10 = $5b [phi:main::@5->print_euclid#3] -- call_phi_near
|
||||
lda #$5b
|
||||
sta.z print_euclid.a
|
||||
jsr print_euclid
|
||||
@ -1995,7 +1995,7 @@ main: {
|
||||
lda #$bb
|
||||
sta.z print_euclid.b
|
||||
// [18] phi print_char_cursor#55 = print_char_cursor#69 [phi:main::@6->print_euclid#2] -- register_copy
|
||||
// [18] phi print_euclid::a#10 = $77 [phi:main::@6->print_euclid#3] -- vbuz1=vbuc1
|
||||
// [18] phi print_euclid::a#10 = $77 [phi:main::@6->print_euclid#3] -- call_phi_near
|
||||
lda #$77
|
||||
sta.z print_euclid.a
|
||||
jsr print_euclid
|
||||
@ -2009,7 +2009,7 @@ main: {
|
||||
print_cls: {
|
||||
// memset(print_screen, ' ', 1000)
|
||||
// [16] call memset
|
||||
// [36] phi from print_cls to memset [phi:print_cls->memset]
|
||||
// [36] phi from print_cls to memset [phi:print_cls->memset] -- call_phi_near
|
||||
jsr memset
|
||||
// print_cls::@return
|
||||
// }
|
||||
@ -2027,7 +2027,7 @@ print_euclid: {
|
||||
// [20] call print_uchar
|
||||
// [42] phi from print_euclid to print_uchar [phi:print_euclid->print_uchar]
|
||||
// [42] phi print_char_cursor#53 = print_char_cursor#55 [phi:print_euclid->print_uchar#0] -- register_copy
|
||||
// [42] phi print_uchar::b#3 = print_uchar::b#0 [phi:print_euclid->print_uchar#1] -- register_copy
|
||||
// [42] phi print_uchar::b#3 = print_uchar::b#0 [phi:print_euclid->print_uchar#1] -- call_phi_near
|
||||
jsr print_uchar
|
||||
// [21] phi from print_euclid to print_euclid::@1 [phi:print_euclid->print_euclid::@1]
|
||||
// print_euclid::@1
|
||||
@ -2035,7 +2035,7 @@ print_euclid: {
|
||||
// [22] call print_char
|
||||
// [50] phi from print_euclid::@1 to print_char [phi:print_euclid::@1->print_char]
|
||||
// [50] phi print_char_cursor#32 = print_char_cursor#33 [phi:print_euclid::@1->print_char#0] -- register_copy
|
||||
// [50] phi print_char::ch#4 = ' ' [phi:print_euclid::@1->print_char#1] -- vbuaa=vbuc1
|
||||
// [50] phi print_char::ch#4 = ' ' [phi:print_euclid::@1->print_char#1] -- call_phi_near
|
||||
lda #' '
|
||||
jsr print_char
|
||||
// print_euclid::@2
|
||||
@ -2045,7 +2045,7 @@ print_euclid: {
|
||||
// [24] call print_uchar
|
||||
// [42] phi from print_euclid::@2 to print_uchar [phi:print_euclid::@2->print_uchar]
|
||||
// [42] phi print_char_cursor#53 = print_char_cursor#33 [phi:print_euclid::@2->print_uchar#0] -- register_copy
|
||||
// [42] phi print_uchar::b#3 = print_uchar::b#1 [phi:print_euclid::@2->print_uchar#1] -- register_copy
|
||||
// [42] phi print_uchar::b#3 = print_uchar::b#1 [phi:print_euclid::@2->print_uchar#1] -- call_phi_near
|
||||
jsr print_uchar
|
||||
// [25] phi from print_euclid::@2 to print_euclid::@3 [phi:print_euclid::@2->print_euclid::@3]
|
||||
// print_euclid::@3
|
||||
@ -2053,7 +2053,7 @@ print_euclid: {
|
||||
// [26] call print_char
|
||||
// [50] phi from print_euclid::@3 to print_char [phi:print_euclid::@3->print_char]
|
||||
// [50] phi print_char_cursor#32 = print_char_cursor#33 [phi:print_euclid::@3->print_char#0] -- register_copy
|
||||
// [50] phi print_char::ch#4 = ' ' [phi:print_euclid::@3->print_char#1] -- vbuaa=vbuc1
|
||||
// [50] phi print_char::ch#4 = ' ' [phi:print_euclid::@3->print_char#1] -- call_phi_near
|
||||
lda #' '
|
||||
jsr print_char
|
||||
// print_euclid::@4
|
||||
@ -2062,7 +2062,7 @@ print_euclid: {
|
||||
// [28] euclid::b#0 = print_euclid::b#10 -- vbuxx=vbuz1
|
||||
ldx.z b
|
||||
// [29] call euclid
|
||||
// [54] phi from print_euclid::@4 to euclid [phi:print_euclid::@4->euclid]
|
||||
// [54] phi from print_euclid::@4 to euclid [phi:print_euclid::@4->euclid] -- call_phi_near
|
||||
jsr euclid
|
||||
// euclid(a,b)
|
||||
// [30] euclid::return#0 = euclid::a#2 -- vbuaa=vbuz1
|
||||
@ -2074,13 +2074,13 @@ print_euclid: {
|
||||
// [32] call print_uchar
|
||||
// [42] phi from print_euclid::@5 to print_uchar [phi:print_euclid::@5->print_uchar]
|
||||
// [42] phi print_char_cursor#53 = print_char_cursor#33 [phi:print_euclid::@5->print_uchar#0] -- register_copy
|
||||
// [42] phi print_uchar::b#3 = print_uchar::b#2 [phi:print_euclid::@5->print_uchar#1] -- register_copy
|
||||
// [42] phi print_uchar::b#3 = print_uchar::b#2 [phi:print_euclid::@5->print_uchar#1] -- call_phi_near
|
||||
jsr print_uchar
|
||||
// [33] phi from print_euclid::@5 to print_euclid::@6 [phi:print_euclid::@5->print_euclid::@6]
|
||||
// print_euclid::@6
|
||||
// print_ln()
|
||||
// [34] call print_ln
|
||||
// [61] phi from print_euclid::@6 to print_ln [phi:print_euclid::@6->print_ln]
|
||||
// [61] phi from print_euclid::@6 to print_ln [phi:print_euclid::@6->print_ln] -- call_phi_near
|
||||
jsr print_ln
|
||||
// print_euclid::@return
|
||||
// }
|
||||
@ -2152,7 +2152,7 @@ print_uchar: {
|
||||
// Table of hexadecimal digits
|
||||
// [50] phi from print_uchar to print_char [phi:print_uchar->print_char]
|
||||
// [50] phi print_char_cursor#32 = print_char_cursor#53 [phi:print_uchar->print_char#0] -- register_copy
|
||||
// [50] phi print_char::ch#4 = print_char::ch#0 [phi:print_uchar->print_char#1] -- register_copy
|
||||
// [50] phi print_char::ch#4 = print_char::ch#0 [phi:print_uchar->print_char#1] -- call_phi_near
|
||||
jsr print_char
|
||||
// print_uchar::@1
|
||||
// b&$f
|
||||
@ -2165,7 +2165,7 @@ print_uchar: {
|
||||
// [48] call print_char
|
||||
// [50] phi from print_uchar::@1 to print_char [phi:print_uchar::@1->print_char]
|
||||
// [50] phi print_char_cursor#32 = print_char_cursor#33 [phi:print_uchar::@1->print_char#0] -- register_copy
|
||||
// [50] phi print_char::ch#4 = print_char::ch#1 [phi:print_uchar::@1->print_char#1] -- register_copy
|
||||
// [50] phi print_char::ch#4 = print_char::ch#1 [phi:print_uchar::@1->print_char#1] -- call_phi_near
|
||||
jsr print_char
|
||||
// print_uchar::@return
|
||||
// }
|
||||
|
@ -499,7 +499,7 @@ main: {
|
||||
euclid_from_main:
|
||||
// [18] phi euclid::b#9 = 2 [phi:main->euclid#0] -- vbuxx=vbuc1
|
||||
ldx #2
|
||||
// [18] phi euclid::a#10 = $80 [phi:main->euclid#1] -- vbuz1=vbuc1
|
||||
// [18] phi euclid::a#10 = $80 [phi:main->euclid#1] -- call_phi_near
|
||||
lda #$80
|
||||
sta.z euclid.a
|
||||
jsr euclid
|
||||
@ -516,7 +516,7 @@ main: {
|
||||
euclid_from___b1:
|
||||
// [18] phi euclid::b#9 = $45 [phi:main::@1->euclid#0] -- vbuxx=vbuc1
|
||||
ldx #$45
|
||||
// [18] phi euclid::a#10 = $a9 [phi:main::@1->euclid#1] -- vbuz1=vbuc1
|
||||
// [18] phi euclid::a#10 = $a9 [phi:main::@1->euclid#1] -- call_phi_near
|
||||
lda #$a9
|
||||
sta.z euclid.a
|
||||
jsr euclid
|
||||
@ -533,7 +533,7 @@ main: {
|
||||
euclid_from___b2:
|
||||
// [18] phi euclid::b#9 = $9b [phi:main::@2->euclid#0] -- vbuxx=vbuc1
|
||||
ldx #$9b
|
||||
// [18] phi euclid::a#10 = $ff [phi:main::@2->euclid#1] -- vbuz1=vbuc1
|
||||
// [18] phi euclid::a#10 = $ff [phi:main::@2->euclid#1] -- call_phi_near
|
||||
lda #$ff
|
||||
sta.z euclid.a
|
||||
jsr euclid
|
||||
@ -550,7 +550,7 @@ main: {
|
||||
euclid_from___b3:
|
||||
// [18] phi euclid::b#9 = 3 [phi:main::@3->euclid#0] -- vbuxx=vbuc1
|
||||
ldx #3
|
||||
// [18] phi euclid::a#10 = $63 [phi:main::@3->euclid#1] -- vbuz1=vbuc1
|
||||
// [18] phi euclid::a#10 = $63 [phi:main::@3->euclid#1] -- call_phi_near
|
||||
lda #$63
|
||||
sta.z euclid.a
|
||||
jsr euclid
|
||||
@ -705,7 +705,7 @@ main: {
|
||||
// [18] phi from main to euclid [phi:main->euclid]
|
||||
// [18] phi euclid::b#9 = 2 [phi:main->euclid#0] -- vbuxx=vbuc1
|
||||
ldx #2
|
||||
// [18] phi euclid::a#10 = $80 [phi:main->euclid#1] -- vbuz1=vbuc1
|
||||
// [18] phi euclid::a#10 = $80 [phi:main->euclid#1] -- call_phi_near
|
||||
lda #$80
|
||||
sta.z euclid.a
|
||||
jsr euclid
|
||||
@ -722,7 +722,7 @@ main: {
|
||||
// [18] phi from main::@1 to euclid [phi:main::@1->euclid]
|
||||
// [18] phi euclid::b#9 = $45 [phi:main::@1->euclid#0] -- vbuxx=vbuc1
|
||||
ldx #$45
|
||||
// [18] phi euclid::a#10 = $a9 [phi:main::@1->euclid#1] -- vbuz1=vbuc1
|
||||
// [18] phi euclid::a#10 = $a9 [phi:main::@1->euclid#1] -- call_phi_near
|
||||
lda #$a9
|
||||
sta.z euclid.a
|
||||
jsr euclid
|
||||
@ -739,7 +739,7 @@ main: {
|
||||
// [18] phi from main::@2 to euclid [phi:main::@2->euclid]
|
||||
// [18] phi euclid::b#9 = $9b [phi:main::@2->euclid#0] -- vbuxx=vbuc1
|
||||
ldx #$9b
|
||||
// [18] phi euclid::a#10 = $ff [phi:main::@2->euclid#1] -- vbuz1=vbuc1
|
||||
// [18] phi euclid::a#10 = $ff [phi:main::@2->euclid#1] -- call_phi_near
|
||||
lda #$ff
|
||||
sta.z euclid.a
|
||||
jsr euclid
|
||||
@ -756,7 +756,7 @@ main: {
|
||||
// [18] phi from main::@3 to euclid [phi:main::@3->euclid]
|
||||
// [18] phi euclid::b#9 = 3 [phi:main::@3->euclid#0] -- vbuxx=vbuc1
|
||||
ldx #3
|
||||
// [18] phi euclid::a#10 = $63 [phi:main::@3->euclid#1] -- vbuz1=vbuc1
|
||||
// [18] phi euclid::a#10 = $63 [phi:main::@3->euclid#1] -- call_phi_near
|
||||
lda #$63
|
||||
sta.z euclid.a
|
||||
jsr euclid
|
||||
|
@ -869,7 +869,7 @@ __start: {
|
||||
jmp __b1
|
||||
// __start::@1
|
||||
__b1:
|
||||
// [3] call main
|
||||
// [3] call main -- call_phi_near
|
||||
jsr main
|
||||
jmp __breturn
|
||||
// __start::@return
|
||||
@ -1279,7 +1279,7 @@ __start: {
|
||||
sta.z p0_xpos
|
||||
// [2] phi from __start::__init1 to __start::@1 [phi:__start::__init1->__start::@1]
|
||||
// __start::@1
|
||||
// [3] call main
|
||||
// [3] call main -- call_phi_near
|
||||
jsr main
|
||||
// __start::@return
|
||||
// [4] return
|
||||
|
@ -1781,7 +1781,7 @@ __start: {
|
||||
jmp __b1
|
||||
// __start::@1
|
||||
__b1:
|
||||
// [7] call main
|
||||
// [7] call main -- call_phi_near
|
||||
jsr main
|
||||
jmp __breturn
|
||||
// __start::@return
|
||||
@ -1794,7 +1794,7 @@ main: {
|
||||
// asm { sei }
|
||||
sei
|
||||
// [10] call mulf_init
|
||||
// [17] phi from main to mulf_init [phi:main->mulf_init]
|
||||
// [17] phi from main to mulf_init [phi:main->mulf_init] -- call_phi_near
|
||||
mulf_init_from_main:
|
||||
jsr mulf_init
|
||||
jmp __b1
|
||||
@ -1811,7 +1811,7 @@ main: {
|
||||
lda #>mulf_sqr2
|
||||
sta.z psp2+1
|
||||
// [13] call print_cls
|
||||
// [35] phi from main::@1 to print_cls [phi:main::@1->print_cls]
|
||||
// [35] phi from main::@1 to print_cls [phi:main::@1->print_cls] -- call_phi_near
|
||||
print_cls_from___b1:
|
||||
jsr print_cls
|
||||
// [14] phi from main::@1 to main::@2 [phi:main::@1->main::@2]
|
||||
@ -1820,7 +1820,7 @@ main: {
|
||||
// main::@2
|
||||
__b2:
|
||||
// [15] call do_perspective
|
||||
// [38] phi from main::@2 to do_perspective [phi:main::@2->do_perspective]
|
||||
// [38] phi from main::@2 to do_perspective [phi:main::@2->do_perspective] -- call_phi_near
|
||||
do_perspective_from___b2:
|
||||
jsr do_perspective
|
||||
jmp __breturn
|
||||
@ -1926,7 +1926,7 @@ mulf_init: {
|
||||
// Clear the screen. Also resets current line/char cursor.
|
||||
print_cls: {
|
||||
// [36] call memset
|
||||
// [65] phi from print_cls to memset [phi:print_cls->memset]
|
||||
// [65] phi from print_cls to memset [phi:print_cls->memset] -- call_phi_near
|
||||
memset_from_print_cls:
|
||||
jsr memset
|
||||
jmp __breturn
|
||||
@ -1949,7 +1949,7 @@ do_perspective: {
|
||||
sta.z print_char_cursor
|
||||
lda #>print_screen
|
||||
sta.z print_char_cursor+1
|
||||
// [71] phi print_str::str#10 = do_perspective::str [phi:do_perspective->print_str#1] -- pbuz1=pbuc1
|
||||
// [71] phi print_str::str#10 = do_perspective::str [phi:do_perspective->print_str#1] -- call_phi_near
|
||||
lda #<str
|
||||
sta.z print_str.str
|
||||
lda #>str
|
||||
@ -1963,7 +1963,7 @@ do_perspective: {
|
||||
// [41] call print_schar
|
||||
// [78] phi from do_perspective::@1 to print_schar [phi:do_perspective::@1->print_schar]
|
||||
print_schar_from___b1:
|
||||
// [78] phi print_schar::b#4 = do_perspective::x#0 [phi:do_perspective::@1->print_schar#0] -- vbsxx=vbsc1
|
||||
// [78] phi print_schar::b#4 = do_perspective::x#0 [phi:do_perspective::@1->print_schar#0] -- call_phi_near
|
||||
ldx #x
|
||||
jsr print_schar
|
||||
// [42] phi from do_perspective::@1 to do_perspective::@2 [phi:do_perspective::@1->do_perspective::@2]
|
||||
@ -1975,7 +1975,7 @@ do_perspective: {
|
||||
// [71] phi from do_perspective::@2 to print_str [phi:do_perspective::@2->print_str]
|
||||
print_str_from___b2:
|
||||
// [71] phi print_char_cursor#77 = print_char_cursor#11 [phi:do_perspective::@2->print_str#0] -- register_copy
|
||||
// [71] phi print_str::str#10 = do_perspective::str1 [phi:do_perspective::@2->print_str#1] -- pbuz1=pbuc1
|
||||
// [71] phi print_str::str#10 = do_perspective::str1 [phi:do_perspective::@2->print_str#1] -- call_phi_near
|
||||
lda #<str1
|
||||
sta.z print_str.str
|
||||
lda #>str1
|
||||
@ -1989,7 +1989,7 @@ do_perspective: {
|
||||
// [45] call print_schar
|
||||
// [78] phi from do_perspective::@3 to print_schar [phi:do_perspective::@3->print_schar]
|
||||
print_schar_from___b3:
|
||||
// [78] phi print_schar::b#4 = do_perspective::y#0 [phi:do_perspective::@3->print_schar#0] -- vbsxx=vbsc1
|
||||
// [78] phi print_schar::b#4 = do_perspective::y#0 [phi:do_perspective::@3->print_schar#0] -- call_phi_near
|
||||
ldx #y
|
||||
jsr print_schar
|
||||
// [46] phi from do_perspective::@3 to do_perspective::@4 [phi:do_perspective::@3->do_perspective::@4]
|
||||
@ -2001,7 +2001,7 @@ do_perspective: {
|
||||
// [71] phi from do_perspective::@4 to print_str [phi:do_perspective::@4->print_str]
|
||||
print_str_from___b4:
|
||||
// [71] phi print_char_cursor#77 = print_char_cursor#11 [phi:do_perspective::@4->print_str#0] -- register_copy
|
||||
// [71] phi print_str::str#10 = do_perspective::str1 [phi:do_perspective::@4->print_str#1] -- pbuz1=pbuc1
|
||||
// [71] phi print_str::str#10 = do_perspective::str1 [phi:do_perspective::@4->print_str#1] -- call_phi_near
|
||||
lda #<str1
|
||||
sta.z print_str.str
|
||||
lda #>str1
|
||||
@ -2015,7 +2015,7 @@ do_perspective: {
|
||||
// [49] call print_schar
|
||||
// [78] phi from do_perspective::@5 to print_schar [phi:do_perspective::@5->print_schar]
|
||||
print_schar_from___b5:
|
||||
// [78] phi print_schar::b#4 = do_perspective::z#0 [phi:do_perspective::@5->print_schar#0] -- vbsxx=vbsc1
|
||||
// [78] phi print_schar::b#4 = do_perspective::z#0 [phi:do_perspective::@5->print_schar#0] -- call_phi_near
|
||||
ldx #z
|
||||
jsr print_schar
|
||||
// [50] phi from do_perspective::@5 to do_perspective::@6 [phi:do_perspective::@5->do_perspective::@6]
|
||||
@ -2027,7 +2027,7 @@ do_perspective: {
|
||||
// [71] phi from do_perspective::@6 to print_str [phi:do_perspective::@6->print_str]
|
||||
print_str_from___b6:
|
||||
// [71] phi print_char_cursor#77 = print_char_cursor#11 [phi:do_perspective::@6->print_str#0] -- register_copy
|
||||
// [71] phi print_str::str#10 = do_perspective::str3 [phi:do_perspective::@6->print_str#1] -- pbuz1=pbuc1
|
||||
// [71] phi print_str::str#10 = do_perspective::str3 [phi:do_perspective::@6->print_str#1] -- call_phi_near
|
||||
lda #<str3
|
||||
sta.z print_str.str
|
||||
lda #>str3
|
||||
@ -2038,7 +2038,7 @@ do_perspective: {
|
||||
jmp __b7
|
||||
// do_perspective::@7
|
||||
__b7:
|
||||
// [53] call perspective
|
||||
// [53] call perspective -- call_phi_near
|
||||
jsr perspective
|
||||
jmp __b8
|
||||
// do_perspective::@8
|
||||
@ -2049,7 +2049,7 @@ do_perspective: {
|
||||
// [94] phi from do_perspective::@8 to print_uchar [phi:do_perspective::@8->print_uchar]
|
||||
print_uchar_from___b8:
|
||||
// [94] phi print_char_cursor#72 = print_char_cursor#1 [phi:do_perspective::@8->print_uchar#0] -- register_copy
|
||||
// [94] phi print_uchar::b#3 = print_uchar::b#1 [phi:do_perspective::@8->print_uchar#1] -- register_copy
|
||||
// [94] phi print_uchar::b#3 = print_uchar::b#1 [phi:do_perspective::@8->print_uchar#1] -- call_phi_near
|
||||
jsr print_uchar
|
||||
// [56] phi from do_perspective::@8 to do_perspective::@9 [phi:do_perspective::@8->do_perspective::@9]
|
||||
__b9_from___b8:
|
||||
@ -2060,7 +2060,7 @@ do_perspective: {
|
||||
// [71] phi from do_perspective::@9 to print_str [phi:do_perspective::@9->print_str]
|
||||
print_str_from___b9:
|
||||
// [71] phi print_char_cursor#77 = print_char_cursor#11 [phi:do_perspective::@9->print_str#0] -- register_copy
|
||||
// [71] phi print_str::str#10 = do_perspective::str1 [phi:do_perspective::@9->print_str#1] -- pbuz1=pbuc1
|
||||
// [71] phi print_str::str#10 = do_perspective::str1 [phi:do_perspective::@9->print_str#1] -- call_phi_near
|
||||
lda #<str1
|
||||
sta.z print_str.str
|
||||
lda #>str1
|
||||
@ -2075,7 +2075,7 @@ do_perspective: {
|
||||
// [94] phi from do_perspective::@10 to print_uchar [phi:do_perspective::@10->print_uchar]
|
||||
print_uchar_from___b10:
|
||||
// [94] phi print_char_cursor#72 = print_char_cursor#1 [phi:do_perspective::@10->print_uchar#0] -- register_copy
|
||||
// [94] phi print_uchar::b#3 = print_uchar::b#2 [phi:do_perspective::@10->print_uchar#1] -- register_copy
|
||||
// [94] phi print_uchar::b#3 = print_uchar::b#2 [phi:do_perspective::@10->print_uchar#1] -- call_phi_near
|
||||
jsr print_uchar
|
||||
// [60] phi from do_perspective::@10 to do_perspective::@11 [phi:do_perspective::@10->do_perspective::@11]
|
||||
__b11_from___b10:
|
||||
@ -2086,7 +2086,7 @@ do_perspective: {
|
||||
// [71] phi from do_perspective::@11 to print_str [phi:do_perspective::@11->print_str]
|
||||
print_str_from___b11:
|
||||
// [71] phi print_char_cursor#77 = print_char_cursor#11 [phi:do_perspective::@11->print_str#0] -- register_copy
|
||||
// [71] phi print_str::str#10 = do_perspective::str5 [phi:do_perspective::@11->print_str#1] -- pbuz1=pbuc1
|
||||
// [71] phi print_str::str#10 = do_perspective::str5 [phi:do_perspective::@11->print_str#1] -- call_phi_near
|
||||
lda #<str5
|
||||
sta.z print_str.str
|
||||
lda #>str5
|
||||
@ -2098,7 +2098,7 @@ do_perspective: {
|
||||
// do_perspective::@12
|
||||
__b12:
|
||||
// [63] call print_ln
|
||||
// [102] phi from do_perspective::@12 to print_ln [phi:do_perspective::@12->print_ln]
|
||||
// [102] phi from do_perspective::@12 to print_ln [phi:do_perspective::@12->print_ln] -- call_phi_near
|
||||
print_ln_from___b12:
|
||||
jsr print_ln
|
||||
jmp __breturn
|
||||
@ -2196,7 +2196,7 @@ print_str: {
|
||||
// [107] phi from print_str::@2 to print_char [phi:print_str::@2->print_char]
|
||||
print_char_from___b2:
|
||||
// [107] phi print_char_cursor#45 = print_char_cursor#1 [phi:print_str::@2->print_char#0] -- register_copy
|
||||
// [107] phi print_char::ch#5 = print_char::ch#0 [phi:print_str::@2->print_char#1] -- register_copy
|
||||
// [107] phi print_char::ch#5 = print_char::ch#0 [phi:print_str::@2->print_char#1] -- call_phi_near
|
||||
jsr print_char
|
||||
jmp __b3
|
||||
// print_str::@3
|
||||
@ -2224,7 +2224,7 @@ print_schar: {
|
||||
// [107] phi from print_schar::@3 to print_char [phi:print_schar::@3->print_char]
|
||||
print_char_from___b3:
|
||||
// [107] phi print_char_cursor#45 = print_char_cursor#1 [phi:print_schar::@3->print_char#0] -- register_copy
|
||||
// [107] phi print_char::ch#5 = ' ' [phi:print_schar::@3->print_char#1] -- vbuaa=vbuc1
|
||||
// [107] phi print_char::ch#5 = ' ' [phi:print_schar::@3->print_char#1] -- call_phi_near
|
||||
lda #' '
|
||||
jsr print_char
|
||||
// [82] phi from print_schar::@3 print_schar::@4 to print_schar::@2 [phi:print_schar::@3/print_schar::@4->print_schar::@2]
|
||||
@ -2239,7 +2239,7 @@ print_schar: {
|
||||
// [94] phi from print_schar::@2 to print_uchar [phi:print_schar::@2->print_uchar]
|
||||
print_uchar_from___b2:
|
||||
// [94] phi print_char_cursor#72 = print_char_cursor#11 [phi:print_schar::@2->print_uchar#0] -- register_copy
|
||||
// [94] phi print_uchar::b#3 = print_uchar::b#0 [phi:print_schar::@2->print_uchar#1] -- register_copy
|
||||
// [94] phi print_uchar::b#3 = print_uchar::b#0 [phi:print_schar::@2->print_uchar#1] -- call_phi_near
|
||||
jsr print_uchar
|
||||
jmp __breturn
|
||||
// print_schar::@return
|
||||
@ -2255,7 +2255,7 @@ print_schar: {
|
||||
// [107] phi from print_schar::@1 to print_char [phi:print_schar::@1->print_char]
|
||||
print_char_from___b1:
|
||||
// [107] phi print_char_cursor#45 = print_char_cursor#1 [phi:print_schar::@1->print_char#0] -- register_copy
|
||||
// [107] phi print_char::ch#5 = '-' [phi:print_schar::@1->print_char#1] -- vbuaa=vbuc1
|
||||
// [107] phi print_char::ch#5 = '-' [phi:print_schar::@1->print_char#1] -- call_phi_near
|
||||
lda #'-'
|
||||
jsr print_char
|
||||
jmp __b4
|
||||
@ -2327,7 +2327,7 @@ print_uchar: {
|
||||
// [107] phi from print_uchar to print_char [phi:print_uchar->print_char]
|
||||
print_char_from_print_uchar:
|
||||
// [107] phi print_char_cursor#45 = print_char_cursor#72 [phi:print_uchar->print_char#0] -- register_copy
|
||||
// [107] phi print_char::ch#5 = print_char::ch#3 [phi:print_uchar->print_char#1] -- register_copy
|
||||
// [107] phi print_char::ch#5 = print_char::ch#3 [phi:print_uchar->print_char#1] -- call_phi_near
|
||||
jsr print_char
|
||||
jmp __b1
|
||||
// print_uchar::@1
|
||||
@ -2341,7 +2341,7 @@ print_uchar: {
|
||||
// [107] phi from print_uchar::@1 to print_char [phi:print_uchar::@1->print_char]
|
||||
print_char_from___b1:
|
||||
// [107] phi print_char_cursor#45 = print_char_cursor#11 [phi:print_uchar::@1->print_char#0] -- register_copy
|
||||
// [107] phi print_char::ch#5 = print_char::ch#4 [phi:print_uchar::@1->print_char#1] -- register_copy
|
||||
// [107] phi print_char::ch#5 = print_char::ch#4 [phi:print_uchar::@1->print_char#1] -- call_phi_near
|
||||
jsr print_char
|
||||
jmp __breturn
|
||||
// print_uchar::@return
|
||||
@ -2772,7 +2772,7 @@ __start: {
|
||||
sta.z psp2+1
|
||||
// [6] phi from __start::__init1 to __start::@1 [phi:__start::__init1->__start::@1]
|
||||
// __start::@1
|
||||
// [7] call main
|
||||
// [7] call main -- call_phi_near
|
||||
jsr main
|
||||
// __start::@return
|
||||
// [8] return
|
||||
@ -2785,7 +2785,7 @@ main: {
|
||||
sei
|
||||
// mulf_init()
|
||||
// [10] call mulf_init
|
||||
// [17] phi from main to mulf_init [phi:main->mulf_init]
|
||||
// [17] phi from main to mulf_init [phi:main->mulf_init] -- call_phi_near
|
||||
jsr mulf_init
|
||||
// main::@1
|
||||
// psp1 = (unsigned int)mulf_sqr1
|
||||
@ -2802,13 +2802,13 @@ main: {
|
||||
sta.z psp2+1
|
||||
// print_cls()
|
||||
// [13] call print_cls
|
||||
// [35] phi from main::@1 to print_cls [phi:main::@1->print_cls]
|
||||
// [35] phi from main::@1 to print_cls [phi:main::@1->print_cls] -- call_phi_near
|
||||
jsr print_cls
|
||||
// [14] phi from main::@1 to main::@2 [phi:main::@1->main::@2]
|
||||
// main::@2
|
||||
// do_perspective($39, -$47, $36)
|
||||
// [15] call do_perspective
|
||||
// [38] phi from main::@2 to do_perspective [phi:main::@2->do_perspective]
|
||||
// [38] phi from main::@2 to do_perspective [phi:main::@2->do_perspective] -- call_phi_near
|
||||
jsr do_perspective
|
||||
// main::@return
|
||||
// }
|
||||
@ -2914,7 +2914,7 @@ mulf_init: {
|
||||
print_cls: {
|
||||
// memset(print_screen, ' ', 1000)
|
||||
// [36] call memset
|
||||
// [65] phi from print_cls to memset [phi:print_cls->memset]
|
||||
// [65] phi from print_cls to memset [phi:print_cls->memset] -- call_phi_near
|
||||
jsr memset
|
||||
// print_cls::@return
|
||||
// }
|
||||
@ -2935,7 +2935,7 @@ do_perspective: {
|
||||
sta.z print_char_cursor
|
||||
lda #>print_screen
|
||||
sta.z print_char_cursor+1
|
||||
// [71] phi print_str::str#10 = do_perspective::str [phi:do_perspective->print_str#1] -- pbuz1=pbuc1
|
||||
// [71] phi print_str::str#10 = do_perspective::str [phi:do_perspective->print_str#1] -- call_phi_near
|
||||
lda #<str
|
||||
sta.z print_str.str
|
||||
lda #>str
|
||||
@ -2946,7 +2946,7 @@ do_perspective: {
|
||||
// print_schar(x)
|
||||
// [41] call print_schar
|
||||
// [78] phi from do_perspective::@1 to print_schar [phi:do_perspective::@1->print_schar]
|
||||
// [78] phi print_schar::b#4 = do_perspective::x#0 [phi:do_perspective::@1->print_schar#0] -- vbsxx=vbsc1
|
||||
// [78] phi print_schar::b#4 = do_perspective::x#0 [phi:do_perspective::@1->print_schar#0] -- call_phi_near
|
||||
ldx #x
|
||||
jsr print_schar
|
||||
// [42] phi from do_perspective::@1 to do_perspective::@2 [phi:do_perspective::@1->do_perspective::@2]
|
||||
@ -2955,7 +2955,7 @@ do_perspective: {
|
||||
// [43] call print_str
|
||||
// [71] phi from do_perspective::@2 to print_str [phi:do_perspective::@2->print_str]
|
||||
// [71] phi print_char_cursor#77 = print_char_cursor#11 [phi:do_perspective::@2->print_str#0] -- register_copy
|
||||
// [71] phi print_str::str#10 = do_perspective::str1 [phi:do_perspective::@2->print_str#1] -- pbuz1=pbuc1
|
||||
// [71] phi print_str::str#10 = do_perspective::str1 [phi:do_perspective::@2->print_str#1] -- call_phi_near
|
||||
lda #<str1
|
||||
sta.z print_str.str
|
||||
lda #>str1
|
||||
@ -2966,7 +2966,7 @@ do_perspective: {
|
||||
// print_schar(y)
|
||||
// [45] call print_schar
|
||||
// [78] phi from do_perspective::@3 to print_schar [phi:do_perspective::@3->print_schar]
|
||||
// [78] phi print_schar::b#4 = do_perspective::y#0 [phi:do_perspective::@3->print_schar#0] -- vbsxx=vbsc1
|
||||
// [78] phi print_schar::b#4 = do_perspective::y#0 [phi:do_perspective::@3->print_schar#0] -- call_phi_near
|
||||
ldx #y
|
||||
jsr print_schar
|
||||
// [46] phi from do_perspective::@3 to do_perspective::@4 [phi:do_perspective::@3->do_perspective::@4]
|
||||
@ -2975,7 +2975,7 @@ do_perspective: {
|
||||
// [47] call print_str
|
||||
// [71] phi from do_perspective::@4 to print_str [phi:do_perspective::@4->print_str]
|
||||
// [71] phi print_char_cursor#77 = print_char_cursor#11 [phi:do_perspective::@4->print_str#0] -- register_copy
|
||||
// [71] phi print_str::str#10 = do_perspective::str1 [phi:do_perspective::@4->print_str#1] -- pbuz1=pbuc1
|
||||
// [71] phi print_str::str#10 = do_perspective::str1 [phi:do_perspective::@4->print_str#1] -- call_phi_near
|
||||
lda #<str1
|
||||
sta.z print_str.str
|
||||
lda #>str1
|
||||
@ -2986,7 +2986,7 @@ do_perspective: {
|
||||
// print_schar(z)
|
||||
// [49] call print_schar
|
||||
// [78] phi from do_perspective::@5 to print_schar [phi:do_perspective::@5->print_schar]
|
||||
// [78] phi print_schar::b#4 = do_perspective::z#0 [phi:do_perspective::@5->print_schar#0] -- vbsxx=vbsc1
|
||||
// [78] phi print_schar::b#4 = do_perspective::z#0 [phi:do_perspective::@5->print_schar#0] -- call_phi_near
|
||||
ldx #z
|
||||
jsr print_schar
|
||||
// [50] phi from do_perspective::@5 to do_perspective::@6 [phi:do_perspective::@5->do_perspective::@6]
|
||||
@ -2995,7 +2995,7 @@ do_perspective: {
|
||||
// [51] call print_str
|
||||
// [71] phi from do_perspective::@6 to print_str [phi:do_perspective::@6->print_str]
|
||||
// [71] phi print_char_cursor#77 = print_char_cursor#11 [phi:do_perspective::@6->print_str#0] -- register_copy
|
||||
// [71] phi print_str::str#10 = do_perspective::str3 [phi:do_perspective::@6->print_str#1] -- pbuz1=pbuc1
|
||||
// [71] phi print_str::str#10 = do_perspective::str3 [phi:do_perspective::@6->print_str#1] -- call_phi_near
|
||||
lda #<str3
|
||||
sta.z print_str.str
|
||||
lda #>str3
|
||||
@ -3004,7 +3004,7 @@ do_perspective: {
|
||||
// [52] phi from do_perspective::@6 to do_perspective::@7 [phi:do_perspective::@6->do_perspective::@7]
|
||||
// do_perspective::@7
|
||||
// perspective(x, y, z)
|
||||
// [53] call perspective
|
||||
// [53] call perspective -- call_phi_near
|
||||
jsr perspective
|
||||
// do_perspective::@8
|
||||
// print_uchar((char)xr)
|
||||
@ -3013,7 +3013,7 @@ do_perspective: {
|
||||
// [55] call print_uchar
|
||||
// [94] phi from do_perspective::@8 to print_uchar [phi:do_perspective::@8->print_uchar]
|
||||
// [94] phi print_char_cursor#72 = print_char_cursor#1 [phi:do_perspective::@8->print_uchar#0] -- register_copy
|
||||
// [94] phi print_uchar::b#3 = print_uchar::b#1 [phi:do_perspective::@8->print_uchar#1] -- register_copy
|
||||
// [94] phi print_uchar::b#3 = print_uchar::b#1 [phi:do_perspective::@8->print_uchar#1] -- call_phi_near
|
||||
jsr print_uchar
|
||||
// [56] phi from do_perspective::@8 to do_perspective::@9 [phi:do_perspective::@8->do_perspective::@9]
|
||||
// do_perspective::@9
|
||||
@ -3021,7 +3021,7 @@ do_perspective: {
|
||||
// [57] call print_str
|
||||
// [71] phi from do_perspective::@9 to print_str [phi:do_perspective::@9->print_str]
|
||||
// [71] phi print_char_cursor#77 = print_char_cursor#11 [phi:do_perspective::@9->print_str#0] -- register_copy
|
||||
// [71] phi print_str::str#10 = do_perspective::str1 [phi:do_perspective::@9->print_str#1] -- pbuz1=pbuc1
|
||||
// [71] phi print_str::str#10 = do_perspective::str1 [phi:do_perspective::@9->print_str#1] -- call_phi_near
|
||||
lda #<str1
|
||||
sta.z print_str.str
|
||||
lda #>str1
|
||||
@ -3034,7 +3034,7 @@ do_perspective: {
|
||||
// [59] call print_uchar
|
||||
// [94] phi from do_perspective::@10 to print_uchar [phi:do_perspective::@10->print_uchar]
|
||||
// [94] phi print_char_cursor#72 = print_char_cursor#1 [phi:do_perspective::@10->print_uchar#0] -- register_copy
|
||||
// [94] phi print_uchar::b#3 = print_uchar::b#2 [phi:do_perspective::@10->print_uchar#1] -- register_copy
|
||||
// [94] phi print_uchar::b#3 = print_uchar::b#2 [phi:do_perspective::@10->print_uchar#1] -- call_phi_near
|
||||
jsr print_uchar
|
||||
// [60] phi from do_perspective::@10 to do_perspective::@11 [phi:do_perspective::@10->do_perspective::@11]
|
||||
// do_perspective::@11
|
||||
@ -3042,7 +3042,7 @@ do_perspective: {
|
||||
// [61] call print_str
|
||||
// [71] phi from do_perspective::@11 to print_str [phi:do_perspective::@11->print_str]
|
||||
// [71] phi print_char_cursor#77 = print_char_cursor#11 [phi:do_perspective::@11->print_str#0] -- register_copy
|
||||
// [71] phi print_str::str#10 = do_perspective::str5 [phi:do_perspective::@11->print_str#1] -- pbuz1=pbuc1
|
||||
// [71] phi print_str::str#10 = do_perspective::str5 [phi:do_perspective::@11->print_str#1] -- call_phi_near
|
||||
lda #<str5
|
||||
sta.z print_str.str
|
||||
lda #>str5
|
||||
@ -3052,7 +3052,7 @@ do_perspective: {
|
||||
// do_perspective::@12
|
||||
// print_ln()
|
||||
// [63] call print_ln
|
||||
// [102] phi from do_perspective::@12 to print_ln [phi:do_perspective::@12->print_ln]
|
||||
// [102] phi from do_perspective::@12 to print_ln [phi:do_perspective::@12->print_ln] -- call_phi_near
|
||||
jsr print_ln
|
||||
// do_perspective::@return
|
||||
// }
|
||||
@ -3144,7 +3144,7 @@ print_str: {
|
||||
// [76] call print_char
|
||||
// [107] phi from print_str::@2 to print_char [phi:print_str::@2->print_char]
|
||||
// [107] phi print_char_cursor#45 = print_char_cursor#1 [phi:print_str::@2->print_char#0] -- register_copy
|
||||
// [107] phi print_char::ch#5 = print_char::ch#0 [phi:print_str::@2->print_char#1] -- register_copy
|
||||
// [107] phi print_char::ch#5 = print_char::ch#0 [phi:print_str::@2->print_char#1] -- call_phi_near
|
||||
jsr print_char
|
||||
// print_str::@3
|
||||
// print_char(*(str++));
|
||||
@ -3169,7 +3169,7 @@ print_schar: {
|
||||
// [81] call print_char
|
||||
// [107] phi from print_schar::@3 to print_char [phi:print_schar::@3->print_char]
|
||||
// [107] phi print_char_cursor#45 = print_char_cursor#1 [phi:print_schar::@3->print_char#0] -- register_copy
|
||||
// [107] phi print_char::ch#5 = ' ' [phi:print_schar::@3->print_char#1] -- vbuaa=vbuc1
|
||||
// [107] phi print_char::ch#5 = ' ' [phi:print_schar::@3->print_char#1] -- call_phi_near
|
||||
lda #' '
|
||||
jsr print_char
|
||||
// [82] phi from print_schar::@3 print_schar::@4 to print_schar::@2 [phi:print_schar::@3/print_schar::@4->print_schar::@2]
|
||||
@ -3181,7 +3181,7 @@ print_schar: {
|
||||
// [84] call print_uchar
|
||||
// [94] phi from print_schar::@2 to print_uchar [phi:print_schar::@2->print_uchar]
|
||||
// [94] phi print_char_cursor#72 = print_char_cursor#11 [phi:print_schar::@2->print_uchar#0] -- register_copy
|
||||
// [94] phi print_uchar::b#3 = print_uchar::b#0 [phi:print_schar::@2->print_uchar#1] -- register_copy
|
||||
// [94] phi print_uchar::b#3 = print_uchar::b#0 [phi:print_schar::@2->print_uchar#1] -- call_phi_near
|
||||
jsr print_uchar
|
||||
// print_schar::@return
|
||||
// }
|
||||
@ -3194,7 +3194,7 @@ print_schar: {
|
||||
// [87] call print_char
|
||||
// [107] phi from print_schar::@1 to print_char [phi:print_schar::@1->print_char]
|
||||
// [107] phi print_char_cursor#45 = print_char_cursor#1 [phi:print_schar::@1->print_char#0] -- register_copy
|
||||
// [107] phi print_char::ch#5 = '-' [phi:print_schar::@1->print_char#1] -- vbuaa=vbuc1
|
||||
// [107] phi print_char::ch#5 = '-' [phi:print_schar::@1->print_char#1] -- call_phi_near
|
||||
lda #'-'
|
||||
jsr print_char
|
||||
// print_schar::@4
|
||||
@ -3268,7 +3268,7 @@ print_uchar: {
|
||||
// Table of hexadecimal digits
|
||||
// [107] phi from print_uchar to print_char [phi:print_uchar->print_char]
|
||||
// [107] phi print_char_cursor#45 = print_char_cursor#72 [phi:print_uchar->print_char#0] -- register_copy
|
||||
// [107] phi print_char::ch#5 = print_char::ch#3 [phi:print_uchar->print_char#1] -- register_copy
|
||||
// [107] phi print_char::ch#5 = print_char::ch#3 [phi:print_uchar->print_char#1] -- call_phi_near
|
||||
jsr print_char
|
||||
// print_uchar::@1
|
||||
// b&$f
|
||||
@ -3281,7 +3281,7 @@ print_uchar: {
|
||||
// [100] call print_char
|
||||
// [107] phi from print_uchar::@1 to print_char [phi:print_uchar::@1->print_char]
|
||||
// [107] phi print_char_cursor#45 = print_char_cursor#11 [phi:print_uchar::@1->print_char#0] -- register_copy
|
||||
// [107] phi print_char::ch#5 = print_char::ch#4 [phi:print_uchar::@1->print_char#1] -- register_copy
|
||||
// [107] phi print_char::ch#5 = print_char::ch#4 [phi:print_uchar::@1->print_char#1] -- call_phi_near
|
||||
jsr print_char
|
||||
// print_uchar::@return
|
||||
// }
|
||||
|
@ -2379,7 +2379,7 @@ main: {
|
||||
lda #(SCREEN&$3fff)/$40|(BITMAP&$3fff)/$400
|
||||
sta VICII_MEMORY
|
||||
// [4] call bitmap_init
|
||||
// [11] phi from main to bitmap_init [phi:main->bitmap_init]
|
||||
// [11] phi from main to bitmap_init [phi:main->bitmap_init] -- call_phi_near
|
||||
bitmap_init_from_main:
|
||||
jsr bitmap_init
|
||||
// [5] phi from main to main::@2 [phi:main->main::@2]
|
||||
@ -2388,7 +2388,7 @@ main: {
|
||||
// main::@2
|
||||
__b2:
|
||||
// [6] call bitmap_clear
|
||||
// [33] phi from main::@2 to bitmap_clear [phi:main::@2->bitmap_clear]
|
||||
// [33] phi from main::@2 to bitmap_clear [phi:main::@2->bitmap_clear] -- call_phi_near
|
||||
bitmap_clear_from___b2:
|
||||
jsr bitmap_clear
|
||||
// [7] phi from main::@2 to main::@3 [phi:main::@2->main::@3]
|
||||
@ -2397,7 +2397,7 @@ main: {
|
||||
// main::@3
|
||||
__b3:
|
||||
// [8] call init_screen
|
||||
// [38] phi from main::@3 to init_screen [phi:main::@3->init_screen]
|
||||
// [38] phi from main::@3 to init_screen [phi:main::@3->init_screen] -- call_phi_near
|
||||
init_screen_from___b3:
|
||||
jsr init_screen
|
||||
// [9] phi from main::@1 main::@3 to main::@1 [phi:main::@1/main::@3->main::@1]
|
||||
@ -2407,7 +2407,7 @@ main: {
|
||||
// main::@1
|
||||
__b1:
|
||||
// [10] call lines
|
||||
// [44] phi from main::@1 to lines [phi:main::@1->lines]
|
||||
// [44] phi from main::@1 to lines [phi:main::@1->lines] -- call_phi_near
|
||||
lines_from___b1:
|
||||
jsr lines
|
||||
jmp __b1_from___b1
|
||||
@ -2540,7 +2540,7 @@ bitmap_clear: {
|
||||
sta.z memset.str
|
||||
lda #>SCREEN
|
||||
sta.z memset.str+1
|
||||
// [54] phi memset::num#2 = $3e8 [phi:bitmap_clear->memset#2] -- vwuz1=vwuc1
|
||||
// [54] phi memset::num#2 = $3e8 [phi:bitmap_clear->memset#2] -- call_phi_near
|
||||
lda #<$3e8
|
||||
sta.z memset.num
|
||||
lda #>$3e8
|
||||
@ -2561,7 +2561,7 @@ bitmap_clear: {
|
||||
sta.z memset.str
|
||||
lda #>BITMAP
|
||||
sta.z memset.str+1
|
||||
// [54] phi memset::num#2 = $1f40 [phi:bitmap_clear::@1->memset#2] -- vwuz1=vwuc1
|
||||
// [54] phi memset::num#2 = $1f40 [phi:bitmap_clear::@1->memset#2] -- call_phi_near
|
||||
lda #<$1f40
|
||||
sta.z memset.num
|
||||
lda #>$1f40
|
||||
@ -2660,7 +2660,7 @@ lines: {
|
||||
sta.z bitmap_line.y2
|
||||
lda #0
|
||||
sta.z bitmap_line.y2+1
|
||||
// [52] call bitmap_line
|
||||
// [52] call bitmap_line -- call_phi_near
|
||||
jsr bitmap_line
|
||||
jmp __b3
|
||||
// lines::@3
|
||||
@ -2757,7 +2757,7 @@ bitmap_line: {
|
||||
// [64] call abs_u16
|
||||
// [114] phi from bitmap_line to abs_u16 [phi:bitmap_line->abs_u16]
|
||||
abs_u16_from_bitmap_line:
|
||||
// [114] phi abs_u16::w#2 = abs_u16::w#0 [phi:bitmap_line->abs_u16#0] -- register_copy
|
||||
// [114] phi abs_u16::w#2 = abs_u16::w#0 [phi:bitmap_line->abs_u16#0] -- call_phi_near
|
||||
jsr abs_u16
|
||||
// [65] abs_u16::return#0 = abs_u16::return#4
|
||||
jmp __b12
|
||||
@ -2779,7 +2779,7 @@ bitmap_line: {
|
||||
// [68] call abs_u16
|
||||
// [114] phi from bitmap_line::@12 to abs_u16 [phi:bitmap_line::@12->abs_u16]
|
||||
abs_u16_from___b12:
|
||||
// [114] phi abs_u16::w#2 = abs_u16::w#1 [phi:bitmap_line::@12->abs_u16#0] -- register_copy
|
||||
// [114] phi abs_u16::w#2 = abs_u16::w#1 [phi:bitmap_line::@12->abs_u16#0] -- call_phi_near
|
||||
jsr abs_u16
|
||||
// [69] abs_u16::return#1 = abs_u16::return#4
|
||||
jmp __b13
|
||||
@ -2811,7 +2811,7 @@ bitmap_line: {
|
||||
// [74] call sgn_u16
|
||||
// [121] phi from bitmap_line::@1 to sgn_u16 [phi:bitmap_line::@1->sgn_u16]
|
||||
sgn_u16_from___b1:
|
||||
// [121] phi sgn_u16::w#2 = sgn_u16::w#0 [phi:bitmap_line::@1->sgn_u16#0] -- register_copy
|
||||
// [121] phi sgn_u16::w#2 = sgn_u16::w#0 [phi:bitmap_line::@1->sgn_u16#0] -- call_phi_near
|
||||
jsr sgn_u16
|
||||
// [75] sgn_u16::return#0 = sgn_u16::return#4
|
||||
jmp __b14
|
||||
@ -2833,7 +2833,7 @@ bitmap_line: {
|
||||
// [78] call sgn_u16
|
||||
// [121] phi from bitmap_line::@14 to sgn_u16 [phi:bitmap_line::@14->sgn_u16]
|
||||
sgn_u16_from___b14:
|
||||
// [121] phi sgn_u16::w#2 = sgn_u16::w#1 [phi:bitmap_line::@14->sgn_u16#0] -- register_copy
|
||||
// [121] phi sgn_u16::w#2 = sgn_u16::w#1 [phi:bitmap_line::@14->sgn_u16#0] -- call_phi_near
|
||||
jsr sgn_u16
|
||||
// [79] sgn_u16::return#1 = sgn_u16::return#4
|
||||
jmp __b15
|
||||
@ -2876,7 +2876,7 @@ bitmap_line: {
|
||||
// [128] phi from bitmap_line::@6 to bitmap_plot [phi:bitmap_line::@6->bitmap_plot]
|
||||
bitmap_plot_from___b6:
|
||||
// [128] phi bitmap_plot::x#4 = bitmap_plot::x#1 [phi:bitmap_line::@6->bitmap_plot#0] -- register_copy
|
||||
// [128] phi bitmap_plot::y#4 = bitmap_plot::y#1 [phi:bitmap_line::@6->bitmap_plot#1] -- register_copy
|
||||
// [128] phi bitmap_plot::y#4 = bitmap_plot::y#1 [phi:bitmap_line::@6->bitmap_plot#1] -- call_phi_near
|
||||
jsr bitmap_plot
|
||||
jmp __b16
|
||||
// bitmap_line::@16
|
||||
@ -2955,7 +2955,7 @@ bitmap_line: {
|
||||
// [128] phi from bitmap_line::@3 to bitmap_plot [phi:bitmap_line::@3->bitmap_plot]
|
||||
bitmap_plot_from___b3:
|
||||
// [128] phi bitmap_plot::x#4 = bitmap_plot::x#2 [phi:bitmap_line::@3->bitmap_plot#0] -- register_copy
|
||||
// [128] phi bitmap_plot::y#4 = bitmap_plot::y#2 [phi:bitmap_line::@3->bitmap_plot#1] -- register_copy
|
||||
// [128] phi bitmap_plot::y#4 = bitmap_plot::y#2 [phi:bitmap_line::@3->bitmap_plot#1] -- call_phi_near
|
||||
jsr bitmap_plot
|
||||
jmp __breturn
|
||||
// bitmap_line::@return
|
||||
@ -2988,7 +2988,7 @@ bitmap_line: {
|
||||
// [128] phi from bitmap_line::@9 to bitmap_plot [phi:bitmap_line::@9->bitmap_plot]
|
||||
bitmap_plot_from___b9:
|
||||
// [128] phi bitmap_plot::x#4 = bitmap_plot::x#3 [phi:bitmap_line::@9->bitmap_plot#0] -- register_copy
|
||||
// [128] phi bitmap_plot::y#4 = bitmap_plot::y#3 [phi:bitmap_line::@9->bitmap_plot#1] -- register_copy
|
||||
// [128] phi bitmap_plot::y#4 = bitmap_plot::y#3 [phi:bitmap_line::@9->bitmap_plot#1] -- call_phi_near
|
||||
jsr bitmap_plot
|
||||
jmp __b17
|
||||
// bitmap_line::@17
|
||||
@ -3062,7 +3062,7 @@ bitmap_line: {
|
||||
// [128] phi from bitmap_line::@4 to bitmap_plot [phi:bitmap_line::@4->bitmap_plot]
|
||||
bitmap_plot_from___b4:
|
||||
// [128] phi bitmap_plot::x#4 = bitmap_plot::x#0 [phi:bitmap_line::@4->bitmap_plot#0] -- register_copy
|
||||
// [128] phi bitmap_plot::y#4 = bitmap_plot::y#0 [phi:bitmap_line::@4->bitmap_plot#1] -- register_copy
|
||||
// [128] phi bitmap_plot::y#4 = bitmap_plot::y#0 [phi:bitmap_line::@4->bitmap_plot#1] -- call_phi_near
|
||||
jsr bitmap_plot
|
||||
jmp __breturn
|
||||
}
|
||||
@ -3595,26 +3595,26 @@ main: {
|
||||
sta VICII_MEMORY
|
||||
// bitmap_init(BITMAP, SCREEN)
|
||||
// [4] call bitmap_init
|
||||
// [11] phi from main to bitmap_init [phi:main->bitmap_init]
|
||||
// [11] phi from main to bitmap_init [phi:main->bitmap_init] -- call_phi_near
|
||||
jsr bitmap_init
|
||||
// [5] phi from main to main::@2 [phi:main->main::@2]
|
||||
// main::@2
|
||||
// bitmap_clear(BLACK, WHITE)
|
||||
// [6] call bitmap_clear
|
||||
// [33] phi from main::@2 to bitmap_clear [phi:main::@2->bitmap_clear]
|
||||
// [33] phi from main::@2 to bitmap_clear [phi:main::@2->bitmap_clear] -- call_phi_near
|
||||
jsr bitmap_clear
|
||||
// [7] phi from main::@2 to main::@3 [phi:main::@2->main::@3]
|
||||
// main::@3
|
||||
// init_screen()
|
||||
// [8] call init_screen
|
||||
// [38] phi from main::@3 to init_screen [phi:main::@3->init_screen]
|
||||
// [38] phi from main::@3 to init_screen [phi:main::@3->init_screen] -- call_phi_near
|
||||
jsr init_screen
|
||||
// [9] phi from main::@1 main::@3 to main::@1 [phi:main::@1/main::@3->main::@1]
|
||||
// main::@1
|
||||
__b1:
|
||||
// lines()
|
||||
// [10] call lines
|
||||
// [44] phi from main::@1 to lines [phi:main::@1->lines]
|
||||
// [44] phi from main::@1 to lines [phi:main::@1->lines] -- call_phi_near
|
||||
jsr lines
|
||||
jmp __b1
|
||||
}
|
||||
@ -3738,7 +3738,7 @@ bitmap_clear: {
|
||||
sta.z memset.str
|
||||
lda #>SCREEN
|
||||
sta.z memset.str+1
|
||||
// [54] phi memset::num#2 = $3e8 [phi:bitmap_clear->memset#2] -- vwuz1=vwuc1
|
||||
// [54] phi memset::num#2 = $3e8 [phi:bitmap_clear->memset#2] -- call_phi_near
|
||||
lda #<$3e8
|
||||
sta.z memset.num
|
||||
lda #>$3e8
|
||||
@ -3756,7 +3756,7 @@ bitmap_clear: {
|
||||
sta.z memset.str
|
||||
lda #>BITMAP
|
||||
sta.z memset.str+1
|
||||
// [54] phi memset::num#2 = $1f40 [phi:bitmap_clear::@1->memset#2] -- vwuz1=vwuc1
|
||||
// [54] phi memset::num#2 = $1f40 [phi:bitmap_clear::@1->memset#2] -- call_phi_near
|
||||
lda #<$1f40
|
||||
sta.z memset.num
|
||||
lda #>$1f40
|
||||
@ -3849,7 +3849,7 @@ lines: {
|
||||
sta.z bitmap_line.y2
|
||||
lda #0
|
||||
sta.z bitmap_line.y2+1
|
||||
// [52] call bitmap_line
|
||||
// [52] call bitmap_line -- call_phi_near
|
||||
jsr bitmap_line
|
||||
// lines::@3
|
||||
// for(char l=0; l<LINES;l++)
|
||||
@ -3944,7 +3944,7 @@ bitmap_line: {
|
||||
sta.z abs_u16.w+1
|
||||
// [64] call abs_u16
|
||||
// [114] phi from bitmap_line to abs_u16 [phi:bitmap_line->abs_u16]
|
||||
// [114] phi abs_u16::w#2 = abs_u16::w#0 [phi:bitmap_line->abs_u16#0] -- register_copy
|
||||
// [114] phi abs_u16::w#2 = abs_u16::w#0 [phi:bitmap_line->abs_u16#0] -- call_phi_near
|
||||
jsr abs_u16
|
||||
// unsigned int dx = abs_u16(x2-x1)
|
||||
// [65] abs_u16::return#0 = abs_u16::return#4
|
||||
@ -3965,7 +3965,7 @@ bitmap_line: {
|
||||
sta.z abs_u16.w+1
|
||||
// [68] call abs_u16
|
||||
// [114] phi from bitmap_line::@12 to abs_u16 [phi:bitmap_line::@12->abs_u16]
|
||||
// [114] phi abs_u16::w#2 = abs_u16::w#1 [phi:bitmap_line::@12->abs_u16#0] -- register_copy
|
||||
// [114] phi abs_u16::w#2 = abs_u16::w#1 [phi:bitmap_line::@12->abs_u16#0] -- call_phi_near
|
||||
jsr abs_u16
|
||||
// unsigned int dy = abs_u16(y2-y1)
|
||||
// [69] abs_u16::return#1 = abs_u16::return#4
|
||||
@ -3996,7 +3996,7 @@ bitmap_line: {
|
||||
sta.z sgn_u16.w+1
|
||||
// [74] call sgn_u16
|
||||
// [121] phi from bitmap_line::@1 to sgn_u16 [phi:bitmap_line::@1->sgn_u16]
|
||||
// [121] phi sgn_u16::w#2 = sgn_u16::w#0 [phi:bitmap_line::@1->sgn_u16#0] -- register_copy
|
||||
// [121] phi sgn_u16::w#2 = sgn_u16::w#0 [phi:bitmap_line::@1->sgn_u16#0] -- call_phi_near
|
||||
jsr sgn_u16
|
||||
// unsigned int sx = sgn_u16(x2-x1)
|
||||
// [75] sgn_u16::return#0 = sgn_u16::return#4
|
||||
@ -4017,7 +4017,7 @@ bitmap_line: {
|
||||
sta.z sgn_u16.w+1
|
||||
// [78] call sgn_u16
|
||||
// [121] phi from bitmap_line::@14 to sgn_u16 [phi:bitmap_line::@14->sgn_u16]
|
||||
// [121] phi sgn_u16::w#2 = sgn_u16::w#1 [phi:bitmap_line::@14->sgn_u16#0] -- register_copy
|
||||
// [121] phi sgn_u16::w#2 = sgn_u16::w#1 [phi:bitmap_line::@14->sgn_u16#0] -- call_phi_near
|
||||
jsr sgn_u16
|
||||
// unsigned int sy = sgn_u16(y2-y1)
|
||||
// [79] sgn_u16::return#1 = sgn_u16::return#4
|
||||
@ -4056,7 +4056,7 @@ bitmap_line: {
|
||||
// [86] call bitmap_plot
|
||||
// [128] phi from bitmap_line::@6 to bitmap_plot [phi:bitmap_line::@6->bitmap_plot]
|
||||
// [128] phi bitmap_plot::x#4 = bitmap_plot::x#1 [phi:bitmap_line::@6->bitmap_plot#0] -- register_copy
|
||||
// [128] phi bitmap_plot::y#4 = bitmap_plot::y#1 [phi:bitmap_line::@6->bitmap_plot#1] -- register_copy
|
||||
// [128] phi bitmap_plot::y#4 = bitmap_plot::y#1 [phi:bitmap_line::@6->bitmap_plot#1] -- call_phi_near
|
||||
jsr bitmap_plot
|
||||
// bitmap_line::@16
|
||||
// y += sy
|
||||
@ -4130,7 +4130,7 @@ bitmap_line: {
|
||||
// [97] call bitmap_plot
|
||||
// [128] phi from bitmap_line::@3 to bitmap_plot [phi:bitmap_line::@3->bitmap_plot]
|
||||
// [128] phi bitmap_plot::x#4 = bitmap_plot::x#2 [phi:bitmap_line::@3->bitmap_plot#0] -- register_copy
|
||||
// [128] phi bitmap_plot::y#4 = bitmap_plot::y#2 [phi:bitmap_line::@3->bitmap_plot#1] -- register_copy
|
||||
// [128] phi bitmap_plot::y#4 = bitmap_plot::y#2 [phi:bitmap_line::@3->bitmap_plot#1] -- call_phi_near
|
||||
jsr bitmap_plot
|
||||
// bitmap_line::@return
|
||||
// }
|
||||
@ -4160,7 +4160,7 @@ bitmap_line: {
|
||||
// [103] call bitmap_plot
|
||||
// [128] phi from bitmap_line::@9 to bitmap_plot [phi:bitmap_line::@9->bitmap_plot]
|
||||
// [128] phi bitmap_plot::x#4 = bitmap_plot::x#3 [phi:bitmap_line::@9->bitmap_plot#0] -- register_copy
|
||||
// [128] phi bitmap_plot::y#4 = bitmap_plot::y#3 [phi:bitmap_line::@9->bitmap_plot#1] -- register_copy
|
||||
// [128] phi bitmap_plot::y#4 = bitmap_plot::y#3 [phi:bitmap_line::@9->bitmap_plot#1] -- call_phi_near
|
||||
jsr bitmap_plot
|
||||
// bitmap_line::@17
|
||||
// x += sx
|
||||
@ -4232,7 +4232,7 @@ bitmap_line: {
|
||||
// [113] call bitmap_plot
|
||||
// [128] phi from bitmap_line::@4 to bitmap_plot [phi:bitmap_line::@4->bitmap_plot]
|
||||
// [128] phi bitmap_plot::x#4 = bitmap_plot::x#0 [phi:bitmap_line::@4->bitmap_plot#0] -- register_copy
|
||||
// [128] phi bitmap_plot::y#4 = bitmap_plot::y#0 [phi:bitmap_line::@4->bitmap_plot#1] -- register_copy
|
||||
// [128] phi bitmap_plot::y#4 = bitmap_plot::y#0 [phi:bitmap_line::@4->bitmap_plot#1] -- call_phi_near
|
||||
jsr bitmap_plot
|
||||
rts
|
||||
}
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user