1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-09-08 17:54:40 +00:00

Tried adding more memory for the Junit JVM

This commit is contained in:
jespergravgaard 2018-01-01 15:59:15 +01:00
parent 939b70aa23
commit 20b9ab6881
5 changed files with 3809 additions and 0 deletions

10
pom.xml
View File

@ -55,6 +55,16 @@
</includes>
</testResource>
</testResources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19</version>
<configuration>
<argLine>-Xmx1024m</argLine>
</configuration>
</plugin>
</plugins>
</build>

View File

@ -0,0 +1,165 @@
.pc = $801 "Basic"
:BasicUpstart(main)
.pc = $80d "Program"
.label line_cursor = 3
.label char_cursor = 7
jsr main
main: {
.label a = 2
jsr print_cls
lda #<$400
sta line_cursor
lda #>$400
sta line_cursor+1
lda #<$400
sta char_cursor
lda #>$400
sta char_cursor+1
lda #0
sta a
b1:
lda #$a
sec
sbc a
tay
cpy a
bcc b5
ldx #'+'
jmp b2
b5:
ldx #'-'
b2:
sty printu.b
lda #'<'
sta printu.op
jsr printu
lda a
cmp #3
bcs b6
ldx #'+'
jmp b3
b6:
ldx #'-'
b3:
lda #3
sta printu.b
lda #'<'
sta printu.op
jsr printu
lda a
tay
cmp cs,y
bcs b7
ldx #'+'
jmp b4
b7:
ldx #'-'
b4:
ldy a
lda cs,y
sta printu.b
lda #'<'
sta printu.op
jsr printu
jsr print_ln
inc a
lda a
cmp #$b
bne b14
rts
b14:
lda line_cursor
sta char_cursor
lda line_cursor+1
sta char_cursor+1
jmp b1
cs: .byte 0, $14, 4, 9, $b, 4, $d, 8, 4, 6
}
print_ln: {
b1:
lda line_cursor
clc
adc #$28
sta line_cursor
bcc !+
inc line_cursor+1
!:
lda line_cursor+1
cmp char_cursor+1
bcc b1
bne !+
lda line_cursor
cmp char_cursor
bcc b1
!:
rts
}
printu: {
.label a = 2
.label b = 6
.label op = 5
lda #' '
jsr print_char
lda a
sta print_byte.b
jsr print_byte
lda op
jsr print_char
lda b
sta print_byte.b
jsr print_byte
lda #' '
jsr print_char
txa
jsr print_char
rts
}
print_char: {
ldy #0
sta (char_cursor),y
inc char_cursor
bne !+
inc char_cursor+1
!:
rts
}
print_byte: {
.label b = 9
lda b
lsr
lsr
lsr
lsr
tay
lda hextab,y
jsr print_char
lda b
and #$f
tay
lda hextab,y
jsr print_char
rts
hextab: .text "0123456789abcdef"
}
print_cls: {
.label sc = 3
lda #<$400
sta sc
lda #>$400
sta sc+1
b1:
lda #' '
ldy #0
sta (sc),y
inc sc
bne !+
inc sc+1
!:
lda sc+1
cmp #>$400+$3e8
bne b1
lda sc
cmp #<$400+$3e8
bne b1
rts
}

View File

