1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2025-02-19 08:31:01 +00:00

Added a double unroll loop

This commit is contained in:
jespergravgaard 2018-08-22 02:19:27 +02:00
parent be18a84d98
commit 1d339804da
7 changed files with 8057 additions and 2 deletions

View File

@ -35,12 +35,12 @@ public class CompileLog {
/**
* Should SSA optimization be verbose.
*/
private boolean verboseLoopUnroll = false;
private boolean verboseLoopUnroll = true;
/**
* Should the log be output to System.out while being built
*/
private boolean sysOut = false;
private boolean sysOut = true;
public CompileLog() {
this.log = new StringBuilder();

View File

@ -51,6 +51,11 @@ public class TestPrograms {
compileAndCompare("unusedblockproblem");
}
@Test
public void testUnrollScreenFillForDouble() throws IOException, URISyntaxException {
compileAndCompare("unroll-screenfill-for-double");
}
@Test
public void testUnrollScreenFillFor() throws IOException, URISyntaxException {
compileAndCompare("unroll-screenfill-for");

View File

@ -0,0 +1,11 @@
// Fills the screen using two unrolled ranged for()-loops
void main() {
byte* SCREEN = $400;
inline for(byte x: 0..10) {
inline for(byte line: 0..10) {
(SCREEN+line*40)[x] = x;
}
}
}

View File

@ -0,0 +1,140 @@
.pc = $801 "Basic"
:BasicUpstart(main)
.pc = $80d "Program"
jsr main
main: {
.label SCREEN = $400
lda #0
sta SCREEN+0*$28+0
sta SCREEN+(0+1)*$28+0
sta SCREEN+(0+1+1)*$28+0
sta SCREEN+(0+1+1+1)*$28+0
sta SCREEN+(0+1+1+1+1)*$28+0
sta SCREEN+(0+1+1+1+1+1)*$28+0
sta SCREEN+(0+1+1+1+1+1+1)*$28+0
sta SCREEN+(0+1+1+1+1+1+1+1)*$28+0
sta SCREEN+(0+1+1+1+1+1+1+1+1)*$28+0
sta SCREEN+(0+1+1+1+1+1+1+1+1+1)*$28+0
sta SCREEN+(0+1+1+1+1+1+1+1+1+1+1)*$28+0
lda #0+1
sta SCREEN+0*$28+0+1
sta SCREEN+(0+1)*$28+0+1
sta SCREEN+(0+1+1)*$28+0+1
sta SCREEN+(0+1+1+1)*$28+0+1
sta SCREEN+(0+1+1+1+1)*$28+0+1
sta SCREEN+(0+1+1+1+1+1)*$28+0+1
sta SCREEN+(0+1+1+1+1+1+1)*$28+0+1
sta SCREEN+(0+1+1+1+1+1+1+1)*$28+0+1
sta SCREEN+(0+1+1+1+1+1+1+1+1)*$28+0+1
sta SCREEN+(0+1+1+1+1+1+1+1+1+1)*$28+0+1
sta SCREEN+(0+1+1+1+1+1+1+1+1+1+1)*$28+0+1
lda #0+1+1
sta SCREEN+0*$28+0+1+1
sta SCREEN+(0+1)*$28+0+1+1
sta SCREEN+(0+1+1)*$28+0+1+1
sta SCREEN+(0+1+1+1)*$28+0+1+1
sta SCREEN+(0+1+1+1+1)*$28+0+1+1
sta SCREEN+(0+1+1+1+1+1)*$28+0+1+1
sta SCREEN+(0+1+1+1+1+1+1)*$28+0+1+1
sta SCREEN+(0+1+1+1+1+1+1+1)*$28+0+1+1
sta SCREEN+(0+1+1+1+1+1+1+1+1)*$28+0+1+1
sta SCREEN+(0+1+1+1+1+1+1+1+1+1)*$28+0+1+1
sta SCREEN+(0+1+1+1+1+1+1+1+1+1+1)*$28+0+1+1
lda #0+1+1+1
sta SCREEN+0*$28+0+1+1+1
sta SCREEN+(0+1)*$28+0+1+1+1
sta SCREEN+(0+1+1)*$28+0+1+1+1
sta SCREEN+(0+1+1+1)*$28+0+1+1+1
sta SCREEN+(0+1+1+1+1)*$28+0+1+1+1
sta SCREEN+(0+1+1+1+1+1)*$28+0+1+1+1
sta SCREEN+(0+1+1+1+1+1+1)*$28+0+1+1+1
sta SCREEN+(0+1+1+1+1+1+1+1)*$28+0+1+1+1
sta SCREEN+(0+1+1+1+1+1+1+1+1)*$28+0+1+1+1
sta SCREEN+(0+1+1+1+1+1+1+1+1+1)*$28+0+1+1+1
sta SCREEN+(0+1+1+1+1+1+1+1+1+1+1)*$28+0+1+1+1
lda #0+1+1+1+1
sta SCREEN+0*$28+0+1+1+1+1
sta SCREEN+(0+1)*$28+0+1+1+1+1
sta SCREEN+(0+1+1)*$28+0+1+1+1+1
sta SCREEN+(0+1+1+1)*$28+0+1+1+1+1
sta SCREEN+(0+1+1+1+1)*$28+0+1+1+1+1
sta SCREEN+(0+1+1+1+1+1)*$28+0+1+1+1+1
sta SCREEN+(0+1+1+1+1+1+1)*$28+0+1+1+1+1
sta SCREEN+(0+1+1+1+1+1+1+1)*$28+0+1+1+1+1
sta SCREEN+(0+1+1+1+1+1+1+1+1)*$28+0+1+1+1+1
sta SCREEN+(0+1+1+1+1+1+1+1+1+1)*$28+0+1+1+1+1
sta SCREEN+(0+1+1+1+1+1+1+1+1+1+1)*$28+0+1+1+1+1
lda #0+1+1+1+1+1
sta SCREEN+0*$28+0+1+1+1+1+1
sta SCREEN+(0+1)*$28+0+1+1+1+1+1
sta SCREEN+(0+1+1)*$28+0+1+1+1+1+1
sta SCREEN+(0+1+1+1)*$28+0+1+1+1+1+1
sta SCREEN+(0+1+1+1+1)*$28+0+1+1+1+1+1
sta SCREEN+(0+1+1+1+1+1)*$28+0+1+1+1+1+1
sta SCREEN+(0+1+1+1+1+1+1)*$28+0+1+1+1+1+1
sta SCREEN+(0+1+1+1+1+1+1+1)*$28+0+1+1+1+1+1
sta SCREEN+(0+1+1+1+1+1+1+1+1)*$28+0+1+1+1+1+1
sta SCREEN+(0+1+1+1+1+1+1+1+1+1)*$28+0+1+1+1+1+1
sta SCREEN+(0+1+1+1+1+1+1+1+1+1+1)*$28+0+1+1+1+1+1
lda #0+1+1+1+1+1+1
sta SCREEN+0*$28+0+1+1+1+1+1+1
sta SCREEN+(0+1)*$28+0+1+1+1+1+1+1
sta SCREEN+(0+1+1)*$28+0+1+1+1+1+1+1
sta SCREEN+(0+1+1+1)*$28+0+1+1+1+1+1+1
sta SCREEN+(0+1+1+1+1)*$28+0+1+1+1+1+1+1
sta SCREEN+(0+1+1+1+1+1)*$28+0+1+1+1+1+1+1
sta SCREEN+(0+1+1+1+1+1+1)*$28+0+1+1+1+1+1+1
sta SCREEN+(0+1+1+1+1+1+1+1)*$28+0+1+1+1+1+1+1
sta SCREEN+(0+1+1+1+1+1+1+1+1)*$28+0+1+1+1+1+1+1
sta SCREEN+(0+1+1+1+1+1+1+1+1+1)*$28+0+1+1+1+1+1+1
sta SCREEN+(0+1+1+1+1+1+1+1+1+1+1)*$28+0+1+1+1+1+1+1
lda #0+1+1+1+1+1+1+1
sta SCREEN+0*$28+0+1+1+1+1+1+1+1
sta SCREEN+(0+1)*$28+0+1+1+1+1+1+1+1
sta SCREEN+(0+1+1)*$28+0+1+1+1+1+1+1+1
sta SCREEN+(0+1+1+1)*$28+0+1+1+1+1+1+1+1
sta SCREEN+(0+1+1+1+1)*$28+0+1+1+1+1+1+1+1
sta SCREEN+(0+1+1+1+1+1)*$28+0+1+1+1+1+1+1+1
sta SCREEN+(0+1+1+1+1+1+1)*$28+0+1+1+1+1+1+1+1
sta SCREEN+(0+1+1+1+1+1+1+1)*$28+0+1+1+1+1+1+1+1
sta SCREEN+(0+1+1+1+1+1+1+1+1)*$28+0+1+1+1+1+1+1+1
sta SCREEN+(0+1+1+1+1+1+1+1+1+1)*$28+0+1+1+1+1+1+1+1
sta SCREEN+(0+1+1+1+1+1+1+1+1+1+1)*$28+0+1+1+1+1+1+1+1
lda #0+1+1+1+1+1+1+1+1
sta SCREEN+0*$28+0+1+1+1+1+1+1+1+1
sta SCREEN+(0+1)*$28+0+1+1+1+1+1+1+1+1
sta SCREEN+(0+1+1)*$28+0+1+1+1+1+1+1+1+1
sta SCREEN+(0+1+1+1)*$28+0+1+1+1+1+1+1+1+1
sta SCREEN+(0+1+1+1+1)*$28+0+1+1+1+1+1+1+1+1
sta SCREEN+(0+1+1+1+1+1)*$28+0+1+1+1+1+1+1+1+1
sta SCREEN+(0+1+1+1+1+1+1)*$28+0+1+1+1+1+1+1+1+1
sta SCREEN+(0+1+1+1+1+1+1+1)*$28+0+1+1+1+1+1+1+1+1
sta SCREEN+(0+1+1+1+1+1+1+1+1)*$28+0+1+1+1+1+1+1+1+1
sta SCREEN+(0+1+1+1+1+1+1+1+1+1)*$28+0+1+1+1+1+1+1+1+1
sta SCREEN+(0+1+1+1+1+1+1+1+1+1+1)*$28+0+1+1+1+1+1+1+1+1
lda #0+1+1+1+1+1+1+1+1+1
sta SCREEN+0*$28+0+1+1+1+1+1+1+1+1+1
sta SCREEN+(0+1)*$28+0+1+1+1+1+1+1+1+1+1
sta SCREEN+(0+1+1)*$28+0+1+1+1+1+1+1+1+1+1
sta SCREEN+(0+1+1+1)*$28+0+1+1+1+1+1+1+1+1+1
sta SCREEN+(0+1+1+1+1)*$28+0+1+1+1+1+1+1+1+1+1
sta SCREEN+(0+1+1+1+1+1)*$28+0+1+1+1+1+1+1+1+1+1
sta SCREEN+(0+1+1+1+1+1+1)*$28+0+1+1+1+1+1+1+1+1+1
sta SCREEN+(0+1+1+1+1+1+1+1)*$28+0+1+1+1+1+1+1+1+1+1
sta SCREEN+(0+1+1+1+1+1+1+1+1)*$28+0+1+1+1+1+1+1+1+1+1
sta SCREEN+(0+1+1+1+1+1+1+1+1+1)*$28+0+1+1+1+1+1+1+1+1+1
sta SCREEN+(0+1+1+1+1+1+1+1+1+1+1)*$28+0+1+1+1+1+1+1+1+1+1
lda #0+1+1+1+1+1+1+1+1+1+1
sta SCREEN+0*$28+0+1+1+1+1+1+1+1+1+1+1
sta SCREEN+(0+1)*$28+0+1+1+1+1+1+1+1+1+1+1
sta SCREEN+(0+1+1)*$28+0+1+1+1+1+1+1+1+1+1+1
sta SCREEN+(0+1+1+1)*$28+0+1+1+1+1+1+1+1+1+1+1
sta SCREEN+(0+1+1+1+1)*$28+0+1+1+1+1+1+1+1+1+1+1
sta SCREEN+(0+1+1+1+1+1)*$28+0+1+1+1+1+1+1+1+1+1+1
sta SCREEN+(0+1+1+1+1+1+1)*$28+0+1+1+1+1+1+1+1+1+1+1
sta SCREEN+(0+1+1+1+1+1+1+1)*$28+0+1+1+1+1+1+1+1+1+1+1
sta SCREEN+(0+1+1+1+1+1+1+1+1)*$28+0+1+1+1+1+1+1+1+1+1+1
sta SCREEN+(0+1+1+1+1+1+1+1+1+1)*$28+0+1+1+1+1+1+1+1+1+1+1
sta SCREEN+(0+1+1+1+1+1+1+1+1+1+1)*$28+0+1+1+1+1+1+1+1+1+1+1
rts
}

View File

@ -0,0 +1,378 @@
@begin: scope:[] from
[0] phi() [ ] ( )
to:@1
@1: scope:[] from @begin
[1] phi() [ ] ( )
[2] call main [ ] ( )
to:@end
@end: scope:[] from @1
[3] phi() [ ] ( )
main: scope:[main] from @1
[4] phi() [ ] ( main:2 [ ] )
to:main::@2
main::@2: scope:[main] from main
[5] *((const byte*) main::SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+(byte/signed byte/word/signed word/dword/signed dword) 0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_1
main::@2_1: scope:[main] from main::@2
[6] *((const byte*) main::SCREEN#0+++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+(byte/signed byte/word/signed word/dword/signed dword) 0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_2
main::@2_2: scope:[main] from main::@2_1
[7] *((const byte*) main::SCREEN#0+++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+(byte/signed byte/word/signed word/dword/signed dword) 0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_3
main::@2_3: scope:[main] from main::@2_2
[8] *((const byte*) main::SCREEN#0+++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+(byte/signed byte/word/signed word/dword/signed dword) 0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_4
main::@2_4: scope:[main] from main::@2_3
[9] *((const byte*) main::SCREEN#0+++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+(byte/signed byte/word/signed word/dword/signed dword) 0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_5
main::@2_5: scope:[main] from main::@2_4
[10] *((const byte*) main::SCREEN#0+++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+(byte/signed byte/word/signed word/dword/signed dword) 0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_6
main::@2_6: scope:[main] from main::@2_5
[11] *((const byte*) main::SCREEN#0+++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+(byte/signed byte/word/signed word/dword/signed dword) 0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_7
main::@2_7: scope:[main] from main::@2_6
[12] *((const byte*) main::SCREEN#0+++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+(byte/signed byte/word/signed word/dword/signed dword) 0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_8
main::@2_8: scope:[main] from main::@2_7
[13] *((const byte*) main::SCREEN#0+++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+(byte/signed byte/word/signed word/dword/signed dword) 0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_9
main::@2_9: scope:[main] from main::@2_8
[14] *((const byte*) main::SCREEN#0+++++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+(byte/signed byte/word/signed word/dword/signed dword) 0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_10
main::@2_10: scope:[main] from main::@2_9
[15] *((const byte*) main::SCREEN#0+++++++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+(byte/signed byte/word/signed word/dword/signed dword) 0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_11
main::@2_11: scope:[main] from main::@2_10
[16] *((const byte*) main::SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_12
main::@2_12: scope:[main] from main::@2_11
[17] *((const byte*) main::SCREEN#0+++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_13
main::@2_13: scope:[main] from main::@2_12
[18] *((const byte*) main::SCREEN#0+++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_14
main::@2_14: scope:[main] from main::@2_13
[19] *((const byte*) main::SCREEN#0+++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_15
main::@2_15: scope:[main] from main::@2_14
[20] *((const byte*) main::SCREEN#0+++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_16
main::@2_16: scope:[main] from main::@2_15
[21] *((const byte*) main::SCREEN#0+++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_17
main::@2_17: scope:[main] from main::@2_16
[22] *((const byte*) main::SCREEN#0+++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_18
main::@2_18: scope:[main] from main::@2_17
[23] *((const byte*) main::SCREEN#0+++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_19
main::@2_19: scope:[main] from main::@2_18
[24] *((const byte*) main::SCREEN#0+++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_20
main::@2_20: scope:[main] from main::@2_19
[25] *((const byte*) main::SCREEN#0+++++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_21
main::@2_21: scope:[main] from main::@2_20
[26] *((const byte*) main::SCREEN#0+++++++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_22
main::@2_22: scope:[main] from main::@2_21
[27] *((const byte*) main::SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_23
main::@2_23: scope:[main] from main::@2_22
[28] *((const byte*) main::SCREEN#0+++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_24
main::@2_24: scope:[main] from main::@2_23
[29] *((const byte*) main::SCREEN#0+++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_25
main::@2_25: scope:[main] from main::@2_24
[30] *((const byte*) main::SCREEN#0+++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_26
main::@2_26: scope:[main] from main::@2_25
[31] *((const byte*) main::SCREEN#0+++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_27
main::@2_27: scope:[main] from main::@2_26
[32] *((const byte*) main::SCREEN#0+++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_28
main::@2_28: scope:[main] from main::@2_27
[33] *((const byte*) main::SCREEN#0+++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_29
main::@2_29: scope:[main] from main::@2_28
[34] *((const byte*) main::SCREEN#0+++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_30
main::@2_30: scope:[main] from main::@2_29
[35] *((const byte*) main::SCREEN#0+++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_31
main::@2_31: scope:[main] from main::@2_30
[36] *((const byte*) main::SCREEN#0+++++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_32
main::@2_32: scope:[main] from main::@2_31
[37] *((const byte*) main::SCREEN#0+++++++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_33
main::@2_33: scope:[main] from main::@2_32
[38] *((const byte*) main::SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_34
main::@2_34: scope:[main] from main::@2_33
[39] *((const byte*) main::SCREEN#0+++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_35
main::@2_35: scope:[main] from main::@2_34
[40] *((const byte*) main::SCREEN#0+++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_36
main::@2_36: scope:[main] from main::@2_35
[41] *((const byte*) main::SCREEN#0+++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_37
main::@2_37: scope:[main] from main::@2_36
[42] *((const byte*) main::SCREEN#0+++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_38
main::@2_38: scope:[main] from main::@2_37
[43] *((const byte*) main::SCREEN#0+++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_39
main::@2_39: scope:[main] from main::@2_38
[44] *((const byte*) main::SCREEN#0+++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_40
main::@2_40: scope:[main] from main::@2_39
[45] *((const byte*) main::SCREEN#0+++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_41
main::@2_41: scope:[main] from main::@2_40
[46] *((const byte*) main::SCREEN#0+++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_42
main::@2_42: scope:[main] from main::@2_41
[47] *((const byte*) main::SCREEN#0+++++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_43
main::@2_43: scope:[main] from main::@2_42
[48] *((const byte*) main::SCREEN#0+++++++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_44
main::@2_44: scope:[main] from main::@2_43
[49] *((const byte*) main::SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_45
main::@2_45: scope:[main] from main::@2_44
[50] *((const byte*) main::SCREEN#0+++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_46
main::@2_46: scope:[main] from main::@2_45
[51] *((const byte*) main::SCREEN#0+++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_47
main::@2_47: scope:[main] from main::@2_46
[52] *((const byte*) main::SCREEN#0+++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_48
main::@2_48: scope:[main] from main::@2_47
[53] *((const byte*) main::SCREEN#0+++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_49
main::@2_49: scope:[main] from main::@2_48
[54] *((const byte*) main::SCREEN#0+++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_50
main::@2_50: scope:[main] from main::@2_49
[55] *((const byte*) main::SCREEN#0+++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_51
main::@2_51: scope:[main] from main::@2_50
[56] *((const byte*) main::SCREEN#0+++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_52
main::@2_52: scope:[main] from main::@2_51
[57] *((const byte*) main::SCREEN#0+++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_53
main::@2_53: scope:[main] from main::@2_52
[58] *((const byte*) main::SCREEN#0+++++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_54
main::@2_54: scope:[main] from main::@2_53
[59] *((const byte*) main::SCREEN#0+++++++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_55
main::@2_55: scope:[main] from main::@2_54
[60] *((const byte*) main::SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_56
main::@2_56: scope:[main] from main::@2_55
[61] *((const byte*) main::SCREEN#0+++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_57
main::@2_57: scope:[main] from main::@2_56
[62] *((const byte*) main::SCREEN#0+++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_58
main::@2_58: scope:[main] from main::@2_57
[63] *((const byte*) main::SCREEN#0+++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_59
main::@2_59: scope:[main] from main::@2_58
[64] *((const byte*) main::SCREEN#0+++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_60
main::@2_60: scope:[main] from main::@2_59
[65] *((const byte*) main::SCREEN#0+++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_61
main::@2_61: scope:[main] from main::@2_60
[66] *((const byte*) main::SCREEN#0+++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_62
main::@2_62: scope:[main] from main::@2_61
[67] *((const byte*) main::SCREEN#0+++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_63
main::@2_63: scope:[main] from main::@2_62
[68] *((const byte*) main::SCREEN#0+++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_64
main::@2_64: scope:[main] from main::@2_63
[69] *((const byte*) main::SCREEN#0+++++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_65
main::@2_65: scope:[main] from main::@2_64
[70] *((const byte*) main::SCREEN#0+++++++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_66
main::@2_66: scope:[main] from main::@2_65
[71] *((const byte*) main::SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_67
main::@2_67: scope:[main] from main::@2_66
[72] *((const byte*) main::SCREEN#0+++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_68
main::@2_68: scope:[main] from main::@2_67
[73] *((const byte*) main::SCREEN#0+++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_69
main::@2_69: scope:[main] from main::@2_68
[74] *((const byte*) main::SCREEN#0+++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_70
main::@2_70: scope:[main] from main::@2_69
[75] *((const byte*) main::SCREEN#0+++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_71
main::@2_71: scope:[main] from main::@2_70
[76] *((const byte*) main::SCREEN#0+++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_72
main::@2_72: scope:[main] from main::@2_71
[77] *((const byte*) main::SCREEN#0+++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_73
main::@2_73: scope:[main] from main::@2_72
[78] *((const byte*) main::SCREEN#0+++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_74
main::@2_74: scope:[main] from main::@2_73
[79] *((const byte*) main::SCREEN#0+++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_75
main::@2_75: scope:[main] from main::@2_74
[80] *((const byte*) main::SCREEN#0+++++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_76
main::@2_76: scope:[main] from main::@2_75
[81] *((const byte*) main::SCREEN#0+++++++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_77
main::@2_77: scope:[main] from main::@2_76
[82] *((const byte*) main::SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_78
main::@2_78: scope:[main] from main::@2_77
[83] *((const byte*) main::SCREEN#0+++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_79
main::@2_79: scope:[main] from main::@2_78
[84] *((const byte*) main::SCREEN#0+++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_80
main::@2_80: scope:[main] from main::@2_79
[85] *((const byte*) main::SCREEN#0+++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_81
main::@2_81: scope:[main] from main::@2_80
[86] *((const byte*) main::SCREEN#0+++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_82
main::@2_82: scope:[main] from main::@2_81
[87] *((const byte*) main::SCREEN#0+++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_83
main::@2_83: scope:[main] from main::@2_82
[88] *((const byte*) main::SCREEN#0+++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_84
main::@2_84: scope:[main] from main::@2_83
[89] *((const byte*) main::SCREEN#0+++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_85
main::@2_85: scope:[main] from main::@2_84
[90] *((const byte*) main::SCREEN#0+++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_86
main::@2_86: scope:[main] from main::@2_85
[91] *((const byte*) main::SCREEN#0+++++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_87
main::@2_87: scope:[main] from main::@2_86
[92] *((const byte*) main::SCREEN#0+++++++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_88
main::@2_88: scope:[main] from main::@2_87
[93] *((const byte*) main::SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_89
main::@2_89: scope:[main] from main::@2_88
[94] *((const byte*) main::SCREEN#0+++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_90
main::@2_90: scope:[main] from main::@2_89
[95] *((const byte*) main::SCREEN#0+++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_91
main::@2_91: scope:[main] from main::@2_90
[96] *((const byte*) main::SCREEN#0+++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_92
main::@2_92: scope:[main] from main::@2_91
[97] *((const byte*) main::SCREEN#0+++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_93
main::@2_93: scope:[main] from main::@2_92
[98] *((const byte*) main::SCREEN#0+++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_94
main::@2_94: scope:[main] from main::@2_93
[99] *((const byte*) main::SCREEN#0+++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_95
main::@2_95: scope:[main] from main::@2_94
[100] *((const byte*) main::SCREEN#0+++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_96
main::@2_96: scope:[main] from main::@2_95
[101] *((const byte*) main::SCREEN#0+++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_97
main::@2_97: scope:[main] from main::@2_96
[102] *((const byte*) main::SCREEN#0+++++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_98
main::@2_98: scope:[main] from main::@2_97
[103] *((const byte*) main::SCREEN#0+++++++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_99
main::@2_99: scope:[main] from main::@2_98
[104] *((const byte*) main::SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_100
main::@2_100: scope:[main] from main::@2_99
[105] *((const byte*) main::SCREEN#0+++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_101
main::@2_101: scope:[main] from main::@2_100
[106] *((const byte*) main::SCREEN#0+++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_102
main::@2_102: scope:[main] from main::@2_101
[107] *((const byte*) main::SCREEN#0+++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_103
main::@2_103: scope:[main] from main::@2_102
[108] *((const byte*) main::SCREEN#0+++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_104
main::@2_104: scope:[main] from main::@2_103
[109] *((const byte*) main::SCREEN#0+++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_105
main::@2_105: scope:[main] from main::@2_104
[110] *((const byte*) main::SCREEN#0+++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_106
main::@2_106: scope:[main] from main::@2_105
[111] *((const byte*) main::SCREEN#0+++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_107
main::@2_107: scope:[main] from main::@2_106
[112] *((const byte*) main::SCREEN#0+++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_108
main::@2_108: scope:[main] from main::@2_107
[113] *((const byte*) main::SCREEN#0+++++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_109
main::@2_109: scope:[main] from main::@2_108
[114] *((const byte*) main::SCREEN#0+++++++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_110
main::@2_110: scope:[main] from main::@2_109
[115] *((const byte*) main::SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_111
main::@2_111: scope:[main] from main::@2_110
[116] *((const byte*) main::SCREEN#0+++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_112
main::@2_112: scope:[main] from main::@2_111
[117] *((const byte*) main::SCREEN#0+++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_113
main::@2_113: scope:[main] from main::@2_112
[118] *((const byte*) main::SCREEN#0+++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_114
main::@2_114: scope:[main] from main::@2_113
[119] *((const byte*) main::SCREEN#0+++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_115
main::@2_115: scope:[main] from main::@2_114
[120] *((const byte*) main::SCREEN#0+++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_116
main::@2_116: scope:[main] from main::@2_115
[121] *((const byte*) main::SCREEN#0+++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_117
main::@2_117: scope:[main] from main::@2_116
[122] *((const byte*) main::SCREEN#0+++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_118
main::@2_118: scope:[main] from main::@2_117
[123] *((const byte*) main::SCREEN#0+++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_119
main::@2_119: scope:[main] from main::@2_118
[124] *((const byte*) main::SCREEN#0+++++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@2_120
main::@2_120: scope:[main] from main::@2_119
[125] *((const byte*) main::SCREEN#0+++++++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0*(byte/signed byte/word/signed word/dword/signed dword) 40+++++++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0) ← ++++++++++++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
to:main::@return
main::@return: scope:[main] from main::@2_120
[126] return [ ] ( main:2 [ ] )
to:@return

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,131 @@
(label) @1
(label) @begin
(label) @end
(void()) main()
(label) main::@2
(label) main::@2_1
(label) main::@2_10
(label) main::@2_100
(label) main::@2_101
(label) main::@2_102
(label) main::@2_103
(label) main::@2_104
(label) main::@2_105
(label) main::@2_106
(label) main::@2_107
(label) main::@2_108
(label) main::@2_109
(label) main::@2_11
(label) main::@2_110
(label) main::@2_111
(label) main::@2_112
(label) main::@2_113
(label) main::@2_114
(label) main::@2_115
(label) main::@2_116
(label) main::@2_117
(label) main::@2_118
(label) main::@2_119
(label) main::@2_12
(label) main::@2_120
(label) main::@2_13
(label) main::@2_14
(label) main::@2_15
(label) main::@2_16
(label) main::@2_17
(label) main::@2_18
(label) main::@2_19
(label) main::@2_2
(label) main::@2_20
(label) main::@2_21
(label) main::@2_22
(label) main::@2_23
(label) main::@2_24
(label) main::@2_25
(label) main::@2_26
(label) main::@2_27
(label) main::@2_28
(label) main::@2_29
(label) main::@2_3
(label) main::@2_30
(label) main::@2_31
(label) main::@2_32
(label) main::@2_33
(label) main::@2_34
(label) main::@2_35
(label) main::@2_36
(label) main::@2_37
(label) main::@2_38
(label) main::@2_39
(label) main::@2_4
(label) main::@2_40
(label) main::@2_41
(label) main::@2_42
(label) main::@2_43
(label) main::@2_44
(label) main::@2_45
(label) main::@2_46
(label) main::@2_47
(label) main::@2_48
(label) main::@2_49
(label) main::@2_5
(label) main::@2_50
(label) main::@2_51
(label) main::@2_52
(label) main::@2_53
(label) main::@2_54
(label) main::@2_55
(label) main::@2_56
(label) main::@2_57
(label) main::@2_58
(label) main::@2_59
(label) main::@2_6
(label) main::@2_60
(label) main::@2_61
(label) main::@2_62
(label) main::@2_63
(label) main::@2_64
(label) main::@2_65
(label) main::@2_66
(label) main::@2_67
(label) main::@2_68
(label) main::@2_69
(label) main::@2_7
(label) main::@2_70
(label) main::@2_71
(label) main::@2_72
(label) main::@2_73
(label) main::@2_74
(label) main::@2_75
(label) main::@2_76
(label) main::@2_77
(label) main::@2_78
(label) main::@2_79
(label) main::@2_8
(label) main::@2_80
(label) main::@2_81
(label) main::@2_82
(label) main::@2_83
(label) main::@2_84
(label) main::@2_85
(label) main::@2_86
(label) main::@2_87
(label) main::@2_88
(label) main::@2_89
(label) main::@2_9
(label) main::@2_90
(label) main::@2_91
(label) main::@2_92
(label) main::@2_93
(label) main::@2_94
(label) main::@2_95
(label) main::@2_96
(label) main::@2_97
(label) main::@2_98
(label) main::@2_99
(label) main::@return
(byte*) main::SCREEN
(const byte*) main::SCREEN#0 SCREEN = ((byte*))(word/signed word/dword/signed dword) 1024
(byte) main::line
(byte) main::x