@ -0,0 +1,146 @@
@begin: scope:[] from
[0] phi() [ ] ( )
to:@10
@10: scope:[] from @begin
[1] phi() [ ] ( )
[2] call main param-assignment [ ] ( )
to:@end
@end: scope:[] from @10
[3] phi() [ ] ( )
main: scope:[main] from @10
[4] phi() [ ] ( main:2 [ ] )
[5] call print_cls param-assignment [ ] ( main:2 [ ] )
to:main::@1
main::@1: scope:[main] from main main::@14
[6] (byte*) line_cursor#13 ← phi( main::@14/(byte*) line_cursor#1 main/((byte*))(word/signed word) 1024 ) [ main::a#10 char_cursor#44 line_cursor#13 ] ( main:2 [ main::a#10 char_cursor#44 line_cursor#13 ] )
[6] (byte*) char_cursor#44 ← phi( main::@14/(byte*~) char_cursor#54 main/((byte*))(word/signed word) 1024 ) [ main::a#10 char_cursor#44 line_cursor#13 ] ( main:2 [ main::a#10 char_cursor#44 line_cursor#13 ] )
[6] (byte) main::a#10 ← phi( main::@14/(byte) main::a#1 main/(byte/signed byte/word/signed word) 0 ) [ main::a#10 char_cursor#44 line_cursor#13 ] ( main:2 [ main::a#10 char_cursor#44 line_cursor#13 ] )
[7] (byte) main::b#0 ← (byte/signed byte/word/signed word) 10 - (byte) main::a#10 [ main::a#10 char_cursor#44 line_cursor#13 main::b#0 ] ( main:2 [ main::a#10 char_cursor#44 line_cursor#13 main::b#0 ] )
[8] if((byte) main::a#10>=(byte) main::b#0) goto main::@2 [ main::a#10 char_cursor#44 line_cursor#13 main::b#0 ] ( main:2 [ main::a#10 char_cursor#44 line_cursor#13 main::b#0 ] )
to:main::@5
main::@5: scope:[main] from main::@1
[9] phi() [ main::a#10 char_cursor#44 line_cursor#13 main::b#0 ] ( main:2 [ main::a#10 char_cursor#44 line_cursor#13 main::b#0 ] )
to:main::@2
main::@2: scope:[main] from main::@1 main::@5
[10] (byte) main::r#6 ← phi( main::@1/(byte) '-' main::@5/(byte) '+' ) [ main::a#10 char_cursor#44 line_cursor#13 main::b#0 main::r#6 ] ( main:2 [ main::a#10 char_cursor#44 line_cursor#13 main::b#0 main::r#6 ] )
[11] (byte) printu::a#0 ← (byte) main::a#10 [ main::a#10 char_cursor#44 line_cursor#13 main::b#0 main::r#6 printu::a#0 ] ( main:2 [ main::a#10 char_cursor#44 line_cursor#13 main::b#0 main::r#6 printu::a#0 ] )
[12] (byte) printu::b#0 ← (byte) main::b#0 [ main::a#10 char_cursor#44 line_cursor#13 main::r#6 printu::a#0 printu::b#0 ] ( main:2 [ main::a#10 char_cursor#44 line_cursor#13 main::r#6 printu::a#0 printu::b#0 ] )
[13] (byte) printu::res#0 ← (byte) main::r#6 [ main::a#10 char_cursor#44 line_cursor#13 printu::a#0 printu::b#0 printu::res#0 ] ( main:2 [ main::a#10 char_cursor#44 line_cursor#13 printu::a#0 printu::b#0 printu::res#0 ] )
[14] call printu param-assignment [ main::a#10 line_cursor#13 char_cursor#27 ] ( main:2 [ main::a#10 line_cursor#13 char_cursor#27 ] )
to:main::@10
main::@10: scope:[main] from main::@2
[15] if((byte) main::a#10>=(byte/signed byte/word/signed word) 3) goto main::@3 [ main::a#10 line_cursor#13 char_cursor#27 ] ( main:2 [ main::a#10 line_cursor#13 char_cursor#27 ] )
to:main::@6
main::@6: scope:[main] from main::@10
[16] phi() [ main::a#10 line_cursor#13 char_cursor#27 ] ( main:2 [ main::a#10 line_cursor#13 char_cursor#27 ] )
to:main::@3
main::@3: scope:[main] from main::@10 main::@6
[17] (byte) main::r#7 ← phi( main::@10/(byte) '-' main::@6/(byte) '+' ) [ main::a#10 line_cursor#13 main::r#7 char_cursor#27 ] ( main:2 [ main::a#10 line_cursor#13 main::r#7 char_cursor#27 ] )
[18] (byte) printu::a#1 ← (byte) main::a#10 [ main::a#10 line_cursor#13 main::r#7 printu::a#1 char_cursor#27 ] ( main:2 [ main::a#10 line_cursor#13 main::r#7 printu::a#1 char_cursor#27 ] )
[19] (byte) printu::res#1 ← (byte) main::r#7 [ main::a#10 line_cursor#13 printu::a#1 printu::res#1 char_cursor#27 ] ( main:2 [ main::a#10 line_cursor#13 printu::a#1 printu::res#1 char_cursor#27 ] )
[20] call printu param-assignment [ main::a#10 line_cursor#13 char_cursor#27 ] ( main:2 [ main::a#10 line_cursor#13 char_cursor#27 ] )
to:main::@11
main::@11: scope:[main] from main::@3
[21] if((byte) main::a#10>=*((const byte[10]) main::cs#0 + (byte) main::a#10)) goto main::@4 [ main::a#10 line_cursor#13 char_cursor#27 ] ( main:2 [ main::a#10 line_cursor#13 char_cursor#27 ] )
to:main::@7
main::@7: scope:[main] from main::@11
[22] phi() [ main::a#10 line_cursor#13 char_cursor#27 ] ( main:2 [ main::a#10 line_cursor#13 char_cursor#27 ] )
to:main::@4
main::@4: scope:[main] from main::@11 main::@7
[23] (byte) main::r#8 ← phi( main::@11/(byte) '-' main::@7/(byte) '+' ) [ main::a#10 line_cursor#13 main::r#8 char_cursor#27 ] ( main:2 [ main::a#10 line_cursor#13 main::r#8 char_cursor#27 ] )
[24] (byte) printu::a#2 ← (byte) main::a#10 [ main::a#10 line_cursor#13 main::r#8 printu::a#2 char_cursor#27 ] ( main:2 [ main::a#10 line_cursor#13 main::r#8 printu::a#2 char_cursor#27 ] )
[25] (byte) printu::b#2 ← *((const byte[10]) main::cs#0 + (byte) main::a#10) [ main::a#10 line_cursor#13 main::r#8 printu::a#2 printu::b#2 char_cursor#27 ] ( main:2 [ main::a#10 line_cursor#13 main::r#8 printu::a#2 printu::b#2 char_cursor#27 ] )
[26] (byte) printu::res#2 ← (byte) main::r#8 [ main::a#10 line_cursor#13 printu::a#2 printu::b#2 printu::res#2 char_cursor#27 ] ( main:2 [ main::a#10 line_cursor#13 printu::a#2 printu::b#2 printu::res#2 char_cursor#27 ] )
[27] call printu param-assignment [ main::a#10 line_cursor#13 char_cursor#27 ] ( main:2 [ main::a#10 line_cursor#13 char_cursor#27 ] )
to:main::@12
main::@12: scope:[main] from main::@4
[28] phi() [ main::a#10 line_cursor#13 char_cursor#27 ] ( main:2 [ main::a#10 line_cursor#13 char_cursor#27 ] )
[29] call print_ln param-assignment [ main::a#10 line_cursor#1 ] ( main:2 [ main::a#10 line_cursor#1 ] )
to:main::@13
main::@13: scope:[main] from main::@12
[30] (byte) main::a#1 ← ++ (byte) main::a#10 [ main::a#1 line_cursor#1 ] ( main:2 [ main::a#1 line_cursor#1 ] )
[31] if((byte) main::a#1!=(byte/signed byte/word/signed word) 11) goto main::@14 [ main::a#1 line_cursor#1 ] ( main:2 [ main::a#1 line_cursor#1 ] )
to:main::@return
main::@return: scope:[main] from main::@13
[32] return [ ] ( main:2 [ ] )
to:@return
main::@14: scope:[main] from main::@13
[33] (byte*~) char_cursor#54 ← (byte*) line_cursor#1 [ main::a#1 char_cursor#54 line_cursor#1 ] ( main:2 [ main::a#1 char_cursor#54 line_cursor#1 ] )
to:main::@1
print_ln: scope:[print_ln] from main::@12
[34] phi() [ line_cursor#13 char_cursor#27 ] ( main:2::print_ln:29 [ main::a#10 line_cursor#13 char_cursor#27 ] )
to:print_ln::@1
print_ln::@1: scope:[print_ln] from print_ln print_ln::@1
[35] (byte*) line_cursor#6 ← phi( print_ln/(byte*) line_cursor#13 print_ln::@1/(byte*) line_cursor#1 ) [ line_cursor#6 char_cursor#27 ] ( main:2::print_ln:29 [ main::a#10 line_cursor#6 char_cursor#27 ] )
[36] (byte*) line_cursor#1 ← (byte*) line_cursor#6 + (byte/signed byte/word/signed word) 40 [ line_cursor#1 char_cursor#27 ] ( main:2::print_ln:29 [ main::a#10 line_cursor#1 char_cursor#27 ] )
[37] if((byte*) line_cursor#1<(byte*) char_cursor#27) goto print_ln::@1 [ line_cursor#1 char_cursor#27 ] ( main:2::print_ln:29 [ main::a#10 line_cursor#1 char_cursor#27 ] )
to:print_ln::@return
print_ln::@return: scope:[print_ln] from print_ln::@1
[38] return [ line_cursor#1 ] ( main:2::print_ln:29 [ main::a#10 line_cursor#1 ] )
to:@return
printu: scope:[printu] from main::@2 main::@3 main::@4
[39] (byte) printu::res#3 ← phi( main::@2/(byte) printu::res#0 main::@3/(byte) printu::res#1 main::@4/(byte) printu::res#2 ) [ char_cursor#43 printu::a#3 printu::op#3 printu::b#3 printu::res#3 ] ( main:2::printu:14 [ main::a#10 line_cursor#13 char_cursor#43 printu::a#3 printu::op#3 printu::b#3 printu::res#3 ] main:2::printu:20 [ main::a#10 line_cursor#13 char_cursor#43 printu::a#3 printu::op#3 printu::b#3 printu::res#3 ] main:2::printu:27 [ main::a#10 line_cursor#13 char_cursor#43 printu::a#3 printu::op#3 printu::b#3 printu::res#3 ] )
[39] (byte) printu::b#3 ← phi( main::@2/(byte) printu::b#0 main::@3/(byte/signed byte/word/signed word) 3 main::@4/(byte) printu::b#2 ) [ char_cursor#43 printu::a#3 printu::op#3 printu::b#3 printu::res#3 ] ( main:2::printu:14 [ main::a#10 line_cursor#13 char_cursor#43 printu::a#3 printu::op#3 printu::b#3 printu::res#3 ] main:2::printu:20 [ main::a#10 line_cursor#13 char_cursor#43 printu::a#3 printu::op#3 printu::b#3 printu::res#3 ] main:2::printu:27 [ main::a#10 line_cursor#13 char_cursor#43 printu::a#3 printu::op#3 printu::b#3 printu::res#3 ] )
[39] (byte) printu::op#3 ← phi( main::@2/(byte) '<' main::@3/(byte) '<' main::@4/(byte) '<' ) [ char_cursor#43 printu::a#3 printu::op#3 printu::b#3 printu::res#3 ] ( main:2::printu:14 [ main::a#10 line_cursor#13 char_cursor#43 printu::a#3 printu::op#3 printu::b#3 printu::res#3 ] main:2::printu:20 [ main::a#10 line_cursor#13 char_cursor#43 printu::a#3 printu::op#3 printu::b#3 printu::res#3 ] main:2::printu:27 [ main::a#10 line_cursor#13 char_cursor#43 printu::a#3 printu::op#3 printu::b#3 printu::res#3 ] )
[39] (byte) printu::a#3 ← phi( main::@2/(byte) printu::a#0 main::@3/(byte) printu::a#1 main::@4/(byte) printu::a#2 ) [ char_cursor#43 printu::a#3 printu::op#3 printu::b#3 printu::res#3 ] ( main:2::printu:14 [ main::a#10 line_cursor#13 char_cursor#43 printu::a#3 printu::op#3 printu::b#3 printu::res#3 ] main:2::printu:20 [ main::a#10 line_cursor#13 char_cursor#43 printu::a#3 printu::op#3 printu::b#3 printu::res#3 ] main:2::printu:27 [ main::a#10 line_cursor#13 char_cursor#43 printu::a#3 printu::op#3 printu::b#3 printu::res#3 ] )
[39] (byte*) char_cursor#43 ← phi( main::@2/(byte*) char_cursor#44 main::@3/(byte*) char_cursor#27 main::@4/(byte*) char_cursor#27 ) [ char_cursor#43 printu::a#3 printu::op#3 printu::b#3 printu::res#3 ] ( main:2::printu:14 [ main::a#10 line_cursor#13 char_cursor#43 printu::a#3 printu::op#3 printu::b#3 printu::res#3 ] main:2::printu:20 [ main::a#10 line_cursor#13 char_cursor#43 printu::a#3 printu::op#3 printu::b#3 printu::res#3 ] main:2::printu:27 [ main::a#10 line_cursor#13 char_cursor#43 printu::a#3 printu::op#3 printu::b#3 printu::res#3 ] )
[40] call print_char param-assignment [ char_cursor#27 printu::a#3 printu::op#3 printu::b#3 printu::res#3 ] ( main:2::printu:14 [ main::a#10 line_cursor#13 char_cursor#27 printu::a#3 printu::op#3 printu::b#3 printu::res#3 ] main:2::printu:20 [ main::a#10 line_cursor#13 char_cursor#27 printu::a#3 printu::op#3 printu::b#3 printu::res#3 ] main:2::printu:27 [ main::a#10 line_cursor#13 char_cursor#27 printu::a#3 printu::op#3 printu::b#3 printu::res#3 ] )
to:printu::@1
printu::@1: scope:[printu] from printu
[41] (byte) print_byte::b#0 ← (byte) printu::a#3 [ char_cursor#27 printu::op#3 printu::b#3 printu::res#3 print_byte::b#0 ] ( main:2::printu:14 [ main::a#10 line_cursor#13 char_cursor#27 printu::op#3 printu::b#3 printu::res#3 print_byte::b#0 ] main:2::printu:20 [ main::a#10 line_cursor#13 char_cursor#27 printu::op#3 printu::b#3 printu::res#3 print_byte::b#0 ] main:2::printu:27 [ main::a#10 line_cursor#13 char_cursor#27 printu::op#3 printu::b#3 printu::res#3 print_byte::b#0 ] )
[42] call print_byte param-assignment [ char_cursor#27 printu::op#3 printu::b#3 printu::res#3 ] ( main:2::printu:14 [ main::a#10 line_cursor#13 char_cursor#27 printu::op#3 printu::b#3 printu::res#3 ] main:2::printu:20 [ main::a#10 line_cursor#13 char_cursor#27 printu::op#3 printu::b#3 printu::res#3 ] main:2::printu:27 [ main::a#10 line_cursor#13 char_cursor#27 printu::op#3 printu::b#3 printu::res#3 ] )
to:printu::@2
printu::@2: scope:[printu] from printu::@1
[43] (byte) print_char::ch#3 ← (byte) printu::op#3 [ char_cursor#27 printu::b#3 printu::res#3 print_char::ch#3 ] ( main:2::printu:14 [ main::a#10 line_cursor#13 char_cursor#27 printu::b#3 printu::res#3 print_char::ch#3 ] main:2::printu:20 [ main::a#10 line_cursor#13 char_cursor#27 printu::b#3 printu::res#3 print_char::ch#3 ] main:2::printu:27 [ main::a#10 line_cursor#13 char_cursor#27 printu::b#3 printu::res#3 print_char::ch#3 ] )
[44] call print_char param-assignment [ char_cursor#27 printu::b#3 printu::res#3 ] ( main:2::printu:14 [ main::a#10 line_cursor#13 char_cursor#27 printu::b#3 printu::res#3 ] main:2::printu:20 [ main::a#10 line_cursor#13 char_cursor#27 printu::b#3 printu::res#3 ] main:2::printu:27 [ main::a#10 line_cursor#13 char_cursor#27 printu::b#3 printu::res#3 ] )
to:printu::@3
printu::@3: scope:[printu] from printu::@2
[45] (byte) print_byte::b#1 ← (byte) printu::b#3 [ char_cursor#27 printu::res#3 print_byte::b#1 ] ( main:2::printu:14 [ main::a#10 line_cursor#13 char_cursor#27 printu::res#3 print_byte::b#1 ] main:2::printu:20 [ main::a#10 line_cursor#13 char_cursor#27 printu::res#3 print_byte::b#1 ] main:2::printu:27 [ main::a#10 line_cursor#13 char_cursor#27 printu::res#3 print_byte::b#1 ] )
[46] call print_byte param-assignment [ char_cursor#27 printu::res#3 ] ( main:2::printu:14 [ main::a#10 line_cursor#13 char_cursor#27 printu::res#3 ] main:2::printu:20 [ main::a#10 line_cursor#13 char_cursor#27 printu::res#3 ] main:2::printu:27 [ main::a#10 line_cursor#13 char_cursor#27 printu::res#3 ] )
to:printu::@4
printu::@4: scope:[printu] from printu::@3
[47] phi() [ char_cursor#27 printu::res#3 ] ( main:2::printu:14 [ main::a#10 line_cursor#13 char_cursor#27 printu::res#3 ] main:2::printu:20 [ main::a#10 line_cursor#13 char_cursor#27 printu::res#3 ] main:2::printu:27 [ main::a#10 line_cursor#13 char_cursor#27 printu::res#3 ] )
[48] call print_char param-assignment [ char_cursor#27 printu::res#3 ] ( main:2::printu:14 [ main::a#10 line_cursor#13 char_cursor#27 printu::res#3 ] main:2::printu:20 [ main::a#10 line_cursor#13 char_cursor#27 printu::res#3 ] main:2::printu:27 [ main::a#10 line_cursor#13 char_cursor#27 printu::res#3 ] )
to:printu::@5
printu::@5: scope:[printu] from printu::@4
[49] (byte) print_char::ch#5 ← (byte) printu::res#3 [ char_cursor#27 print_char::ch#5 ] ( main:2::printu:14 [ main::a#10 line_cursor#13 char_cursor#27 print_char::ch#5 ] main:2::printu:20 [ main::a#10 line_cursor#13 char_cursor#27 print_char::ch#5 ] main:2::printu:27 [ main::a#10 line_cursor#13 char_cursor#27 print_char::ch#5 ] )
[50] call print_char param-assignment [ char_cursor#27 ] ( main:2::printu:14 [ main::a#10 line_cursor#13 char_cursor#27 ] main:2::printu:20 [ main::a#10 line_cursor#13 char_cursor#27 ] main:2::printu:27 [ main::a#10 line_cursor#13 char_cursor#27 ] )
to:printu::@return
printu::@return: scope:[printu] from printu::@5
[51] return [ char_cursor#27 ] ( main:2::printu:14 [ main::a#10 line_cursor#13 char_cursor#27 ] main:2::printu:20 [ main::a#10 line_cursor#13 char_cursor#27 ] main:2::printu:27 [ main::a#10 line_cursor#13 char_cursor#27 ] )
to:@return
print_char: scope:[print_char] from print_byte print_byte::@1 printu printu::@2 printu::@4 printu::@5
[52] (byte*) char_cursor#26 ← phi( print_byte/(byte*) char_cursor#27 print_byte::@1/(byte*) char_cursor#27 printu/(byte*) char_cursor#43 printu::@2/(byte*) char_cursor#27 printu::@4/(byte*) char_cursor#27 printu::@5/(byte*) char_cursor#27 ) [ print_char::ch#6 char_cursor#26 ] ( main:2::printu:14::print_char:40 [ main::a#10 line_cursor#13 printu::a#3 printu::op#3 printu::b#3 printu::res#3 print_char::ch#6 char_cursor#26 ] main:2::printu:20::print_char:40 [ main::a#10 line_cursor#13 printu::a#3 printu::op#3 printu::b#3 printu::res#3 print_char::ch#6 char_cursor#26 ] main:2::printu:27::print_char:40 [ main::a#10 line_cursor#13 printu::a#3 printu::op#3 printu::b#3 printu::res#3 print_char::ch#6 char_cursor#26 ] main:2::printu:14::print_char:44 [ main::a#10 line_cursor#13 printu::b#3 printu::res#3 print_char::ch#6 char_cursor#26 ] main:2::printu:20::print_char:44 [ main::a#10 line_cursor#13 printu::b#3 printu::res#3 print_char::ch#6 char_cursor#26 ] main:2::printu:27::print_char:44 [ main::a#10 line_cursor#13 printu::b#3 printu::res#3 print_char::ch#6 char_cursor#26 ] main:2::printu:14::print_char:48 [ main::a#10 line_cursor#13 printu::res#3 print_char::ch#6 char_cursor#26 ] main:2::printu:20::print_char:48 [ main::a#10 line_cursor#13 printu::res#3 print_char::ch#6 char_cursor#26 ] main:2::printu:27::print_char:48 [ main::a#10 line_cursor#13 printu::res#3 print_char::ch#6 char_cursor#26 ] main:2::printu:14::print_char:50 [ main::a#10 line_cursor#13 print_char::ch#6 char_cursor#26 ] main:2::printu:20::print_char:50 [ main::a#10 line_cursor#13 print_char::ch#6 char_cursor#26 ] main:2::printu:27::print_char:50 [ main::a#10 line_cursor#13 print_char::ch#6 char_cursor#26 ] main:2::printu:14::print_byte:42::print_char:59 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 print_byte::b#2 print_char::ch#6 char_cursor#26 ] main:2::printu:20::print_byte:42::print_char:59 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 print_byte::b#2 print_char::ch#6 char_cursor#26 ] main:2::printu:27::print_byte:42::print_char:59 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 print_byte::b#2 print_char::ch#6 char_cursor#26 ] main:2::printu:14::print_byte:46::print_char:59 [ main::a#10 line_cursor#13 printu::res#3 print_byte::b#2 print_char::ch#6 char_cursor#26 ] main:2::printu:20::print_byte:46::print_char:59 [ main::a#10 line_cursor#13 printu::res#3 print_byte::b#2 print_char::ch#6 char_cursor#26 ] main:2::printu:27::print_byte:46::print_char:59 [ main::a#10 line_cursor#13 printu::res#3 print_byte::b#2 print_char::ch#6 char_cursor#26 ] main:2::printu:14::print_byte:42::print_char:62 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 print_char::ch#6 char_cursor#26 ] main:2::printu:20::print_byte:42::print_char:62 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 print_char::ch#6 char_cursor#26 ] main:2::printu:27::print_byte:42::print_char:62 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 print_char::ch#6 char_cursor#26 ] main:2::printu:14::print_byte:46::print_char:62 [ main::a#10 line_cursor#13 printu::res#3 print_char::ch#6 char_cursor#26 ] main:2::printu:20::print_byte:46::print_char:62 [ main::a#10 line_cursor#13 printu::res#3 print_char::ch#6 char_cursor#26 ] main:2::printu:27::print_byte:46::print_char:62 [ main::a#10 line_cursor#13 printu::res#3 print_char::ch#6 char_cursor#26 ] )
[52] (byte) print_char::ch#6 ← phi( print_byte/(byte) print_char::ch#0 print_byte::@1/(byte) print_char::ch#1 printu/(byte) ' ' printu::@2/(byte) print_char::ch#3 printu::@4/(byte) ' ' printu::@5/(byte) print_char::ch#5 ) [ print_char::ch#6 char_cursor#26 ] ( main:2::printu:14::print_char:40 [ main::a#10 line_cursor#13 printu::a#3 printu::op#3 printu::b#3 printu::res#3 print_char::ch#6 char_cursor#26 ] main:2::printu:20::print_char:40 [ main::a#10 line_cursor#13 printu::a#3 printu::op#3 printu::b#3 printu::res#3 print_char::ch#6 char_cursor#26 ] main:2::printu:27::print_char:40 [ main::a#10 line_cursor#13 printu::a#3 printu::op#3 printu::b#3 printu::res#3 print_char::ch#6 char_cursor#26 ] main:2::printu:14::print_char:44 [ main::a#10 line_cursor#13 printu::b#3 printu::res#3 print_char::ch#6 char_cursor#26 ] main:2::printu:20::print_char:44 [ main::a#10 line_cursor#13 printu::b#3 printu::res#3 print_char::ch#6 char_cursor#26 ] main:2::printu:27::print_char:44 [ main::a#10 line_cursor#13 printu::b#3 printu::res#3 print_char::ch#6 char_cursor#26 ] main:2::printu:14::print_char:48 [ main::a#10 line_cursor#13 printu::res#3 print_char::ch#6 char_cursor#26 ] main:2::printu:20::print_char:48 [ main::a#10 line_cursor#13 printu::res#3 print_char::ch#6 char_cursor#26 ] main:2::printu:27::print_char:48 [ main::a#10 line_cursor#13 printu::res#3 print_char::ch#6 char_cursor#26 ] main:2::printu:14::print_char:50 [ main::a#10 line_cursor#13 print_char::ch#6 char_cursor#26 ] main:2::printu:20::print_char:50 [ main::a#10 line_cursor#13 print_char::ch#6 char_cursor#26 ] main:2::printu:27::print_char:50 [ main::a#10 line_cursor#13 print_char::ch#6 char_cursor#26 ] main:2::printu:14::print_byte:42::print_char:59 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 print_byte::b#2 print_char::ch#6 char_cursor#26 ] main:2::printu:20::print_byte:42::print_char:59 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 print_byte::b#2 print_char::ch#6 char_cursor#26 ] main:2::printu:27::print_byte:42::print_char:59 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 print_byte::b#2 print_char::ch#6 char_cursor#26 ] main:2::printu:14::print_byte:46::print_char:59 [ main::a#10 line_cursor#13 printu::res#3 print_byte::b#2 print_char::ch#6 char_cursor#26 ] main:2::printu:20::print_byte:46::print_char:59 [ main::a#10 line_cursor#13 printu::res#3 print_byte::b#2 print_char::ch#6 char_cursor#26 ] main:2::printu:27::print_byte:46::print_char:59 [ main::a#10 line_cursor#13 printu::res#3 print_byte::b#2 print_char::ch#6 char_cursor#26 ] main:2::printu:14::print_byte:42::print_char:62 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 print_char::ch#6 char_cursor#26 ] main:2::printu:20::print_byte:42::print_char:62 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 print_char::ch#6 char_cursor#26 ] main:2::printu:27::print_byte:42::print_char:62 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 print_char::ch#6 char_cursor#26 ] main:2::printu:14::print_byte:46::print_char:62 [ main::a#10 line_cursor#13 printu::res#3 print_char::ch#6 char_cursor#26 ] main:2::printu:20::print_byte:46::print_char:62 [ main::a#10 line_cursor#13 printu::res#3 print_char::ch#6 char_cursor#26 ] main:2::printu:27::print_byte:46::print_char:62 [ main::a#10 line_cursor#13 printu::res#3 print_char::ch#6 char_cursor#26 ] )
[53] *((byte*) char_cursor#26) ← (byte) print_char::ch#6 [ char_cursor#26 ] ( main:2::printu:14::print_char:40 [ main::a#10 line_cursor#13 printu::a#3 printu::op#3 printu::b#3 printu::res#3 char_cursor#26 ] main:2::printu:20::print_char:40 [ main::a#10 line_cursor#13 printu::a#3 printu::op#3 printu::b#3 printu::res#3 char_cursor#26 ] main:2::printu:27::print_char:40 [ main::a#10 line_cursor#13 printu::a#3 printu::op#3 printu::b#3 printu::res#3 char_cursor#26 ] main:2::printu:14::print_char:44 [ main::a#10 line_cursor#13 printu::b#3 printu::res#3 char_cursor#26 ] main:2::printu:20::print_char:44 [ main::a#10 line_cursor#13 printu::b#3 printu::res#3 char_cursor#26 ] main:2::printu:27::print_char:44 [ main::a#10 line_cursor#13 printu::b#3 printu::res#3 char_cursor#26 ] main:2::printu:14::print_char:48 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#26 ] main:2::printu:20::print_char:48 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#26 ] main:2::printu:27::print_char:48 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#26 ] main:2::printu:14::print_char:50 [ main::a#10 line_cursor#13 char_cursor#26 ] main:2::printu:20::print_char:50 [ main::a#10 line_cursor#13 char_cursor#26 ] main:2::printu:27::print_char:50 [ main::a#10 line_cursor#13 char_cursor#26 ] main:2::printu:14::print_byte:42::print_char:59 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 print_byte::b#2 char_cursor#26 ] main:2::printu:20::print_byte:42::print_char:59 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 print_byte::b#2 char_cursor#26 ] main:2::printu:27::print_byte:42::print_char:59 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 print_byte::b#2 char_cursor#26 ] main:2::printu:14::print_byte:46::print_char:59 [ main::a#10 line_cursor#13 printu::res#3 print_byte::b#2 char_cursor#26 ] main:2::printu:20::print_byte:46::print_char:59 [ main::a#10 line_cursor#13 printu::res#3 print_byte::b#2 char_cursor#26 ] main:2::printu:27::print_byte:46::print_char:59 [ main::a#10 line_cursor#13 printu::res#3 print_byte::b#2 char_cursor#26 ] main:2::printu:14::print_byte:42::print_char:62 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 char_cursor#26 ] main:2::printu:20::print_byte:42::print_char:62 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 char_cursor#26 ] main:2::printu:27::print_byte:42::print_char:62 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 char_cursor#26 ] main:2::printu:14::print_byte:46::print_char:62 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#26 ] main:2::printu:20::print_byte:46::print_char:62 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#26 ] main:2::printu:27::print_byte:46::print_char:62 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#26 ] )
[54] (byte*) char_cursor#27 ← ++ (byte*) char_cursor#26 [ char_cursor#27 ] ( main:2::printu:14::print_char:40 [ main::a#10 line_cursor#13 printu::a#3 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 ] main:2::printu:20::print_char:40 [ main::a#10 line_cursor#13 printu::a#3 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 ] main:2::printu:27::print_char:40 [ main::a#10 line_cursor#13 printu::a#3 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 ] main:2::printu:14::print_char:44 [ main::a#10 line_cursor#13 printu::b#3 printu::res#3 char_cursor#27 ] main:2::printu:20::print_char:44 [ main::a#10 line_cursor#13 printu::b#3 printu::res#3 char_cursor#27 ] main:2::printu:27::print_char:44 [ main::a#10 line_cursor#13 printu::b#3 printu::res#3 char_cursor#27 ] main:2::printu:14::print_char:48 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 ] main:2::printu:20::print_char:48 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 ] main:2::printu:27::print_char:48 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 ] main:2::printu:14::print_char:50 [ main::a#10 line_cursor#13 char_cursor#27 ] main:2::printu:20::print_char:50 [ main::a#10 line_cursor#13 char_cursor#27 ] main:2::printu:27::print_char:50 [ main::a#10 line_cursor#13 char_cursor#27 ] main:2::printu:14::print_byte:42::print_char:59 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 print_byte::b#2 char_cursor#27 ] main:2::printu:20::print_byte:42::print_char:59 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 print_byte::b#2 char_cursor#27 ] main:2::printu:27::print_byte:42::print_char:59 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 print_byte::b#2 char_cursor#27 ] main:2::printu:14::print_byte:46::print_char:59 [ main::a#10 line_cursor#13 printu::res#3 print_byte::b#2 char_cursor#27 ] main:2::printu:20::print_byte:46::print_char:59 [ main::a#10 line_cursor#13 printu::res#3 print_byte::b#2 char_cursor#27 ] main:2::printu:27::print_byte:46::print_char:59 [ main::a#10 line_cursor#13 printu::res#3 print_byte::b#2 char_cursor#27 ] main:2::printu:14::print_byte:42::print_char:62 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 ] main:2::printu:20::print_byte:42::print_char:62 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 ] main:2::printu:27::print_byte:42::print_char:62 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 ] main:2::printu:14::print_byte:46::print_char:62 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 ] main:2::printu:20::print_byte:46::print_char:62 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 ] main:2::printu:27::print_byte:46::print_char:62 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 ] )
to:print_char::@return
print_char::@return: scope:[print_char] from print_char
[55] return [ char_cursor#27 ] ( main:2::printu:14::print_char:40 [ main::a#10 line_cursor#13 printu::a#3 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 ] main:2::printu:20::print_char:40 [ main::a#10 line_cursor#13 printu::a#3 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 ] main:2::printu:27::print_char:40 [ main::a#10 line_cursor#13 printu::a#3 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 ] main:2::printu:14::print_char:44 [ main::a#10 line_cursor#13 printu::b#3 printu::res#3 char_cursor#27 ] main:2::printu:20::print_char:44 [ main::a#10 line_cursor#13 printu::b#3 printu::res#3 char_cursor#27 ] main:2::printu:27::print_char:44 [ main::a#10 line_cursor#13 printu::b#3 printu::res#3 char_cursor#27 ] main:2::printu:14::print_char:48 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 ] main:2::printu:20::print_char:48 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 ] main:2::printu:27::print_char:48 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 ] main:2::printu:14::print_char:50 [ main::a#10 line_cursor#13 char_cursor#27 ] main:2::printu:20::print_char:50 [ main::a#10 line_cursor#13 char_cursor#27 ] main:2::printu:27::print_char:50 [ main::a#10 line_cursor#13 char_cursor#27 ] main:2::printu:14::print_byte:42::print_char:59 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 print_byte::b#2 char_cursor#27 ] main:2::printu:20::print_byte:42::print_char:59 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 print_byte::b#2 char_cursor#27 ] main:2::printu:27::print_byte:42::print_char:59 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 print_byte::b#2 char_cursor#27 ] main:2::printu:14::print_byte:46::print_char:59 [ main::a#10 line_cursor#13 printu::res#3 print_byte::b#2 char_cursor#27 ] main:2::printu:20::print_byte:46::print_char:59 [ main::a#10 line_cursor#13 printu::res#3 print_byte::b#2 char_cursor#27 ] main:2::printu:27::print_byte:46::print_char:59 [ main::a#10 line_cursor#13 printu::res#3 print_byte::b#2 char_cursor#27 ] main:2::printu:14::print_byte:42::print_char:62 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 ] main:2::printu:20::print_byte:42::print_char:62 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 ] main:2::printu:27::print_byte:42::print_char:62 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 ] main:2::printu:14::print_byte:46::print_char:62 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 ] main:2::printu:20::print_byte:46::print_char:62 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 ] main:2::printu:27::print_byte:46::print_char:62 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 ] )
to:@return
print_byte: scope:[print_byte] from printu::@1 printu::@3
[56] (byte) print_byte::b#2 ← phi( printu::@1/(byte) print_byte::b#0 printu::@3/(byte) print_byte::b#1 ) [ char_cursor#27 print_byte::b#2 ] ( main:2::printu:14::print_byte:42 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 print_byte::b#2 ] main:2::printu:20::print_byte:42 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 print_byte::b#2 ] main:2::printu:27::print_byte:42 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 print_byte::b#2 ] main:2::printu:14::print_byte:46 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 print_byte::b#2 ] main:2::printu:20::print_byte:46 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 print_byte::b#2 ] main:2::printu:27::print_byte:46 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 print_byte::b#2 ] )
[57] (byte~) print_byte::$0 ← (byte) print_byte::b#2 >> (byte/signed byte/word/signed word) 4 [ char_cursor#27 print_byte::b#2 print_byte::$0 ] ( main:2::printu:14::print_byte:42 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 print_byte::b#2 print_byte::$0 ] main:2::printu:20::print_byte:42 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 print_byte::b#2 print_byte::$0 ] main:2::printu:27::print_byte:42 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 print_byte::b#2 print_byte::$0 ] main:2::printu:14::print_byte:46 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 print_byte::b#2 print_byte::$0 ] main:2::printu:20::print_byte:46 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 print_byte::b#2 print_byte::$0 ] main:2::printu:27::print_byte:46 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 print_byte::b#2 print_byte::$0 ] )
[58] (byte) print_char::ch#0 ← *((const string) print_byte::hextab#0 + (byte~) print_byte::$0) [ char_cursor#27 print_char::ch#0 print_byte::b#2 ] ( main:2::printu:14::print_byte:42 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 print_char::ch#0 print_byte::b#2 ] main:2::printu:20::print_byte:42 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 print_char::ch#0 print_byte::b#2 ] main:2::printu:27::print_byte:42 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 print_char::ch#0 print_byte::b#2 ] main:2::printu:14::print_byte:46 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 print_char::ch#0 print_byte::b#2 ] main:2::printu:20::print_byte:46 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 print_char::ch#0 print_byte::b#2 ] main:2::printu:27::print_byte:46 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 print_char::ch#0 print_byte::b#2 ] )
[59] call print_char param-assignment [ char_cursor#27 print_byte::b#2 ] ( main:2::printu:14::print_byte:42 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 print_byte::b#2 ] main:2::printu:20::print_byte:42 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 print_byte::b#2 ] main:2::printu:27::print_byte:42 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 print_byte::b#2 ] main:2::printu:14::print_byte:46 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 print_byte::b#2 ] main:2::printu:20::print_byte:46 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 print_byte::b#2 ] main:2::printu:27::print_byte:46 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 print_byte::b#2 ] )
to:print_byte::@1
print_byte::@1: scope:[print_byte] from print_byte
[60] (byte~) print_byte::$2 ← (byte) print_byte::b#2 & (byte/signed byte/word/signed word) 15 [ char_cursor#27 print_byte::$2 ] ( main:2::printu:14::print_byte:42 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 print_byte::$2 ] main:2::printu:20::print_byte:42 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 print_byte::$2 ] main:2::printu:27::print_byte:42 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 print_byte::$2 ] main:2::printu:14::print_byte:46 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 print_byte::$2 ] main:2::printu:20::print_byte:46 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 print_byte::$2 ] main:2::printu:27::print_byte:46 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 print_byte::$2 ] )
[61] (byte) print_char::ch#1 ← *((const string) print_byte::hextab#0 + (byte~) print_byte::$2) [ char_cursor#27 print_char::ch#1 ] ( main:2::printu:14::print_byte:42 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 print_char::ch#1 ] main:2::printu:20::print_byte:42 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 print_char::ch#1 ] main:2::printu:27::print_byte:42 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 print_char::ch#1 ] main:2::printu:14::print_byte:46 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 print_char::ch#1 ] main:2::printu:20::print_byte:46 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 print_char::ch#1 ] main:2::printu:27::print_byte:46 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 print_char::ch#1 ] )
[62] call print_char param-assignment [ char_cursor#27 ] ( main:2::printu:14::print_byte:42 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 ] main:2::printu:20::print_byte:42 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 ] main:2::printu:27::print_byte:42 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 ] main:2::printu:14::print_byte:46 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 ] main:2::printu:20::print_byte:46 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 ] main:2::printu:27::print_byte:46 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 ] )
to:print_byte::@return
print_byte::@return: scope:[print_byte] from print_byte::@1
[63] return [ char_cursor#27 ] ( main:2::printu:14::print_byte:42 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 ] main:2::printu:20::print_byte:42 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 ] main:2::printu:27::print_byte:42 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 ] main:2::printu:14::print_byte:46 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 ] main:2::printu:20::print_byte:46 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 ] main:2::printu:27::print_byte:46 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 ] )
to:@return
print_cls: scope:[print_cls] from main
[64] phi() [ ] ( main:2::print_cls:5 [ ] )
to:print_cls::@1
print_cls::@1: scope:[print_cls] from print_cls print_cls::@1
[65] (byte*) print_cls::sc#2 ← phi( print_cls/((byte*))(word/signed word) 1024 print_cls::@1/(byte*) print_cls::sc#1 ) [ print_cls::sc#2 ] ( main:2::print_cls:5 [ print_cls::sc#2 ] )
[66] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::print_cls:5 [ print_cls::sc#2 ] )
[67] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 [ print_cls::sc#1 ] ( main:2::print_cls:5 [ print_cls::sc#1 ] )
[68] if((byte*) print_cls::sc#1!=(word/signed word) 1024+(word/signed word) 1000) goto print_cls::@1 [ print_cls::sc#1 ] ( main:2::print_cls:5 [ print_cls::sc#1 ] )
to:print_cls::@return
print_cls::@return: scope:[print_cls] from print_cls::@1
[69] return [ ] ( main:2::print_cls:5 [ ] )
to:@return

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,104 @@
(label) @10
(label) @begin
(label) @end
(byte*) char_cursor
(byte*) char_cursor#26 char_cursor zp ZP_WORD:7 8.0
(byte*) char_cursor#27 char_cursor zp ZP_WORD:7 3.2926829268292686
(byte*) char_cursor#43 char_cursor zp ZP_WORD:7 35.0
(byte*) char_cursor#44 char_cursor zp ZP_WORD:7 2.75
(byte*~) char_cursor#54 char_cursor zp ZP_WORD:7 22.0
(byte*) line_cursor
(byte*) line_cursor#1 line_cursor zp ZP_WORD:3 46.42857142857143
(byte*) line_cursor#13 line_cursor zp ZP_WORD:3 0.5416666666666666
(byte*) line_cursor#6 line_cursor zp ZP_WORD:3 204.0
(void()) main()
(label) main::@1
(label) main::@10
(label) main::@11
(label) main::@12
(label) main::@13
(label) main::@14
(label) main::@2
(label) main::@3
(label) main::@4
(label) main::@5
(label) main::@6
(label) main::@7
(label) main::@return
(byte) main::a
(byte) main::a#1 a zp ZP_BYTE:2 11.0
(byte) main::a#10 a zp ZP_BYTE:2 5.041666666666666
(byte) main::b
(byte) main::b#0 reg byte y 6.6000000000000005
(byte[10]) main::cs
(const byte[10]) main::cs#0 cs = { (byte/signed byte/word/signed word) 0, (byte/signed byte/word/signed word) 20, (byte/signed byte/word/signed word) 4, (byte/signed byte/word/signed word) 9, (byte/signed byte/word/signed word) 11, (byte/signed byte/word/signed word) 4, (byte/signed byte/word/signed word) 13, (byte/signed byte/word/signed word) 8, (byte/signed byte/word/signed word) 4, (byte/signed byte/word/signed word) 6 }
(byte) main::r
(byte) main::r#6 reg byte x 3.6666666666666665
(byte) main::r#7 reg byte x 5.5
(byte) main::r#8 reg byte x 3.6666666666666665
(void()) print_byte((byte) print_byte::b)
(byte~) print_byte::$0 reg byte y 4.0
(byte~) print_byte::$2 reg byte y 4.0
(label) print_byte::@1
(label) print_byte::@return
(byte) print_byte::b
(byte) print_byte::b#0 b zp ZP_BYTE:9 4.0
(byte) print_byte::b#1 b zp ZP_BYTE:9 4.0
(byte) print_byte::b#2 b zp ZP_BYTE:9 2.0
(byte[]) print_byte::hextab
(const string) print_byte::hextab#0 hextab = (string) "0123456789abcdef"
(void()) print_char((byte) print_char::ch)
(label) print_char::@return
(byte) print_char::ch
(byte) print_char::ch#0 reg byte a 4.0
(byte) print_char::ch#1 reg byte a 4.0
(byte) print_char::ch#3 reg byte a 4.0
(byte) print_char::ch#5 reg byte a 4.0
(byte) print_char::ch#6 reg byte a 10.0
(void()) print_cls()
(label) print_cls::@1
(label) print_cls::@return
(byte*) print_cls::sc
(byte*) print_cls::sc#1 sc zp ZP_WORD:3 16.5
(byte*) print_cls::sc#2 sc zp ZP_WORD:3 16.5
(void()) print_ln()
(label) print_ln::@1
(label) print_ln::@return
(void()) printu((byte) printu::a , (byte) printu::op , (byte) printu::b , (byte) printu::res)
(label) printu::@1
(label) printu::@2
(label) printu::@3
(label) printu::@4
(label) printu::@5
(label) printu::@return
(byte) printu::a
(byte) printu::a#0 a zp ZP_BYTE:2 7.333333333333333
(byte) printu::a#1 a zp ZP_BYTE:2 11.0
(byte) printu::a#2 a zp ZP_BYTE:2 7.333333333333333
(byte) printu::a#3 a zp ZP_BYTE:2 17.5
(byte) printu::b
(byte) printu::b#0 b zp ZP_BYTE:6 11.0
(byte) printu::b#2 b zp ZP_BYTE:6 11.0
(byte) printu::b#3 b zp ZP_BYTE:6 4.0
(byte) printu::op
(byte) printu::op#3 op zp ZP_BYTE:5 0.5
(byte) printu::res
(byte) printu::res#0 reg byte x 22.0
(byte) printu::res#1 reg byte x 22.0
(byte) printu::res#2 reg byte x 22.0
(byte) printu::res#3 reg byte x 3.5000000000000004
zp ZP_BYTE:2 [ main::a#10 main::a#1 printu::a#3 printu::a#0 printu::a#1 printu::a#2 ]
reg byte x [ main::r#6 ]
reg byte x [ main::r#7 ]
reg byte x [ main::r#8 ]
zp ZP_WORD:3 [ line_cursor#6 line_cursor#13 line_cursor#1 print_cls::sc#2 print_cls::sc#1 ]
zp ZP_BYTE:5 [ printu::op#3 ]
zp ZP_BYTE:6 [ printu::b#3 printu::b#0 printu::b#2 ]
reg byte x [ printu::res#3 printu::res#0 printu::res#1 printu::res#2 ]
reg byte a [ print_char::ch#6 print_char::ch#0 print_char::ch#1 print_char::ch#3 print_char::ch#5 ]
zp ZP_WORD:7 [ char_cursor#26 char_cursor#43 char_cursor#44 char_cursor#54 char_cursor#27 ]
zp ZP_BYTE:9 [ print_byte::b#2 print_byte::b#0 print_byte::b#1 ]
reg byte y [ main::b#0 ]
reg byte y [ print_byte::$0 ]
reg byte y [ print_byte::$2 ]