mirror of
https://gitlab.com/camelot/kickc.git
synced 2024-11-20 02:32:36 +00:00
Fixed problem with phi lifting not updating predecessor in phi blocks when introducing new blocks. Implemented signed division for bytes.
This commit is contained in:
parent
1feed93b43
commit
a50d685574
@ -46,17 +46,7 @@ public class Pass3PhiLifting {
|
||||
newVar = ((VariableVersion) lValVar).getVersionOf().createVersion();
|
||||
} else {
|
||||
throw new RuntimeException("Only versions! " + phiVariable.getVariable());
|
||||
// Symbol predecessorSymbol = programScope.getSymbol(predecessorRef);
|
||||
// newVar = predecessorSymbol.getScope().addVariableIntermediate();
|
||||
}
|
||||
// If the PHI LValue does not work when lifting - try the rValue instead! Original code below
|
||||
//if(rValVarRef.isVersion()) {
|
||||
// Variable rValVar = program.getScope().getVariable(rValVarRef);
|
||||
// newVar = ((VariableVersion) rValVar).getVersionOf().createVersion();
|
||||
//} else {
|
||||
// Symbol predecessorSymbol = programScope.getSymbol(predecessorRef);
|
||||
// newVar = predecessorSymbol.getScope().addVariableIntermediate();
|
||||
//}
|
||||
Symbol phiLValue = programScope.getSymbol(phiVariable.getVariable());
|
||||
newVar.setType(phiLValue.getType());
|
||||
newVar.setInferredType(true);
|
||||
@ -106,6 +96,21 @@ public class Pass3PhiLifting {
|
||||
}
|
||||
}
|
||||
}
|
||||
if(newBlocks.size() > 0) {
|
||||
// If new blocks have been inserted: Update the predecessors of all phi values
|
||||
for(StatementPhiBlock.PhiVariable phiVariable : phiBlock.getPhiVariables()) {
|
||||
for(StatementPhiBlock.PhiRValue phiRValue : phiVariable.getValues()) {
|
||||
LabelRef predecessor = phiRValue.getPredecessor();
|
||||
LabelRef newBlock = newBlocks.get(predecessor);
|
||||
if(newBlock != null) {
|
||||
phiRValue.setPredecessor(newBlock);
|
||||
program.getLog().append("Fixing phi predecessor for " + phiVariable.getVariable().toString() +
|
||||
" to new block ( " + predecessor.toString() + " -> " + newBlock.toString() + " ) " +
|
||||
"during phi lifting.");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -24,6 +24,41 @@ byte div8u(byte dividend, byte divisor, byte* remainder) {
|
||||
return quotient;
|
||||
}
|
||||
|
||||
// Remainder after signed 8 bit division
|
||||
signed byte rem8s = 0;
|
||||
|
||||
// Perform division on two signed 8-bit numbers
|
||||
// Returns dividend/divisor.
|
||||
// The remainder will be set into the global variable rem16u
|
||||
// Implemented using simple binary division
|
||||
signed byte div8s(signed byte dividend, signed byte divisor) {
|
||||
byte neg = 0;
|
||||
byte dividendb = 0;
|
||||
if(dividend<0) {
|
||||
dividendb = (byte)-dividend;
|
||||
neg = 1;
|
||||
} else {
|
||||
dividendb = (byte)dividend;
|
||||
}
|
||||
byte divisorb = 0;
|
||||
if(divisor<0) {
|
||||
divisorb = (byte)-divisor;
|
||||
neg = neg ^ 1;
|
||||
} else {
|
||||
divisorb = (byte)divisor;
|
||||
}
|
||||
byte rem8u = 0;
|
||||
byte resultb = div8u(dividendb, divisorb, &rem8u);
|
||||
if(neg==0) {
|
||||
rem8s = (signed byte)rem8u;
|
||||
return (signed byte)resultb;
|
||||
} else {
|
||||
rem8s = -(signed byte)rem8u;
|
||||
return -(signed byte)resultb;
|
||||
}
|
||||
}
|
||||
|
||||
// Remainder after unsigned 16-bit division
|
||||
word rem16u = 0;
|
||||
|
||||
// Performs division on two 16 bit unsigned bytes
|
||||
|
@ -1,5 +1,7 @@
|
||||
|
||||
byte* line_cursor = $0400;
|
||||
const byte* SCREEN = $0400;
|
||||
|
||||
byte* line_cursor = SCREEN;
|
||||
byte* char_cursor = line_cursor;
|
||||
|
||||
// Print a zero-terminated string
|
||||
@ -56,9 +58,11 @@ void print_char(byte ch) {
|
||||
|
||||
// Clear the screen
|
||||
void print_cls() {
|
||||
for(byte* sc=$0400; sc!=$0400+1000; sc++) {
|
||||
for(byte* sc=SCREEN; sc!=SCREEN+1000; sc++) {
|
||||
*sc = ' ';
|
||||
}
|
||||
line_cursor = SCREEN;
|
||||
char_cursor = line_cursor;
|
||||
}
|
||||
|
||||
|
||||
|
@ -4,6 +4,7 @@ import "division.kc"
|
||||
|
||||
void main() {
|
||||
print_cls();
|
||||
test_8s();
|
||||
test_8u();
|
||||
test_16u();
|
||||
}
|
||||
@ -44,3 +45,21 @@ void test_8u() {
|
||||
print_ln();
|
||||
}
|
||||
}
|
||||
|
||||
void test_8s() {
|
||||
signed byte[] dividends = { 127, -127, -127, 127, 127, 127};
|
||||
signed byte[] divisors = { 5, 7, -11, -13, 17, 19 };
|
||||
for( byte i: 0..5 ) {
|
||||
signed byte dividend = dividends[i];
|
||||
signed byte divisor = divisors[i];
|
||||
signed byte res = div8s(dividend, divisor);
|
||||
print_sbyte(dividend);
|
||||
print_str(" / @");
|
||||
print_sbyte(divisor);
|
||||
print_str(" = @");
|
||||
print_sbyte(res);
|
||||
print_str(" @");
|
||||
print_sbyte(rem8s);
|
||||
print_ln();
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
.pc = $801 "Basic"
|
||||
:BasicUpstart(main)
|
||||
.pc = $80d "Program"
|
||||
.label SCREEN = $400
|
||||
.label BGCOL = $d021
|
||||
.const GREEN = 5
|
||||
.const RED = 2
|
||||
@ -149,16 +150,16 @@ test_bytes: {
|
||||
.const bb = 0
|
||||
.const bc = bb+2
|
||||
.const bd = bc-4
|
||||
lda #<$400
|
||||
lda #<SCREEN
|
||||
sta line_cursor
|
||||
lda #>$400
|
||||
lda #>SCREEN
|
||||
sta line_cursor+1
|
||||
lda #0
|
||||
sta assert_byte.c
|
||||
ldx #bb
|
||||
lda #<$400
|
||||
lda #<SCREEN
|
||||
sta char_cursor
|
||||
lda #>$400
|
||||
lda #>SCREEN
|
||||
sta char_cursor+1
|
||||
lda #<msg
|
||||
sta assert_byte.msg
|
||||
@ -228,9 +229,9 @@ assert_byte: {
|
||||
}
|
||||
print_cls: {
|
||||
.label sc = 2
|
||||
lda #<$400
|
||||
lda #<SCREEN
|
||||
sta sc
|
||||
lda #>$400
|
||||
lda #>SCREEN
|
||||
sta sc+1
|
||||
b1:
|
||||
lda #' '
|
||||
@ -241,10 +242,10 @@ print_cls: {
|
||||
inc sc+1
|
||||
!:
|
||||
lda sc+1
|
||||
cmp #>$400+$3e8
|
||||
cmp #>SCREEN+$3e8
|
||||
bne b1
|
||||
lda sc
|
||||
cmp #<$400+$3e8
|
||||
cmp #<SCREEN+$3e8
|
||||
bne b1
|
||||
rts
|
||||
}
|
||||
|
@ -50,7 +50,7 @@ assert_sbyte: scope:[assert_sbyte] from test_sbytes test_sbytes::@1 test_sbytes
|
||||
[22] (signed byte) assert_sbyte::b#5 ← phi( test_sbytes/(const signed byte) test_sbytes::bb#0 test_sbytes::@1/(const signed byte) test_sbytes::bc#0 test_sbytes::@2/(const signed byte) test_sbytes::bd#0 test_sbytes::@3/(const signed byte) test_sbytes::be#0 test_sbytes::@4/(const signed byte) test_sbytes::bf#0 ) [ assert_sbyte::msg#5 assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 ] ( main:2::test_sbytes:9::assert_sbyte:12 [ assert_sbyte::msg#5 assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:14 [ assert_sbyte::msg#5 assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:16 [ assert_sbyte::msg#5 assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:18 [ assert_sbyte::msg#5 assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:20 [ assert_sbyte::msg#5 assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 ] )
|
||||
[22] (byte*) assert_sbyte::msg#5 ← phi( test_sbytes/(const string) test_sbytes::msg test_sbytes::@1/(const string) test_sbytes::msg1 test_sbytes::@2/(const string) test_sbytes::msg2 test_sbytes::@3/(const string) test_sbytes::msg3 test_sbytes::@4/(const string) test_sbytes::msg4 ) [ assert_sbyte::msg#5 assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 ] ( main:2::test_sbytes:9::assert_sbyte:12 [ assert_sbyte::msg#5 assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:14 [ assert_sbyte::msg#5 assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:16 [ assert_sbyte::msg#5 assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:18 [ assert_sbyte::msg#5 assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:20 [ assert_sbyte::msg#5 assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 ] )
|
||||
[23] (byte*) print_str::str#5 ← (byte*) assert_sbyte::msg#5 [ assert_sbyte::b#5 assert_sbyte::c#5 print_str::str#5 line_cursor#1 ] ( main:2::test_sbytes:9::assert_sbyte:12 [ assert_sbyte::b#5 assert_sbyte::c#5 print_str::str#5 line_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:14 [ assert_sbyte::b#5 assert_sbyte::c#5 print_str::str#5 line_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:16 [ assert_sbyte::b#5 assert_sbyte::c#5 print_str::str#5 line_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:18 [ assert_sbyte::b#5 assert_sbyte::c#5 print_str::str#5 line_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:20 [ assert_sbyte::b#5 assert_sbyte::c#5 print_str::str#5 line_cursor#1 ] )
|
||||
[24] (byte*~) char_cursor#82 ← (byte*) line_cursor#1 [ assert_sbyte::b#5 assert_sbyte::c#5 print_str::str#5 char_cursor#82 line_cursor#1 ] ( main:2::test_sbytes:9::assert_sbyte:12 [ assert_sbyte::b#5 assert_sbyte::c#5 print_str::str#5 char_cursor#82 line_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:14 [ assert_sbyte::b#5 assert_sbyte::c#5 print_str::str#5 char_cursor#82 line_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:16 [ assert_sbyte::b#5 assert_sbyte::c#5 print_str::str#5 char_cursor#82 line_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:18 [ assert_sbyte::b#5 assert_sbyte::c#5 print_str::str#5 char_cursor#82 line_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:20 [ assert_sbyte::b#5 assert_sbyte::c#5 print_str::str#5 char_cursor#82 line_cursor#1 ] )
|
||||
[24] (byte*~) char_cursor#86 ← (byte*) line_cursor#1 [ assert_sbyte::b#5 assert_sbyte::c#5 print_str::str#5 char_cursor#86 line_cursor#1 ] ( main:2::test_sbytes:9::assert_sbyte:12 [ assert_sbyte::b#5 assert_sbyte::c#5 print_str::str#5 char_cursor#86 line_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:14 [ assert_sbyte::b#5 assert_sbyte::c#5 print_str::str#5 char_cursor#86 line_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:16 [ assert_sbyte::b#5 assert_sbyte::c#5 print_str::str#5 char_cursor#86 line_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:18 [ assert_sbyte::b#5 assert_sbyte::c#5 print_str::str#5 char_cursor#86 line_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:20 [ assert_sbyte::b#5 assert_sbyte::c#5 print_str::str#5 char_cursor#86 line_cursor#1 ] )
|
||||
[25] call print_str param-assignment [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 ] ( main:2::test_sbytes:9::assert_sbyte:12 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:14 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:16 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:18 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:20 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 ] )
|
||||
to:assert_sbyte::@5
|
||||
assert_sbyte::@5: scope:[assert_sbyte] from assert_sbyte
|
||||
@ -76,28 +76,28 @@ assert_sbyte::@1: scope:[assert_sbyte] from assert_sbyte::@6
|
||||
[35] call print_str param-assignment [ line_cursor#1 char_cursor#2 ] ( main:2::test_sbytes:9::assert_sbyte:12 [ line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:14 [ line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:16 [ line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:18 [ line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:20 [ line_cursor#1 char_cursor#2 ] )
|
||||
to:assert_sbyte::@2
|
||||
print_str: scope:[print_str] from assert_byte assert_byte::@1 assert_byte::@3 assert_byte::@5 assert_sbyte assert_sbyte::@1 assert_sbyte::@3 assert_sbyte::@5
|
||||
[36] (byte*) char_cursor#75 ← phi( assert_byte/(byte*) char_cursor#65 assert_byte::@1/(byte*) char_cursor#2 assert_byte::@3/(byte*) char_cursor#2 assert_byte::@5/(byte*) char_cursor#2 assert_sbyte/(byte*~) char_cursor#82 assert_sbyte::@1/(byte*) char_cursor#2 assert_sbyte::@3/(byte*) char_cursor#2 assert_sbyte::@5/(byte*) char_cursor#2 ) [ print_str::str#11 char_cursor#75 ] ( main:2::test_sbytes:9::assert_sbyte:12::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#11 char_cursor#75 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#11 char_cursor#75 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#11 char_cursor#75 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#11 char_cursor#75 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#11 char_cursor#75 ] main:2::test_sbytes:9::assert_sbyte:12::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#11 char_cursor#75 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#11 char_cursor#75 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#11 char_cursor#75 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#11 char_cursor#75 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#11 char_cursor#75 ] main:2::test_sbytes:9::assert_sbyte:12::print_str:30 [ line_cursor#1 print_str::str#11 char_cursor#75 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:30 [ line_cursor#1 print_str::str#11 char_cursor#75 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:30 [ line_cursor#1 print_str::str#11 char_cursor#75 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:30 [ line_cursor#1 print_str::str#11 char_cursor#75 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:30 [ line_cursor#1 print_str::str#11 char_cursor#75 ] main:2::test_sbytes:9::assert_sbyte:12::print_str:35 [ line_cursor#1 print_str::str#11 char_cursor#75 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:35 [ line_cursor#1 print_str::str#11 char_cursor#75 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:35 [ line_cursor#1 print_str::str#11 char_cursor#75 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:35 [ line_cursor#1 print_str::str#11 char_cursor#75 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:35 [ line_cursor#1 print_str::str#11 char_cursor#75 ] main:2::test_bytes:7::assert_byte:49::print_str:57 [ line_cursor#45 assert_byte::b#3 assert_byte::c#3 print_str::str#11 char_cursor#75 ] main:2::test_bytes:7::assert_byte:51::print_str:57 [ line_cursor#45 assert_byte::b#3 assert_byte::c#3 print_str::str#11 char_cursor#75 ] main:2::test_bytes:7::assert_byte:53::print_str:57 [ line_cursor#45 assert_byte::b#3 assert_byte::c#3 print_str::str#11 char_cursor#75 ] main:2::test_bytes:7::assert_byte:49::print_str:59 [ line_cursor#45 assert_byte::b#3 assert_byte::c#3 print_str::str#11 char_cursor#75 ] main:2::test_bytes:7::assert_byte:51::print_str:59 [ line_cursor#45 assert_byte::b#3 assert_byte::c#3 print_str::str#11 char_cursor#75 ] main:2::test_bytes:7::assert_byte:53::print_str:59 [ line_cursor#45 assert_byte::b#3 assert_byte::c#3 print_str::str#11 char_cursor#75 ] main:2::test_bytes:7::assert_byte:49::print_str:62 [ line_cursor#45 print_str::str#11 char_cursor#75 ] main:2::test_bytes:7::assert_byte:51::print_str:62 [ line_cursor#45 print_str::str#11 char_cursor#75 ] main:2::test_bytes:7::assert_byte:53::print_str:62 [ line_cursor#45 print_str::str#11 char_cursor#75 ] main:2::test_bytes:7::assert_byte:49::print_str:67 [ line_cursor#45 print_str::str#11 char_cursor#75 ] main:2::test_bytes:7::assert_byte:51::print_str:67 [ line_cursor#45 print_str::str#11 char_cursor#75 ] main:2::test_bytes:7::assert_byte:53::print_str:67 [ line_cursor#45 print_str::str#11 char_cursor#75 ] )
|
||||
[36] (byte*) print_str::str#11 ← phi( assert_byte/(byte*) print_str::str#1 assert_byte::@1/(const string) assert_byte::str1 assert_byte::@3/(const string) assert_byte::str2 assert_byte::@5/(const string) assert_byte::str assert_sbyte/(byte*) print_str::str#5 assert_sbyte::@1/(const string) assert_sbyte::str1 assert_sbyte::@3/(const string) assert_sbyte::str2 assert_sbyte::@5/(const string) assert_sbyte::str ) [ print_str::str#11 char_cursor#75 ] ( main:2::test_sbytes:9::assert_sbyte:12::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#11 char_cursor#75 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#11 char_cursor#75 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#11 char_cursor#75 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#11 char_cursor#75 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#11 char_cursor#75 ] main:2::test_sbytes:9::assert_sbyte:12::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#11 char_cursor#75 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#11 char_cursor#75 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#11 char_cursor#75 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#11 char_cursor#75 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#11 char_cursor#75 ] main:2::test_sbytes:9::assert_sbyte:12::print_str:30 [ line_cursor#1 print_str::str#11 char_cursor#75 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:30 [ line_cursor#1 print_str::str#11 char_cursor#75 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:30 [ line_cursor#1 print_str::str#11 char_cursor#75 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:30 [ line_cursor#1 print_str::str#11 char_cursor#75 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:30 [ line_cursor#1 print_str::str#11 char_cursor#75 ] main:2::test_sbytes:9::assert_sbyte:12::print_str:35 [ line_cursor#1 print_str::str#11 char_cursor#75 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:35 [ line_cursor#1 print_str::str#11 char_cursor#75 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:35 [ line_cursor#1 print_str::str#11 char_cursor#75 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:35 [ line_cursor#1 print_str::str#11 char_cursor#75 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:35 [ line_cursor#1 print_str::str#11 char_cursor#75 ] main:2::test_bytes:7::assert_byte:49::print_str:57 [ line_cursor#45 assert_byte::b#3 assert_byte::c#3 print_str::str#11 char_cursor#75 ] main:2::test_bytes:7::assert_byte:51::print_str:57 [ line_cursor#45 assert_byte::b#3 assert_byte::c#3 print_str::str#11 char_cursor#75 ] main:2::test_bytes:7::assert_byte:53::print_str:57 [ line_cursor#45 assert_byte::b#3 assert_byte::c#3 print_str::str#11 char_cursor#75 ] main:2::test_bytes:7::assert_byte:49::print_str:59 [ line_cursor#45 assert_byte::b#3 assert_byte::c#3 print_str::str#11 char_cursor#75 ] main:2::test_bytes:7::assert_byte:51::print_str:59 [ line_cursor#45 assert_byte::b#3 assert_byte::c#3 print_str::str#11 char_cursor#75 ] main:2::test_bytes:7::assert_byte:53::print_str:59 [ line_cursor#45 assert_byte::b#3 assert_byte::c#3 print_str::str#11 char_cursor#75 ] main:2::test_bytes:7::assert_byte:49::print_str:62 [ line_cursor#45 print_str::str#11 char_cursor#75 ] main:2::test_bytes:7::assert_byte:51::print_str:62 [ line_cursor#45 print_str::str#11 char_cursor#75 ] main:2::test_bytes:7::assert_byte:53::print_str:62 [ line_cursor#45 print_str::str#11 char_cursor#75 ] main:2::test_bytes:7::assert_byte:49::print_str:67 [ line_cursor#45 print_str::str#11 char_cursor#75 ] main:2::test_bytes:7::assert_byte:51::print_str:67 [ line_cursor#45 print_str::str#11 char_cursor#75 ] main:2::test_bytes:7::assert_byte:53::print_str:67 [ line_cursor#45 print_str::str#11 char_cursor#75 ] )
|
||||
[36] (byte*) char_cursor#80 ← phi( assert_byte/(byte*) char_cursor#70 assert_byte::@1/(byte*) char_cursor#2 assert_byte::@3/(byte*) char_cursor#2 assert_byte::@5/(byte*) char_cursor#2 assert_sbyte/(byte*~) char_cursor#86 assert_sbyte::@1/(byte*) char_cursor#2 assert_sbyte::@3/(byte*) char_cursor#2 assert_sbyte::@5/(byte*) char_cursor#2 ) [ print_str::str#11 char_cursor#80 ] ( main:2::test_sbytes:9::assert_sbyte:12::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#11 char_cursor#80 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#11 char_cursor#80 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#11 char_cursor#80 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#11 char_cursor#80 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#11 char_cursor#80 ] main:2::test_sbytes:9::assert_sbyte:12::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#11 char_cursor#80 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#11 char_cursor#80 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#11 char_cursor#80 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#11 char_cursor#80 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#11 char_cursor#80 ] main:2::test_sbytes:9::assert_sbyte:12::print_str:30 [ line_cursor#1 print_str::str#11 char_cursor#80 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:30 [ line_cursor#1 print_str::str#11 char_cursor#80 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:30 [ line_cursor#1 print_str::str#11 char_cursor#80 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:30 [ line_cursor#1 print_str::str#11 char_cursor#80 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:30 [ line_cursor#1 print_str::str#11 char_cursor#80 ] main:2::test_sbytes:9::assert_sbyte:12::print_str:35 [ line_cursor#1 print_str::str#11 char_cursor#80 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:35 [ line_cursor#1 print_str::str#11 char_cursor#80 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:35 [ line_cursor#1 print_str::str#11 char_cursor#80 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:35 [ line_cursor#1 print_str::str#11 char_cursor#80 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:35 [ line_cursor#1 print_str::str#11 char_cursor#80 ] main:2::test_bytes:7::assert_byte:49::print_str:57 [ line_cursor#50 assert_byte::b#3 assert_byte::c#3 print_str::str#11 char_cursor#80 ] main:2::test_bytes:7::assert_byte:51::print_str:57 [ line_cursor#50 assert_byte::b#3 assert_byte::c#3 print_str::str#11 char_cursor#80 ] main:2::test_bytes:7::assert_byte:53::print_str:57 [ line_cursor#50 assert_byte::b#3 assert_byte::c#3 print_str::str#11 char_cursor#80 ] main:2::test_bytes:7::assert_byte:49::print_str:59 [ line_cursor#50 assert_byte::b#3 assert_byte::c#3 print_str::str#11 char_cursor#80 ] main:2::test_bytes:7::assert_byte:51::print_str:59 [ line_cursor#50 assert_byte::b#3 assert_byte::c#3 print_str::str#11 char_cursor#80 ] main:2::test_bytes:7::assert_byte:53::print_str:59 [ line_cursor#50 assert_byte::b#3 assert_byte::c#3 print_str::str#11 char_cursor#80 ] main:2::test_bytes:7::assert_byte:49::print_str:62 [ line_cursor#50 print_str::str#11 char_cursor#80 ] main:2::test_bytes:7::assert_byte:51::print_str:62 [ line_cursor#50 print_str::str#11 char_cursor#80 ] main:2::test_bytes:7::assert_byte:53::print_str:62 [ line_cursor#50 print_str::str#11 char_cursor#80 ] main:2::test_bytes:7::assert_byte:49::print_str:67 [ line_cursor#50 print_str::str#11 char_cursor#80 ] main:2::test_bytes:7::assert_byte:51::print_str:67 [ line_cursor#50 print_str::str#11 char_cursor#80 ] main:2::test_bytes:7::assert_byte:53::print_str:67 [ line_cursor#50 print_str::str#11 char_cursor#80 ] )
|
||||
[36] (byte*) print_str::str#11 ← phi( assert_byte/(byte*) print_str::str#1 assert_byte::@1/(const string) assert_byte::str1 assert_byte::@3/(const string) assert_byte::str2 assert_byte::@5/(const string) assert_byte::str assert_sbyte/(byte*) print_str::str#5 assert_sbyte::@1/(const string) assert_sbyte::str1 assert_sbyte::@3/(const string) assert_sbyte::str2 assert_sbyte::@5/(const string) assert_sbyte::str ) [ print_str::str#11 char_cursor#80 ] ( main:2::test_sbytes:9::assert_sbyte:12::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#11 char_cursor#80 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#11 char_cursor#80 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#11 char_cursor#80 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#11 char_cursor#80 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#11 char_cursor#80 ] main:2::test_sbytes:9::assert_sbyte:12::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#11 char_cursor#80 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#11 char_cursor#80 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#11 char_cursor#80 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#11 char_cursor#80 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#11 char_cursor#80 ] main:2::test_sbytes:9::assert_sbyte:12::print_str:30 [ line_cursor#1 print_str::str#11 char_cursor#80 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:30 [ line_cursor#1 print_str::str#11 char_cursor#80 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:30 [ line_cursor#1 print_str::str#11 char_cursor#80 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:30 [ line_cursor#1 print_str::str#11 char_cursor#80 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:30 [ line_cursor#1 print_str::str#11 char_cursor#80 ] main:2::test_sbytes:9::assert_sbyte:12::print_str:35 [ line_cursor#1 print_str::str#11 char_cursor#80 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:35 [ line_cursor#1 print_str::str#11 char_cursor#80 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:35 [ line_cursor#1 print_str::str#11 char_cursor#80 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:35 [ line_cursor#1 print_str::str#11 char_cursor#80 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:35 [ line_cursor#1 print_str::str#11 char_cursor#80 ] main:2::test_bytes:7::assert_byte:49::print_str:57 [ line_cursor#50 assert_byte::b#3 assert_byte::c#3 print_str::str#11 char_cursor#80 ] main:2::test_bytes:7::assert_byte:51::print_str:57 [ line_cursor#50 assert_byte::b#3 assert_byte::c#3 print_str::str#11 char_cursor#80 ] main:2::test_bytes:7::assert_byte:53::print_str:57 [ line_cursor#50 assert_byte::b#3 assert_byte::c#3 print_str::str#11 char_cursor#80 ] main:2::test_bytes:7::assert_byte:49::print_str:59 [ line_cursor#50 assert_byte::b#3 assert_byte::c#3 print_str::str#11 char_cursor#80 ] main:2::test_bytes:7::assert_byte:51::print_str:59 [ line_cursor#50 assert_byte::b#3 assert_byte::c#3 print_str::str#11 char_cursor#80 ] main:2::test_bytes:7::assert_byte:53::print_str:59 [ line_cursor#50 assert_byte::b#3 assert_byte::c#3 print_str::str#11 char_cursor#80 ] main:2::test_bytes:7::assert_byte:49::print_str:62 [ line_cursor#50 print_str::str#11 char_cursor#80 ] main:2::test_bytes:7::assert_byte:51::print_str:62 [ line_cursor#50 print_str::str#11 char_cursor#80 ] main:2::test_bytes:7::assert_byte:53::print_str:62 [ line_cursor#50 print_str::str#11 char_cursor#80 ] main:2::test_bytes:7::assert_byte:49::print_str:67 [ line_cursor#50 print_str::str#11 char_cursor#80 ] main:2::test_bytes:7::assert_byte:51::print_str:67 [ line_cursor#50 print_str::str#11 char_cursor#80 ] main:2::test_bytes:7::assert_byte:53::print_str:67 [ line_cursor#50 print_str::str#11 char_cursor#80 ] )
|
||||
to:print_str::@1
|
||||
print_str::@1: scope:[print_str] from print_str print_str::@2
|
||||
[37] (byte*) char_cursor#2 ← phi( print_str/(byte*) char_cursor#75 print_str::@2/(byte*) char_cursor#1 ) [ char_cursor#2 print_str::str#10 ] ( main:2::test_sbytes:9::assert_sbyte:12::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:12::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:12::print_str:30 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:30 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:30 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:30 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:30 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:12::print_str:35 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:35 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:35 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:35 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:35 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:49::print_str:57 [ line_cursor#45 assert_byte::b#3 assert_byte::c#3 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:51::print_str:57 [ line_cursor#45 assert_byte::b#3 assert_byte::c#3 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:53::print_str:57 [ line_cursor#45 assert_byte::b#3 assert_byte::c#3 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:49::print_str:59 [ line_cursor#45 assert_byte::b#3 assert_byte::c#3 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:51::print_str:59 [ line_cursor#45 assert_byte::b#3 assert_byte::c#3 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:53::print_str:59 [ line_cursor#45 assert_byte::b#3 assert_byte::c#3 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:49::print_str:62 [ line_cursor#45 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:51::print_str:62 [ line_cursor#45 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:53::print_str:62 [ line_cursor#45 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:49::print_str:67 [ line_cursor#45 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:51::print_str:67 [ line_cursor#45 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:53::print_str:67 [ line_cursor#45 char_cursor#2 print_str::str#10 ] )
|
||||
[37] (byte*) print_str::str#10 ← phi( print_str/(byte*) print_str::str#11 print_str::@2/(byte*) print_str::str#0 ) [ char_cursor#2 print_str::str#10 ] ( main:2::test_sbytes:9::assert_sbyte:12::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:12::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:12::print_str:30 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:30 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:30 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:30 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:30 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:12::print_str:35 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:35 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:35 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:35 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:35 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:49::print_str:57 [ line_cursor#45 assert_byte::b#3 assert_byte::c#3 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:51::print_str:57 [ line_cursor#45 assert_byte::b#3 assert_byte::c#3 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:53::print_str:57 [ line_cursor#45 assert_byte::b#3 assert_byte::c#3 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:49::print_str:59 [ line_cursor#45 assert_byte::b#3 assert_byte::c#3 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:51::print_str:59 [ line_cursor#45 assert_byte::b#3 assert_byte::c#3 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:53::print_str:59 [ line_cursor#45 assert_byte::b#3 assert_byte::c#3 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:49::print_str:62 [ line_cursor#45 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:51::print_str:62 [ line_cursor#45 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:53::print_str:62 [ line_cursor#45 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:49::print_str:67 [ line_cursor#45 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:51::print_str:67 [ line_cursor#45 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:53::print_str:67 [ line_cursor#45 char_cursor#2 print_str::str#10 ] )
|
||||
[38] if(*((byte*) print_str::str#10)!=(byte) '@') goto print_str::@2 [ char_cursor#2 print_str::str#10 ] ( main:2::test_sbytes:9::assert_sbyte:12::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:12::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:12::print_str:30 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:30 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:30 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:30 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:30 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:12::print_str:35 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:35 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:35 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:35 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:35 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:49::print_str:57 [ line_cursor#45 assert_byte::b#3 assert_byte::c#3 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:51::print_str:57 [ line_cursor#45 assert_byte::b#3 assert_byte::c#3 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:53::print_str:57 [ line_cursor#45 assert_byte::b#3 assert_byte::c#3 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:49::print_str:59 [ line_cursor#45 assert_byte::b#3 assert_byte::c#3 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:51::print_str:59 [ line_cursor#45 assert_byte::b#3 assert_byte::c#3 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:53::print_str:59 [ line_cursor#45 assert_byte::b#3 assert_byte::c#3 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:49::print_str:62 [ line_cursor#45 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:51::print_str:62 [ line_cursor#45 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:53::print_str:62 [ line_cursor#45 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:49::print_str:67 [ line_cursor#45 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:51::print_str:67 [ line_cursor#45 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:53::print_str:67 [ line_cursor#45 char_cursor#2 print_str::str#10 ] )
|
||||
[37] (byte*) char_cursor#2 ← phi( print_str/(byte*) char_cursor#80 print_str::@2/(byte*) char_cursor#1 ) [ char_cursor#2 print_str::str#10 ] ( main:2::test_sbytes:9::assert_sbyte:12::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:12::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:12::print_str:30 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:30 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:30 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:30 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:30 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:12::print_str:35 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:35 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:35 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:35 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:35 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:49::print_str:57 [ line_cursor#50 assert_byte::b#3 assert_byte::c#3 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:51::print_str:57 [ line_cursor#50 assert_byte::b#3 assert_byte::c#3 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:53::print_str:57 [ line_cursor#50 assert_byte::b#3 assert_byte::c#3 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:49::print_str:59 [ line_cursor#50 assert_byte::b#3 assert_byte::c#3 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:51::print_str:59 [ line_cursor#50 assert_byte::b#3 assert_byte::c#3 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:53::print_str:59 [ line_cursor#50 assert_byte::b#3 assert_byte::c#3 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:49::print_str:62 [ line_cursor#50 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:51::print_str:62 [ line_cursor#50 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:53::print_str:62 [ line_cursor#50 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:49::print_str:67 [ line_cursor#50 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:51::print_str:67 [ line_cursor#50 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:53::print_str:67 [ line_cursor#50 char_cursor#2 print_str::str#10 ] )
|
||||
[37] (byte*) print_str::str#10 ← phi( print_str/(byte*) print_str::str#11 print_str::@2/(byte*) print_str::str#0 ) [ char_cursor#2 print_str::str#10 ] ( main:2::test_sbytes:9::assert_sbyte:12::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:12::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:12::print_str:30 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:30 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:30 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:30 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:30 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:12::print_str:35 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:35 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:35 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:35 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:35 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:49::print_str:57 [ line_cursor#50 assert_byte::b#3 assert_byte::c#3 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:51::print_str:57 [ line_cursor#50 assert_byte::b#3 assert_byte::c#3 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:53::print_str:57 [ line_cursor#50 assert_byte::b#3 assert_byte::c#3 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:49::print_str:59 [ line_cursor#50 assert_byte::b#3 assert_byte::c#3 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:51::print_str:59 [ line_cursor#50 assert_byte::b#3 assert_byte::c#3 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:53::print_str:59 [ line_cursor#50 assert_byte::b#3 assert_byte::c#3 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:49::print_str:62 [ line_cursor#50 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:51::print_str:62 [ line_cursor#50 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:53::print_str:62 [ line_cursor#50 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:49::print_str:67 [ line_cursor#50 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:51::print_str:67 [ line_cursor#50 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:53::print_str:67 [ line_cursor#50 char_cursor#2 print_str::str#10 ] )
|
||||
[38] if(*((byte*) print_str::str#10)!=(byte) '@') goto print_str::@2 [ char_cursor#2 print_str::str#10 ] ( main:2::test_sbytes:9::assert_sbyte:12::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:12::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:12::print_str:30 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:30 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:30 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:30 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:30 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:12::print_str:35 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:35 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:35 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:35 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:35 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:49::print_str:57 [ line_cursor#50 assert_byte::b#3 assert_byte::c#3 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:51::print_str:57 [ line_cursor#50 assert_byte::b#3 assert_byte::c#3 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:53::print_str:57 [ line_cursor#50 assert_byte::b#3 assert_byte::c#3 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:49::print_str:59 [ line_cursor#50 assert_byte::b#3 assert_byte::c#3 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:51::print_str:59 [ line_cursor#50 assert_byte::b#3 assert_byte::c#3 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:53::print_str:59 [ line_cursor#50 assert_byte::b#3 assert_byte::c#3 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:49::print_str:62 [ line_cursor#50 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:51::print_str:62 [ line_cursor#50 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:53::print_str:62 [ line_cursor#50 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:49::print_str:67 [ line_cursor#50 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:51::print_str:67 [ line_cursor#50 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:53::print_str:67 [ line_cursor#50 char_cursor#2 print_str::str#10 ] )
|
||||
to:print_str::@return
|
||||
print_str::@return: scope:[print_str] from print_str::@1
|
||||
[39] return [ char_cursor#2 ] ( main:2::test_sbytes:9::assert_sbyte:12::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:12::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:12::print_str:30 [ line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:30 [ line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:30 [ line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:30 [ line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:30 [ line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:12::print_str:35 [ line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:35 [ line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:35 [ line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:35 [ line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:35 [ line_cursor#1 char_cursor#2 ] main:2::test_bytes:7::assert_byte:49::print_str:57 [ line_cursor#45 assert_byte::b#3 assert_byte::c#3 char_cursor#2 ] main:2::test_bytes:7::assert_byte:51::print_str:57 [ line_cursor#45 assert_byte::b#3 assert_byte::c#3 char_cursor#2 ] main:2::test_bytes:7::assert_byte:53::print_str:57 [ line_cursor#45 assert_byte::b#3 assert_byte::c#3 char_cursor#2 ] main:2::test_bytes:7::assert_byte:49::print_str:59 [ line_cursor#45 assert_byte::b#3 assert_byte::c#3 char_cursor#2 ] main:2::test_bytes:7::assert_byte:51::print_str:59 [ line_cursor#45 assert_byte::b#3 assert_byte::c#3 char_cursor#2 ] main:2::test_bytes:7::assert_byte:53::print_str:59 [ line_cursor#45 assert_byte::b#3 assert_byte::c#3 char_cursor#2 ] main:2::test_bytes:7::assert_byte:49::print_str:62 [ line_cursor#45 char_cursor#2 ] main:2::test_bytes:7::assert_byte:51::print_str:62 [ line_cursor#45 char_cursor#2 ] main:2::test_bytes:7::assert_byte:53::print_str:62 [ line_cursor#45 char_cursor#2 ] main:2::test_bytes:7::assert_byte:49::print_str:67 [ line_cursor#45 char_cursor#2 ] main:2::test_bytes:7::assert_byte:51::print_str:67 [ line_cursor#45 char_cursor#2 ] main:2::test_bytes:7::assert_byte:53::print_str:67 [ line_cursor#45 char_cursor#2 ] )
|
||||
[39] return [ char_cursor#2 ] ( main:2::test_sbytes:9::assert_sbyte:12::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:12::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:12::print_str:30 [ line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:30 [ line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:30 [ line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:30 [ line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:30 [ line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:12::print_str:35 [ line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:35 [ line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:35 [ line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:35 [ line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:35 [ line_cursor#1 char_cursor#2 ] main:2::test_bytes:7::assert_byte:49::print_str:57 [ line_cursor#50 assert_byte::b#3 assert_byte::c#3 char_cursor#2 ] main:2::test_bytes:7::assert_byte:51::print_str:57 [ line_cursor#50 assert_byte::b#3 assert_byte::c#3 char_cursor#2 ] main:2::test_bytes:7::assert_byte:53::print_str:57 [ line_cursor#50 assert_byte::b#3 assert_byte::c#3 char_cursor#2 ] main:2::test_bytes:7::assert_byte:49::print_str:59 [ line_cursor#50 assert_byte::b#3 assert_byte::c#3 char_cursor#2 ] main:2::test_bytes:7::assert_byte:51::print_str:59 [ line_cursor#50 assert_byte::b#3 assert_byte::c#3 char_cursor#2 ] main:2::test_bytes:7::assert_byte:53::print_str:59 [ line_cursor#50 assert_byte::b#3 assert_byte::c#3 char_cursor#2 ] main:2::test_bytes:7::assert_byte:49::print_str:62 [ line_cursor#50 char_cursor#2 ] main:2::test_bytes:7::assert_byte:51::print_str:62 [ line_cursor#50 char_cursor#2 ] main:2::test_bytes:7::assert_byte:53::print_str:62 [ line_cursor#50 char_cursor#2 ] main:2::test_bytes:7::assert_byte:49::print_str:67 [ line_cursor#50 char_cursor#2 ] main:2::test_bytes:7::assert_byte:51::print_str:67 [ line_cursor#50 char_cursor#2 ] main:2::test_bytes:7::assert_byte:53::print_str:67 [ line_cursor#50 char_cursor#2 ] )
|
||||
to:@return
|
||||
print_str::@2: scope:[print_str] from print_str::@1
|
||||
[40] *((byte*) char_cursor#2) ← *((byte*) print_str::str#10) [ char_cursor#2 print_str::str#10 ] ( main:2::test_sbytes:9::assert_sbyte:12::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:12::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:12::print_str:30 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:30 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:30 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:30 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:30 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:12::print_str:35 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:35 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:35 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:35 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:35 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:49::print_str:57 [ line_cursor#45 assert_byte::b#3 assert_byte::c#3 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:51::print_str:57 [ line_cursor#45 assert_byte::b#3 assert_byte::c#3 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:53::print_str:57 [ line_cursor#45 assert_byte::b#3 assert_byte::c#3 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:49::print_str:59 [ line_cursor#45 assert_byte::b#3 assert_byte::c#3 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:51::print_str:59 [ line_cursor#45 assert_byte::b#3 assert_byte::c#3 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:53::print_str:59 [ line_cursor#45 assert_byte::b#3 assert_byte::c#3 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:49::print_str:62 [ line_cursor#45 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:51::print_str:62 [ line_cursor#45 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:53::print_str:62 [ line_cursor#45 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:49::print_str:67 [ line_cursor#45 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:51::print_str:67 [ line_cursor#45 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:53::print_str:67 [ line_cursor#45 char_cursor#2 print_str::str#10 ] )
|
||||
[41] (byte*) char_cursor#1 ← ++ (byte*) char_cursor#2 [ print_str::str#10 char_cursor#1 ] ( main:2::test_sbytes:9::assert_sbyte:12::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#10 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#10 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#10 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#10 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#10 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:12::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#10 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#10 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#10 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#10 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#10 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:12::print_str:30 [ line_cursor#1 print_str::str#10 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:30 [ line_cursor#1 print_str::str#10 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:30 [ line_cursor#1 print_str::str#10 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:30 [ line_cursor#1 print_str::str#10 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:30 [ line_cursor#1 print_str::str#10 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:12::print_str:35 [ line_cursor#1 print_str::str#10 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:35 [ line_cursor#1 print_str::str#10 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:35 [ line_cursor#1 print_str::str#10 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:35 [ line_cursor#1 print_str::str#10 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:35 [ line_cursor#1 print_str::str#10 char_cursor#1 ] main:2::test_bytes:7::assert_byte:49::print_str:57 [ line_cursor#45 assert_byte::b#3 assert_byte::c#3 print_str::str#10 char_cursor#1 ] main:2::test_bytes:7::assert_byte:51::print_str:57 [ line_cursor#45 assert_byte::b#3 assert_byte::c#3 print_str::str#10 char_cursor#1 ] main:2::test_bytes:7::assert_byte:53::print_str:57 [ line_cursor#45 assert_byte::b#3 assert_byte::c#3 print_str::str#10 char_cursor#1 ] main:2::test_bytes:7::assert_byte:49::print_str:59 [ line_cursor#45 assert_byte::b#3 assert_byte::c#3 print_str::str#10 char_cursor#1 ] main:2::test_bytes:7::assert_byte:51::print_str:59 [ line_cursor#45 assert_byte::b#3 assert_byte::c#3 print_str::str#10 char_cursor#1 ] main:2::test_bytes:7::assert_byte:53::print_str:59 [ line_cursor#45 assert_byte::b#3 assert_byte::c#3 print_str::str#10 char_cursor#1 ] main:2::test_bytes:7::assert_byte:49::print_str:62 [ line_cursor#45 print_str::str#10 char_cursor#1 ] main:2::test_bytes:7::assert_byte:51::print_str:62 [ line_cursor#45 print_str::str#10 char_cursor#1 ] main:2::test_bytes:7::assert_byte:53::print_str:62 [ line_cursor#45 print_str::str#10 char_cursor#1 ] main:2::test_bytes:7::assert_byte:49::print_str:67 [ line_cursor#45 print_str::str#10 char_cursor#1 ] main:2::test_bytes:7::assert_byte:51::print_str:67 [ line_cursor#45 print_str::str#10 char_cursor#1 ] main:2::test_bytes:7::assert_byte:53::print_str:67 [ line_cursor#45 print_str::str#10 char_cursor#1 ] )
|
||||
[42] (byte*) print_str::str#0 ← ++ (byte*) print_str::str#10 [ print_str::str#0 char_cursor#1 ] ( main:2::test_sbytes:9::assert_sbyte:12::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:12::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:12::print_str:30 [ line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:30 [ line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:30 [ line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:30 [ line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:30 [ line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:12::print_str:35 [ line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:35 [ line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:35 [ line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:35 [ line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:35 [ line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::test_bytes:7::assert_byte:49::print_str:57 [ line_cursor#45 assert_byte::b#3 assert_byte::c#3 print_str::str#0 char_cursor#1 ] main:2::test_bytes:7::assert_byte:51::print_str:57 [ line_cursor#45 assert_byte::b#3 assert_byte::c#3 print_str::str#0 char_cursor#1 ] main:2::test_bytes:7::assert_byte:53::print_str:57 [ line_cursor#45 assert_byte::b#3 assert_byte::c#3 print_str::str#0 char_cursor#1 ] main:2::test_bytes:7::assert_byte:49::print_str:59 [ line_cursor#45 assert_byte::b#3 assert_byte::c#3 print_str::str#0 char_cursor#1 ] main:2::test_bytes:7::assert_byte:51::print_str:59 [ line_cursor#45 assert_byte::b#3 assert_byte::c#3 print_str::str#0 char_cursor#1 ] main:2::test_bytes:7::assert_byte:53::print_str:59 [ line_cursor#45 assert_byte::b#3 assert_byte::c#3 print_str::str#0 char_cursor#1 ] main:2::test_bytes:7::assert_byte:49::print_str:62 [ line_cursor#45 print_str::str#0 char_cursor#1 ] main:2::test_bytes:7::assert_byte:51::print_str:62 [ line_cursor#45 print_str::str#0 char_cursor#1 ] main:2::test_bytes:7::assert_byte:53::print_str:62 [ line_cursor#45 print_str::str#0 char_cursor#1 ] main:2::test_bytes:7::assert_byte:49::print_str:67 [ line_cursor#45 print_str::str#0 char_cursor#1 ] main:2::test_bytes:7::assert_byte:51::print_str:67 [ line_cursor#45 print_str::str#0 char_cursor#1 ] main:2::test_bytes:7::assert_byte:53::print_str:67 [ line_cursor#45 print_str::str#0 char_cursor#1 ] )
|
||||
[40] *((byte*) char_cursor#2) ← *((byte*) print_str::str#10) [ char_cursor#2 print_str::str#10 ] ( main:2::test_sbytes:9::assert_sbyte:12::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:12::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:12::print_str:30 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:30 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:30 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:30 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:30 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:12::print_str:35 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:35 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:35 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:35 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:35 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:49::print_str:57 [ line_cursor#50 assert_byte::b#3 assert_byte::c#3 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:51::print_str:57 [ line_cursor#50 assert_byte::b#3 assert_byte::c#3 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:53::print_str:57 [ line_cursor#50 assert_byte::b#3 assert_byte::c#3 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:49::print_str:59 [ line_cursor#50 assert_byte::b#3 assert_byte::c#3 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:51::print_str:59 [ line_cursor#50 assert_byte::b#3 assert_byte::c#3 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:53::print_str:59 [ line_cursor#50 assert_byte::b#3 assert_byte::c#3 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:49::print_str:62 [ line_cursor#50 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:51::print_str:62 [ line_cursor#50 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:53::print_str:62 [ line_cursor#50 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:49::print_str:67 [ line_cursor#50 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:51::print_str:67 [ line_cursor#50 char_cursor#2 print_str::str#10 ] main:2::test_bytes:7::assert_byte:53::print_str:67 [ line_cursor#50 char_cursor#2 print_str::str#10 ] )
|
||||
[41] (byte*) char_cursor#1 ← ++ (byte*) char_cursor#2 [ print_str::str#10 char_cursor#1 ] ( main:2::test_sbytes:9::assert_sbyte:12::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#10 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#10 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#10 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#10 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#10 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:12::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#10 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#10 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#10 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#10 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#10 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:12::print_str:30 [ line_cursor#1 print_str::str#10 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:30 [ line_cursor#1 print_str::str#10 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:30 [ line_cursor#1 print_str::str#10 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:30 [ line_cursor#1 print_str::str#10 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:30 [ line_cursor#1 print_str::str#10 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:12::print_str:35 [ line_cursor#1 print_str::str#10 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:35 [ line_cursor#1 print_str::str#10 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:35 [ line_cursor#1 print_str::str#10 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:35 [ line_cursor#1 print_str::str#10 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:35 [ line_cursor#1 print_str::str#10 char_cursor#1 ] main:2::test_bytes:7::assert_byte:49::print_str:57 [ line_cursor#50 assert_byte::b#3 assert_byte::c#3 print_str::str#10 char_cursor#1 ] main:2::test_bytes:7::assert_byte:51::print_str:57 [ line_cursor#50 assert_byte::b#3 assert_byte::c#3 print_str::str#10 char_cursor#1 ] main:2::test_bytes:7::assert_byte:53::print_str:57 [ line_cursor#50 assert_byte::b#3 assert_byte::c#3 print_str::str#10 char_cursor#1 ] main:2::test_bytes:7::assert_byte:49::print_str:59 [ line_cursor#50 assert_byte::b#3 assert_byte::c#3 print_str::str#10 char_cursor#1 ] main:2::test_bytes:7::assert_byte:51::print_str:59 [ line_cursor#50 assert_byte::b#3 assert_byte::c#3 print_str::str#10 char_cursor#1 ] main:2::test_bytes:7::assert_byte:53::print_str:59 [ line_cursor#50 assert_byte::b#3 assert_byte::c#3 print_str::str#10 char_cursor#1 ] main:2::test_bytes:7::assert_byte:49::print_str:62 [ line_cursor#50 print_str::str#10 char_cursor#1 ] main:2::test_bytes:7::assert_byte:51::print_str:62 [ line_cursor#50 print_str::str#10 char_cursor#1 ] main:2::test_bytes:7::assert_byte:53::print_str:62 [ line_cursor#50 print_str::str#10 char_cursor#1 ] main:2::test_bytes:7::assert_byte:49::print_str:67 [ line_cursor#50 print_str::str#10 char_cursor#1 ] main:2::test_bytes:7::assert_byte:51::print_str:67 [ line_cursor#50 print_str::str#10 char_cursor#1 ] main:2::test_bytes:7::assert_byte:53::print_str:67 [ line_cursor#50 print_str::str#10 char_cursor#1 ] )
|
||||
[42] (byte*) print_str::str#0 ← ++ (byte*) print_str::str#10 [ print_str::str#0 char_cursor#1 ] ( main:2::test_sbytes:9::assert_sbyte:12::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:25 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:12::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:27 [ assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:12::print_str:30 [ line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:30 [ line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:30 [ line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:30 [ line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:30 [ line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:12::print_str:35 [ line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:14::print_str:35 [ line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:16::print_str:35 [ line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:18::print_str:35 [ line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:20::print_str:35 [ line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::test_bytes:7::assert_byte:49::print_str:57 [ line_cursor#50 assert_byte::b#3 assert_byte::c#3 print_str::str#0 char_cursor#1 ] main:2::test_bytes:7::assert_byte:51::print_str:57 [ line_cursor#50 assert_byte::b#3 assert_byte::c#3 print_str::str#0 char_cursor#1 ] main:2::test_bytes:7::assert_byte:53::print_str:57 [ line_cursor#50 assert_byte::b#3 assert_byte::c#3 print_str::str#0 char_cursor#1 ] main:2::test_bytes:7::assert_byte:49::print_str:59 [ line_cursor#50 assert_byte::b#3 assert_byte::c#3 print_str::str#0 char_cursor#1 ] main:2::test_bytes:7::assert_byte:51::print_str:59 [ line_cursor#50 assert_byte::b#3 assert_byte::c#3 print_str::str#0 char_cursor#1 ] main:2::test_bytes:7::assert_byte:53::print_str:59 [ line_cursor#50 assert_byte::b#3 assert_byte::c#3 print_str::str#0 char_cursor#1 ] main:2::test_bytes:7::assert_byte:49::print_str:62 [ line_cursor#50 print_str::str#0 char_cursor#1 ] main:2::test_bytes:7::assert_byte:51::print_str:62 [ line_cursor#50 print_str::str#0 char_cursor#1 ] main:2::test_bytes:7::assert_byte:53::print_str:62 [ line_cursor#50 print_str::str#0 char_cursor#1 ] main:2::test_bytes:7::assert_byte:49::print_str:67 [ line_cursor#50 print_str::str#0 char_cursor#1 ] main:2::test_bytes:7::assert_byte:51::print_str:67 [ line_cursor#50 print_str::str#0 char_cursor#1 ] main:2::test_bytes:7::assert_byte:53::print_str:67 [ line_cursor#50 print_str::str#0 char_cursor#1 ] )
|
||||
to:print_str::@1
|
||||
print_ln: scope:[print_ln] from assert_byte::@2 assert_sbyte::@2
|
||||
[43] (byte*) line_cursor#42 ← phi( assert_byte::@2/(byte*) line_cursor#45 assert_sbyte::@2/(byte*) line_cursor#1 ) [ char_cursor#2 line_cursor#42 ] ( main:2::test_sbytes:9::assert_sbyte:12::print_ln:32 [ char_cursor#2 line_cursor#42 ] main:2::test_sbytes:9::assert_sbyte:14::print_ln:32 [ char_cursor#2 line_cursor#42 ] main:2::test_sbytes:9::assert_sbyte:16::print_ln:32 [ char_cursor#2 line_cursor#42 ] main:2::test_sbytes:9::assert_sbyte:18::print_ln:32 [ char_cursor#2 line_cursor#42 ] main:2::test_sbytes:9::assert_sbyte:20::print_ln:32 [ char_cursor#2 line_cursor#42 ] main:2::test_bytes:7::assert_byte:49::print_ln:64 [ char_cursor#2 line_cursor#42 ] main:2::test_bytes:7::assert_byte:51::print_ln:64 [ char_cursor#2 line_cursor#42 ] main:2::test_bytes:7::assert_byte:53::print_ln:64 [ char_cursor#2 line_cursor#42 ] )
|
||||
[43] (byte*) line_cursor#47 ← phi( assert_byte::@2/(byte*) line_cursor#50 assert_sbyte::@2/(byte*) line_cursor#1 ) [ char_cursor#2 line_cursor#47 ] ( main:2::test_sbytes:9::assert_sbyte:12::print_ln:32 [ char_cursor#2 line_cursor#47 ] main:2::test_sbytes:9::assert_sbyte:14::print_ln:32 [ char_cursor#2 line_cursor#47 ] main:2::test_sbytes:9::assert_sbyte:16::print_ln:32 [ char_cursor#2 line_cursor#47 ] main:2::test_sbytes:9::assert_sbyte:18::print_ln:32 [ char_cursor#2 line_cursor#47 ] main:2::test_sbytes:9::assert_sbyte:20::print_ln:32 [ char_cursor#2 line_cursor#47 ] main:2::test_bytes:7::assert_byte:49::print_ln:64 [ char_cursor#2 line_cursor#47 ] main:2::test_bytes:7::assert_byte:51::print_ln:64 [ char_cursor#2 line_cursor#47 ] main:2::test_bytes:7::assert_byte:53::print_ln:64 [ char_cursor#2 line_cursor#47 ] )
|
||||
to:print_ln::@1
|
||||
print_ln::@1: scope:[print_ln] from print_ln print_ln::@1
|
||||
[44] (byte*) line_cursor#21 ← phi( print_ln/(byte*) line_cursor#42 print_ln::@1/(byte*) line_cursor#1 ) [ char_cursor#2 line_cursor#21 ] ( main:2::test_sbytes:9::assert_sbyte:12::print_ln:32 [ char_cursor#2 line_cursor#21 ] main:2::test_sbytes:9::assert_sbyte:14::print_ln:32 [ char_cursor#2 line_cursor#21 ] main:2::test_sbytes:9::assert_sbyte:16::print_ln:32 [ char_cursor#2 line_cursor#21 ] main:2::test_sbytes:9::assert_sbyte:18::print_ln:32 [ char_cursor#2 line_cursor#21 ] main:2::test_sbytes:9::assert_sbyte:20::print_ln:32 [ char_cursor#2 line_cursor#21 ] main:2::test_bytes:7::assert_byte:49::print_ln:64 [ char_cursor#2 line_cursor#21 ] main:2::test_bytes:7::assert_byte:51::print_ln:64 [ char_cursor#2 line_cursor#21 ] main:2::test_bytes:7::assert_byte:53::print_ln:64 [ char_cursor#2 line_cursor#21 ] )
|
||||
[45] (byte*) line_cursor#1 ← (byte*) line_cursor#21 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ line_cursor#1 char_cursor#2 ] ( main:2::test_sbytes:9::assert_sbyte:12::print_ln:32 [ line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:14::print_ln:32 [ line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:16::print_ln:32 [ line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:18::print_ln:32 [ line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:20::print_ln:32 [ line_cursor#1 char_cursor#2 ] main:2::test_bytes:7::assert_byte:49::print_ln:64 [ line_cursor#1 char_cursor#2 ] main:2::test_bytes:7::assert_byte:51::print_ln:64 [ line_cursor#1 char_cursor#2 ] main:2::test_bytes:7::assert_byte:53::print_ln:64 [ line_cursor#1 char_cursor#2 ] )
|
||||
[44] (byte*) line_cursor#24 ← phi( print_ln/(byte*) line_cursor#47 print_ln::@1/(byte*) line_cursor#1 ) [ char_cursor#2 line_cursor#24 ] ( main:2::test_sbytes:9::assert_sbyte:12::print_ln:32 [ char_cursor#2 line_cursor#24 ] main:2::test_sbytes:9::assert_sbyte:14::print_ln:32 [ char_cursor#2 line_cursor#24 ] main:2::test_sbytes:9::assert_sbyte:16::print_ln:32 [ char_cursor#2 line_cursor#24 ] main:2::test_sbytes:9::assert_sbyte:18::print_ln:32 [ char_cursor#2 line_cursor#24 ] main:2::test_sbytes:9::assert_sbyte:20::print_ln:32 [ char_cursor#2 line_cursor#24 ] main:2::test_bytes:7::assert_byte:49::print_ln:64 [ char_cursor#2 line_cursor#24 ] main:2::test_bytes:7::assert_byte:51::print_ln:64 [ char_cursor#2 line_cursor#24 ] main:2::test_bytes:7::assert_byte:53::print_ln:64 [ char_cursor#2 line_cursor#24 ] )
|
||||
[45] (byte*) line_cursor#1 ← (byte*) line_cursor#24 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ line_cursor#1 char_cursor#2 ] ( main:2::test_sbytes:9::assert_sbyte:12::print_ln:32 [ line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:14::print_ln:32 [ line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:16::print_ln:32 [ line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:18::print_ln:32 [ line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:20::print_ln:32 [ line_cursor#1 char_cursor#2 ] main:2::test_bytes:7::assert_byte:49::print_ln:64 [ line_cursor#1 char_cursor#2 ] main:2::test_bytes:7::assert_byte:51::print_ln:64 [ line_cursor#1 char_cursor#2 ] main:2::test_bytes:7::assert_byte:53::print_ln:64 [ line_cursor#1 char_cursor#2 ] )
|
||||
[46] if((byte*) line_cursor#1<(byte*) char_cursor#2) goto print_ln::@1 [ line_cursor#1 char_cursor#2 ] ( main:2::test_sbytes:9::assert_sbyte:12::print_ln:32 [ line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:14::print_ln:32 [ line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:16::print_ln:32 [ line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:18::print_ln:32 [ line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:20::print_ln:32 [ line_cursor#1 char_cursor#2 ] main:2::test_bytes:7::assert_byte:49::print_ln:64 [ line_cursor#1 char_cursor#2 ] main:2::test_bytes:7::assert_byte:51::print_ln:64 [ line_cursor#1 char_cursor#2 ] main:2::test_bytes:7::assert_byte:53::print_ln:64 [ line_cursor#1 char_cursor#2 ] )
|
||||
to:print_ln::@return
|
||||
print_ln::@return: scope:[print_ln] from print_ln::@1
|
||||
@ -108,55 +108,55 @@ test_bytes: scope:[test_bytes] from main::@1
|
||||
[49] call assert_byte param-assignment [ line_cursor#1 ] ( main:2::test_bytes:7 [ line_cursor#1 ] )
|
||||
to:test_bytes::@1
|
||||
test_bytes::@1: scope:[test_bytes] from test_bytes
|
||||
[50] (byte*~) char_cursor#88 ← (byte*) line_cursor#1 [ line_cursor#1 char_cursor#88 ] ( main:2::test_bytes:7 [ line_cursor#1 char_cursor#88 ] )
|
||||
[50] (byte*~) char_cursor#92 ← (byte*) line_cursor#1 [ line_cursor#1 char_cursor#92 ] ( main:2::test_bytes:7 [ line_cursor#1 char_cursor#92 ] )
|
||||
[51] call assert_byte param-assignment [ line_cursor#1 ] ( main:2::test_bytes:7 [ line_cursor#1 ] )
|
||||
to:test_bytes::@2
|
||||
test_bytes::@2: scope:[test_bytes] from test_bytes::@1
|
||||
[52] (byte*~) char_cursor#89 ← (byte*) line_cursor#1 [ line_cursor#1 char_cursor#89 ] ( main:2::test_bytes:7 [ line_cursor#1 char_cursor#89 ] )
|
||||
[52] (byte*~) char_cursor#93 ← (byte*) line_cursor#1 [ line_cursor#1 char_cursor#93 ] ( main:2::test_bytes:7 [ line_cursor#1 char_cursor#93 ] )
|
||||
[53] call assert_byte param-assignment [ line_cursor#1 ] ( main:2::test_bytes:7 [ line_cursor#1 ] )
|
||||
to:test_bytes::@return
|
||||
test_bytes::@return: scope:[test_bytes] from test_bytes::@2
|
||||
[54] return [ line_cursor#1 ] ( main:2::test_bytes:7 [ line_cursor#1 ] )
|
||||
to:@return
|
||||
assert_byte: scope:[assert_byte] from test_bytes test_bytes::@1 test_bytes::@2
|
||||
[55] (byte*) line_cursor#45 ← phi( test_bytes/((byte*))(word/signed word/dword/signed dword) 1024 test_bytes::@1/(byte*) line_cursor#1 test_bytes::@2/(byte*) line_cursor#1 ) [ char_cursor#65 line_cursor#45 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] ( main:2::test_bytes:7::assert_byte:49 [ char_cursor#65 line_cursor#45 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] main:2::test_bytes:7::assert_byte:51 [ char_cursor#65 line_cursor#45 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] main:2::test_bytes:7::assert_byte:53 [ char_cursor#65 line_cursor#45 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] )
|
||||
[55] (byte) assert_byte::c#3 ← phi( test_bytes/(byte/signed byte/word/signed word/dword/signed dword) 0 test_bytes::@1/(byte/signed byte/word/signed word/dword/signed dword) 2 test_bytes::@2/(byte/word/signed word/dword/signed dword) 254 ) [ char_cursor#65 line_cursor#45 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] ( main:2::test_bytes:7::assert_byte:49 [ char_cursor#65 line_cursor#45 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] main:2::test_bytes:7::assert_byte:51 [ char_cursor#65 line_cursor#45 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] main:2::test_bytes:7::assert_byte:53 [ char_cursor#65 line_cursor#45 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] )
|
||||
[55] (byte) assert_byte::b#3 ← phi( test_bytes/(const byte) test_bytes::bb#0 test_bytes::@1/(const byte) test_bytes::bc#0 test_bytes::@2/(const byte) test_bytes::bd#0 ) [ char_cursor#65 line_cursor#45 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] ( main:2::test_bytes:7::assert_byte:49 [ char_cursor#65 line_cursor#45 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] main:2::test_bytes:7::assert_byte:51 [ char_cursor#65 line_cursor#45 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] main:2::test_bytes:7::assert_byte:53 [ char_cursor#65 line_cursor#45 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] )
|
||||
[55] (byte*) char_cursor#65 ← phi( test_bytes/((byte*))(word/signed word/dword/signed dword) 1024 test_bytes::@1/(byte*~) char_cursor#88 test_bytes::@2/(byte*~) char_cursor#89 ) [ char_cursor#65 line_cursor#45 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] ( main:2::test_bytes:7::assert_byte:49 [ char_cursor#65 line_cursor#45 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] main:2::test_bytes:7::assert_byte:51 [ char_cursor#65 line_cursor#45 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] main:2::test_bytes:7::assert_byte:53 [ char_cursor#65 line_cursor#45 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] )
|
||||
[55] (byte*) assert_byte::msg#3 ← phi( test_bytes/(const string) test_bytes::msg test_bytes::@1/(const string) test_bytes::msg1 test_bytes::@2/(const string) test_bytes::msg2 ) [ char_cursor#65 line_cursor#45 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] ( main:2::test_bytes:7::assert_byte:49 [ char_cursor#65 line_cursor#45 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] main:2::test_bytes:7::assert_byte:51 [ char_cursor#65 line_cursor#45 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] main:2::test_bytes:7::assert_byte:53 [ char_cursor#65 line_cursor#45 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] )
|
||||
[56] (byte*) print_str::str#1 ← (byte*) assert_byte::msg#3 [ print_str::str#1 char_cursor#65 line_cursor#45 assert_byte::b#3 assert_byte::c#3 ] ( main:2::test_bytes:7::assert_byte:49 [ print_str::str#1 char_cursor#65 line_cursor#45 assert_byte::b#3 assert_byte::c#3 ] main:2::test_bytes:7::assert_byte:51 [ print_str::str#1 char_cursor#65 line_cursor#45 assert_byte::b#3 assert_byte::c#3 ] main:2::test_bytes:7::assert_byte:53 [ print_str::str#1 char_cursor#65 line_cursor#45 assert_byte::b#3 assert_byte::c#3 ] )
|
||||
[57] call print_str param-assignment [ char_cursor#2 line_cursor#45 assert_byte::b#3 assert_byte::c#3 ] ( main:2::test_bytes:7::assert_byte:49 [ char_cursor#2 line_cursor#45 assert_byte::b#3 assert_byte::c#3 ] main:2::test_bytes:7::assert_byte:51 [ char_cursor#2 line_cursor#45 assert_byte::b#3 assert_byte::c#3 ] main:2::test_bytes:7::assert_byte:53 [ char_cursor#2 line_cursor#45 assert_byte::b#3 assert_byte::c#3 ] )
|
||||
[55] (byte*) line_cursor#50 ← phi( test_bytes/(const byte*) SCREEN#0 test_bytes::@1/(byte*) line_cursor#1 test_bytes::@2/(byte*) line_cursor#1 ) [ char_cursor#70 line_cursor#50 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] ( main:2::test_bytes:7::assert_byte:49 [ char_cursor#70 line_cursor#50 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] main:2::test_bytes:7::assert_byte:51 [ char_cursor#70 line_cursor#50 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] main:2::test_bytes:7::assert_byte:53 [ char_cursor#70 line_cursor#50 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] )
|
||||
[55] (byte) assert_byte::c#3 ← phi( test_bytes/(byte/signed byte/word/signed word/dword/signed dword) 0 test_bytes::@1/(byte/signed byte/word/signed word/dword/signed dword) 2 test_bytes::@2/(byte/word/signed word/dword/signed dword) 254 ) [ char_cursor#70 line_cursor#50 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] ( main:2::test_bytes:7::assert_byte:49 [ char_cursor#70 line_cursor#50 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] main:2::test_bytes:7::assert_byte:51 [ char_cursor#70 line_cursor#50 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] main:2::test_bytes:7::assert_byte:53 [ char_cursor#70 line_cursor#50 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] )
|
||||
[55] (byte) assert_byte::b#3 ← phi( test_bytes/(const byte) test_bytes::bb#0 test_bytes::@1/(const byte) test_bytes::bc#0 test_bytes::@2/(const byte) test_bytes::bd#0 ) [ char_cursor#70 line_cursor#50 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] ( main:2::test_bytes:7::assert_byte:49 [ char_cursor#70 line_cursor#50 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] main:2::test_bytes:7::assert_byte:51 [ char_cursor#70 line_cursor#50 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] main:2::test_bytes:7::assert_byte:53 [ char_cursor#70 line_cursor#50 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] )
|
||||
[55] (byte*) char_cursor#70 ← phi( test_bytes/(const byte*) SCREEN#0 test_bytes::@1/(byte*~) char_cursor#92 test_bytes::@2/(byte*~) char_cursor#93 ) [ char_cursor#70 line_cursor#50 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] ( main:2::test_bytes:7::assert_byte:49 [ char_cursor#70 line_cursor#50 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] main:2::test_bytes:7::assert_byte:51 [ char_cursor#70 line_cursor#50 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] main:2::test_bytes:7::assert_byte:53 [ char_cursor#70 line_cursor#50 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] )
|
||||
[55] (byte*) assert_byte::msg#3 ← phi( test_bytes/(const string) test_bytes::msg test_bytes::@1/(const string) test_bytes::msg1 test_bytes::@2/(const string) test_bytes::msg2 ) [ char_cursor#70 line_cursor#50 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] ( main:2::test_bytes:7::assert_byte:49 [ char_cursor#70 line_cursor#50 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] main:2::test_bytes:7::assert_byte:51 [ char_cursor#70 line_cursor#50 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] main:2::test_bytes:7::assert_byte:53 [ char_cursor#70 line_cursor#50 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] )
|
||||
[56] (byte*) print_str::str#1 ← (byte*) assert_byte::msg#3 [ print_str::str#1 char_cursor#70 line_cursor#50 assert_byte::b#3 assert_byte::c#3 ] ( main:2::test_bytes:7::assert_byte:49 [ print_str::str#1 char_cursor#70 line_cursor#50 assert_byte::b#3 assert_byte::c#3 ] main:2::test_bytes:7::assert_byte:51 [ print_str::str#1 char_cursor#70 line_cursor#50 assert_byte::b#3 assert_byte::c#3 ] main:2::test_bytes:7::assert_byte:53 [ print_str::str#1 char_cursor#70 line_cursor#50 assert_byte::b#3 assert_byte::c#3 ] )
|
||||
[57] call print_str param-assignment [ char_cursor#2 line_cursor#50 assert_byte::b#3 assert_byte::c#3 ] ( main:2::test_bytes:7::assert_byte:49 [ char_cursor#2 line_cursor#50 assert_byte::b#3 assert_byte::c#3 ] main:2::test_bytes:7::assert_byte:51 [ char_cursor#2 line_cursor#50 assert_byte::b#3 assert_byte::c#3 ] main:2::test_bytes:7::assert_byte:53 [ char_cursor#2 line_cursor#50 assert_byte::b#3 assert_byte::c#3 ] )
|
||||
to:assert_byte::@5
|
||||
assert_byte::@5: scope:[assert_byte] from assert_byte
|
||||
[58] phi() [ char_cursor#2 line_cursor#45 assert_byte::b#3 assert_byte::c#3 ] ( main:2::test_bytes:7::assert_byte:49 [ char_cursor#2 line_cursor#45 assert_byte::b#3 assert_byte::c#3 ] main:2::test_bytes:7::assert_byte:51 [ char_cursor#2 line_cursor#45 assert_byte::b#3 assert_byte::c#3 ] main:2::test_bytes:7::assert_byte:53 [ char_cursor#2 line_cursor#45 assert_byte::b#3 assert_byte::c#3 ] )
|
||||
[59] call print_str param-assignment [ char_cursor#2 line_cursor#45 assert_byte::b#3 assert_byte::c#3 ] ( main:2::test_bytes:7::assert_byte:49 [ char_cursor#2 line_cursor#45 assert_byte::b#3 assert_byte::c#3 ] main:2::test_bytes:7::assert_byte:51 [ char_cursor#2 line_cursor#45 assert_byte::b#3 assert_byte::c#3 ] main:2::test_bytes:7::assert_byte:53 [ char_cursor#2 line_cursor#45 assert_byte::b#3 assert_byte::c#3 ] )
|
||||
[58] phi() [ char_cursor#2 line_cursor#50 assert_byte::b#3 assert_byte::c#3 ] ( main:2::test_bytes:7::assert_byte:49 [ char_cursor#2 line_cursor#50 assert_byte::b#3 assert_byte::c#3 ] main:2::test_bytes:7::assert_byte:51 [ char_cursor#2 line_cursor#50 assert_byte::b#3 assert_byte::c#3 ] main:2::test_bytes:7::assert_byte:53 [ char_cursor#2 line_cursor#50 assert_byte::b#3 assert_byte::c#3 ] )
|
||||
[59] call print_str param-assignment [ char_cursor#2 line_cursor#50 assert_byte::b#3 assert_byte::c#3 ] ( main:2::test_bytes:7::assert_byte:49 [ char_cursor#2 line_cursor#50 assert_byte::b#3 assert_byte::c#3 ] main:2::test_bytes:7::assert_byte:51 [ char_cursor#2 line_cursor#50 assert_byte::b#3 assert_byte::c#3 ] main:2::test_bytes:7::assert_byte:53 [ char_cursor#2 line_cursor#50 assert_byte::b#3 assert_byte::c#3 ] )
|
||||
to:assert_byte::@6
|
||||
assert_byte::@6: scope:[assert_byte] from assert_byte::@5
|
||||
[60] if((byte) assert_byte::b#3==(byte) assert_byte::c#3) goto assert_byte::@1 [ char_cursor#2 line_cursor#45 ] ( main:2::test_bytes:7::assert_byte:49 [ char_cursor#2 line_cursor#45 ] main:2::test_bytes:7::assert_byte:51 [ char_cursor#2 line_cursor#45 ] main:2::test_bytes:7::assert_byte:53 [ char_cursor#2 line_cursor#45 ] )
|
||||
[60] if((byte) assert_byte::b#3==(byte) assert_byte::c#3) goto assert_byte::@1 [ char_cursor#2 line_cursor#50 ] ( main:2::test_bytes:7::assert_byte:49 [ char_cursor#2 line_cursor#50 ] main:2::test_bytes:7::assert_byte:51 [ char_cursor#2 line_cursor#50 ] main:2::test_bytes:7::assert_byte:53 [ char_cursor#2 line_cursor#50 ] )
|
||||
to:assert_byte::@3
|
||||
assert_byte::@3: scope:[assert_byte] from assert_byte::@6
|
||||
[61] *((const byte*) BGCOL#0) ← (const byte) RED#0 [ char_cursor#2 line_cursor#45 ] ( main:2::test_bytes:7::assert_byte:49 [ char_cursor#2 line_cursor#45 ] main:2::test_bytes:7::assert_byte:51 [ char_cursor#2 line_cursor#45 ] main:2::test_bytes:7::assert_byte:53 [ char_cursor#2 line_cursor#45 ] )
|
||||
[62] call print_str param-assignment [ char_cursor#2 line_cursor#45 ] ( main:2::test_bytes:7::assert_byte:49 [ char_cursor#2 line_cursor#45 ] main:2::test_bytes:7::assert_byte:51 [ char_cursor#2 line_cursor#45 ] main:2::test_bytes:7::assert_byte:53 [ char_cursor#2 line_cursor#45 ] )
|
||||
[61] *((const byte*) BGCOL#0) ← (const byte) RED#0 [ char_cursor#2 line_cursor#50 ] ( main:2::test_bytes:7::assert_byte:49 [ char_cursor#2 line_cursor#50 ] main:2::test_bytes:7::assert_byte:51 [ char_cursor#2 line_cursor#50 ] main:2::test_bytes:7::assert_byte:53 [ char_cursor#2 line_cursor#50 ] )
|
||||
[62] call print_str param-assignment [ char_cursor#2 line_cursor#50 ] ( main:2::test_bytes:7::assert_byte:49 [ char_cursor#2 line_cursor#50 ] main:2::test_bytes:7::assert_byte:51 [ char_cursor#2 line_cursor#50 ] main:2::test_bytes:7::assert_byte:53 [ char_cursor#2 line_cursor#50 ] )
|
||||
to:assert_byte::@2
|
||||
assert_byte::@2: scope:[assert_byte] from assert_byte::@1 assert_byte::@3
|
||||
[63] phi() [ char_cursor#2 line_cursor#45 ] ( main:2::test_bytes:7::assert_byte:49 [ char_cursor#2 line_cursor#45 ] main:2::test_bytes:7::assert_byte:51 [ char_cursor#2 line_cursor#45 ] main:2::test_bytes:7::assert_byte:53 [ char_cursor#2 line_cursor#45 ] )
|
||||
[63] phi() [ char_cursor#2 line_cursor#50 ] ( main:2::test_bytes:7::assert_byte:49 [ char_cursor#2 line_cursor#50 ] main:2::test_bytes:7::assert_byte:51 [ char_cursor#2 line_cursor#50 ] main:2::test_bytes:7::assert_byte:53 [ char_cursor#2 line_cursor#50 ] )
|
||||
[64] call print_ln param-assignment [ line_cursor#1 ] ( main:2::test_bytes:7::assert_byte:49 [ line_cursor#1 ] main:2::test_bytes:7::assert_byte:51 [ line_cursor#1 ] main:2::test_bytes:7::assert_byte:53 [ line_cursor#1 ] )
|
||||
to:assert_byte::@return
|
||||
assert_byte::@return: scope:[assert_byte] from assert_byte::@2
|
||||
[65] return [ line_cursor#1 ] ( main:2::test_bytes:7::assert_byte:49 [ line_cursor#1 ] main:2::test_bytes:7::assert_byte:51 [ line_cursor#1 ] main:2::test_bytes:7::assert_byte:53 [ line_cursor#1 ] )
|
||||
to:@return
|
||||
assert_byte::@1: scope:[assert_byte] from assert_byte::@6
|
||||
[66] phi() [ char_cursor#2 line_cursor#45 ] ( main:2::test_bytes:7::assert_byte:49 [ char_cursor#2 line_cursor#45 ] main:2::test_bytes:7::assert_byte:51 [ char_cursor#2 line_cursor#45 ] main:2::test_bytes:7::assert_byte:53 [ char_cursor#2 line_cursor#45 ] )
|
||||
[67] call print_str param-assignment [ char_cursor#2 line_cursor#45 ] ( main:2::test_bytes:7::assert_byte:49 [ char_cursor#2 line_cursor#45 ] main:2::test_bytes:7::assert_byte:51 [ char_cursor#2 line_cursor#45 ] main:2::test_bytes:7::assert_byte:53 [ char_cursor#2 line_cursor#45 ] )
|
||||
[66] phi() [ char_cursor#2 line_cursor#50 ] ( main:2::test_bytes:7::assert_byte:49 [ char_cursor#2 line_cursor#50 ] main:2::test_bytes:7::assert_byte:51 [ char_cursor#2 line_cursor#50 ] main:2::test_bytes:7::assert_byte:53 [ char_cursor#2 line_cursor#50 ] )
|
||||
[67] call print_str param-assignment [ char_cursor#2 line_cursor#50 ] ( main:2::test_bytes:7::assert_byte:49 [ char_cursor#2 line_cursor#50 ] main:2::test_bytes:7::assert_byte:51 [ char_cursor#2 line_cursor#50 ] main:2::test_bytes:7::assert_byte:53 [ char_cursor#2 line_cursor#50 ] )
|
||||
to:assert_byte::@2
|
||||
print_cls: scope:[print_cls] from main
|
||||
[68] phi() [ ] ( main:2::print_cls:5 [ ] )
|
||||
to:print_cls::@1
|
||||
print_cls::@1: scope:[print_cls] from print_cls print_cls::@1
|
||||
[69] (byte*) print_cls::sc#2 ← phi( print_cls/((byte*))(word/signed word/dword/signed dword) 1024 print_cls::@1/(byte*) print_cls::sc#1 ) [ print_cls::sc#2 ] ( main:2::print_cls:5 [ print_cls::sc#2 ] )
|
||||
[69] (byte*) print_cls::sc#2 ← phi( print_cls/(const byte*) SCREEN#0 print_cls::@1/(byte*) print_cls::sc#1 ) [ print_cls::sc#2 ] ( main:2::print_cls:5 [ print_cls::sc#2 ] )
|
||||
[70] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::print_cls:5 [ print_cls::sc#2 ] )
|
||||
[71] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 [ print_cls::sc#1 ] ( main:2::print_cls:5 [ print_cls::sc#1 ] )
|
||||
[72] if((byte*) print_cls::sc#1!=(word/signed word/dword/signed dword) 1024+(word/signed word/dword/signed dword) 1000) goto print_cls::@1 [ print_cls::sc#1 ] ( main:2::print_cls:5 [ print_cls::sc#1 ] )
|
||||
[72] if((byte*) print_cls::sc#1!=(const byte*) SCREEN#0+(word/signed word/dword/signed dword) 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
|
||||
[73] return [ ] ( main:2::print_cls:5 [ ] )
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -7,6 +7,8 @@
|
||||
(const byte) GREEN#0 GREEN = (byte/signed byte/word/signed word/dword/signed dword) 5
|
||||
(byte) RED
|
||||
(const byte) RED#0 RED = (byte/signed byte/word/signed word/dword/signed dword) 2
|
||||
(byte*) SCREEN
|
||||
(const byte*) SCREEN#0 SCREEN = ((byte*))(word/signed word/dword/signed dword) 1024
|
||||
(void()) assert_byte((byte*) assert_byte::msg , (byte) assert_byte::b , (byte) assert_byte::c)
|
||||
(label) assert_byte::@1
|
||||
(label) assert_byte::@2
|
||||
@ -42,16 +44,16 @@
|
||||
(byte*) char_cursor
|
||||
(byte*) char_cursor#1 char_cursor zp ZP_WORD:5 11.0
|
||||
(byte*) char_cursor#2 char_cursor zp ZP_WORD:5 2.230769230769231
|
||||
(byte*) char_cursor#65 char_cursor zp ZP_WORD:5 3.0
|
||||
(byte*) char_cursor#75 char_cursor zp ZP_WORD:5 18.0
|
||||
(byte*~) char_cursor#82 char_cursor zp ZP_WORD:5 4.0
|
||||
(byte*~) char_cursor#88 char_cursor zp ZP_WORD:5 4.0
|
||||
(byte*~) char_cursor#89 char_cursor zp ZP_WORD:5 4.0
|
||||
(byte*) char_cursor#70 char_cursor zp ZP_WORD:5 3.0
|
||||
(byte*) char_cursor#80 char_cursor zp ZP_WORD:5 18.0
|
||||
(byte*~) char_cursor#86 char_cursor zp ZP_WORD:5 4.0
|
||||
(byte*~) char_cursor#92 char_cursor zp ZP_WORD:5 4.0
|
||||
(byte*~) char_cursor#93 char_cursor zp ZP_WORD:5 4.0
|
||||
(byte*) line_cursor
|
||||
(byte*) line_cursor#1 line_cursor zp ZP_WORD:7 1.2500000000000002
|
||||
(byte*) line_cursor#21 line_cursor zp ZP_WORD:7 24.0
|
||||
(byte*) line_cursor#42 line_cursor zp ZP_WORD:7 6.0
|
||||
(byte*) line_cursor#45 line_cursor zp ZP_WORD:7 0.5454545454545454
|
||||
(byte*) line_cursor#24 line_cursor zp ZP_WORD:7 24.0
|
||||
(byte*) line_cursor#47 line_cursor zp ZP_WORD:7 6.0
|
||||
(byte*) line_cursor#50 line_cursor zp ZP_WORD:7 0.5454545454545454
|
||||
(void()) main()
|
||||
(label) main::@1
|
||||
(label) main::@2
|
||||
@ -113,6 +115,6 @@
|
||||
zp ZP_WORD:2 [ assert_sbyte::msg#5 print_str::str#10 print_str::str#11 print_str::str#1 print_str::str#5 print_str::str#0 assert_byte::msg#3 print_cls::sc#2 print_cls::sc#1 ]
|
||||
reg byte x [ assert_sbyte::b#5 ]
|
||||
zp ZP_BYTE:4 [ assert_sbyte::c#5 assert_byte::c#3 ]
|
||||
zp ZP_WORD:5 [ char_cursor#75 char_cursor#65 char_cursor#2 char_cursor#82 char_cursor#1 char_cursor#88 char_cursor#89 ]
|
||||
zp ZP_WORD:7 [ line_cursor#21 line_cursor#42 line_cursor#45 line_cursor#1 ]
|
||||
zp ZP_WORD:5 [ char_cursor#80 char_cursor#70 char_cursor#2 char_cursor#86 char_cursor#1 char_cursor#92 char_cursor#93 ]
|
||||
zp ZP_WORD:7 [ line_cursor#24 line_cursor#47 line_cursor#50 line_cursor#1 ]
|
||||
reg byte x [ assert_byte::b#3 ]
|
||||
|
@ -1,19 +1,20 @@
|
||||
.pc = $801 "Basic"
|
||||
:BasicUpstart(main)
|
||||
.pc = $80d "Program"
|
||||
.label SCREEN = $400
|
||||
.label char_cursor = 6
|
||||
.label line_cursor = 2
|
||||
jsr main
|
||||
main: {
|
||||
jsr print_cls
|
||||
ldx #0
|
||||
lda #<$400
|
||||
lda #<SCREEN
|
||||
sta line_cursor
|
||||
lda #>$400
|
||||
lda #>SCREEN
|
||||
sta line_cursor+1
|
||||
lda #<$400
|
||||
lda #<SCREEN
|
||||
sta char_cursor
|
||||
lda #>$400
|
||||
lda #>SCREEN
|
||||
sta char_cursor+1
|
||||
b1:
|
||||
jsr print_str
|
||||
@ -80,9 +81,9 @@ print_str: {
|
||||
}
|
||||
print_cls: {
|
||||
.label sc = 2
|
||||
lda #<$400
|
||||
lda #<SCREEN
|
||||
sta sc
|
||||
lda #>$400
|
||||
lda #>SCREEN
|
||||
sta sc+1
|
||||
b1:
|
||||
lda #' '
|
||||
@ -93,10 +94,10 @@ print_cls: {
|
||||
inc sc+1
|
||||
!:
|
||||
lda sc+1
|
||||
cmp #>$400+$3e8
|
||||
cmp #>SCREEN+$3e8
|
||||
bne b1
|
||||
lda sc
|
||||
cmp #<$400+$3e8
|
||||
cmp #<SCREEN+$3e8
|
||||
bne b1
|
||||
rts
|
||||
}
|
||||
|
@ -12,13 +12,13 @@ main: scope:[main] from @9
|
||||
[5] call print_cls param-assignment [ ] ( main:2 [ ] )
|
||||
to:main::@1
|
||||
main::@1: scope:[main] from main main::@6
|
||||
[6] (byte) main::i#2 ← phi( main/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@6/(byte) main::i#1 ) [ char_cursor#19 line_cursor#13 main::i#2 ] ( main:2 [ char_cursor#19 line_cursor#13 main::i#2 ] )
|
||||
[6] (byte*) line_cursor#13 ← phi( main/((byte*))(word/signed word/dword/signed dword) 1024 main::@6/(byte*) line_cursor#1 ) [ char_cursor#19 line_cursor#13 main::i#2 ] ( main:2 [ char_cursor#19 line_cursor#13 main::i#2 ] )
|
||||
[6] (byte*) char_cursor#19 ← phi( main/((byte*))(word/signed word/dword/signed dword) 1024 main::@6/(byte*~) char_cursor#25 ) [ char_cursor#19 line_cursor#13 main::i#2 ] ( main:2 [ char_cursor#19 line_cursor#13 main::i#2 ] )
|
||||
[7] call print_str param-assignment [ line_cursor#13 main::i#2 char_cursor#10 ] ( main:2 [ line_cursor#13 main::i#2 char_cursor#10 ] )
|
||||
[6] (byte) main::i#2 ← phi( main/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@6/(byte) main::i#1 ) [ char_cursor#25 line_cursor#19 main::i#2 ] ( main:2 [ char_cursor#25 line_cursor#19 main::i#2 ] )
|
||||
[6] (byte*) line_cursor#19 ← phi( main/(const byte*) SCREEN#0 main::@6/(byte*) line_cursor#1 ) [ char_cursor#25 line_cursor#19 main::i#2 ] ( main:2 [ char_cursor#25 line_cursor#19 main::i#2 ] )
|
||||
[6] (byte*) char_cursor#25 ← phi( main/(const byte*) SCREEN#0 main::@6/(byte*~) char_cursor#29 ) [ char_cursor#25 line_cursor#19 main::i#2 ] ( main:2 [ char_cursor#25 line_cursor#19 main::i#2 ] )
|
||||
[7] call print_str param-assignment [ line_cursor#19 main::i#2 char_cursor#12 ] ( main:2 [ line_cursor#19 main::i#2 char_cursor#12 ] )
|
||||
to:main::@4
|
||||
main::@4: scope:[main] from main::@1
|
||||
[8] phi() [ line_cursor#13 main::i#2 char_cursor#10 ] ( main:2 [ line_cursor#13 main::i#2 char_cursor#10 ] )
|
||||
[8] phi() [ line_cursor#19 main::i#2 char_cursor#12 ] ( main:2 [ line_cursor#19 main::i#2 char_cursor#12 ] )
|
||||
[9] call print_ln param-assignment [ main::i#2 line_cursor#1 ] ( main:2 [ main::i#2 line_cursor#1 ] )
|
||||
to:main::@5
|
||||
main::@5: scope:[main] from main::@4
|
||||
@ -30,43 +30,43 @@ main::@return: scope:[main] from main::@5
|
||||
[13] return [ ] ( main:2 [ ] )
|
||||
to:@return
|
||||
main::@6: scope:[main] from main::@5
|
||||
[14] (byte*~) char_cursor#25 ← (byte*) line_cursor#1 [ char_cursor#25 line_cursor#1 main::i#1 ] ( main:2 [ char_cursor#25 line_cursor#1 main::i#1 ] )
|
||||
[14] (byte*~) char_cursor#29 ← (byte*) line_cursor#1 [ char_cursor#29 line_cursor#1 main::i#1 ] ( main:2 [ char_cursor#29 line_cursor#1 main::i#1 ] )
|
||||
to:main::@1
|
||||
print_ln: scope:[print_ln] from main::@4
|
||||
[15] phi() [ line_cursor#13 char_cursor#10 ] ( main:2::print_ln:9 [ main::i#2 line_cursor#13 char_cursor#10 ] )
|
||||
[15] phi() [ line_cursor#19 char_cursor#12 ] ( main:2::print_ln:9 [ main::i#2 line_cursor#19 char_cursor#12 ] )
|
||||
to:print_ln::@1
|
||||
print_ln::@1: scope:[print_ln] from print_ln print_ln::@1
|
||||
[16] (byte*) line_cursor#6 ← phi( print_ln/(byte*) line_cursor#13 print_ln::@1/(byte*) line_cursor#1 ) [ line_cursor#6 char_cursor#10 ] ( main:2::print_ln:9 [ main::i#2 line_cursor#6 char_cursor#10 ] )
|
||||
[17] (byte*) line_cursor#1 ← (byte*) line_cursor#6 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ line_cursor#1 char_cursor#10 ] ( main:2::print_ln:9 [ main::i#2 line_cursor#1 char_cursor#10 ] )
|
||||
[18] if((byte*) line_cursor#1<(byte*) char_cursor#10) goto print_ln::@1 [ line_cursor#1 char_cursor#10 ] ( main:2::print_ln:9 [ main::i#2 line_cursor#1 char_cursor#10 ] )
|
||||
[16] (byte*) line_cursor#9 ← phi( print_ln/(byte*) line_cursor#19 print_ln::@1/(byte*) line_cursor#1 ) [ line_cursor#9 char_cursor#12 ] ( main:2::print_ln:9 [ main::i#2 line_cursor#9 char_cursor#12 ] )
|
||||
[17] (byte*) line_cursor#1 ← (byte*) line_cursor#9 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ line_cursor#1 char_cursor#12 ] ( main:2::print_ln:9 [ main::i#2 line_cursor#1 char_cursor#12 ] )
|
||||
[18] if((byte*) line_cursor#1<(byte*) char_cursor#12) goto print_ln::@1 [ line_cursor#1 char_cursor#12 ] ( main:2::print_ln:9 [ main::i#2 line_cursor#1 char_cursor#12 ] )
|
||||
to:print_ln::@return
|
||||
print_ln::@return: scope:[print_ln] from print_ln::@1
|
||||
[19] return [ line_cursor#1 ] ( main:2::print_ln:9 [ main::i#2 line_cursor#1 ] )
|
||||
to:@return
|
||||
print_str: scope:[print_str] from main::@1
|
||||
[20] phi() [ char_cursor#19 ] ( main:2::print_str:7 [ line_cursor#13 main::i#2 char_cursor#19 ] )
|
||||
[20] phi() [ char_cursor#25 ] ( main:2::print_str:7 [ line_cursor#19 main::i#2 char_cursor#25 ] )
|
||||
to:print_str::@1
|
||||
print_str::@1: scope:[print_str] from print_str print_str::@2
|
||||
[21] (byte*) char_cursor#10 ← phi( print_str/(byte*) char_cursor#19 print_str::@2/(byte*) char_cursor#1 ) [ char_cursor#10 print_str::str#2 ] ( main:2::print_str:7 [ line_cursor#13 main::i#2 char_cursor#10 print_str::str#2 ] )
|
||||
[21] (byte*) print_str::str#2 ← phi( print_str/(const string) txt#0 print_str::@2/(byte*) print_str::str#0 ) [ char_cursor#10 print_str::str#2 ] ( main:2::print_str:7 [ line_cursor#13 main::i#2 char_cursor#10 print_str::str#2 ] )
|
||||
[22] if(*((byte*) print_str::str#2)!=(byte) '@') goto print_str::@2 [ char_cursor#10 print_str::str#2 ] ( main:2::print_str:7 [ line_cursor#13 main::i#2 char_cursor#10 print_str::str#2 ] )
|
||||
[21] (byte*) char_cursor#12 ← phi( print_str/(byte*) char_cursor#25 print_str::@2/(byte*) char_cursor#1 ) [ char_cursor#12 print_str::str#2 ] ( main:2::print_str:7 [ line_cursor#19 main::i#2 char_cursor#12 print_str::str#2 ] )
|
||||
[21] (byte*) print_str::str#2 ← phi( print_str/(const string) txt#0 print_str::@2/(byte*) print_str::str#0 ) [ char_cursor#12 print_str::str#2 ] ( main:2::print_str:7 [ line_cursor#19 main::i#2 char_cursor#12 print_str::str#2 ] )
|
||||
[22] if(*((byte*) print_str::str#2)!=(byte) '@') goto print_str::@2 [ char_cursor#12 print_str::str#2 ] ( main:2::print_str:7 [ line_cursor#19 main::i#2 char_cursor#12 print_str::str#2 ] )
|
||||
to:print_str::@return
|
||||
print_str::@return: scope:[print_str] from print_str::@1
|
||||
[23] return [ char_cursor#10 ] ( main:2::print_str:7 [ line_cursor#13 main::i#2 char_cursor#10 ] )
|
||||
[23] return [ char_cursor#12 ] ( main:2::print_str:7 [ line_cursor#19 main::i#2 char_cursor#12 ] )
|
||||
to:@return
|
||||
print_str::@2: scope:[print_str] from print_str::@1
|
||||
[24] *((byte*) char_cursor#10) ← *((byte*) print_str::str#2) [ char_cursor#10 print_str::str#2 ] ( main:2::print_str:7 [ line_cursor#13 main::i#2 char_cursor#10 print_str::str#2 ] )
|
||||
[25] (byte*) char_cursor#1 ← ++ (byte*) char_cursor#10 [ print_str::str#2 char_cursor#1 ] ( main:2::print_str:7 [ line_cursor#13 main::i#2 print_str::str#2 char_cursor#1 ] )
|
||||
[26] (byte*) print_str::str#0 ← ++ (byte*) print_str::str#2 [ print_str::str#0 char_cursor#1 ] ( main:2::print_str:7 [ line_cursor#13 main::i#2 print_str::str#0 char_cursor#1 ] )
|
||||
[24] *((byte*) char_cursor#12) ← *((byte*) print_str::str#2) [ char_cursor#12 print_str::str#2 ] ( main:2::print_str:7 [ line_cursor#19 main::i#2 char_cursor#12 print_str::str#2 ] )
|
||||
[25] (byte*) char_cursor#1 ← ++ (byte*) char_cursor#12 [ print_str::str#2 char_cursor#1 ] ( main:2::print_str:7 [ line_cursor#19 main::i#2 print_str::str#2 char_cursor#1 ] )
|
||||
[26] (byte*) print_str::str#0 ← ++ (byte*) print_str::str#2 [ print_str::str#0 char_cursor#1 ] ( main:2::print_str:7 [ line_cursor#19 main::i#2 print_str::str#0 char_cursor#1 ] )
|
||||
to:print_str::@1
|
||||
print_cls: scope:[print_cls] from main
|
||||
[27] phi() [ ] ( main:2::print_cls:5 [ ] )
|
||||
to:print_cls::@1
|
||||
print_cls::@1: scope:[print_cls] from print_cls print_cls::@1
|
||||
[28] (byte*) print_cls::sc#2 ← phi( print_cls/((byte*))(word/signed word/dword/signed dword) 1024 print_cls::@1/(byte*) print_cls::sc#1 ) [ print_cls::sc#2 ] ( main:2::print_cls:5 [ print_cls::sc#2 ] )
|
||||
[28] (byte*) print_cls::sc#2 ← phi( print_cls/(const byte*) SCREEN#0 print_cls::@1/(byte*) print_cls::sc#1 ) [ print_cls::sc#2 ] ( main:2::print_cls:5 [ print_cls::sc#2 ] )
|
||||
[29] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::print_cls:5 [ print_cls::sc#2 ] )
|
||||
[30] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 [ print_cls::sc#1 ] ( main:2::print_cls:5 [ print_cls::sc#1 ] )
|
||||
[31] if((byte*) print_cls::sc#1!=(word/signed word/dword/signed dword) 1024+(word/signed word/dword/signed dword) 1000) goto print_cls::@1 [ print_cls::sc#1 ] ( main:2::print_cls:5 [ print_cls::sc#1 ] )
|
||||
[31] if((byte*) print_cls::sc#1!=(const byte*) SCREEN#0+(word/signed word/dword/signed dword) 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
|
||||
[32] return [ ] ( main:2::print_cls:5 [ ] )
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,15 +1,17 @@
|
||||
(label) @9
|
||||
(label) @begin
|
||||
(label) @end
|
||||
(byte*) SCREEN
|
||||
(const byte*) SCREEN#0 SCREEN = ((byte*))(word/signed word/dword/signed dword) 1024
|
||||
(byte*) char_cursor
|
||||
(byte*) char_cursor#1 char_cursor zp ZP_WORD:6 101.0
|
||||
(byte*) char_cursor#10 char_cursor zp ZP_WORD:6 40.6
|
||||
(byte*) char_cursor#19 char_cursor zp ZP_WORD:6 6.5
|
||||
(byte*~) char_cursor#25 char_cursor zp ZP_WORD:6 22.0
|
||||
(byte*) char_cursor#12 char_cursor zp ZP_WORD:6 40.6
|
||||
(byte*) char_cursor#25 char_cursor zp ZP_WORD:6 6.5
|
||||
(byte*~) char_cursor#29 char_cursor zp ZP_WORD:6 22.0
|
||||
(byte*) line_cursor
|
||||
(byte*) line_cursor#1 line_cursor zp ZP_WORD:2 40.625
|
||||
(byte*) line_cursor#13 line_cursor zp ZP_WORD:2 3.25
|
||||
(byte*) line_cursor#6 line_cursor zp ZP_WORD:2 204.0
|
||||
(byte*) line_cursor#19 line_cursor zp ZP_WORD:2 3.25
|
||||
(byte*) line_cursor#9 line_cursor zp ZP_WORD:2 204.0
|
||||
(void()) main()
|
||||
(label) main::@1
|
||||
(label) main::@4
|
||||
@ -39,6 +41,6 @@
|
||||
(const string) txt#0 txt = (string) "camelot@"
|
||||
|
||||
reg byte x [ main::i#2 main::i#1 ]
|
||||
zp ZP_WORD:2 [ line_cursor#6 line_cursor#13 line_cursor#1 print_cls::sc#2 print_cls::sc#1 ]
|
||||
zp ZP_WORD:2 [ line_cursor#9 line_cursor#19 line_cursor#1 print_cls::sc#2 print_cls::sc#1 ]
|
||||
zp ZP_WORD:4 [ print_str::str#2 print_str::str#0 ]
|
||||
zp ZP_WORD:6 [ char_cursor#10 char_cursor#19 char_cursor#25 char_cursor#1 ]
|
||||
zp ZP_WORD:6 [ char_cursor#12 char_cursor#25 char_cursor#29 char_cursor#1 ]
|
||||
|
@ -1,22 +1,23 @@
|
||||
.pc = $801 "Basic"
|
||||
:BasicUpstart(main)
|
||||
.pc = $80d "Program"
|
||||
.label SCREEN = $400
|
||||
.label char_cursor = 6
|
||||
.label line_cursor = 2
|
||||
jsr main
|
||||
main: {
|
||||
lda #<$400
|
||||
lda #<SCREEN
|
||||
sta char_cursor
|
||||
lda #>$400
|
||||
lda #>SCREEN
|
||||
sta char_cursor+1
|
||||
lda #<msg
|
||||
sta print_str.str
|
||||
lda #>msg
|
||||
sta print_str.str+1
|
||||
jsr print_str
|
||||
lda #<$400
|
||||
lda #<SCREEN
|
||||
sta line_cursor
|
||||
lda #>$400
|
||||
lda #>SCREEN
|
||||
sta line_cursor+1
|
||||
jsr print_ln
|
||||
lda line_cursor
|
||||
|
@ -35,7 +35,7 @@ main::@return: scope:[main] from main::@5
|
||||
[16] return [ ] ( main:2 [ ] )
|
||||
to:@return
|
||||
print_ln: scope:[print_ln] from main::@1 main::@3 main::@5
|
||||
[17] (byte*) line_cursor#16 ← phi( main::@1/((byte*))(word/signed word/dword/signed dword) 1024 main::@3/(byte*) line_cursor#1 main::@5/(byte*) line_cursor#1 ) [ line_cursor#16 char_cursor#13 ] ( main:2::print_ln:7 [ line_cursor#16 char_cursor#13 ] main:2::print_ln:11 [ line_cursor#16 char_cursor#13 ] main:2::print_ln:15 [ line_cursor#16 char_cursor#13 ] )
|
||||
[17] (byte*) line_cursor#16 ← phi( main::@1/(const byte*) SCREEN#0 main::@3/(byte*) line_cursor#1 main::@5/(byte*) line_cursor#1 ) [ line_cursor#16 char_cursor#13 ] ( main:2::print_ln:7 [ line_cursor#16 char_cursor#13 ] main:2::print_ln:11 [ line_cursor#16 char_cursor#13 ] main:2::print_ln:15 [ line_cursor#16 char_cursor#13 ] )
|
||||
to:print_ln::@1
|
||||
print_ln::@1: scope:[print_ln] from print_ln print_ln::@1
|
||||
[18] (byte*) line_cursor#8 ← phi( print_ln/(byte*) line_cursor#16 print_ln::@1/(byte*) line_cursor#1 ) [ line_cursor#8 char_cursor#13 ] ( main:2::print_ln:7 [ line_cursor#8 char_cursor#13 ] main:2::print_ln:11 [ line_cursor#8 char_cursor#13 ] main:2::print_ln:15 [ line_cursor#8 char_cursor#13 ] )
|
||||
@ -46,7 +46,7 @@ print_ln::@return: scope:[print_ln] from print_ln::@1
|
||||
[21] return [ line_cursor#1 ] ( main:2::print_ln:7 [ line_cursor#1 ] main:2::print_ln:11 [ line_cursor#1 ] main:2::print_ln:15 [ line_cursor#1 ] )
|
||||
to:@return
|
||||
print_str: scope:[print_str] from main main::@2 main::@4
|
||||
[22] (byte*) char_cursor#29 ← phi( main/((byte*))(word/signed word/dword/signed dword) 1024 main::@2/(byte*~) char_cursor#31 main::@4/(byte*~) char_cursor#32 ) [ print_str::str#6 char_cursor#29 ] ( main:2::print_str:5 [ print_str::str#6 char_cursor#29 ] main:2::print_str:9 [ line_cursor#1 print_str::str#6 char_cursor#29 ] main:2::print_str:13 [ line_cursor#1 print_str::str#6 char_cursor#29 ] )
|
||||
[22] (byte*) char_cursor#29 ← phi( main/(const byte*) SCREEN#0 main::@2/(byte*~) char_cursor#31 main::@4/(byte*~) char_cursor#32 ) [ print_str::str#6 char_cursor#29 ] ( main:2::print_str:5 [ print_str::str#6 char_cursor#29 ] main:2::print_str:9 [ line_cursor#1 print_str::str#6 char_cursor#29 ] main:2::print_str:13 [ line_cursor#1 print_str::str#6 char_cursor#29 ] )
|
||||
[22] (byte*) print_str::str#6 ← phi( main/(const string) msg#0 main::@2/(const string) msg2#0 main::@4/(const string) msg3#0 ) [ print_str::str#6 char_cursor#29 ] ( main:2::print_str:5 [ print_str::str#6 char_cursor#29 ] main:2::print_str:9 [ line_cursor#1 print_str::str#6 char_cursor#29 ] main:2::print_str:13 [ line_cursor#1 print_str::str#6 char_cursor#29 ] )
|
||||
to:print_str::@1
|
||||
print_str::@1: scope:[print_str] from print_str print_str::@2
|
||||
|
@ -17,7 +17,9 @@ void main() {
|
||||
Importing print
|
||||
PARSING src/test/java/dk/camelot64/kickc/test/kc/print.kc
|
||||
|
||||
byte* line_cursor = $0400;
|
||||
const byte* SCREEN = $0400;
|
||||
|
||||
byte* line_cursor = SCREEN;
|
||||
byte* char_cursor = line_cursor;
|
||||
|
||||
// Print a zero-terminated string
|
||||
@ -74,9 +76,11 @@ void print_char(byte ch) {
|
||||
|
||||
// Clear the screen
|
||||
void print_cls() {
|
||||
for(byte* sc=$0400; sc!=$0400+1000; sc++) {
|
||||
for(byte* sc=SCREEN; sc!=SCREEN+1000; sc++) {
|
||||
*sc = ' ';
|
||||
}
|
||||
line_cursor = SCREEN;
|
||||
char_cursor = line_cursor;
|
||||
}
|
||||
|
||||
|
||||
@ -87,7 +91,8 @@ Adding pre/post-modifier (byte*) char_cursor ← ++ (byte*) char_cursor
|
||||
Adding pre/post-modifier (byte*) print_cls::sc ← ++ (byte*) print_cls::sc
|
||||
|
||||
STATEMENTS
|
||||
(byte*) line_cursor ← (word/signed word/dword/signed dword) 1024
|
||||
(byte*) SCREEN ← (word/signed word/dword/signed dword) 1024
|
||||
(byte*) line_cursor ← (byte*) SCREEN
|
||||
(byte*) char_cursor ← (byte*) line_cursor
|
||||
proc (void()) print_str((byte*) print_str::str)
|
||||
print_str::@1:
|
||||
@ -163,13 +168,15 @@ print_char::@return:
|
||||
return
|
||||
endproc // print_char()
|
||||
proc (void()) print_cls()
|
||||
(byte*) print_cls::sc ← (word/signed word/dword/signed dword) 1024
|
||||
(byte*) print_cls::sc ← (byte*) SCREEN
|
||||
print_cls::@1:
|
||||
*((byte*) print_cls::sc) ← (byte) ' '
|
||||
(byte*) print_cls::sc ← ++ (byte*) print_cls::sc
|
||||
(word/signed word/dword/signed dword~) print_cls::$0 ← (word/signed word/dword/signed dword) 1024 + (word/signed word/dword/signed dword) 1000
|
||||
(boolean~) print_cls::$1 ← (byte*) print_cls::sc != (word/signed word/dword/signed dword~) print_cls::$0
|
||||
(byte*~) print_cls::$0 ← (byte*) SCREEN + (word/signed word/dword/signed dword) 1000
|
||||
(boolean~) print_cls::$1 ← (byte*) print_cls::sc != (byte*~) print_cls::$0
|
||||
if((boolean~) print_cls::$1) goto print_cls::@1
|
||||
(byte*) line_cursor ← (byte*) SCREEN
|
||||
(byte*) char_cursor ← (byte*) line_cursor
|
||||
print_cls::@return:
|
||||
return
|
||||
endproc // print_cls()
|
||||
@ -189,6 +196,7 @@ endproc // main()
|
||||
call main
|
||||
|
||||
SYMBOLS
|
||||
(byte*) SCREEN
|
||||
(byte*) char_cursor
|
||||
(byte*) line_cursor
|
||||
(void()) main()
|
||||
@ -214,7 +222,7 @@ SYMBOLS
|
||||
(label) print_char::@return
|
||||
(byte) print_char::ch
|
||||
(void()) print_cls()
|
||||
(word/signed word/dword/signed dword~) print_cls::$0
|
||||
(byte*~) print_cls::$0
|
||||
(boolean~) print_cls::$1
|
||||
(label) print_cls::@1
|
||||
(label) print_cls::@return
|
||||
@ -259,11 +267,11 @@ SYMBOLS
|
||||
(label) print_word::@return
|
||||
(word) print_word::w
|
||||
|
||||
Promoting word/signed word/dword/signed dword to byte* in line_cursor ← ((byte*)) 1024
|
||||
Promoting word/signed word/dword/signed dword to byte* in print_cls::sc ← ((byte*)) 1024
|
||||
Promoting word/signed word/dword/signed dword to byte* in SCREEN ← ((byte*)) 1024
|
||||
INITIAL CONTROL FLOW GRAPH
|
||||
@begin: scope:[] from
|
||||
(byte*) line_cursor ← ((byte*)) (word/signed word/dword/signed dword) 1024
|
||||
(byte*) SCREEN ← ((byte*)) (word/signed word/dword/signed dword) 1024
|
||||
(byte*) line_cursor ← (byte*) SCREEN
|
||||
(byte*) char_cursor ← (byte*) line_cursor
|
||||
to:@1
|
||||
print_str: scope:[print_str] from
|
||||
@ -377,16 +385,18 @@ print_char::@return: scope:[print_char] from print_char
|
||||
@7: scope:[] from @6
|
||||
to:@8
|
||||
print_cls: scope:[print_cls] from
|
||||
(byte*) print_cls::sc ← ((byte*)) (word/signed word/dword/signed dword) 1024
|
||||
(byte*) print_cls::sc ← (byte*) SCREEN
|
||||
to:print_cls::@1
|
||||
print_cls::@1: scope:[print_cls] from print_cls print_cls::@1
|
||||
*((byte*) print_cls::sc) ← (byte) ' '
|
||||
(byte*) print_cls::sc ← ++ (byte*) print_cls::sc
|
||||
(word/signed word/dword/signed dword~) print_cls::$0 ← (word/signed word/dword/signed dword) 1024 + (word/signed word/dword/signed dword) 1000
|
||||
(boolean~) print_cls::$1 ← (byte*) print_cls::sc != (word/signed word/dword/signed dword~) print_cls::$0
|
||||
(byte*~) print_cls::$0 ← (byte*) SCREEN + (word/signed word/dword/signed dword) 1000
|
||||
(boolean~) print_cls::$1 ← (byte*) print_cls::sc != (byte*~) print_cls::$0
|
||||
if((boolean~) print_cls::$1) goto print_cls::@1
|
||||
to:print_cls::@2
|
||||
print_cls::@2: scope:[print_cls] from print_cls::@1
|
||||
(byte*) line_cursor ← (byte*) SCREEN
|
||||
(byte*) char_cursor ← (byte*) line_cursor
|
||||
to:print_cls::@return
|
||||
print_cls::@return: scope:[print_cls] from print_cls::@2
|
||||
return
|
||||
@ -451,7 +461,8 @@ Completing Phi functions...
|
||||
|
||||
CONTROL FLOW GRAPH SSA WITH ASSIGNMENT CALL & RETURN
|
||||
@begin: scope:[] from
|
||||
(byte*) line_cursor#0 ← ((byte*)) (word/signed word/dword/signed dword) 1024
|
||||
(byte*) SCREEN#0 ← ((byte*)) (word/signed word/dword/signed dword) 1024
|
||||
(byte*) line_cursor#0 ← (byte*) SCREEN#0
|
||||
(byte*) char_cursor#0 ← (byte*) line_cursor#0
|
||||
to:@8
|
||||
print_str: scope:[print_str] from main main::@2 main::@4
|
||||
@ -581,6 +592,8 @@ SYMBOL TABLE SSA
|
||||
(label) @9
|
||||
(label) @begin
|
||||
(label) @end
|
||||
(byte*) SCREEN
|
||||
(byte*) SCREEN#0
|
||||
(byte*) char_cursor
|
||||
(byte*) char_cursor#0
|
||||
(byte*) char_cursor#1
|
||||
@ -692,7 +705,7 @@ Not aliassing across scopes: line_cursor#13 line_cursor#2
|
||||
Not aliassing across scopes: char_cursor#22 char_cursor#4
|
||||
Not aliassing across scopes: char_cursor#24 char_cursor#11
|
||||
Not aliassing across scopes: line_cursor#15 line_cursor#6
|
||||
Alias (byte*) char_cursor#0 = (byte*) line_cursor#0 (byte*) char_cursor#30 (byte*) line_cursor#22 (byte*) char_cursor#28 (byte*) line_cursor#20
|
||||
Alias (byte*) SCREEN#0 = (byte*) line_cursor#0 (byte*) char_cursor#0 (byte*) char_cursor#30 (byte*) line_cursor#22 (byte*) char_cursor#28 (byte*) line_cursor#20
|
||||
Alias (byte*) print_str::str#4 = (byte*) print_str::str#5
|
||||
Alias (byte*) char_cursor#13 = (byte*) char_cursor#25 (byte*) char_cursor#14 (byte*) char_cursor#2
|
||||
Alias (byte*) line_cursor#1 = (byte*~) print_ln::$0 (byte*) line_cursor#9 (byte*) char_cursor#3 (byte*) line_cursor#10 (byte*) char_cursor#16 (byte*) line_cursor#2 (byte*) char_cursor#4
|
||||
@ -713,8 +726,8 @@ Not aliassing across scopes: print_str::str#6 print_str::str#1
|
||||
Not aliassing across scopes: char_cursor#29 char_cursor#27
|
||||
Not aliassing across scopes: line_cursor#16 line_cursor#17
|
||||
Not aliassing across scopes: char_cursor#26 char_cursor#17
|
||||
Not aliassing across scopes: char_cursor#27 char_cursor#0
|
||||
Not aliassing across scopes: line_cursor#17 char_cursor#0
|
||||
Not aliassing across scopes: char_cursor#27 SCREEN#0
|
||||
Not aliassing across scopes: line_cursor#17 SCREEN#0
|
||||
Not aliassing across scopes: print_str::str#1 msg#0
|
||||
Not aliassing across scopes: char_cursor#17 char_cursor#13
|
||||
Not aliassing across scopes: line_cursor#11 line_cursor#1
|
||||
@ -732,8 +745,8 @@ Not aliassing across scopes: line_cursor#15 line_cursor#13
|
||||
Self Phi Eliminated (byte*) char_cursor#15
|
||||
Succesful SSA optimization Pass2SelfPhiElimination
|
||||
Redundant Phi (byte*) char_cursor#15 (byte*) char_cursor#26
|
||||
Redundant Phi (byte*) char_cursor#27 (byte*) char_cursor#0
|
||||
Redundant Phi (byte*) line_cursor#17 (byte*) char_cursor#0
|
||||
Redundant Phi (byte*) char_cursor#27 (byte*) SCREEN#0
|
||||
Redundant Phi (byte*) line_cursor#17 (byte*) SCREEN#0
|
||||
Redundant Phi (byte*) char_cursor#17 (byte*) char_cursor#13
|
||||
Redundant Phi (byte*) line_cursor#11 (byte*) line_cursor#1
|
||||
Redundant Phi (byte*) char_cursor#18 (byte*) line_cursor#1
|
||||
@ -751,7 +764,7 @@ Succesful SSA optimization Pass2RedundantPhiElimination
|
||||
Simple Condition (boolean~) print_str::$0 if(*((byte*) print_str::str#4)!=(byte) '@') goto print_str::@2
|
||||
Simple Condition (boolean~) print_ln::$1 if((byte*) line_cursor#1<(byte*) char_cursor#13) goto print_ln::@1
|
||||
Succesful SSA optimization Pass2ConditionalJumpSimplification
|
||||
Constant (const byte*) char_cursor#0 = ((byte*))1024
|
||||
Constant (const byte*) SCREEN#0 = ((byte*))1024
|
||||
Constant (const string) msg#0 = $0
|
||||
Constant (const string) msg2#0 = $1
|
||||
Constant (const string) msg3#0 = $2
|
||||
@ -775,12 +788,8 @@ Inlining constant with var siblings (const string) print_str::str#2
|
||||
Inlining constant with var siblings (const string) print_str::str#3
|
||||
Inlining constant with var siblings (const string) print_str::str#3
|
||||
Inlining constant with var siblings (const string) print_str::str#3
|
||||
Inlining constant with var siblings (const byte*) char_cursor#0
|
||||
Inlining constant with var siblings (const byte*) char_cursor#0
|
||||
Inlining constant with var siblings (const byte*) char_cursor#0
|
||||
Constant inlined print_str::str#3 = (const string) msg3#0
|
||||
Constant inlined print_str::str#2 = (const string) msg2#0
|
||||
Constant inlined char_cursor#0 = ((byte*))(word/signed word/dword/signed dword) 1024
|
||||
Constant inlined print_str::str#1 = (const string) msg#0
|
||||
Constant inlined $0 = (const string) msg#0
|
||||
Constant inlined $1 = (const string) msg2#0
|
||||
@ -873,7 +882,7 @@ main::@return: scope:[main] from main::@5
|
||||
[16] return [ ] ( main:2 [ ] )
|
||||
to:@return
|
||||
print_ln: scope:[print_ln] from main::@1 main::@3 main::@5
|
||||
[17] (byte*) line_cursor#16 ← phi( main::@1/((byte*))(word/signed word/dword/signed dword) 1024 main::@3/(byte*) line_cursor#1 main::@5/(byte*) line_cursor#1 ) [ line_cursor#16 char_cursor#13 ] ( main:2::print_ln:7 [ line_cursor#16 char_cursor#13 ] main:2::print_ln:11 [ line_cursor#16 char_cursor#13 ] main:2::print_ln:15 [ line_cursor#16 char_cursor#13 ] )
|
||||
[17] (byte*) line_cursor#16 ← phi( main::@1/(const byte*) SCREEN#0 main::@3/(byte*) line_cursor#1 main::@5/(byte*) line_cursor#1 ) [ line_cursor#16 char_cursor#13 ] ( main:2::print_ln:7 [ line_cursor#16 char_cursor#13 ] main:2::print_ln:11 [ line_cursor#16 char_cursor#13 ] main:2::print_ln:15 [ line_cursor#16 char_cursor#13 ] )
|
||||
to:print_ln::@1
|
||||
print_ln::@1: scope:[print_ln] from print_ln print_ln::@1
|
||||
[18] (byte*) line_cursor#8 ← phi( print_ln/(byte*) line_cursor#16 print_ln::@1/(byte*) line_cursor#1 ) [ line_cursor#8 char_cursor#13 ] ( main:2::print_ln:7 [ line_cursor#8 char_cursor#13 ] main:2::print_ln:11 [ line_cursor#8 char_cursor#13 ] main:2::print_ln:15 [ line_cursor#8 char_cursor#13 ] )
|
||||
@ -884,7 +893,7 @@ print_ln::@return: scope:[print_ln] from print_ln::@1
|
||||
[21] return [ line_cursor#1 ] ( main:2::print_ln:7 [ line_cursor#1 ] main:2::print_ln:11 [ line_cursor#1 ] main:2::print_ln:15 [ line_cursor#1 ] )
|
||||
to:@return
|
||||
print_str: scope:[print_str] from main main::@2 main::@4
|
||||
[22] (byte*) char_cursor#29 ← phi( main/((byte*))(word/signed word/dword/signed dword) 1024 main::@2/(byte*~) char_cursor#31 main::@4/(byte*~) char_cursor#32 ) [ print_str::str#6 char_cursor#29 ] ( main:2::print_str:5 [ print_str::str#6 char_cursor#29 ] main:2::print_str:9 [ line_cursor#1 print_str::str#6 char_cursor#29 ] main:2::print_str:13 [ line_cursor#1 print_str::str#6 char_cursor#29 ] )
|
||||
[22] (byte*) char_cursor#29 ← phi( main/(const byte*) SCREEN#0 main::@2/(byte*~) char_cursor#31 main::@4/(byte*~) char_cursor#32 ) [ print_str::str#6 char_cursor#29 ] ( main:2::print_str:5 [ print_str::str#6 char_cursor#29 ] main:2::print_str:9 [ line_cursor#1 print_str::str#6 char_cursor#29 ] main:2::print_str:13 [ line_cursor#1 print_str::str#6 char_cursor#29 ] )
|
||||
[22] (byte*) print_str::str#6 ← phi( main/(const string) msg#0 main::@2/(const string) msg2#0 main::@4/(const string) msg3#0 ) [ print_str::str#6 char_cursor#29 ] ( main:2::print_str:5 [ print_str::str#6 char_cursor#29 ] main:2::print_str:9 [ line_cursor#1 print_str::str#6 char_cursor#29 ] main:2::print_str:13 [ line_cursor#1 print_str::str#6 char_cursor#29 ] )
|
||||
to:print_str::@1
|
||||
print_str::@1: scope:[print_str] from print_str print_str::@2
|
||||
@ -940,6 +949,7 @@ Loop head: print_str::@1 tails: print_str::@2 blocks: print_str::@2 print_str::@
|
||||
|
||||
|
||||
VARIABLE REGISTER WEIGHTS
|
||||
(byte*) SCREEN
|
||||
(byte*) char_cursor
|
||||
(byte*) char_cursor#1 11.0
|
||||
(byte*) char_cursor#13 3.2857142857142856
|
||||
@ -979,6 +989,7 @@ INITIAL ASM
|
||||
:BasicUpstart(main)
|
||||
.pc = $80d "Program"
|
||||
//SEG1 Global Constants & labels
|
||||
.label SCREEN = $400
|
||||
.label char_cursor = 6
|
||||
.label line_cursor = 2
|
||||
//SEG2 @begin
|
||||
@ -1002,10 +1013,10 @@ main: {
|
||||
//SEG10 [5] call print_str param-assignment [ char_cursor#13 ] ( main:2 [ char_cursor#13 ] )
|
||||
//SEG11 [22] phi from main to print_str [phi:main->print_str]
|
||||
print_str_from_main:
|
||||
//SEG12 [22] phi (byte*) char_cursor#29 = ((byte*))(word/signed word/dword/signed dword) 1024 [phi:main->print_str#0] -- pbuz1=pbuc1
|
||||
lda #<$400
|
||||
//SEG12 [22] phi (byte*) char_cursor#29 = (const byte*) SCREEN#0 [phi:main->print_str#0] -- pbuz1=pbuc1
|
||||
lda #<SCREEN
|
||||
sta char_cursor
|
||||
lda #>$400
|
||||
lda #>SCREEN
|
||||
sta char_cursor+1
|
||||
//SEG13 [22] phi (byte*) print_str::str#6 = (const string) msg#0 [phi:main->print_str#1] -- pbuz1=pbuc1
|
||||
lda #<msg
|
||||
@ -1021,10 +1032,10 @@ main: {
|
||||
//SEG16 [7] call print_ln param-assignment [ line_cursor#1 ] ( main:2 [ line_cursor#1 ] )
|
||||
//SEG17 [17] phi from main::@1 to print_ln [phi:main::@1->print_ln]
|
||||
print_ln_from_b1:
|
||||
//SEG18 [17] phi (byte*) line_cursor#16 = ((byte*))(word/signed word/dword/signed dword) 1024 [phi:main::@1->print_ln#0] -- pbuz1=pbuc1
|
||||
lda #<$400
|
||||
//SEG18 [17] phi (byte*) line_cursor#16 = (const byte*) SCREEN#0 [phi:main::@1->print_ln#0] -- pbuz1=pbuc1
|
||||
lda #<SCREEN
|
||||
sta line_cursor
|
||||
lda #>$400
|
||||
lda #>SCREEN
|
||||
sta line_cursor+1
|
||||
jsr print_ln
|
||||
jmp b2
|
||||
@ -1193,6 +1204,7 @@ ASSEMBLER BEFORE OPTIMIZATION
|
||||
:BasicUpstart(main)
|
||||
.pc = $80d "Program"
|
||||
//SEG1 Global Constants & labels
|
||||
.label SCREEN = $400
|
||||
.label char_cursor = 6
|
||||
.label line_cursor = 2
|
||||
//SEG2 @begin
|
||||
@ -1216,10 +1228,10 @@ main: {
|
||||
//SEG10 [5] call print_str param-assignment [ char_cursor#13 ] ( main:2 [ char_cursor#13 ] )
|
||||
//SEG11 [22] phi from main to print_str [phi:main->print_str]
|
||||
print_str_from_main:
|
||||
//SEG12 [22] phi (byte*) char_cursor#29 = ((byte*))(word/signed word/dword/signed dword) 1024 [phi:main->print_str#0] -- pbuz1=pbuc1
|
||||
lda #<$400
|
||||
//SEG12 [22] phi (byte*) char_cursor#29 = (const byte*) SCREEN#0 [phi:main->print_str#0] -- pbuz1=pbuc1
|
||||
lda #<SCREEN
|
||||
sta char_cursor
|
||||
lda #>$400
|
||||
lda #>SCREEN
|
||||
sta char_cursor+1
|
||||
//SEG13 [22] phi (byte*) print_str::str#6 = (const string) msg#0 [phi:main->print_str#1] -- pbuz1=pbuc1
|
||||
lda #<msg
|
||||
@ -1235,10 +1247,10 @@ main: {
|
||||
//SEG16 [7] call print_ln param-assignment [ line_cursor#1 ] ( main:2 [ line_cursor#1 ] )
|
||||
//SEG17 [17] phi from main::@1 to print_ln [phi:main::@1->print_ln]
|
||||
print_ln_from_b1:
|
||||
//SEG18 [17] phi (byte*) line_cursor#16 = ((byte*))(word/signed word/dword/signed dword) 1024 [phi:main::@1->print_ln#0] -- pbuz1=pbuc1
|
||||
lda #<$400
|
||||
//SEG18 [17] phi (byte*) line_cursor#16 = (const byte*) SCREEN#0 [phi:main::@1->print_ln#0] -- pbuz1=pbuc1
|
||||
lda #<SCREEN
|
||||
sta line_cursor
|
||||
lda #>$400
|
||||
lda #>SCREEN
|
||||
sta line_cursor+1
|
||||
jsr print_ln
|
||||
jmp b2
|
||||
@ -1432,6 +1444,8 @@ FINAL SYMBOL TABLE
|
||||
(label) @9
|
||||
(label) @begin
|
||||
(label) @end
|
||||
(byte*) SCREEN
|
||||
(const byte*) SCREEN#0 SCREEN = ((byte*))(word/signed word/dword/signed dword) 1024
|
||||
(byte*) char_cursor
|
||||
(byte*) char_cursor#1 char_cursor zp ZP_WORD:6 11.0
|
||||
(byte*) char_cursor#13 char_cursor zp ZP_WORD:6 3.2857142857142856
|
||||
@ -1480,6 +1494,7 @@ Score: 1039
|
||||
:BasicUpstart(main)
|
||||
.pc = $80d "Program"
|
||||
//SEG1 Global Constants & labels
|
||||
.label SCREEN = $400
|
||||
.label char_cursor = 6
|
||||
.label line_cursor = 2
|
||||
//SEG2 @begin
|
||||
@ -1494,10 +1509,10 @@ Score: 1039
|
||||
main: {
|
||||
//SEG10 [5] call print_str param-assignment [ char_cursor#13 ] ( main:2 [ char_cursor#13 ] )
|
||||
//SEG11 [22] phi from main to print_str [phi:main->print_str]
|
||||
//SEG12 [22] phi (byte*) char_cursor#29 = ((byte*))(word/signed word/dword/signed dword) 1024 [phi:main->print_str#0] -- pbuz1=pbuc1
|
||||
lda #<$400
|
||||
//SEG12 [22] phi (byte*) char_cursor#29 = (const byte*) SCREEN#0 [phi:main->print_str#0] -- pbuz1=pbuc1
|
||||
lda #<SCREEN
|
||||
sta char_cursor
|
||||
lda #>$400
|
||||
lda #>SCREEN
|
||||
sta char_cursor+1
|
||||
//SEG13 [22] phi (byte*) print_str::str#6 = (const string) msg#0 [phi:main->print_str#1] -- pbuz1=pbuc1
|
||||
lda #<msg
|
||||
@ -1509,10 +1524,10 @@ main: {
|
||||
//SEG15 main::@1
|
||||
//SEG16 [7] call print_ln param-assignment [ line_cursor#1 ] ( main:2 [ line_cursor#1 ] )
|
||||
//SEG17 [17] phi from main::@1 to print_ln [phi:main::@1->print_ln]
|
||||
//SEG18 [17] phi (byte*) line_cursor#16 = ((byte*))(word/signed word/dword/signed dword) 1024 [phi:main::@1->print_ln#0] -- pbuz1=pbuc1
|
||||
lda #<$400
|
||||
//SEG18 [17] phi (byte*) line_cursor#16 = (const byte*) SCREEN#0 [phi:main::@1->print_ln#0] -- pbuz1=pbuc1
|
||||
lda #<SCREEN
|
||||
sta line_cursor
|
||||
lda #>$400
|
||||
lda #>SCREEN
|
||||
sta line_cursor+1
|
||||
jsr print_ln
|
||||
//SEG19 main::@2
|
||||
|
@ -1,6 +1,8 @@
|
||||
(label) @9
|
||||
(label) @begin
|
||||
(label) @end
|
||||
(byte*) SCREEN
|
||||
(const byte*) SCREEN#0 SCREEN = ((byte*))(word/signed word/dword/signed dword) 1024
|
||||
(byte*) char_cursor
|
||||
(byte*) char_cursor#1 char_cursor zp ZP_WORD:6 11.0
|
||||
(byte*) char_cursor#13 char_cursor zp ZP_WORD:6 3.2857142857142856
|
||||
|
@ -1,6 +1,7 @@
|
||||
.pc = $801 "Basic"
|
||||
:BasicUpstart(main)
|
||||
.pc = $80d "Program"
|
||||
.label SCREEN = $400
|
||||
.label memLo = $fe
|
||||
.label memHi = $ff
|
||||
.label line_cursor = 3
|
||||
@ -20,13 +21,13 @@ main: {
|
||||
lda #>f_127
|
||||
sta setMEMtoFAC.mem+1
|
||||
jsr setMEMtoFAC
|
||||
lda #<$400
|
||||
lda #<SCREEN
|
||||
sta line_cursor
|
||||
lda #>$400
|
||||
lda #>SCREEN
|
||||
sta line_cursor+1
|
||||
lda #<$400
|
||||
lda #<SCREEN
|
||||
sta char_cursor
|
||||
lda #>$400
|
||||
lda #>SCREEN
|
||||
sta char_cursor+1
|
||||
lda #1
|
||||
sta i
|
||||
|
@ -20,8 +20,8 @@ main::@4: scope:[main] from main::@3
|
||||
[9] call setMEMtoFAC param-assignment [ ] ( main:2 [ ] )
|
||||
to:main::@1
|
||||
main::@1: scope:[main] from main::@17 main::@4
|
||||
[10] (byte*) line_cursor#13 ← phi( main::@17/(byte*) line_cursor#1 main::@4/((byte*))(word/signed word/dword/signed dword) 1024 ) [ main::i#10 char_cursor#32 line_cursor#13 ] ( main:2 [ main::i#10 char_cursor#32 line_cursor#13 ] )
|
||||
[10] (byte*) char_cursor#32 ← phi( main::@17/(byte*~) char_cursor#48 main::@4/((byte*))(word/signed word/dword/signed dword) 1024 ) [ main::i#10 char_cursor#32 line_cursor#13 ] ( main:2 [ main::i#10 char_cursor#32 line_cursor#13 ] )
|
||||
[10] (byte*) line_cursor#13 ← phi( main::@17/(byte*) line_cursor#1 main::@4/(const byte*) SCREEN#0 ) [ main::i#10 char_cursor#32 line_cursor#13 ] ( main:2 [ main::i#10 char_cursor#32 line_cursor#13 ] )
|
||||
[10] (byte*) char_cursor#32 ← phi( main::@17/(byte*~) char_cursor#48 main::@4/(const byte*) SCREEN#0 ) [ main::i#10 char_cursor#32 line_cursor#13 ] ( main:2 [ main::i#10 char_cursor#32 line_cursor#13 ] )
|
||||
[10] (byte) main::i#10 ← phi( main::@17/(byte) main::i#1 main::@4/(byte/signed byte/word/signed word/dword/signed dword) 1 ) [ main::i#10 char_cursor#32 line_cursor#13 ] ( main:2 [ main::i#10 char_cursor#32 line_cursor#13 ] )
|
||||
[11] (word) setFAC::w#1 ← ((word)) (byte) main::i#10 [ main::i#10 char_cursor#32 line_cursor#13 setFAC::w#1 ] ( main:2 [ main::i#10 char_cursor#32 line_cursor#13 setFAC::w#1 ] )
|
||||
[12] call setFAC param-assignment [ main::i#10 char_cursor#32 line_cursor#13 ] ( main:2 [ main::i#10 char_cursor#32 line_cursor#13 ] )
|
||||
|
@ -26,7 +26,9 @@ void main() {
|
||||
Importing print
|
||||
PARSING src/test/java/dk/camelot64/kickc/test/kc/print.kc
|
||||
|
||||
byte* line_cursor = $0400;
|
||||
const byte* SCREEN = $0400;
|
||||
|
||||
byte* line_cursor = SCREEN;
|
||||
byte* char_cursor = line_cursor;
|
||||
|
||||
// Print a zero-terminated string
|
||||
@ -83,9 +85,11 @@ void print_char(byte ch) {
|
||||
|
||||
// Clear the screen
|
||||
void print_cls() {
|
||||
for(byte* sc=$0400; sc!=$0400+1000; sc++) {
|
||||
for(byte* sc=SCREEN; sc!=SCREEN+1000; sc++) {
|
||||
*sc = ' ';
|
||||
}
|
||||
line_cursor = SCREEN;
|
||||
char_cursor = line_cursor;
|
||||
}
|
||||
|
||||
|
||||
@ -375,7 +379,8 @@ void mulFACby10() {
|
||||
|
||||
|
||||
STATEMENTS
|
||||
(byte*) line_cursor ← (word/signed word/dword/signed dword) 1024
|
||||
(byte*) SCREEN ← (word/signed word/dword/signed dword) 1024
|
||||
(byte*) line_cursor ← (byte*) SCREEN
|
||||
(byte*) char_cursor ← (byte*) line_cursor
|
||||
proc (void()) print_str((byte*) print_str::str)
|
||||
print_str::@1:
|
||||
@ -451,13 +456,15 @@ print_char::@return:
|
||||
return
|
||||
endproc // print_char()
|
||||
proc (void()) print_cls()
|
||||
(byte*) print_cls::sc ← (word/signed word/dword/signed dword) 1024
|
||||
(byte*) print_cls::sc ← (byte*) SCREEN
|
||||
print_cls::@1:
|
||||
*((byte*) print_cls::sc) ← (byte) ' '
|
||||
(byte*) print_cls::sc ← ++ (byte*) print_cls::sc
|
||||
(word/signed word/dword/signed dword~) print_cls::$0 ← (word/signed word/dword/signed dword) 1024 + (word/signed word/dword/signed dword) 1000
|
||||
(boolean~) print_cls::$1 ← (byte*) print_cls::sc != (word/signed word/dword/signed dword~) print_cls::$0
|
||||
(byte*~) print_cls::$0 ← (byte*) SCREEN + (word/signed word/dword/signed dword) 1000
|
||||
(boolean~) print_cls::$1 ← (byte*) print_cls::sc != (byte*~) print_cls::$0
|
||||
if((boolean~) print_cls::$1) goto print_cls::@1
|
||||
(byte*) line_cursor ← (byte*) SCREEN
|
||||
(byte*) char_cursor ← (byte*) line_cursor
|
||||
print_cls::@return:
|
||||
return
|
||||
endproc // print_cls()
|
||||
@ -645,6 +652,7 @@ endproc // main()
|
||||
call main
|
||||
|
||||
SYMBOLS
|
||||
(byte*) SCREEN
|
||||
(void()) addARGtoFAC()
|
||||
(label) addARGtoFAC::@return
|
||||
(void()) addMEMtoFAC((byte*) addMEMtoFAC::mem)
|
||||
@ -721,7 +729,7 @@ SYMBOLS
|
||||
(label) print_char::@return
|
||||
(byte) print_char::ch
|
||||
(void()) print_cls()
|
||||
(word/signed word/dword/signed dword~) print_cls::$0
|
||||
(byte*~) print_cls::$0
|
||||
(boolean~) print_cls::$1
|
||||
(label) print_cls::@1
|
||||
(label) print_cls::@return
|
||||
@ -807,14 +815,14 @@ SYMBOLS
|
||||
(void()) tanFAC()
|
||||
(label) tanFAC::@return
|
||||
|
||||
Promoting word/signed word/dword/signed dword to byte* in line_cursor ← ((byte*)) 1024
|
||||
Promoting word/signed word/dword/signed dword to byte* in print_cls::sc ← ((byte*)) 1024
|
||||
Promoting word/signed word/dword/signed dword to byte* in SCREEN ← ((byte*)) 1024
|
||||
Promoting byte/word/signed word/dword/signed dword to byte* in memLo ← ((byte*)) 254
|
||||
Promoting byte/word/signed word/dword/signed dword to byte* in memHi ← ((byte*)) 255
|
||||
Promoting word/dword/signed dword to byte* in main::f_2pi ← ((byte*)) 58085
|
||||
INITIAL CONTROL FLOW GRAPH
|
||||
@begin: scope:[] from
|
||||
(byte*) line_cursor ← ((byte*)) (word/signed word/dword/signed dword) 1024
|
||||
(byte*) SCREEN ← ((byte*)) (word/signed word/dword/signed dword) 1024
|
||||
(byte*) line_cursor ← (byte*) SCREEN
|
||||
(byte*) char_cursor ← (byte*) line_cursor
|
||||
to:@1
|
||||
print_str: scope:[print_str] from
|
||||
@ -928,16 +936,18 @@ print_char::@return: scope:[print_char] from print_char
|
||||
@7: scope:[] from @6
|
||||
to:@8
|
||||
print_cls: scope:[print_cls] from
|
||||
(byte*) print_cls::sc ← ((byte*)) (word/signed word/dword/signed dword) 1024
|
||||
(byte*) print_cls::sc ← (byte*) SCREEN
|
||||
to:print_cls::@1
|
||||
print_cls::@1: scope:[print_cls] from print_cls print_cls::@1
|
||||
*((byte*) print_cls::sc) ← (byte) ' '
|
||||
(byte*) print_cls::sc ← ++ (byte*) print_cls::sc
|
||||
(word/signed word/dword/signed dword~) print_cls::$0 ← (word/signed word/dword/signed dword) 1024 + (word/signed word/dword/signed dword) 1000
|
||||
(boolean~) print_cls::$1 ← (byte*) print_cls::sc != (word/signed word/dword/signed dword~) print_cls::$0
|
||||
(byte*~) print_cls::$0 ← (byte*) SCREEN + (word/signed word/dword/signed dword) 1000
|
||||
(boolean~) print_cls::$1 ← (byte*) print_cls::sc != (byte*~) print_cls::$0
|
||||
if((boolean~) print_cls::$1) goto print_cls::@1
|
||||
to:print_cls::@2
|
||||
print_cls::@2: scope:[print_cls] from print_cls::@1
|
||||
(byte*) line_cursor ← (byte*) SCREEN
|
||||
(byte*) char_cursor ← (byte*) line_cursor
|
||||
to:print_cls::@return
|
||||
print_cls::@return: scope:[print_cls] from print_cls::@2
|
||||
return
|
||||
@ -1325,7 +1335,8 @@ Completing Phi functions...
|
||||
|
||||
CONTROL FLOW GRAPH SSA WITH ASSIGNMENT CALL & RETURN
|
||||
@begin: scope:[] from
|
||||
(byte*) line_cursor#0 ← ((byte*)) (word/signed word/dword/signed dword) 1024
|
||||
(byte*) SCREEN#0 ← ((byte*)) (word/signed word/dword/signed dword) 1024
|
||||
(byte*) line_cursor#0 ← (byte*) SCREEN#0
|
||||
(byte*) char_cursor#0 ← (byte*) line_cursor#0
|
||||
to:@8
|
||||
print_ln: scope:[print_ln] from main::@15
|
||||
@ -1645,6 +1656,8 @@ SYMBOL TABLE SSA
|
||||
(label) @8
|
||||
(label) @begin
|
||||
(label) @end
|
||||
(byte*) SCREEN
|
||||
(byte*) SCREEN#0
|
||||
(void()) addMEMtoFAC((byte*) addMEMtoFAC::mem)
|
||||
(label) addMEMtoFAC::@1
|
||||
(label) addMEMtoFAC::@return
|
||||
@ -1905,7 +1918,7 @@ Not aliassing across scopes: line_cursor#9 line_cursor#2
|
||||
Not aliassing across scopes: char_cursor#26 char_cursor#2
|
||||
Not aliassing across scopes: char_cursor#28 char_cursor#13
|
||||
Not aliassing across scopes: line_cursor#11 line_cursor#4
|
||||
Alias (byte*) char_cursor#0 = (byte*) line_cursor#0 (byte*) char_cursor#35 (byte*) line_cursor#16 (byte*) char_cursor#33 (byte*) line_cursor#14
|
||||
Alias (byte*) SCREEN#0 = (byte*) line_cursor#0 (byte*) char_cursor#0 (byte*) char_cursor#35 (byte*) line_cursor#16 (byte*) char_cursor#33 (byte*) line_cursor#14
|
||||
Alias (byte*) line_cursor#1 = (byte*~) print_ln::$0 (byte*) line_cursor#7 (byte*) char_cursor#1 (byte*) line_cursor#8 (byte*) char_cursor#16 (byte*) line_cursor#2 (byte*) char_cursor#2
|
||||
Alias (byte) print_byte::b#0 = (byte~) print_word::$0
|
||||
Alias (word) print_word::w#1 = (word) print_word::w#2
|
||||
@ -1954,8 +1967,8 @@ Not aliassing across scopes: divMEMbyFAC::mem#1 divMEMbyFAC::mem#0
|
||||
Not aliassing across scopes: prepareMEM::mem#3 divMEMbyFAC::mem#1
|
||||
Not aliassing across scopes: mulFACbyMEM::mem#2 mulFACbyMEM::mem#1
|
||||
Not aliassing across scopes: prepareMEM::mem#4 mulFACbyMEM::mem#2
|
||||
Not aliassing across scopes: char_cursor#44 char_cursor#0
|
||||
Not aliassing across scopes: line_cursor#26 char_cursor#0
|
||||
Not aliassing across scopes: char_cursor#44 SCREEN#0
|
||||
Not aliassing across scopes: line_cursor#26 SCREEN#0
|
||||
Not aliassing across scopes: setMEMtoFAC::mem#0 main::f_127#0
|
||||
Not aliassing across scopes: mulFACbyMEM::mem#0 main::f_2pi#0
|
||||
Not aliassing across scopes: setMEMtoFAC::mem#1 main::f_i#0
|
||||
@ -1982,8 +1995,8 @@ Redundant Phi (byte*) char_cursor#20 (byte*) char_cursor#10
|
||||
Redundant Phi (byte*) char_cursor#21 (byte*) char_cursor#10
|
||||
Redundant Phi (byte*) addMEMtoFAC::mem#1 (byte*) addMEMtoFAC::mem#0
|
||||
Redundant Phi (byte*) divMEMbyFAC::mem#1 (byte*) divMEMbyFAC::mem#0
|
||||
Redundant Phi (byte*) char_cursor#44 (byte*) char_cursor#0
|
||||
Redundant Phi (byte*) line_cursor#26 (byte*) char_cursor#0
|
||||
Redundant Phi (byte*) char_cursor#44 (byte*) SCREEN#0
|
||||
Redundant Phi (byte*) line_cursor#26 (byte*) SCREEN#0
|
||||
Redundant Phi (byte*) char_cursor#11 (byte*) char_cursor#18
|
||||
Redundant Phi (byte*) line_cursor#10 (byte*) line_cursor#1
|
||||
Redundant Phi (byte*) char_cursor#12 (byte*) line_cursor#1
|
||||
@ -1993,7 +2006,7 @@ Succesful SSA optimization Pass2RedundantPhiElimination
|
||||
Simple Condition (boolean~) print_ln::$1 if((byte*) line_cursor#1<(byte*) char_cursor#10) goto print_ln::@1
|
||||
Simple Condition (boolean~) main::$15 if((byte) main::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 26) goto main::@1
|
||||
Succesful SSA optimization Pass2ConditionalJumpSimplification
|
||||
Constant (const byte*) char_cursor#0 = ((byte*))1024
|
||||
Constant (const byte*) SCREEN#0 = ((byte*))1024
|
||||
Constant (const string) print_byte::hextab#0 = print_byte::$4
|
||||
Constant (const byte*) memLo#0 = ((byte*))254
|
||||
Constant (const byte*) memHi#0 = ((byte*))255
|
||||
@ -2079,19 +2092,14 @@ Inlining constant with var siblings (const byte*) mulFACbyMEM::mem#0
|
||||
Inlining constant with var siblings (const byte[]) mulFACbyMEM::mem#1
|
||||
Inlining constant with var siblings (const byte) main::i#0
|
||||
Inlining constant with var siblings (const byte) main::i#0
|
||||
Inlining constant with var siblings (const byte*) char_cursor#0
|
||||
Inlining constant with var siblings (const byte*) char_cursor#0
|
||||
Inlining constant with var siblings (const byte*) char_cursor#0
|
||||
Inlining constant with var siblings (const byte*) char_cursor#0
|
||||
Constant inlined addMEMtoFAC::mem#0 = (const byte[]) main::f_127#0
|
||||
Constant inlined setFAC::w#2 = (byte/signed byte/word/signed word/dword/signed dword) 25
|
||||
Constant inlined prepareMEM::mem#2 = (const byte[]) main::f_127#0
|
||||
Constant inlined prepareMEM::mem#3 = (const byte[]) main::f_i#0
|
||||
Constant inlined divMEMbyFAC::mem#0 = (const byte[]) main::f_i#0
|
||||
Constant inlined prepareMEM::mem#3 = (const byte[]) main::f_i#0
|
||||
Constant inlined main::i#0 = (byte/signed byte/word/signed word/dword/signed dword) 1
|
||||
Constant inlined setMEMtoFAC::mem#1 = (const byte[]) main::f_i#0
|
||||
Constant inlined mulFACbyMEM::mem#0 = (const byte*) main::f_2pi#0
|
||||
Constant inlined char_cursor#0 = ((byte*))(word/signed word/dword/signed dword) 1024
|
||||
Constant inlined print_byte::$4 = (const string) print_byte::hextab#0
|
||||
Constant inlined setMEMtoFAC::mem#0 = (const byte[]) main::f_127#0
|
||||
Constant inlined mulFACbyMEM::mem#1 = (const byte[]) main::f_127#0
|
||||
@ -2241,8 +2249,8 @@ main::@4: scope:[main] from main::@3
|
||||
[9] call setMEMtoFAC param-assignment [ ] ( main:2 [ ] )
|
||||
to:main::@1
|
||||
main::@1: scope:[main] from main::@17 main::@4
|
||||
[10] (byte*) line_cursor#13 ← phi( main::@17/(byte*) line_cursor#1 main::@4/((byte*))(word/signed word/dword/signed dword) 1024 ) [ main::i#10 char_cursor#32 line_cursor#13 ] ( main:2 [ main::i#10 char_cursor#32 line_cursor#13 ] )
|
||||
[10] (byte*) char_cursor#32 ← phi( main::@17/(byte*~) char_cursor#48 main::@4/((byte*))(word/signed word/dword/signed dword) 1024 ) [ main::i#10 char_cursor#32 line_cursor#13 ] ( main:2 [ main::i#10 char_cursor#32 line_cursor#13 ] )
|
||||
[10] (byte*) line_cursor#13 ← phi( main::@17/(byte*) line_cursor#1 main::@4/(const byte*) SCREEN#0 ) [ main::i#10 char_cursor#32 line_cursor#13 ] ( main:2 [ main::i#10 char_cursor#32 line_cursor#13 ] )
|
||||
[10] (byte*) char_cursor#32 ← phi( main::@17/(byte*~) char_cursor#48 main::@4/(const byte*) SCREEN#0 ) [ main::i#10 char_cursor#32 line_cursor#13 ] ( main:2 [ main::i#10 char_cursor#32 line_cursor#13 ] )
|
||||
[10] (byte) main::i#10 ← phi( main::@17/(byte) main::i#1 main::@4/(byte/signed byte/word/signed word/dword/signed dword) 1 ) [ main::i#10 char_cursor#32 line_cursor#13 ] ( main:2 [ main::i#10 char_cursor#32 line_cursor#13 ] )
|
||||
[11] (word) setFAC::w#1 ← ((word)) (byte) main::i#10 [ main::i#10 char_cursor#32 line_cursor#13 setFAC::w#1 ] ( main:2 [ main::i#10 char_cursor#32 line_cursor#13 setFAC::w#1 ] )
|
||||
[12] call setFAC param-assignment [ main::i#10 char_cursor#32 line_cursor#13 ] ( main:2 [ main::i#10 char_cursor#32 line_cursor#13 ] )
|
||||
@ -2514,6 +2522,7 @@ Loop head: print_ln::@1 tails: print_ln::@1 blocks: print_ln::@1 depth: 2
|
||||
|
||||
|
||||
VARIABLE REGISTER WEIGHTS
|
||||
(byte*) SCREEN
|
||||
(void()) addMEMtoFAC((byte*) addMEMtoFAC::mem)
|
||||
(byte*) addMEMtoFAC::mem
|
||||
(byte*) char_cursor
|
||||
@ -2637,6 +2646,7 @@ INITIAL ASM
|
||||
:BasicUpstart(main)
|
||||
.pc = $80d "Program"
|
||||
//SEG1 Global Constants & labels
|
||||
.label SCREEN = $400
|
||||
.label memLo = $fe
|
||||
.label memHi = $ff
|
||||
.label line_cursor = 3
|
||||
@ -2693,15 +2703,15 @@ main: {
|
||||
jsr setMEMtoFAC
|
||||
//SEG21 [10] phi from main::@4 to main::@1 [phi:main::@4->main::@1]
|
||||
b1_from_b4:
|
||||
//SEG22 [10] phi (byte*) line_cursor#13 = ((byte*))(word/signed word/dword/signed dword) 1024 [phi:main::@4->main::@1#0] -- pbuz1=pbuc1
|
||||
lda #<$400
|
||||
//SEG22 [10] phi (byte*) line_cursor#13 = (const byte*) SCREEN#0 [phi:main::@4->main::@1#0] -- pbuz1=pbuc1
|
||||
lda #<SCREEN
|
||||
sta line_cursor
|
||||
lda #>$400
|
||||
lda #>SCREEN
|
||||
sta line_cursor+1
|
||||
//SEG23 [10] phi (byte*) char_cursor#32 = ((byte*))(word/signed word/dword/signed dword) 1024 [phi:main::@4->main::@1#1] -- pbuz1=pbuc1
|
||||
lda #<$400
|
||||
//SEG23 [10] phi (byte*) char_cursor#32 = (const byte*) SCREEN#0 [phi:main::@4->main::@1#1] -- pbuz1=pbuc1
|
||||
lda #<SCREEN
|
||||
sta char_cursor
|
||||
lda #>$400
|
||||
lda #>SCREEN
|
||||
sta char_cursor+1
|
||||
//SEG24 [10] phi (byte) main::i#10 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:main::@4->main::@1#2] -- vbuz1=vbuc1
|
||||
lda #1
|
||||
@ -3286,6 +3296,7 @@ ASSEMBLER BEFORE OPTIMIZATION
|
||||
:BasicUpstart(main)
|
||||
.pc = $80d "Program"
|
||||
//SEG1 Global Constants & labels
|
||||
.label SCREEN = $400
|
||||
.label memLo = $fe
|
||||
.label memHi = $ff
|
||||
.label line_cursor = 3
|
||||
@ -3342,15 +3353,15 @@ main: {
|
||||
jsr setMEMtoFAC
|
||||
//SEG21 [10] phi from main::@4 to main::@1 [phi:main::@4->main::@1]
|
||||
b1_from_b4:
|
||||
//SEG22 [10] phi (byte*) line_cursor#13 = ((byte*))(word/signed word/dword/signed dword) 1024 [phi:main::@4->main::@1#0] -- pbuz1=pbuc1
|
||||
lda #<$400
|
||||
//SEG22 [10] phi (byte*) line_cursor#13 = (const byte*) SCREEN#0 [phi:main::@4->main::@1#0] -- pbuz1=pbuc1
|
||||
lda #<SCREEN
|
||||
sta line_cursor
|
||||
lda #>$400
|
||||
lda #>SCREEN
|
||||
sta line_cursor+1
|
||||
//SEG23 [10] phi (byte*) char_cursor#32 = ((byte*))(word/signed word/dword/signed dword) 1024 [phi:main::@4->main::@1#1] -- pbuz1=pbuc1
|
||||
lda #<$400
|
||||
//SEG23 [10] phi (byte*) char_cursor#32 = (const byte*) SCREEN#0 [phi:main::@4->main::@1#1] -- pbuz1=pbuc1
|
||||
lda #<SCREEN
|
||||
sta char_cursor
|
||||
lda #>$400
|
||||
lda #>SCREEN
|
||||
sta char_cursor+1
|
||||
//SEG24 [10] phi (byte) main::i#10 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:main::@4->main::@1#2] -- vbuz1=vbuc1
|
||||
lda #1
|
||||
@ -3917,6 +3928,8 @@ FINAL SYMBOL TABLE
|
||||
(label) @36
|
||||
(label) @begin
|
||||
(label) @end
|
||||
(byte*) SCREEN
|
||||
(const byte*) SCREEN#0 SCREEN = ((byte*))(word/signed word/dword/signed dword) 1024
|
||||
(void()) addMEMtoFAC((byte*) addMEMtoFAC::mem)
|
||||
(label) addMEMtoFAC::@1
|
||||
(label) addMEMtoFAC::@return
|
||||
@ -4046,6 +4059,7 @@ Score: 4973
|
||||
:BasicUpstart(main)
|
||||
.pc = $80d "Program"
|
||||
//SEG1 Global Constants & labels
|
||||
.label SCREEN = $400
|
||||
.label memLo = $fe
|
||||
.label memHi = $ff
|
||||
.label line_cursor = 3
|
||||
@ -4085,15 +4099,15 @@ main: {
|
||||
sta setMEMtoFAC.mem+1
|
||||
jsr setMEMtoFAC
|
||||
//SEG21 [10] phi from main::@4 to main::@1 [phi:main::@4->main::@1]
|
||||
//SEG22 [10] phi (byte*) line_cursor#13 = ((byte*))(word/signed word/dword/signed dword) 1024 [phi:main::@4->main::@1#0] -- pbuz1=pbuc1
|
||||
lda #<$400
|
||||
//SEG22 [10] phi (byte*) line_cursor#13 = (const byte*) SCREEN#0 [phi:main::@4->main::@1#0] -- pbuz1=pbuc1
|
||||
lda #<SCREEN
|
||||
sta line_cursor
|
||||
lda #>$400
|
||||
lda #>SCREEN
|
||||
sta line_cursor+1
|
||||
//SEG23 [10] phi (byte*) char_cursor#32 = ((byte*))(word/signed word/dword/signed dword) 1024 [phi:main::@4->main::@1#1] -- pbuz1=pbuc1
|
||||
lda #<$400
|
||||
//SEG23 [10] phi (byte*) char_cursor#32 = (const byte*) SCREEN#0 [phi:main::@4->main::@1#1] -- pbuz1=pbuc1
|
||||
lda #<SCREEN
|
||||
sta char_cursor
|
||||
lda #>$400
|
||||
lda #>SCREEN
|
||||
sta char_cursor+1
|
||||
//SEG24 [10] phi (byte) main::i#10 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:main::@4->main::@1#2] -- vbuz1=vbuc1
|
||||
lda #1
|
||||
|
@ -1,6 +1,8 @@
|
||||
(label) @36
|
||||
(label) @begin
|
||||
(label) @end
|
||||
(byte*) SCREEN
|
||||
(const byte*) SCREEN#0 SCREEN = ((byte*))(word/signed word/dword/signed dword) 1024
|
||||
(void()) addMEMtoFAC((byte*) addMEMtoFAC::mem)
|
||||
(label) addMEMtoFAC::@1
|
||||
(label) addMEMtoFAC::@return
|
||||
|
@ -1,6 +1,7 @@
|
||||
.pc = $801 "Basic"
|
||||
:BasicUpstart(main)
|
||||
.pc = $80d "Program"
|
||||
.label SCREEN = $400
|
||||
.label char_cursor = 9
|
||||
.label line_cursor = 4
|
||||
jsr main
|
||||
@ -9,15 +10,15 @@ main: {
|
||||
.label a = 2
|
||||
.label i = 3
|
||||
jsr print_cls
|
||||
lda #<$400
|
||||
lda #<SCREEN
|
||||
sta line_cursor
|
||||
lda #>$400
|
||||
lda #>SCREEN
|
||||
sta line_cursor+1
|
||||
lda #0
|
||||
sta i
|
||||
lda #<$400
|
||||
lda #<SCREEN
|
||||
sta char_cursor
|
||||
lda #>$400
|
||||
lda #>SCREEN
|
||||
sta char_cursor+1
|
||||
lda #7
|
||||
sta a
|
||||
@ -486,9 +487,9 @@ print_str: {
|
||||
}
|
||||
print_cls: {
|
||||
.label sc = 4
|
||||
lda #<$400
|
||||
lda #<SCREEN
|
||||
sta sc
|
||||
lda #>$400
|
||||
lda #>SCREEN
|
||||
sta sc+1
|
||||
b1:
|
||||
lda #' '
|
||||
@ -499,10 +500,10 @@ print_cls: {
|
||||
inc sc+1
|
||||
!:
|
||||
lda sc+1
|
||||
cmp #>$400+$3e8
|
||||
cmp #>SCREEN+$3e8
|
||||
bne b1
|
||||
lda sc
|
||||
cmp #<$400+$3e8
|
||||
cmp #<SCREEN+$3e8
|
||||
bne b1
|
||||
rts
|
||||
}
|
||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1,24 +1,26 @@
|
||||
(label) @10
|
||||
(label) @begin
|
||||
(label) @end
|
||||
(byte*) SCREEN
|
||||
(const byte*) SCREEN#0 SCREEN = ((byte*))(word/signed word/dword/signed dword) 1024
|
||||
(byte*) char_cursor
|
||||
(byte*) char_cursor#1 char_cursor zp ZP_WORD:9 101.0
|
||||
(byte*) char_cursor#114 char_cursor zp ZP_WORD:9 2.75
|
||||
(byte*~) char_cursor#137 char_cursor zp ZP_WORD:9 22.0
|
||||
(byte*~) char_cursor#138 char_cursor zp ZP_WORD:9 22.0
|
||||
(byte*) char_cursor#120 char_cursor zp ZP_WORD:9 2.75
|
||||
(byte*~) char_cursor#141 char_cursor zp ZP_WORD:9 22.0
|
||||
(byte*~) char_cursor#142 char_cursor zp ZP_WORD:9 22.0
|
||||
(byte*~) char_cursor#146 char_cursor zp ZP_WORD:9 22.0
|
||||
(byte*~) char_cursor#154 char_cursor zp ZP_WORD:9 22.0
|
||||
(byte*~) char_cursor#150 char_cursor zp ZP_WORD:9 22.0
|
||||
(byte*~) char_cursor#158 char_cursor zp ZP_WORD:9 22.0
|
||||
(byte*) char_cursor#2 char_cursor zp ZP_WORD:9 51.16666666666666
|
||||
(byte*) char_cursor#51 char_cursor zp ZP_WORD:9 7.0
|
||||
(byte*) char_cursor#52 char_cursor zp ZP_WORD:9 2.106060606060605
|
||||
(byte*) char_cursor#89 char_cursor zp ZP_WORD:9 2.0
|
||||
(byte*) char_cursor#90 char_cursor zp ZP_WORD:9 222.0
|
||||
(byte*) char_cursor#54 char_cursor zp ZP_WORD:9 7.0
|
||||
(byte*) char_cursor#55 char_cursor zp ZP_WORD:9 2.106060606060605
|
||||
(byte*) char_cursor#94 char_cursor zp ZP_WORD:9 2.0
|
||||
(byte*) char_cursor#95 char_cursor zp ZP_WORD:9 222.0
|
||||
(byte*) line_cursor
|
||||
(byte*) line_cursor#1 line_cursor zp ZP_WORD:4 3.2265625
|
||||
(byte*) line_cursor#10 line_cursor zp ZP_WORD:4 204.0
|
||||
(byte*) line_cursor#20 line_cursor zp ZP_WORD:4 57.0
|
||||
(byte*) line_cursor#21 line_cursor zp ZP_WORD:4 0.7333333333333333
|
||||
(byte*) line_cursor#13 line_cursor zp ZP_WORD:4 204.0
|
||||
(byte*) line_cursor#25 line_cursor zp ZP_WORD:4 57.0
|
||||
(byte*) line_cursor#27 line_cursor zp ZP_WORD:4 0.7333333333333333
|
||||
(void()) main()
|
||||
(label) main::@1
|
||||
(label) main::@10
|
||||
@ -268,12 +270,12 @@ reg byte x [ main::r#56 ]
|
||||
reg byte x [ main::r#57 ]
|
||||
reg byte x [ main::r#58 ]
|
||||
reg byte x [ main::r#59 ]
|
||||
zp ZP_WORD:4 [ line_cursor#10 line_cursor#20 line_cursor#21 line_cursor#1 print_cls::sc#2 print_cls::sc#1 ]
|
||||
zp ZP_WORD:4 [ line_cursor#13 line_cursor#25 line_cursor#27 line_cursor#1 print_cls::sc#2 print_cls::sc#1 ]
|
||||
zp ZP_WORD:6 [ printu::op#20 print_str::str#2 print_str::str#1 print_str::str#0 ]
|
||||
zp ZP_BYTE:8 [ printu::b#20 printu::b#8 printu::b#10 printu::b#11 printu::b#12 printu::b#14 printu::b#15 printu::b#16 printu::b#0 printu::b#18 printu::b#19 printu::b#2 printu::b#3 printu::b#4 printu::b#6 printu::b#7 ]
|
||||
reg byte x [ printu::res#20 printu::res#8 printu::res#9 printu::res#10 printu::res#11 printu::res#12 printu::res#13 printu::res#14 printu::res#15 printu::res#16 printu::res#17 printu::res#0 printu::res#18 printu::res#19 printu::res#1 printu::res#2 printu::res#3 printu::res#4 printu::res#5 printu::res#6 printu::res#7 ]
|
||||
reg byte a [ print_char::ch#5 print_char::ch#0 print_char::ch#1 print_char::ch#4 ]
|
||||
zp ZP_WORD:9 [ char_cursor#51 char_cursor#89 char_cursor#90 char_cursor#138 char_cursor#52 char_cursor#142 char_cursor#146 char_cursor#114 char_cursor#137 char_cursor#154 char_cursor#2 char_cursor#1 ]
|
||||
zp ZP_WORD:9 [ char_cursor#54 char_cursor#94 char_cursor#95 char_cursor#142 char_cursor#55 char_cursor#146 char_cursor#150 char_cursor#120 char_cursor#141 char_cursor#158 char_cursor#2 char_cursor#1 ]
|
||||
zp ZP_BYTE:11 [ print_byte::b#2 print_byte::b#0 print_byte::b#1 ]
|
||||
zp ZP_BYTE:12 [ main::b#0 ]
|
||||
reg byte a [ print_byte::$0 ]
|
||||
|
@ -1,90 +1,78 @@
|
||||
.pc = $801 "Basic"
|
||||
:BasicUpstart(main)
|
||||
.pc = $80d "Program"
|
||||
.label char_cursor = 7
|
||||
.label SCREEN = $400
|
||||
.label char_cursor = 6
|
||||
.label line_cursor = 3
|
||||
.label rem16u = 9
|
||||
jsr main
|
||||
main: {
|
||||
jsr print_cls
|
||||
jsr test_8s
|
||||
jsr test_8u
|
||||
jsr test_16u
|
||||
rts
|
||||
}
|
||||
test_16u: {
|
||||
test_8u: {
|
||||
.label rem = $e
|
||||
.label dividend = 5
|
||||
.label divisor = $f
|
||||
.label res = $b
|
||||
.label divisor = $a
|
||||
.label i = 2
|
||||
lda #0
|
||||
sta rem16u
|
||||
sta rem16u+1
|
||||
sta rem
|
||||
sta i
|
||||
b1:
|
||||
ldy i
|
||||
lda dividends,y
|
||||
sta dividend
|
||||
lda dividends+1,y
|
||||
sta dividend+1
|
||||
lda divisors,y
|
||||
sta divisor
|
||||
lda divisors+1,y
|
||||
sta divisor+1
|
||||
lda dividend
|
||||
sta div16u.dividend
|
||||
lda dividend+1
|
||||
sta div16u.dividend+1
|
||||
jsr div16u
|
||||
sta div8u.dividend
|
||||
lda #<rem
|
||||
sta div8u.remainder
|
||||
lda #>rem
|
||||
sta div8u.remainder+1
|
||||
jsr div8u
|
||||
lda div8u.return
|
||||
tax
|
||||
lda line_cursor
|
||||
sta char_cursor
|
||||
lda line_cursor+1
|
||||
sta char_cursor+1
|
||||
jsr print_word
|
||||
jsr print_byte
|
||||
lda #<str
|
||||
sta print_str.str
|
||||
lda #>str
|
||||
sta print_str.str+1
|
||||
jsr print_str
|
||||
lda divisor
|
||||
sta print_word.w
|
||||
lda divisor+1
|
||||
sta print_word.w+1
|
||||
jsr print_word
|
||||
sta print_byte.b
|
||||
jsr print_byte
|
||||
lda #<str1
|
||||
sta print_str.str
|
||||
lda #>str1
|
||||
sta print_str.str+1
|
||||
jsr print_str
|
||||
lda res
|
||||
sta print_word.w
|
||||
lda res+1
|
||||
sta print_word.w+1
|
||||
jsr print_word
|
||||
stx print_byte.b
|
||||
jsr print_byte
|
||||
lda #<str2
|
||||
sta print_str.str
|
||||
lda #>str2
|
||||
sta print_str.str+1
|
||||
jsr print_str
|
||||
lda div16u.rem
|
||||
sta print_word.w
|
||||
lda div16u.rem+1
|
||||
sta print_word.w+1
|
||||
jsr print_word
|
||||
lda rem
|
||||
sta print_byte.b
|
||||
jsr print_byte
|
||||
jsr print_ln
|
||||
lda #2
|
||||
clc
|
||||
adc i
|
||||
sta i
|
||||
cmp #$c
|
||||
beq !b1+
|
||||
jmp b1
|
||||
!b1:
|
||||
inc i
|
||||
lda i
|
||||
cmp #6
|
||||
bne b1
|
||||
rts
|
||||
str: .text " / @"
|
||||
str1: .text " = @"
|
||||
str2: .text " @"
|
||||
dividends: .word $ffff, $ffff, $ffff, $ffff, $ffff, $ffff
|
||||
divisors: .word 5, 7, $b, $d, $11, $13
|
||||
dividends: .byte $ff, $ff, $ff, $ff, $ff, $ff
|
||||
divisors: .byte 5, 7, $b, $d, $11, $13
|
||||
}
|
||||
print_ln: {
|
||||
b1:
|
||||
@ -105,18 +93,9 @@ print_ln: {
|
||||
!:
|
||||
rts
|
||||
}
|
||||
print_word: {
|
||||
.label w = 5
|
||||
lda w+1
|
||||
tax
|
||||
jsr print_byte
|
||||
lda w
|
||||
tax
|
||||
jsr print_byte
|
||||
rts
|
||||
}
|
||||
print_byte: {
|
||||
txa
|
||||
.label b = 5
|
||||
lda b
|
||||
lsr
|
||||
lsr
|
||||
lsr
|
||||
@ -124,8 +103,8 @@ print_byte: {
|
||||
tay
|
||||
lda hextab,y
|
||||
jsr print_char
|
||||
txa
|
||||
and #$f
|
||||
lda #$f
|
||||
and b
|
||||
tay
|
||||
lda hextab,y
|
||||
jsr print_char
|
||||
@ -142,7 +121,7 @@ print_char: {
|
||||
rts
|
||||
}
|
||||
print_str: {
|
||||
.label str = 5
|
||||
.label str = 8
|
||||
b1:
|
||||
ldy #0
|
||||
lda (str),y
|
||||
@ -163,135 +142,12 @@ print_str: {
|
||||
!:
|
||||
jmp b1
|
||||
}
|
||||
div16u: {
|
||||
.label rem = 9
|
||||
.label dividend = 7
|
||||
.label quotient = $b
|
||||
.label return = $b
|
||||
.label divisor = $f
|
||||
ldx #0
|
||||
txa
|
||||
sta quotient
|
||||
sta quotient+1
|
||||
sta rem
|
||||
sta rem+1
|
||||
b1:
|
||||
asl rem
|
||||
rol rem+1
|
||||
lda dividend+1
|
||||
and #$80
|
||||
cmp #0
|
||||
beq b2
|
||||
inc rem
|
||||
bne !+
|
||||
inc rem+1
|
||||
!:
|
||||
b2:
|
||||
asl dividend
|
||||
rol dividend+1
|
||||
asl quotient
|
||||
rol quotient+1
|
||||
lda rem+1
|
||||
cmp divisor+1
|
||||
bcc b3
|
||||
bne !+
|
||||
lda rem
|
||||
cmp divisor
|
||||
bcc b3
|
||||
!:
|
||||
inc quotient
|
||||
bne !+
|
||||
inc quotient+1
|
||||
!:
|
||||
lda rem
|
||||
sec
|
||||
sbc divisor
|
||||
sta rem
|
||||
lda rem+1
|
||||
sbc divisor+1
|
||||
sta rem+1
|
||||
b3:
|
||||
inx
|
||||
cpx #$10
|
||||
bne b1
|
||||
rts
|
||||
}
|
||||
test_8u: {
|
||||
.label rem = $11
|
||||
.label dividend = $12
|
||||
.label divisor = $13
|
||||
.label res = $d
|
||||
.label i = 2
|
||||
lda #0
|
||||
sta rem
|
||||
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 i
|
||||
b1:
|
||||
ldy i
|
||||
lda dividends,y
|
||||
sta dividend
|
||||
lda divisors,y
|
||||
sta divisor
|
||||
lda dividend
|
||||
sta div8u.dividend
|
||||
jsr div8u
|
||||
lda div8u.return
|
||||
sta res
|
||||
ldx dividend
|
||||
jsr print_byte
|
||||
lda #<str
|
||||
sta print_str.str
|
||||
lda #>str
|
||||
sta print_str.str+1
|
||||
jsr print_str
|
||||
ldx divisor
|
||||
jsr print_byte
|
||||
lda #<str1
|
||||
sta print_str.str
|
||||
lda #>str1
|
||||
sta print_str.str+1
|
||||
jsr print_str
|
||||
ldx res
|
||||
jsr print_byte
|
||||
lda #<str2
|
||||
sta print_str.str
|
||||
lda #>str2
|
||||
sta print_str.str+1
|
||||
jsr print_str
|
||||
ldx rem
|
||||
jsr print_byte
|
||||
jsr print_ln
|
||||
inc i
|
||||
lda i
|
||||
cmp #6
|
||||
bne b12
|
||||
rts
|
||||
b12:
|
||||
lda line_cursor
|
||||
sta char_cursor
|
||||
lda line_cursor+1
|
||||
sta char_cursor+1
|
||||
jmp b1
|
||||
str: .text " / @"
|
||||
str1: .text " = @"
|
||||
str2: .text " @"
|
||||
dividends: .byte $ff, $ff, $ff, $ff, $ff, $ff
|
||||
divisors: .byte 5, 7, $b, $d, $11, $13
|
||||
}
|
||||
div8u: {
|
||||
.label remainder = test_8u.rem
|
||||
.label dividend = $d
|
||||
.label quotient = $e
|
||||
.label return = $e
|
||||
.label divisor = $13
|
||||
.label dividend = $b
|
||||
.label quotient = $c
|
||||
.label return = $c
|
||||
.label divisor = $a
|
||||
.label remainder = 8
|
||||
ldx #0
|
||||
txa
|
||||
sta quotient
|
||||
@ -319,14 +175,157 @@ div8u: {
|
||||
inx
|
||||
cpx #8
|
||||
bne b1
|
||||
sty remainder
|
||||
tya
|
||||
ldy #0
|
||||
sta (remainder),y
|
||||
rts
|
||||
}
|
||||
test_8s: {
|
||||
.label dividend = 5
|
||||
.label divisor = $f
|
||||
.label res = $a
|
||||
.label i = 2
|
||||
lda #<SCREEN
|
||||
sta line_cursor
|
||||
lda #>SCREEN
|
||||
sta line_cursor+1
|
||||
lda #<SCREEN
|
||||
sta char_cursor
|
||||
lda #>SCREEN
|
||||
sta char_cursor+1
|
||||
lda #0
|
||||
tax
|
||||
sta i
|
||||
b1:
|
||||
ldy i
|
||||
lda dividends,y
|
||||
sta dividend
|
||||
lda divisors,y
|
||||
sta divisor
|
||||
lda dividend
|
||||
ldx divisor
|
||||
jsr div8s
|
||||
sta res
|
||||
jsr print_sbyte
|
||||
lda #<str
|
||||
sta print_str.str
|
||||
lda #>str
|
||||
sta print_str.str+1
|
||||
jsr print_str
|
||||
lda divisor
|
||||
sta print_sbyte.b
|
||||
jsr print_sbyte
|
||||
lda #<str1
|
||||
sta print_str.str
|
||||
lda #>str1
|
||||
sta print_str.str+1
|
||||
jsr print_str
|
||||
lda res
|
||||
sta print_sbyte.b
|
||||
jsr print_sbyte
|
||||
lda #<str2
|
||||
sta print_str.str
|
||||
lda #>str2
|
||||
sta print_str.str+1
|
||||
jsr print_str
|
||||
stx print_sbyte.b
|
||||
jsr print_sbyte
|
||||
jsr print_ln
|
||||
inc i
|
||||
lda i
|
||||
cmp #6
|
||||
bne b12
|
||||
rts
|
||||
b12:
|
||||
lda line_cursor
|
||||
sta char_cursor
|
||||
lda line_cursor+1
|
||||
sta char_cursor+1
|
||||
jmp b1
|
||||
str: .text " / @"
|
||||
str1: .text " = @"
|
||||
str2: .text " @"
|
||||
dividends: .byte $7f, -$7f, -$7f, $7f, $7f, $7f
|
||||
divisors: .byte 5, 7, -$b, -$d, $11, $13
|
||||
}
|
||||
print_sbyte: {
|
||||
.label b = 5
|
||||
lda b
|
||||
cmp #0
|
||||
bpl b1
|
||||
lda #'-'
|
||||
jsr print_char
|
||||
lda b
|
||||
eor #$ff
|
||||
clc
|
||||
adc #1
|
||||
sta b
|
||||
b1:
|
||||
jsr print_byte
|
||||
rts
|
||||
}
|
||||
div8s: {
|
||||
.label neg = $d
|
||||
.label rem8u = $10
|
||||
cmp #0
|
||||
bpl b16
|
||||
eor #$ff
|
||||
clc
|
||||
adc #1
|
||||
tay
|
||||
lda #1
|
||||
sta neg
|
||||
b2:
|
||||
cpx #0
|
||||
bpl b4
|
||||
txa
|
||||
eor #$ff
|
||||
clc
|
||||
adc #1
|
||||
tax
|
||||
lda neg
|
||||
eor #1
|
||||
sta neg
|
||||
b4:
|
||||
lda #0
|
||||
sta rem8u
|
||||
sty div8u.dividend
|
||||
stx div8u.divisor
|
||||
lda #<rem8u
|
||||
sta div8u.remainder
|
||||
lda #>rem8u
|
||||
sta div8u.remainder+1
|
||||
jsr div8u
|
||||
lda div8u.return
|
||||
tay
|
||||
lda neg
|
||||
bne b5
|
||||
tya
|
||||
ldx rem8u
|
||||
breturn:
|
||||
rts
|
||||
b5:
|
||||
lda rem8u
|
||||
eor #$ff
|
||||
clc
|
||||
adc #1
|
||||
tax
|
||||
tya
|
||||
eor #$ff
|
||||
clc
|
||||
adc #1
|
||||
jmp breturn
|
||||
b16:
|
||||
tay
|
||||
lda #0
|
||||
sta neg
|
||||
jmp b2
|
||||
}
|
||||
print_cls: {
|
||||
.label sc = 3
|
||||
lda #<$400
|
||||
lda #<SCREEN
|
||||
sta sc
|
||||
lda #>$400
|
||||
lda #>SCREEN
|
||||
sta sc+1
|
||||
b1:
|
||||
lda #' '
|
||||
@ -337,10 +336,10 @@ print_cls: {
|
||||
inc sc+1
|
||||
!:
|
||||
lda sc+1
|
||||
cmp #>$400+$3e8
|
||||
cmp #>SCREEN+$3e8
|
||||
bne b1
|
||||
lda sc
|
||||
cmp #<$400+$3e8
|
||||
cmp #<SCREEN+$3e8
|
||||
bne b1
|
||||
rts
|
||||
}
|
||||
|
@ -1,283 +1,307 @@
|
||||
@begin: scope:[] from
|
||||
[0] phi() [ ] ( )
|
||||
to:@13
|
||||
@13: scope:[] from @begin
|
||||
[1] phi() [ ] ( )
|
||||
[0] phi() [ test_8u::rem#0 ] ( )
|
||||
to:@15
|
||||
@15: scope:[] from @begin
|
||||
[1] phi() [ test_8u::rem#0 ] ( )
|
||||
[2] call main param-assignment [ ] ( )
|
||||
to:@end
|
||||
@end: scope:[] from @13
|
||||
@end: scope:[] from @15
|
||||
[3] phi() [ ] ( )
|
||||
main: scope:[main] from @13
|
||||
[4] phi() [ ] ( main:2 [ ] )
|
||||
[5] call print_cls param-assignment [ ] ( main:2 [ ] )
|
||||
main: scope:[main] from @15
|
||||
[4] phi() [ test_8u::rem#0 ] ( main:2 [ test_8u::rem#0 ] )
|
||||
[5] call print_cls param-assignment [ test_8u::rem#0 ] ( main:2 [ test_8u::rem#0 ] )
|
||||
to:main::@1
|
||||
main::@1: scope:[main] from main
|
||||
[6] phi() [ ] ( main:2 [ ] )
|
||||
[7] call test_8u param-assignment [ line_cursor#1 ] ( main:2 [ line_cursor#1 ] )
|
||||
[6] phi() [ test_8u::rem#0 ] ( main:2 [ test_8u::rem#0 ] )
|
||||
[7] call test_8s param-assignment [ line_cursor#1 div8s::rem8u#0 ] ( main:2 [ line_cursor#1 div8s::rem8u#0 ] )
|
||||
to:main::@2
|
||||
main::@2: scope:[main] from main::@1
|
||||
[8] phi() [ line_cursor#1 ] ( main:2 [ line_cursor#1 ] )
|
||||
[9] call test_16u param-assignment [ ] ( main:2 [ ] )
|
||||
[8] phi() [ line_cursor#1 div8s::rem8u#0 ] ( main:2 [ line_cursor#1 div8s::rem8u#0 ] )
|
||||
[9] call test_8u param-assignment [ ] ( main:2 [ ] )
|
||||
to:main::@return
|
||||
main::@return: scope:[main] from main::@2
|
||||
[10] return [ ] ( main:2 [ ] )
|
||||
to:@return
|
||||
test_16u: scope:[test_16u] from main::@2
|
||||
[11] phi() [ line_cursor#1 ] ( main:2::test_16u:9 [ line_cursor#1 ] )
|
||||
to:test_16u::@1
|
||||
test_16u::@1: scope:[test_16u] from test_16u test_16u::@11
|
||||
[12] (word) rem16u#16 ← phi( test_16u/(byte/signed byte/word/signed word/dword/signed dword) 0 test_16u::@11/(word) div16u::rem#8 ) [ test_16u::i#10 line_cursor#1 ] ( main:2::test_16u:9 [ test_16u::i#10 line_cursor#1 ] )
|
||||
[12] (byte) test_16u::i#10 ← phi( test_16u/(byte/signed byte/word/signed word/dword/signed dword) 0 test_16u::@11/(byte) test_16u::i#1 ) [ test_16u::i#10 line_cursor#1 ] ( main:2::test_16u:9 [ test_16u::i#10 line_cursor#1 ] )
|
||||
[13] (word) test_16u::dividend#0 ← *((const word[]) test_16u::dividends#0 + (byte) test_16u::i#10) [ test_16u::i#10 test_16u::dividend#0 line_cursor#1 ] ( main:2::test_16u:9 [ test_16u::i#10 test_16u::dividend#0 line_cursor#1 ] )
|
||||
[14] (word) test_16u::divisor#0 ← *((const word[]) test_16u::divisors#0 + (byte) test_16u::i#10) [ test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 line_cursor#1 ] ( main:2::test_16u:9 [ test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 line_cursor#1 ] )
|
||||
[15] (word) div16u::dividend#1 ← (word) test_16u::dividend#0 [ test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 div16u::dividend#1 line_cursor#1 ] ( main:2::test_16u:9 [ test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 div16u::dividend#1 line_cursor#1 ] )
|
||||
[16] (word) div16u::divisor#0 ← (word) test_16u::divisor#0 [ test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 div16u::dividend#1 div16u::divisor#0 line_cursor#1 ] ( main:2::test_16u:9 [ test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 div16u::dividend#1 div16u::divisor#0 line_cursor#1 ] )
|
||||
[17] call div16u param-assignment [ test_16u::i#10 div16u::rem#8 test_16u::dividend#0 test_16u::divisor#0 div16u::return#0 line_cursor#1 ] ( main:2::test_16u:9 [ test_16u::i#10 div16u::rem#8 test_16u::dividend#0 test_16u::divisor#0 div16u::return#0 line_cursor#1 ] )
|
||||
[18] (word) div16u::return#2 ← (word) div16u::return#0 [ test_16u::i#10 div16u::rem#8 test_16u::dividend#0 test_16u::divisor#0 div16u::return#2 line_cursor#1 ] ( main:2::test_16u:9 [ test_16u::i#10 div16u::rem#8 test_16u::dividend#0 test_16u::divisor#0 div16u::return#2 line_cursor#1 ] )
|
||||
to:test_16u::@3
|
||||
test_16u::@3: scope:[test_16u] from test_16u::@1
|
||||
[19] (word) test_16u::res#0 ← (word) div16u::return#2 [ test_16u::i#10 div16u::rem#8 test_16u::dividend#0 test_16u::divisor#0 test_16u::res#0 line_cursor#1 ] ( main:2::test_16u:9 [ test_16u::i#10 div16u::rem#8 test_16u::dividend#0 test_16u::divisor#0 test_16u::res#0 line_cursor#1 ] )
|
||||
[20] (word) print_word::w#0 ← (word) test_16u::dividend#0 [ test_16u::i#10 div16u::rem#8 test_16u::divisor#0 test_16u::res#0 print_word::w#0 line_cursor#1 ] ( main:2::test_16u:9 [ test_16u::i#10 div16u::rem#8 test_16u::divisor#0 test_16u::res#0 print_word::w#0 line_cursor#1 ] )
|
||||
[21] (byte*~) char_cursor#84 ← (byte*) line_cursor#1 [ test_16u::i#10 div16u::rem#8 test_16u::divisor#0 test_16u::res#0 print_word::w#0 char_cursor#84 line_cursor#1 ] ( main:2::test_16u:9 [ test_16u::i#10 div16u::rem#8 test_16u::divisor#0 test_16u::res#0 print_word::w#0 char_cursor#84 line_cursor#1 ] )
|
||||
[22] call print_word param-assignment [ test_16u::i#10 div16u::rem#8 test_16u::divisor#0 test_16u::res#0 line_cursor#1 char_cursor#11 ] ( main:2::test_16u:9 [ test_16u::i#10 div16u::rem#8 test_16u::divisor#0 test_16u::res#0 line_cursor#1 char_cursor#11 ] )
|
||||
to:test_16u::@4
|
||||
test_16u::@4: scope:[test_16u] from test_16u::@3
|
||||
[23] phi() [ test_16u::i#10 div16u::rem#8 test_16u::divisor#0 test_16u::res#0 line_cursor#1 char_cursor#11 ] ( main:2::test_16u:9 [ test_16u::i#10 div16u::rem#8 test_16u::divisor#0 test_16u::res#0 line_cursor#1 char_cursor#11 ] )
|
||||
[24] call print_str param-assignment [ test_16u::i#10 div16u::rem#8 test_16u::divisor#0 test_16u::res#0 line_cursor#1 char_cursor#2 ] ( main:2::test_16u:9 [ test_16u::i#10 div16u::rem#8 test_16u::divisor#0 test_16u::res#0 line_cursor#1 char_cursor#2 ] )
|
||||
to:test_16u::@5
|
||||
test_16u::@5: scope:[test_16u] from test_16u::@4
|
||||
[25] (word) print_word::w#1 ← (word) test_16u::divisor#0 [ test_16u::i#10 div16u::rem#8 test_16u::res#0 line_cursor#1 print_word::w#1 char_cursor#2 ] ( main:2::test_16u:9 [ test_16u::i#10 div16u::rem#8 test_16u::res#0 line_cursor#1 print_word::w#1 char_cursor#2 ] )
|
||||
[26] call print_word param-assignment [ test_16u::i#10 div16u::rem#8 test_16u::res#0 line_cursor#1 char_cursor#11 ] ( main:2::test_16u:9 [ test_16u::i#10 div16u::rem#8 test_16u::res#0 line_cursor#1 char_cursor#11 ] )
|
||||
to:test_16u::@6
|
||||
test_16u::@6: scope:[test_16u] from test_16u::@5
|
||||
[27] phi() [ test_16u::i#10 div16u::rem#8 test_16u::res#0 line_cursor#1 char_cursor#11 ] ( main:2::test_16u:9 [ test_16u::i#10 div16u::rem#8 test_16u::res#0 line_cursor#1 char_cursor#11 ] )
|
||||
[28] call print_str param-assignment [ test_16u::i#10 div16u::rem#8 test_16u::res#0 line_cursor#1 char_cursor#2 ] ( main:2::test_16u:9 [ test_16u::i#10 div16u::rem#8 test_16u::res#0 line_cursor#1 char_cursor#2 ] )
|
||||
to:test_16u::@7
|
||||
test_16u::@7: scope:[test_16u] from test_16u::@6
|
||||
[29] (word) print_word::w#2 ← (word) test_16u::res#0 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_word::w#2 char_cursor#2 ] ( main:2::test_16u:9 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_word::w#2 char_cursor#2 ] )
|
||||
[30] call print_word param-assignment [ test_16u::i#10 div16u::rem#8 line_cursor#1 char_cursor#11 ] ( main:2::test_16u:9 [ test_16u::i#10 div16u::rem#8 line_cursor#1 char_cursor#11 ] )
|
||||
to:test_16u::@8
|
||||
test_16u::@8: scope:[test_16u] from test_16u::@7
|
||||
[31] phi() [ test_16u::i#10 div16u::rem#8 line_cursor#1 char_cursor#11 ] ( main:2::test_16u:9 [ test_16u::i#10 div16u::rem#8 line_cursor#1 char_cursor#11 ] )
|
||||
[32] call print_str param-assignment [ test_16u::i#10 div16u::rem#8 line_cursor#1 char_cursor#2 ] ( main:2::test_16u:9 [ test_16u::i#10 div16u::rem#8 line_cursor#1 char_cursor#2 ] )
|
||||
to:test_16u::@9
|
||||
test_16u::@9: scope:[test_16u] from test_16u::@8
|
||||
[33] (word) print_word::w#3 ← (word) div16u::rem#8 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_word::w#3 char_cursor#2 ] ( main:2::test_16u:9 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_word::w#3 char_cursor#2 ] )
|
||||
[34] call print_word param-assignment [ test_16u::i#10 div16u::rem#8 line_cursor#1 char_cursor#11 ] ( main:2::test_16u:9 [ test_16u::i#10 div16u::rem#8 line_cursor#1 char_cursor#11 ] )
|
||||
to:test_16u::@10
|
||||
test_16u::@10: scope:[test_16u] from test_16u::@9
|
||||
[35] phi() [ test_16u::i#10 div16u::rem#8 line_cursor#1 char_cursor#11 ] ( main:2::test_16u:9 [ test_16u::i#10 div16u::rem#8 line_cursor#1 char_cursor#11 ] )
|
||||
[36] call print_ln param-assignment [ test_16u::i#10 div16u::rem#8 line_cursor#1 ] ( main:2::test_16u:9 [ test_16u::i#10 div16u::rem#8 line_cursor#1 ] )
|
||||
to:test_16u::@11
|
||||
test_16u::@11: scope:[test_16u] from test_16u::@10
|
||||
[37] (byte) test_16u::i#1 ← (byte) test_16u::i#10 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ test_16u::i#1 div16u::rem#8 line_cursor#1 ] ( main:2::test_16u:9 [ test_16u::i#1 div16u::rem#8 line_cursor#1 ] )
|
||||
[38] if((byte) test_16u::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 12) goto test_16u::@1 [ test_16u::i#1 div16u::rem#8 line_cursor#1 ] ( main:2::test_16u:9 [ test_16u::i#1 div16u::rem#8 line_cursor#1 ] )
|
||||
to:test_16u::@return
|
||||
test_16u::@return: scope:[test_16u] from test_16u::@11
|
||||
[39] return [ ] ( main:2::test_16u:9 [ ] )
|
||||
to:@return
|
||||
print_ln: scope:[print_ln] from test_16u::@10 test_8u::@10
|
||||
[40] (byte*) line_cursor#22 ← phi( test_16u::@10/(byte*) line_cursor#1 test_8u::@10/(byte*) line_cursor#25 ) [ line_cursor#22 char_cursor#11 ] ( main:2::test_16u:9::print_ln:36 [ test_16u::i#10 div16u::rem#8 line_cursor#22 char_cursor#11 ] main:2::test_8u:7::print_ln:111 [ test_8u::rem#0 test_8u::i#10 line_cursor#22 char_cursor#11 ] )
|
||||
to:print_ln::@1
|
||||
print_ln::@1: scope:[print_ln] from print_ln print_ln::@1
|
||||
[41] (byte*) line_cursor#11 ← phi( print_ln/(byte*) line_cursor#22 print_ln::@1/(byte*) line_cursor#1 ) [ line_cursor#11 char_cursor#11 ] ( main:2::test_16u:9::print_ln:36 [ test_16u::i#10 div16u::rem#8 line_cursor#11 char_cursor#11 ] main:2::test_8u:7::print_ln:111 [ test_8u::rem#0 test_8u::i#10 line_cursor#11 char_cursor#11 ] )
|
||||
[42] (byte*) line_cursor#1 ← (byte*) line_cursor#11 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ line_cursor#1 char_cursor#11 ] ( main:2::test_16u:9::print_ln:36 [ test_16u::i#10 div16u::rem#8 line_cursor#1 char_cursor#11 ] main:2::test_8u:7::print_ln:111 [ test_8u::rem#0 test_8u::i#10 line_cursor#1 char_cursor#11 ] )
|
||||
[43] if((byte*) line_cursor#1<(byte*) char_cursor#11) goto print_ln::@1 [ line_cursor#1 char_cursor#11 ] ( main:2::test_16u:9::print_ln:36 [ test_16u::i#10 div16u::rem#8 line_cursor#1 char_cursor#11 ] main:2::test_8u:7::print_ln:111 [ test_8u::rem#0 test_8u::i#10 line_cursor#1 char_cursor#11 ] )
|
||||
to:print_ln::@return
|
||||
print_ln::@return: scope:[print_ln] from print_ln::@1
|
||||
[44] return [ line_cursor#1 ] ( main:2::test_16u:9::print_ln:36 [ test_16u::i#10 div16u::rem#8 line_cursor#1 ] main:2::test_8u:7::print_ln:111 [ test_8u::rem#0 test_8u::i#10 line_cursor#1 ] )
|
||||
to:@return
|
||||
print_word: scope:[print_word] from test_16u::@3 test_16u::@5 test_16u::@7 test_16u::@9
|
||||
[45] (byte*) char_cursor#71 ← phi( test_16u::@3/(byte*~) char_cursor#84 test_16u::@5/(byte*) char_cursor#2 test_16u::@7/(byte*) char_cursor#2 test_16u::@9/(byte*) char_cursor#2 ) [ print_word::w#4 char_cursor#71 ] ( main:2::test_16u:9::print_word:22 [ test_16u::i#10 div16u::rem#8 test_16u::divisor#0 test_16u::res#0 line_cursor#1 print_word::w#4 char_cursor#71 ] main:2::test_16u:9::print_word:26 [ test_16u::i#10 div16u::rem#8 test_16u::res#0 line_cursor#1 print_word::w#4 char_cursor#71 ] main:2::test_16u:9::print_word:30 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_word::w#4 char_cursor#71 ] main:2::test_16u:9::print_word:34 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_word::w#4 char_cursor#71 ] )
|
||||
[45] (word) print_word::w#4 ← phi( test_16u::@3/(word) print_word::w#0 test_16u::@5/(word) print_word::w#1 test_16u::@7/(word) print_word::w#2 test_16u::@9/(word) print_word::w#3 ) [ print_word::w#4 char_cursor#71 ] ( main:2::test_16u:9::print_word:22 [ test_16u::i#10 div16u::rem#8 test_16u::divisor#0 test_16u::res#0 line_cursor#1 print_word::w#4 char_cursor#71 ] main:2::test_16u:9::print_word:26 [ test_16u::i#10 div16u::rem#8 test_16u::res#0 line_cursor#1 print_word::w#4 char_cursor#71 ] main:2::test_16u:9::print_word:30 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_word::w#4 char_cursor#71 ] main:2::test_16u:9::print_word:34 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_word::w#4 char_cursor#71 ] )
|
||||
[46] (byte) print_byte::b#0 ← > (word) print_word::w#4 [ print_word::w#4 char_cursor#71 print_byte::b#0 ] ( main:2::test_16u:9::print_word:22 [ test_16u::i#10 div16u::rem#8 test_16u::divisor#0 test_16u::res#0 line_cursor#1 print_word::w#4 char_cursor#71 print_byte::b#0 ] main:2::test_16u:9::print_word:26 [ test_16u::i#10 div16u::rem#8 test_16u::res#0 line_cursor#1 print_word::w#4 char_cursor#71 print_byte::b#0 ] main:2::test_16u:9::print_word:30 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_word::w#4 char_cursor#71 print_byte::b#0 ] main:2::test_16u:9::print_word:34 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_word::w#4 char_cursor#71 print_byte::b#0 ] )
|
||||
[47] call print_byte param-assignment [ char_cursor#11 print_word::w#4 ] ( main:2::test_16u:9::print_word:22 [ test_16u::i#10 div16u::rem#8 test_16u::divisor#0 test_16u::res#0 line_cursor#1 char_cursor#11 print_word::w#4 ] main:2::test_16u:9::print_word:26 [ test_16u::i#10 div16u::rem#8 test_16u::res#0 line_cursor#1 char_cursor#11 print_word::w#4 ] main:2::test_16u:9::print_word:30 [ test_16u::i#10 div16u::rem#8 line_cursor#1 char_cursor#11 print_word::w#4 ] main:2::test_16u:9::print_word:34 [ test_16u::i#10 div16u::rem#8 line_cursor#1 char_cursor#11 print_word::w#4 ] )
|
||||
to:print_word::@1
|
||||
print_word::@1: scope:[print_word] from print_word
|
||||
[48] (byte) print_byte::b#1 ← < (word) print_word::w#4 [ char_cursor#11 print_byte::b#1 ] ( main:2::test_16u:9::print_word:22 [ test_16u::i#10 div16u::rem#8 test_16u::divisor#0 test_16u::res#0 line_cursor#1 char_cursor#11 print_byte::b#1 ] main:2::test_16u:9::print_word:26 [ test_16u::i#10 div16u::rem#8 test_16u::res#0 line_cursor#1 char_cursor#11 print_byte::b#1 ] main:2::test_16u:9::print_word:30 [ test_16u::i#10 div16u::rem#8 line_cursor#1 char_cursor#11 print_byte::b#1 ] main:2::test_16u:9::print_word:34 [ test_16u::i#10 div16u::rem#8 line_cursor#1 char_cursor#11 print_byte::b#1 ] )
|
||||
[49] call print_byte param-assignment [ char_cursor#11 ] ( main:2::test_16u:9::print_word:22 [ test_16u::i#10 div16u::rem#8 test_16u::divisor#0 test_16u::res#0 line_cursor#1 char_cursor#11 ] main:2::test_16u:9::print_word:26 [ test_16u::i#10 div16u::rem#8 test_16u::res#0 line_cursor#1 char_cursor#11 ] main:2::test_16u:9::print_word:30 [ test_16u::i#10 div16u::rem#8 line_cursor#1 char_cursor#11 ] main:2::test_16u:9::print_word:34 [ test_16u::i#10 div16u::rem#8 line_cursor#1 char_cursor#11 ] )
|
||||
to:print_word::@return
|
||||
print_word::@return: scope:[print_word] from print_word::@1
|
||||
[50] return [ char_cursor#11 ] ( main:2::test_16u:9::print_word:22 [ test_16u::i#10 div16u::rem#8 test_16u::divisor#0 test_16u::res#0 line_cursor#1 char_cursor#11 ] main:2::test_16u:9::print_word:26 [ test_16u::i#10 div16u::rem#8 test_16u::res#0 line_cursor#1 char_cursor#11 ] main:2::test_16u:9::print_word:30 [ test_16u::i#10 div16u::rem#8 line_cursor#1 char_cursor#11 ] main:2::test_16u:9::print_word:34 [ test_16u::i#10 div16u::rem#8 line_cursor#1 char_cursor#11 ] )
|
||||
to:@return
|
||||
print_byte: scope:[print_byte] from print_word print_word::@1 test_8u::@3 test_8u::@5 test_8u::@7 test_8u::@9
|
||||
[51] (byte*) char_cursor#72 ← phi( print_word/(byte*) char_cursor#71 print_word::@1/(byte*) char_cursor#11 test_8u::@3/(byte*) char_cursor#75 test_8u::@5/(byte*) char_cursor#2 test_8u::@7/(byte*) char_cursor#2 test_8u::@9/(byte*) char_cursor#2 ) [ print_byte::b#6 char_cursor#72 ] ( main:2::test_16u:9::print_word:22::print_byte:47 [ test_16u::i#10 div16u::rem#8 test_16u::divisor#0 test_16u::res#0 line_cursor#1 print_word::w#4 print_byte::b#6 char_cursor#72 ] main:2::test_16u:9::print_word:26::print_byte:47 [ test_16u::i#10 div16u::rem#8 test_16u::res#0 line_cursor#1 print_word::w#4 print_byte::b#6 char_cursor#72 ] main:2::test_16u:9::print_word:30::print_byte:47 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_word::w#4 print_byte::b#6 char_cursor#72 ] main:2::test_16u:9::print_word:34::print_byte:47 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_word::w#4 print_byte::b#6 char_cursor#72 ] main:2::test_16u:9::print_word:22::print_byte:49 [ test_16u::i#10 div16u::rem#8 test_16u::divisor#0 test_16u::res#0 line_cursor#1 print_byte::b#6 char_cursor#72 ] main:2::test_16u:9::print_word:26::print_byte:49 [ test_16u::i#10 div16u::rem#8 test_16u::res#0 line_cursor#1 print_byte::b#6 char_cursor#72 ] main:2::test_16u:9::print_word:30::print_byte:49 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_byte::b#6 char_cursor#72 ] main:2::test_16u:9::print_word:34::print_byte:49 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_byte::b#6 char_cursor#72 ] main:2::test_8u:7::print_byte:97 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 print_byte::b#6 char_cursor#72 ] main:2::test_8u:7::print_byte:101 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 test_8u::res#0 print_byte::b#6 char_cursor#72 ] main:2::test_8u:7::print_byte:105 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 print_byte::b#6 char_cursor#72 ] main:2::test_8u:7::print_byte:109 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 print_byte::b#6 char_cursor#72 ] )
|
||||
[51] (byte) print_byte::b#6 ← phi( print_word/(byte) print_byte::b#0 print_word::@1/(byte) print_byte::b#1 test_8u::@3/(byte) print_byte::b#2 test_8u::@5/(byte) print_byte::b#3 test_8u::@7/(byte) print_byte::b#4 test_8u::@9/(byte) print_byte::b#5 ) [ print_byte::b#6 char_cursor#72 ] ( main:2::test_16u:9::print_word:22::print_byte:47 [ test_16u::i#10 div16u::rem#8 test_16u::divisor#0 test_16u::res#0 line_cursor#1 print_word::w#4 print_byte::b#6 char_cursor#72 ] main:2::test_16u:9::print_word:26::print_byte:47 [ test_16u::i#10 div16u::rem#8 test_16u::res#0 line_cursor#1 print_word::w#4 print_byte::b#6 char_cursor#72 ] main:2::test_16u:9::print_word:30::print_byte:47 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_word::w#4 print_byte::b#6 char_cursor#72 ] main:2::test_16u:9::print_word:34::print_byte:47 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_word::w#4 print_byte::b#6 char_cursor#72 ] main:2::test_16u:9::print_word:22::print_byte:49 [ test_16u::i#10 div16u::rem#8 test_16u::divisor#0 test_16u::res#0 line_cursor#1 print_byte::b#6 char_cursor#72 ] main:2::test_16u:9::print_word:26::print_byte:49 [ test_16u::i#10 div16u::rem#8 test_16u::res#0 line_cursor#1 print_byte::b#6 char_cursor#72 ] main:2::test_16u:9::print_word:30::print_byte:49 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_byte::b#6 char_cursor#72 ] main:2::test_16u:9::print_word:34::print_byte:49 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_byte::b#6 char_cursor#72 ] main:2::test_8u:7::print_byte:97 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 print_byte::b#6 char_cursor#72 ] main:2::test_8u:7::print_byte:101 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 test_8u::res#0 print_byte::b#6 char_cursor#72 ] main:2::test_8u:7::print_byte:105 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 print_byte::b#6 char_cursor#72 ] main:2::test_8u:7::print_byte:109 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 print_byte::b#6 char_cursor#72 ] )
|
||||
[52] (byte~) print_byte::$0 ← (byte) print_byte::b#6 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ print_byte::b#6 char_cursor#72 print_byte::$0 ] ( main:2::test_16u:9::print_word:22::print_byte:47 [ test_16u::i#10 div16u::rem#8 test_16u::divisor#0 test_16u::res#0 line_cursor#1 print_word::w#4 print_byte::b#6 char_cursor#72 print_byte::$0 ] main:2::test_16u:9::print_word:26::print_byte:47 [ test_16u::i#10 div16u::rem#8 test_16u::res#0 line_cursor#1 print_word::w#4 print_byte::b#6 char_cursor#72 print_byte::$0 ] main:2::test_16u:9::print_word:30::print_byte:47 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_word::w#4 print_byte::b#6 char_cursor#72 print_byte::$0 ] main:2::test_16u:9::print_word:34::print_byte:47 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_word::w#4 print_byte::b#6 char_cursor#72 print_byte::$0 ] main:2::test_16u:9::print_word:22::print_byte:49 [ test_16u::i#10 div16u::rem#8 test_16u::divisor#0 test_16u::res#0 line_cursor#1 print_byte::b#6 char_cursor#72 print_byte::$0 ] main:2::test_16u:9::print_word:26::print_byte:49 [ test_16u::i#10 div16u::rem#8 test_16u::res#0 line_cursor#1 print_byte::b#6 char_cursor#72 print_byte::$0 ] main:2::test_16u:9::print_word:30::print_byte:49 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_byte::b#6 char_cursor#72 print_byte::$0 ] main:2::test_16u:9::print_word:34::print_byte:49 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_byte::b#6 char_cursor#72 print_byte::$0 ] main:2::test_8u:7::print_byte:97 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 print_byte::b#6 char_cursor#72 print_byte::$0 ] main:2::test_8u:7::print_byte:101 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 test_8u::res#0 print_byte::b#6 char_cursor#72 print_byte::$0 ] main:2::test_8u:7::print_byte:105 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 print_byte::b#6 char_cursor#72 print_byte::$0 ] main:2::test_8u:7::print_byte:109 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 print_byte::b#6 char_cursor#72 print_byte::$0 ] )
|
||||
[53] (byte) print_char::ch#0 ← *((const string) print_byte::hextab#0 + (byte~) print_byte::$0) [ print_byte::b#6 char_cursor#72 print_char::ch#0 ] ( main:2::test_16u:9::print_word:22::print_byte:47 [ test_16u::i#10 div16u::rem#8 test_16u::divisor#0 test_16u::res#0 line_cursor#1 print_word::w#4 print_byte::b#6 char_cursor#72 print_char::ch#0 ] main:2::test_16u:9::print_word:26::print_byte:47 [ test_16u::i#10 div16u::rem#8 test_16u::res#0 line_cursor#1 print_word::w#4 print_byte::b#6 char_cursor#72 print_char::ch#0 ] main:2::test_16u:9::print_word:30::print_byte:47 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_word::w#4 print_byte::b#6 char_cursor#72 print_char::ch#0 ] main:2::test_16u:9::print_word:34::print_byte:47 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_word::w#4 print_byte::b#6 char_cursor#72 print_char::ch#0 ] main:2::test_16u:9::print_word:22::print_byte:49 [ test_16u::i#10 div16u::rem#8 test_16u::divisor#0 test_16u::res#0 line_cursor#1 print_byte::b#6 char_cursor#72 print_char::ch#0 ] main:2::test_16u:9::print_word:26::print_byte:49 [ test_16u::i#10 div16u::rem#8 test_16u::res#0 line_cursor#1 print_byte::b#6 char_cursor#72 print_char::ch#0 ] main:2::test_16u:9::print_word:30::print_byte:49 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_byte::b#6 char_cursor#72 print_char::ch#0 ] main:2::test_16u:9::print_word:34::print_byte:49 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_byte::b#6 char_cursor#72 print_char::ch#0 ] main:2::test_8u:7::print_byte:97 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 print_byte::b#6 char_cursor#72 print_char::ch#0 ] main:2::test_8u:7::print_byte:101 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 test_8u::res#0 print_byte::b#6 char_cursor#72 print_char::ch#0 ] main:2::test_8u:7::print_byte:105 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 print_byte::b#6 char_cursor#72 print_char::ch#0 ] main:2::test_8u:7::print_byte:109 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 print_byte::b#6 char_cursor#72 print_char::ch#0 ] )
|
||||
[54] call print_char param-assignment [ char_cursor#11 print_byte::b#6 ] ( main:2::test_16u:9::print_word:22::print_byte:47 [ test_16u::i#10 div16u::rem#8 test_16u::divisor#0 test_16u::res#0 line_cursor#1 print_word::w#4 char_cursor#11 print_byte::b#6 ] main:2::test_16u:9::print_word:26::print_byte:47 [ test_16u::i#10 div16u::rem#8 test_16u::res#0 line_cursor#1 print_word::w#4 char_cursor#11 print_byte::b#6 ] main:2::test_16u:9::print_word:30::print_byte:47 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_word::w#4 char_cursor#11 print_byte::b#6 ] main:2::test_16u:9::print_word:34::print_byte:47 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_word::w#4 char_cursor#11 print_byte::b#6 ] main:2::test_16u:9::print_word:22::print_byte:49 [ test_16u::i#10 div16u::rem#8 test_16u::divisor#0 test_16u::res#0 line_cursor#1 char_cursor#11 print_byte::b#6 ] main:2::test_16u:9::print_word:26::print_byte:49 [ test_16u::i#10 div16u::rem#8 test_16u::res#0 line_cursor#1 char_cursor#11 print_byte::b#6 ] main:2::test_16u:9::print_word:30::print_byte:49 [ test_16u::i#10 div16u::rem#8 line_cursor#1 char_cursor#11 print_byte::b#6 ] main:2::test_16u:9::print_word:34::print_byte:49 [ test_16u::i#10 div16u::rem#8 line_cursor#1 char_cursor#11 print_byte::b#6 ] main:2::test_8u:7::print_byte:97 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 char_cursor#11 print_byte::b#6 ] main:2::test_8u:7::print_byte:101 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 test_8u::res#0 char_cursor#11 print_byte::b#6 ] main:2::test_8u:7::print_byte:105 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 char_cursor#11 print_byte::b#6 ] main:2::test_8u:7::print_byte:109 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 char_cursor#11 print_byte::b#6 ] )
|
||||
to:print_byte::@1
|
||||
print_byte::@1: scope:[print_byte] from print_byte
|
||||
[55] (byte~) print_byte::$2 ← (byte) print_byte::b#6 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ char_cursor#11 print_byte::$2 ] ( main:2::test_16u:9::print_word:22::print_byte:47 [ test_16u::i#10 div16u::rem#8 test_16u::divisor#0 test_16u::res#0 line_cursor#1 print_word::w#4 char_cursor#11 print_byte::$2 ] main:2::test_16u:9::print_word:26::print_byte:47 [ test_16u::i#10 div16u::rem#8 test_16u::res#0 line_cursor#1 print_word::w#4 char_cursor#11 print_byte::$2 ] main:2::test_16u:9::print_word:30::print_byte:47 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_word::w#4 char_cursor#11 print_byte::$2 ] main:2::test_16u:9::print_word:34::print_byte:47 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_word::w#4 char_cursor#11 print_byte::$2 ] main:2::test_16u:9::print_word:22::print_byte:49 [ test_16u::i#10 div16u::rem#8 test_16u::divisor#0 test_16u::res#0 line_cursor#1 char_cursor#11 print_byte::$2 ] main:2::test_16u:9::print_word:26::print_byte:49 [ test_16u::i#10 div16u::rem#8 test_16u::res#0 line_cursor#1 char_cursor#11 print_byte::$2 ] main:2::test_16u:9::print_word:30::print_byte:49 [ test_16u::i#10 div16u::rem#8 line_cursor#1 char_cursor#11 print_byte::$2 ] main:2::test_16u:9::print_word:34::print_byte:49 [ test_16u::i#10 div16u::rem#8 line_cursor#1 char_cursor#11 print_byte::$2 ] main:2::test_8u:7::print_byte:97 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 char_cursor#11 print_byte::$2 ] main:2::test_8u:7::print_byte:101 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 test_8u::res#0 char_cursor#11 print_byte::$2 ] main:2::test_8u:7::print_byte:105 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 char_cursor#11 print_byte::$2 ] main:2::test_8u:7::print_byte:109 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 char_cursor#11 print_byte::$2 ] )
|
||||
[56] (byte) print_char::ch#1 ← *((const string) print_byte::hextab#0 + (byte~) print_byte::$2) [ char_cursor#11 print_char::ch#1 ] ( main:2::test_16u:9::print_word:22::print_byte:47 [ test_16u::i#10 div16u::rem#8 test_16u::divisor#0 test_16u::res#0 line_cursor#1 print_word::w#4 char_cursor#11 print_char::ch#1 ] main:2::test_16u:9::print_word:26::print_byte:47 [ test_16u::i#10 div16u::rem#8 test_16u::res#0 line_cursor#1 print_word::w#4 char_cursor#11 print_char::ch#1 ] main:2::test_16u:9::print_word:30::print_byte:47 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_word::w#4 char_cursor#11 print_char::ch#1 ] main:2::test_16u:9::print_word:34::print_byte:47 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_word::w#4 char_cursor#11 print_char::ch#1 ] main:2::test_16u:9::print_word:22::print_byte:49 [ test_16u::i#10 div16u::rem#8 test_16u::divisor#0 test_16u::res#0 line_cursor#1 char_cursor#11 print_char::ch#1 ] main:2::test_16u:9::print_word:26::print_byte:49 [ test_16u::i#10 div16u::rem#8 test_16u::res#0 line_cursor#1 char_cursor#11 print_char::ch#1 ] main:2::test_16u:9::print_word:30::print_byte:49 [ test_16u::i#10 div16u::rem#8 line_cursor#1 char_cursor#11 print_char::ch#1 ] main:2::test_16u:9::print_word:34::print_byte:49 [ test_16u::i#10 div16u::rem#8 line_cursor#1 char_cursor#11 print_char::ch#1 ] main:2::test_8u:7::print_byte:97 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 char_cursor#11 print_char::ch#1 ] main:2::test_8u:7::print_byte:101 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 test_8u::res#0 char_cursor#11 print_char::ch#1 ] main:2::test_8u:7::print_byte:105 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 char_cursor#11 print_char::ch#1 ] main:2::test_8u:7::print_byte:109 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 char_cursor#11 print_char::ch#1 ] )
|
||||
[57] call print_char param-assignment [ char_cursor#11 ] ( main:2::test_16u:9::print_word:22::print_byte:47 [ test_16u::i#10 div16u::rem#8 test_16u::divisor#0 test_16u::res#0 line_cursor#1 print_word::w#4 char_cursor#11 ] main:2::test_16u:9::print_word:26::print_byte:47 [ test_16u::i#10 div16u::rem#8 test_16u::res#0 line_cursor#1 print_word::w#4 char_cursor#11 ] main:2::test_16u:9::print_word:30::print_byte:47 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_word::w#4 char_cursor#11 ] main:2::test_16u:9::print_word:34::print_byte:47 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_word::w#4 char_cursor#11 ] main:2::test_16u:9::print_word:22::print_byte:49 [ test_16u::i#10 div16u::rem#8 test_16u::divisor#0 test_16u::res#0 line_cursor#1 char_cursor#11 ] main:2::test_16u:9::print_word:26::print_byte:49 [ test_16u::i#10 div16u::rem#8 test_16u::res#0 line_cursor#1 char_cursor#11 ] main:2::test_16u:9::print_word:30::print_byte:49 [ test_16u::i#10 div16u::rem#8 line_cursor#1 char_cursor#11 ] main:2::test_16u:9::print_word:34::print_byte:49 [ test_16u::i#10 div16u::rem#8 line_cursor#1 char_cursor#11 ] main:2::test_8u:7::print_byte:97 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 char_cursor#11 ] main:2::test_8u:7::print_byte:101 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 test_8u::res#0 char_cursor#11 ] main:2::test_8u:7::print_byte:105 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 char_cursor#11 ] main:2::test_8u:7::print_byte:109 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 char_cursor#11 ] )
|
||||
to:print_byte::@return
|
||||
print_byte::@return: scope:[print_byte] from print_byte::@1
|
||||
[58] return [ char_cursor#11 ] ( main:2::test_16u:9::print_word:22::print_byte:47 [ test_16u::i#10 div16u::rem#8 test_16u::divisor#0 test_16u::res#0 line_cursor#1 print_word::w#4 char_cursor#11 ] main:2::test_16u:9::print_word:26::print_byte:47 [ test_16u::i#10 div16u::rem#8 test_16u::res#0 line_cursor#1 print_word::w#4 char_cursor#11 ] main:2::test_16u:9::print_word:30::print_byte:47 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_word::w#4 char_cursor#11 ] main:2::test_16u:9::print_word:34::print_byte:47 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_word::w#4 char_cursor#11 ] main:2::test_16u:9::print_word:22::print_byte:49 [ test_16u::i#10 div16u::rem#8 test_16u::divisor#0 test_16u::res#0 line_cursor#1 char_cursor#11 ] main:2::test_16u:9::print_word:26::print_byte:49 [ test_16u::i#10 div16u::rem#8 test_16u::res#0 line_cursor#1 char_cursor#11 ] main:2::test_16u:9::print_word:30::print_byte:49 [ test_16u::i#10 div16u::rem#8 line_cursor#1 char_cursor#11 ] main:2::test_16u:9::print_word:34::print_byte:49 [ test_16u::i#10 div16u::rem#8 line_cursor#1 char_cursor#11 ] main:2::test_8u:7::print_byte:97 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 char_cursor#11 ] main:2::test_8u:7::print_byte:101 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 test_8u::res#0 char_cursor#11 ] main:2::test_8u:7::print_byte:105 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 char_cursor#11 ] main:2::test_8u:7::print_byte:109 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 char_cursor#11 ] )
|
||||
to:@return
|
||||
print_char: scope:[print_char] from print_byte print_byte::@1
|
||||
[59] (byte*) char_cursor#45 ← phi( print_byte/(byte*) char_cursor#72 print_byte::@1/(byte*) char_cursor#11 ) [ print_char::ch#2 char_cursor#45 ] ( main:2::test_16u:9::print_word:22::print_byte:47::print_char:54 [ test_16u::i#10 div16u::rem#8 test_16u::divisor#0 test_16u::res#0 line_cursor#1 print_word::w#4 print_byte::b#6 print_char::ch#2 char_cursor#45 ] main:2::test_16u:9::print_word:26::print_byte:47::print_char:54 [ test_16u::i#10 div16u::rem#8 test_16u::res#0 line_cursor#1 print_word::w#4 print_byte::b#6 print_char::ch#2 char_cursor#45 ] main:2::test_16u:9::print_word:30::print_byte:47::print_char:54 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_word::w#4 print_byte::b#6 print_char::ch#2 char_cursor#45 ] main:2::test_16u:9::print_word:34::print_byte:47::print_char:54 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_word::w#4 print_byte::b#6 print_char::ch#2 char_cursor#45 ] main:2::test_16u:9::print_word:22::print_byte:49::print_char:54 [ test_16u::i#10 div16u::rem#8 test_16u::divisor#0 test_16u::res#0 line_cursor#1 print_byte::b#6 print_char::ch#2 char_cursor#45 ] main:2::test_16u:9::print_word:26::print_byte:49::print_char:54 [ test_16u::i#10 div16u::rem#8 test_16u::res#0 line_cursor#1 print_byte::b#6 print_char::ch#2 char_cursor#45 ] main:2::test_16u:9::print_word:30::print_byte:49::print_char:54 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_byte::b#6 print_char::ch#2 char_cursor#45 ] main:2::test_16u:9::print_word:34::print_byte:49::print_char:54 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_byte::b#6 print_char::ch#2 char_cursor#45 ] main:2::test_8u:7::print_byte:97::print_char:54 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 print_byte::b#6 print_char::ch#2 char_cursor#45 ] main:2::test_8u:7::print_byte:101::print_char:54 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 test_8u::res#0 print_byte::b#6 print_char::ch#2 char_cursor#45 ] main:2::test_8u:7::print_byte:105::print_char:54 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 print_byte::b#6 print_char::ch#2 char_cursor#45 ] main:2::test_8u:7::print_byte:109::print_char:54 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 print_byte::b#6 print_char::ch#2 char_cursor#45 ] main:2::test_16u:9::print_word:22::print_byte:47::print_char:57 [ test_16u::i#10 div16u::rem#8 test_16u::divisor#0 test_16u::res#0 line_cursor#1 print_word::w#4 print_char::ch#2 char_cursor#45 ] main:2::test_16u:9::print_word:26::print_byte:47::print_char:57 [ test_16u::i#10 div16u::rem#8 test_16u::res#0 line_cursor#1 print_word::w#4 print_char::ch#2 char_cursor#45 ] main:2::test_16u:9::print_word:30::print_byte:47::print_char:57 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_word::w#4 print_char::ch#2 char_cursor#45 ] main:2::test_16u:9::print_word:34::print_byte:47::print_char:57 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_word::w#4 print_char::ch#2 char_cursor#45 ] main:2::test_16u:9::print_word:22::print_byte:49::print_char:57 [ test_16u::i#10 div16u::rem#8 test_16u::divisor#0 test_16u::res#0 line_cursor#1 print_char::ch#2 char_cursor#45 ] main:2::test_16u:9::print_word:26::print_byte:49::print_char:57 [ test_16u::i#10 div16u::rem#8 test_16u::res#0 line_cursor#1 print_char::ch#2 char_cursor#45 ] main:2::test_16u:9::print_word:30::print_byte:49::print_char:57 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_char::ch#2 char_cursor#45 ] main:2::test_16u:9::print_word:34::print_byte:49::print_char:57 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_char::ch#2 char_cursor#45 ] main:2::test_8u:7::print_byte:97::print_char:57 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 print_char::ch#2 char_cursor#45 ] main:2::test_8u:7::print_byte:101::print_char:57 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 test_8u::res#0 print_char::ch#2 char_cursor#45 ] main:2::test_8u:7::print_byte:105::print_char:57 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 print_char::ch#2 char_cursor#45 ] main:2::test_8u:7::print_byte:109::print_char:57 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 print_char::ch#2 char_cursor#45 ] )
|
||||
[59] (byte) print_char::ch#2 ← phi( print_byte/(byte) print_char::ch#0 print_byte::@1/(byte) print_char::ch#1 ) [ print_char::ch#2 char_cursor#45 ] ( main:2::test_16u:9::print_word:22::print_byte:47::print_char:54 [ test_16u::i#10 div16u::rem#8 test_16u::divisor#0 test_16u::res#0 line_cursor#1 print_word::w#4 print_byte::b#6 print_char::ch#2 char_cursor#45 ] main:2::test_16u:9::print_word:26::print_byte:47::print_char:54 [ test_16u::i#10 div16u::rem#8 test_16u::res#0 line_cursor#1 print_word::w#4 print_byte::b#6 print_char::ch#2 char_cursor#45 ] main:2::test_16u:9::print_word:30::print_byte:47::print_char:54 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_word::w#4 print_byte::b#6 print_char::ch#2 char_cursor#45 ] main:2::test_16u:9::print_word:34::print_byte:47::print_char:54 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_word::w#4 print_byte::b#6 print_char::ch#2 char_cursor#45 ] main:2::test_16u:9::print_word:22::print_byte:49::print_char:54 [ test_16u::i#10 div16u::rem#8 test_16u::divisor#0 test_16u::res#0 line_cursor#1 print_byte::b#6 print_char::ch#2 char_cursor#45 ] main:2::test_16u:9::print_word:26::print_byte:49::print_char:54 [ test_16u::i#10 div16u::rem#8 test_16u::res#0 line_cursor#1 print_byte::b#6 print_char::ch#2 char_cursor#45 ] main:2::test_16u:9::print_word:30::print_byte:49::print_char:54 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_byte::b#6 print_char::ch#2 char_cursor#45 ] main:2::test_16u:9::print_word:34::print_byte:49::print_char:54 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_byte::b#6 print_char::ch#2 char_cursor#45 ] main:2::test_8u:7::print_byte:97::print_char:54 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 print_byte::b#6 print_char::ch#2 char_cursor#45 ] main:2::test_8u:7::print_byte:101::print_char:54 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 test_8u::res#0 print_byte::b#6 print_char::ch#2 char_cursor#45 ] main:2::test_8u:7::print_byte:105::print_char:54 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 print_byte::b#6 print_char::ch#2 char_cursor#45 ] main:2::test_8u:7::print_byte:109::print_char:54 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 print_byte::b#6 print_char::ch#2 char_cursor#45 ] main:2::test_16u:9::print_word:22::print_byte:47::print_char:57 [ test_16u::i#10 div16u::rem#8 test_16u::divisor#0 test_16u::res#0 line_cursor#1 print_word::w#4 print_char::ch#2 char_cursor#45 ] main:2::test_16u:9::print_word:26::print_byte:47::print_char:57 [ test_16u::i#10 div16u::rem#8 test_16u::res#0 line_cursor#1 print_word::w#4 print_char::ch#2 char_cursor#45 ] main:2::test_16u:9::print_word:30::print_byte:47::print_char:57 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_word::w#4 print_char::ch#2 char_cursor#45 ] main:2::test_16u:9::print_word:34::print_byte:47::print_char:57 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_word::w#4 print_char::ch#2 char_cursor#45 ] main:2::test_16u:9::print_word:22::print_byte:49::print_char:57 [ test_16u::i#10 div16u::rem#8 test_16u::divisor#0 test_16u::res#0 line_cursor#1 print_char::ch#2 char_cursor#45 ] main:2::test_16u:9::print_word:26::print_byte:49::print_char:57 [ test_16u::i#10 div16u::rem#8 test_16u::res#0 line_cursor#1 print_char::ch#2 char_cursor#45 ] main:2::test_16u:9::print_word:30::print_byte:49::print_char:57 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_char::ch#2 char_cursor#45 ] main:2::test_16u:9::print_word:34::print_byte:49::print_char:57 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_char::ch#2 char_cursor#45 ] main:2::test_8u:7::print_byte:97::print_char:57 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 print_char::ch#2 char_cursor#45 ] main:2::test_8u:7::print_byte:101::print_char:57 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 test_8u::res#0 print_char::ch#2 char_cursor#45 ] main:2::test_8u:7::print_byte:105::print_char:57 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 print_char::ch#2 char_cursor#45 ] main:2::test_8u:7::print_byte:109::print_char:57 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 print_char::ch#2 char_cursor#45 ] )
|
||||
[60] *((byte*) char_cursor#45) ← (byte) print_char::ch#2 [ char_cursor#45 ] ( main:2::test_16u:9::print_word:22::print_byte:47::print_char:54 [ test_16u::i#10 div16u::rem#8 test_16u::divisor#0 test_16u::res#0 line_cursor#1 print_word::w#4 print_byte::b#6 char_cursor#45 ] main:2::test_16u:9::print_word:26::print_byte:47::print_char:54 [ test_16u::i#10 div16u::rem#8 test_16u::res#0 line_cursor#1 print_word::w#4 print_byte::b#6 char_cursor#45 ] main:2::test_16u:9::print_word:30::print_byte:47::print_char:54 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_word::w#4 print_byte::b#6 char_cursor#45 ] main:2::test_16u:9::print_word:34::print_byte:47::print_char:54 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_word::w#4 print_byte::b#6 char_cursor#45 ] main:2::test_16u:9::print_word:22::print_byte:49::print_char:54 [ test_16u::i#10 div16u::rem#8 test_16u::divisor#0 test_16u::res#0 line_cursor#1 print_byte::b#6 char_cursor#45 ] main:2::test_16u:9::print_word:26::print_byte:49::print_char:54 [ test_16u::i#10 div16u::rem#8 test_16u::res#0 line_cursor#1 print_byte::b#6 char_cursor#45 ] main:2::test_16u:9::print_word:30::print_byte:49::print_char:54 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_byte::b#6 char_cursor#45 ] main:2::test_16u:9::print_word:34::print_byte:49::print_char:54 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_byte::b#6 char_cursor#45 ] main:2::test_8u:7::print_byte:97::print_char:54 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 print_byte::b#6 char_cursor#45 ] main:2::test_8u:7::print_byte:101::print_char:54 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 test_8u::res#0 print_byte::b#6 char_cursor#45 ] main:2::test_8u:7::print_byte:105::print_char:54 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 print_byte::b#6 char_cursor#45 ] main:2::test_8u:7::print_byte:109::print_char:54 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 print_byte::b#6 char_cursor#45 ] main:2::test_16u:9::print_word:22::print_byte:47::print_char:57 [ test_16u::i#10 div16u::rem#8 test_16u::divisor#0 test_16u::res#0 line_cursor#1 print_word::w#4 char_cursor#45 ] main:2::test_16u:9::print_word:26::print_byte:47::print_char:57 [ test_16u::i#10 div16u::rem#8 test_16u::res#0 line_cursor#1 print_word::w#4 char_cursor#45 ] main:2::test_16u:9::print_word:30::print_byte:47::print_char:57 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_word::w#4 char_cursor#45 ] main:2::test_16u:9::print_word:34::print_byte:47::print_char:57 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_word::w#4 char_cursor#45 ] main:2::test_16u:9::print_word:22::print_byte:49::print_char:57 [ test_16u::i#10 div16u::rem#8 test_16u::divisor#0 test_16u::res#0 line_cursor#1 char_cursor#45 ] main:2::test_16u:9::print_word:26::print_byte:49::print_char:57 [ test_16u::i#10 div16u::rem#8 test_16u::res#0 line_cursor#1 char_cursor#45 ] main:2::test_16u:9::print_word:30::print_byte:49::print_char:57 [ test_16u::i#10 div16u::rem#8 line_cursor#1 char_cursor#45 ] main:2::test_16u:9::print_word:34::print_byte:49::print_char:57 [ test_16u::i#10 div16u::rem#8 line_cursor#1 char_cursor#45 ] main:2::test_8u:7::print_byte:97::print_char:57 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 char_cursor#45 ] main:2::test_8u:7::print_byte:101::print_char:57 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 test_8u::res#0 char_cursor#45 ] main:2::test_8u:7::print_byte:105::print_char:57 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 char_cursor#45 ] main:2::test_8u:7::print_byte:109::print_char:57 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 char_cursor#45 ] )
|
||||
[61] (byte*) char_cursor#11 ← ++ (byte*) char_cursor#45 [ char_cursor#11 ] ( main:2::test_16u:9::print_word:22::print_byte:47::print_char:54 [ test_16u::i#10 div16u::rem#8 test_16u::divisor#0 test_16u::res#0 line_cursor#1 print_word::w#4 print_byte::b#6 char_cursor#11 ] main:2::test_16u:9::print_word:26::print_byte:47::print_char:54 [ test_16u::i#10 div16u::rem#8 test_16u::res#0 line_cursor#1 print_word::w#4 print_byte::b#6 char_cursor#11 ] main:2::test_16u:9::print_word:30::print_byte:47::print_char:54 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_word::w#4 print_byte::b#6 char_cursor#11 ] main:2::test_16u:9::print_word:34::print_byte:47::print_char:54 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_word::w#4 print_byte::b#6 char_cursor#11 ] main:2::test_16u:9::print_word:22::print_byte:49::print_char:54 [ test_16u::i#10 div16u::rem#8 test_16u::divisor#0 test_16u::res#0 line_cursor#1 print_byte::b#6 char_cursor#11 ] main:2::test_16u:9::print_word:26::print_byte:49::print_char:54 [ test_16u::i#10 div16u::rem#8 test_16u::res#0 line_cursor#1 print_byte::b#6 char_cursor#11 ] main:2::test_16u:9::print_word:30::print_byte:49::print_char:54 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_byte::b#6 char_cursor#11 ] main:2::test_16u:9::print_word:34::print_byte:49::print_char:54 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_byte::b#6 char_cursor#11 ] main:2::test_8u:7::print_byte:97::print_char:54 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 print_byte::b#6 char_cursor#11 ] main:2::test_8u:7::print_byte:101::print_char:54 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 test_8u::res#0 print_byte::b#6 char_cursor#11 ] main:2::test_8u:7::print_byte:105::print_char:54 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 print_byte::b#6 char_cursor#11 ] main:2::test_8u:7::print_byte:109::print_char:54 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 print_byte::b#6 char_cursor#11 ] main:2::test_16u:9::print_word:22::print_byte:47::print_char:57 [ test_16u::i#10 div16u::rem#8 test_16u::divisor#0 test_16u::res#0 line_cursor#1 print_word::w#4 char_cursor#11 ] main:2::test_16u:9::print_word:26::print_byte:47::print_char:57 [ test_16u::i#10 div16u::rem#8 test_16u::res#0 line_cursor#1 print_word::w#4 char_cursor#11 ] main:2::test_16u:9::print_word:30::print_byte:47::print_char:57 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_word::w#4 char_cursor#11 ] main:2::test_16u:9::print_word:34::print_byte:47::print_char:57 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_word::w#4 char_cursor#11 ] main:2::test_16u:9::print_word:22::print_byte:49::print_char:57 [ test_16u::i#10 div16u::rem#8 test_16u::divisor#0 test_16u::res#0 line_cursor#1 char_cursor#11 ] main:2::test_16u:9::print_word:26::print_byte:49::print_char:57 [ test_16u::i#10 div16u::rem#8 test_16u::res#0 line_cursor#1 char_cursor#11 ] main:2::test_16u:9::print_word:30::print_byte:49::print_char:57 [ test_16u::i#10 div16u::rem#8 line_cursor#1 char_cursor#11 ] main:2::test_16u:9::print_word:34::print_byte:49::print_char:57 [ test_16u::i#10 div16u::rem#8 line_cursor#1 char_cursor#11 ] main:2::test_8u:7::print_byte:97::print_char:57 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 char_cursor#11 ] main:2::test_8u:7::print_byte:101::print_char:57 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 test_8u::res#0 char_cursor#11 ] main:2::test_8u:7::print_byte:105::print_char:57 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 char_cursor#11 ] main:2::test_8u:7::print_byte:109::print_char:57 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 char_cursor#11 ] )
|
||||
to:print_char::@return
|
||||
print_char::@return: scope:[print_char] from print_char
|
||||
[62] return [ char_cursor#11 ] ( main:2::test_16u:9::print_word:22::print_byte:47::print_char:54 [ test_16u::i#10 div16u::rem#8 test_16u::divisor#0 test_16u::res#0 line_cursor#1 print_word::w#4 print_byte::b#6 char_cursor#11 ] main:2::test_16u:9::print_word:26::print_byte:47::print_char:54 [ test_16u::i#10 div16u::rem#8 test_16u::res#0 line_cursor#1 print_word::w#4 print_byte::b#6 char_cursor#11 ] main:2::test_16u:9::print_word:30::print_byte:47::print_char:54 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_word::w#4 print_byte::b#6 char_cursor#11 ] main:2::test_16u:9::print_word:34::print_byte:47::print_char:54 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_word::w#4 print_byte::b#6 char_cursor#11 ] main:2::test_16u:9::print_word:22::print_byte:49::print_char:54 [ test_16u::i#10 div16u::rem#8 test_16u::divisor#0 test_16u::res#0 line_cursor#1 print_byte::b#6 char_cursor#11 ] main:2::test_16u:9::print_word:26::print_byte:49::print_char:54 [ test_16u::i#10 div16u::rem#8 test_16u::res#0 line_cursor#1 print_byte::b#6 char_cursor#11 ] main:2::test_16u:9::print_word:30::print_byte:49::print_char:54 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_byte::b#6 char_cursor#11 ] main:2::test_16u:9::print_word:34::print_byte:49::print_char:54 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_byte::b#6 char_cursor#11 ] main:2::test_8u:7::print_byte:97::print_char:54 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 print_byte::b#6 char_cursor#11 ] main:2::test_8u:7::print_byte:101::print_char:54 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 test_8u::res#0 print_byte::b#6 char_cursor#11 ] main:2::test_8u:7::print_byte:105::print_char:54 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 print_byte::b#6 char_cursor#11 ] main:2::test_8u:7::print_byte:109::print_char:54 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 print_byte::b#6 char_cursor#11 ] main:2::test_16u:9::print_word:22::print_byte:47::print_char:57 [ test_16u::i#10 div16u::rem#8 test_16u::divisor#0 test_16u::res#0 line_cursor#1 print_word::w#4 char_cursor#11 ] main:2::test_16u:9::print_word:26::print_byte:47::print_char:57 [ test_16u::i#10 div16u::rem#8 test_16u::res#0 line_cursor#1 print_word::w#4 char_cursor#11 ] main:2::test_16u:9::print_word:30::print_byte:47::print_char:57 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_word::w#4 char_cursor#11 ] main:2::test_16u:9::print_word:34::print_byte:47::print_char:57 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_word::w#4 char_cursor#11 ] main:2::test_16u:9::print_word:22::print_byte:49::print_char:57 [ test_16u::i#10 div16u::rem#8 test_16u::divisor#0 test_16u::res#0 line_cursor#1 char_cursor#11 ] main:2::test_16u:9::print_word:26::print_byte:49::print_char:57 [ test_16u::i#10 div16u::rem#8 test_16u::res#0 line_cursor#1 char_cursor#11 ] main:2::test_16u:9::print_word:30::print_byte:49::print_char:57 [ test_16u::i#10 div16u::rem#8 line_cursor#1 char_cursor#11 ] main:2::test_16u:9::print_word:34::print_byte:49::print_char:57 [ test_16u::i#10 div16u::rem#8 line_cursor#1 char_cursor#11 ] main:2::test_8u:7::print_byte:97::print_char:57 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 char_cursor#11 ] main:2::test_8u:7::print_byte:101::print_char:57 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 test_8u::res#0 char_cursor#11 ] main:2::test_8u:7::print_byte:105::print_char:57 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 char_cursor#11 ] main:2::test_8u:7::print_byte:109::print_char:57 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 char_cursor#11 ] )
|
||||
to:@return
|
||||
print_str: scope:[print_str] from test_16u::@4 test_16u::@6 test_16u::@8 test_8u::@4 test_8u::@6 test_8u::@8
|
||||
[63] (byte*) print_str::str#9 ← phi( test_16u::@4/(const string) test_16u::str test_16u::@6/(const string) test_16u::str1 test_16u::@8/(const string) test_16u::str2 test_8u::@4/(const string) test_8u::str test_8u::@6/(const string) test_8u::str1 test_8u::@8/(const string) test_8u::str2 ) [ char_cursor#11 print_str::str#9 ] ( main:2::test_16u:9::print_str:24 [ test_16u::i#10 div16u::rem#8 test_16u::divisor#0 test_16u::res#0 line_cursor#1 char_cursor#11 print_str::str#9 ] main:2::test_16u:9::print_str:28 [ test_16u::i#10 div16u::rem#8 test_16u::res#0 line_cursor#1 char_cursor#11 print_str::str#9 ] main:2::test_16u:9::print_str:32 [ test_16u::i#10 div16u::rem#8 line_cursor#1 char_cursor#11 print_str::str#9 ] main:2::test_8u:7::print_str:99 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 char_cursor#11 print_str::str#9 ] main:2::test_8u:7::print_str:103 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 test_8u::res#0 char_cursor#11 print_str::str#9 ] main:2::test_8u:7::print_str:107 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 char_cursor#11 print_str::str#9 ] )
|
||||
to:print_str::@1
|
||||
print_str::@1: scope:[print_str] from print_str print_str::@2
|
||||
[64] (byte*) char_cursor#2 ← phi( print_str/(byte*) char_cursor#11 print_str::@2/(byte*) char_cursor#1 ) [ char_cursor#2 print_str::str#7 ] ( main:2::test_16u:9::print_str:24 [ test_16u::i#10 div16u::rem#8 test_16u::divisor#0 test_16u::res#0 line_cursor#1 char_cursor#2 print_str::str#7 ] main:2::test_16u:9::print_str:28 [ test_16u::i#10 div16u::rem#8 test_16u::res#0 line_cursor#1 char_cursor#2 print_str::str#7 ] main:2::test_16u:9::print_str:32 [ test_16u::i#10 div16u::rem#8 line_cursor#1 char_cursor#2 print_str::str#7 ] main:2::test_8u:7::print_str:99 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 char_cursor#2 print_str::str#7 ] main:2::test_8u:7::print_str:103 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 test_8u::res#0 char_cursor#2 print_str::str#7 ] main:2::test_8u:7::print_str:107 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 char_cursor#2 print_str::str#7 ] )
|
||||
[64] (byte*) print_str::str#7 ← phi( print_str/(byte*) print_str::str#9 print_str::@2/(byte*) print_str::str#0 ) [ char_cursor#2 print_str::str#7 ] ( main:2::test_16u:9::print_str:24 [ test_16u::i#10 div16u::rem#8 test_16u::divisor#0 test_16u::res#0 line_cursor#1 char_cursor#2 print_str::str#7 ] main:2::test_16u:9::print_str:28 [ test_16u::i#10 div16u::rem#8 test_16u::res#0 line_cursor#1 char_cursor#2 print_str::str#7 ] main:2::test_16u:9::print_str:32 [ test_16u::i#10 div16u::rem#8 line_cursor#1 char_cursor#2 print_str::str#7 ] main:2::test_8u:7::print_str:99 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 char_cursor#2 print_str::str#7 ] main:2::test_8u:7::print_str:103 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 test_8u::res#0 char_cursor#2 print_str::str#7 ] main:2::test_8u:7::print_str:107 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 char_cursor#2 print_str::str#7 ] )
|
||||
[65] if(*((byte*) print_str::str#7)!=(byte) '@') goto print_str::@2 [ char_cursor#2 print_str::str#7 ] ( main:2::test_16u:9::print_str:24 [ test_16u::i#10 div16u::rem#8 test_16u::divisor#0 test_16u::res#0 line_cursor#1 char_cursor#2 print_str::str#7 ] main:2::test_16u:9::print_str:28 [ test_16u::i#10 div16u::rem#8 test_16u::res#0 line_cursor#1 char_cursor#2 print_str::str#7 ] main:2::test_16u:9::print_str:32 [ test_16u::i#10 div16u::rem#8 line_cursor#1 char_cursor#2 print_str::str#7 ] main:2::test_8u:7::print_str:99 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 char_cursor#2 print_str::str#7 ] main:2::test_8u:7::print_str:103 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 test_8u::res#0 char_cursor#2 print_str::str#7 ] main:2::test_8u:7::print_str:107 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 char_cursor#2 print_str::str#7 ] )
|
||||
to:print_str::@return
|
||||
print_str::@return: scope:[print_str] from print_str::@1
|
||||
[66] return [ char_cursor#2 ] ( main:2::test_16u:9::print_str:24 [ test_16u::i#10 div16u::rem#8 test_16u::divisor#0 test_16u::res#0 line_cursor#1 char_cursor#2 ] main:2::test_16u:9::print_str:28 [ test_16u::i#10 div16u::rem#8 test_16u::res#0 line_cursor#1 char_cursor#2 ] main:2::test_16u:9::print_str:32 [ test_16u::i#10 div16u::rem#8 line_cursor#1 char_cursor#2 ] main:2::test_8u:7::print_str:99 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 char_cursor#2 ] main:2::test_8u:7::print_str:103 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 test_8u::res#0 char_cursor#2 ] main:2::test_8u:7::print_str:107 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 char_cursor#2 ] )
|
||||
to:@return
|
||||
print_str::@2: scope:[print_str] from print_str::@1
|
||||
[67] *((byte*) char_cursor#2) ← *((byte*) print_str::str#7) [ char_cursor#2 print_str::str#7 ] ( main:2::test_16u:9::print_str:24 [ test_16u::i#10 div16u::rem#8 test_16u::divisor#0 test_16u::res#0 line_cursor#1 char_cursor#2 print_str::str#7 ] main:2::test_16u:9::print_str:28 [ test_16u::i#10 div16u::rem#8 test_16u::res#0 line_cursor#1 char_cursor#2 print_str::str#7 ] main:2::test_16u:9::print_str:32 [ test_16u::i#10 div16u::rem#8 line_cursor#1 char_cursor#2 print_str::str#7 ] main:2::test_8u:7::print_str:99 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 char_cursor#2 print_str::str#7 ] main:2::test_8u:7::print_str:103 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 test_8u::res#0 char_cursor#2 print_str::str#7 ] main:2::test_8u:7::print_str:107 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 char_cursor#2 print_str::str#7 ] )
|
||||
[68] (byte*) char_cursor#1 ← ++ (byte*) char_cursor#2 [ print_str::str#7 char_cursor#1 ] ( main:2::test_16u:9::print_str:24 [ test_16u::i#10 div16u::rem#8 test_16u::divisor#0 test_16u::res#0 line_cursor#1 print_str::str#7 char_cursor#1 ] main:2::test_16u:9::print_str:28 [ test_16u::i#10 div16u::rem#8 test_16u::res#0 line_cursor#1 print_str::str#7 char_cursor#1 ] main:2::test_16u:9::print_str:32 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_str::str#7 char_cursor#1 ] main:2::test_8u:7::print_str:99 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 print_str::str#7 char_cursor#1 ] main:2::test_8u:7::print_str:103 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 test_8u::res#0 print_str::str#7 char_cursor#1 ] main:2::test_8u:7::print_str:107 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 print_str::str#7 char_cursor#1 ] )
|
||||
[69] (byte*) print_str::str#0 ← ++ (byte*) print_str::str#7 [ print_str::str#0 char_cursor#1 ] ( main:2::test_16u:9::print_str:24 [ test_16u::i#10 div16u::rem#8 test_16u::divisor#0 test_16u::res#0 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::test_16u:9::print_str:28 [ test_16u::i#10 div16u::rem#8 test_16u::res#0 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::test_16u:9::print_str:32 [ test_16u::i#10 div16u::rem#8 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::test_8u:7::print_str:99 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 print_str::str#0 char_cursor#1 ] main:2::test_8u:7::print_str:103 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 test_8u::res#0 print_str::str#0 char_cursor#1 ] main:2::test_8u:7::print_str:107 [ line_cursor#25 test_8u::rem#0 test_8u::i#10 print_str::str#0 char_cursor#1 ] )
|
||||
to:print_str::@1
|
||||
div16u: scope:[div16u] from test_16u::@1
|
||||
[70] phi() [ div16u::dividend#1 div16u::divisor#0 ] ( main:2::test_16u:9::div16u:17 [ test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 line_cursor#1 div16u::dividend#1 div16u::divisor#0 ] )
|
||||
to:div16u::@1
|
||||
div16u::@1: scope:[div16u] from div16u div16u::@3
|
||||
[71] (byte) div16u::i#2 ← phi( div16u/(byte/signed byte/word/signed word/dword/signed dword) 0 div16u::@3/(byte) div16u::i#1 ) [ div16u::divisor#0 div16u::rem#4 div16u::dividend#2 div16u::quotient#3 div16u::i#2 ] ( main:2::test_16u:9::div16u:17 [ test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 line_cursor#1 div16u::divisor#0 div16u::rem#4 div16u::dividend#2 div16u::quotient#3 div16u::i#2 ] )
|
||||
[71] (word) div16u::quotient#3 ← phi( div16u/(byte/signed byte/word/signed word/dword/signed dword) 0 div16u::@3/(word) div16u::return#0 ) [ div16u::divisor#0 div16u::rem#4 div16u::dividend#2 div16u::quotient#3 div16u::i#2 ] ( main:2::test_16u:9::div16u:17 [ test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 line_cursor#1 div16u::divisor#0 div16u::rem#4 div16u::dividend#2 div16u::quotient#3 div16u::i#2 ] )
|
||||
[71] (word) div16u::dividend#2 ← phi( div16u/(word) div16u::dividend#1 div16u::@3/(word) div16u::dividend#0 ) [ div16u::divisor#0 div16u::rem#4 div16u::dividend#2 div16u::quotient#3 div16u::i#2 ] ( main:2::test_16u:9::div16u:17 [ test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 line_cursor#1 div16u::divisor#0 div16u::rem#4 div16u::dividend#2 div16u::quotient#3 div16u::i#2 ] )
|
||||
[71] (word) div16u::rem#4 ← phi( div16u/(byte/signed byte/word/signed word/dword/signed dword) 0 div16u::@3/(word) div16u::rem#8 ) [ div16u::divisor#0 div16u::rem#4 div16u::dividend#2 div16u::quotient#3 div16u::i#2 ] ( main:2::test_16u:9::div16u:17 [ test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 line_cursor#1 div16u::divisor#0 div16u::rem#4 div16u::dividend#2 div16u::quotient#3 div16u::i#2 ] )
|
||||
[72] (word) div16u::rem#1 ← (word) div16u::rem#4 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ div16u::divisor#0 div16u::dividend#2 div16u::quotient#3 div16u::i#2 div16u::rem#1 ] ( main:2::test_16u:9::div16u:17 [ test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 line_cursor#1 div16u::divisor#0 div16u::dividend#2 div16u::quotient#3 div16u::i#2 div16u::rem#1 ] )
|
||||
[73] (byte~) div16u::$1 ← > (word) div16u::dividend#2 [ div16u::divisor#0 div16u::dividend#2 div16u::quotient#3 div16u::i#2 div16u::rem#1 div16u::$1 ] ( main:2::test_16u:9::div16u:17 [ test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 line_cursor#1 div16u::divisor#0 div16u::dividend#2 div16u::quotient#3 div16u::i#2 div16u::rem#1 div16u::$1 ] )
|
||||
[74] (byte~) div16u::$2 ← (byte~) div16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ div16u::divisor#0 div16u::dividend#2 div16u::quotient#3 div16u::i#2 div16u::rem#1 div16u::$2 ] ( main:2::test_16u:9::div16u:17 [ test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 line_cursor#1 div16u::divisor#0 div16u::dividend#2 div16u::quotient#3 div16u::i#2 div16u::rem#1 div16u::$2 ] )
|
||||
[75] if((byte~) div16u::$2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto div16u::@2 [ div16u::divisor#0 div16u::dividend#2 div16u::quotient#3 div16u::i#2 div16u::rem#1 ] ( main:2::test_16u:9::div16u:17 [ test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 line_cursor#1 div16u::divisor#0 div16u::dividend#2 div16u::quotient#3 div16u::i#2 div16u::rem#1 ] )
|
||||
to:div16u::@4
|
||||
div16u::@4: scope:[div16u] from div16u::@1
|
||||
[76] (word) div16u::rem#2 ← ++ (word) div16u::rem#1 [ div16u::divisor#0 div16u::dividend#2 div16u::quotient#3 div16u::i#2 div16u::rem#2 ] ( main:2::test_16u:9::div16u:17 [ test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 line_cursor#1 div16u::divisor#0 div16u::dividend#2 div16u::quotient#3 div16u::i#2 div16u::rem#2 ] )
|
||||
to:div16u::@2
|
||||
div16u::@2: scope:[div16u] from div16u::@1 div16u::@4
|
||||
[77] (word) div16u::rem#5 ← phi( div16u::@1/(word) div16u::rem#1 div16u::@4/(word) div16u::rem#2 ) [ div16u::divisor#0 div16u::dividend#2 div16u::quotient#3 div16u::i#2 div16u::rem#5 ] ( main:2::test_16u:9::div16u:17 [ test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 line_cursor#1 div16u::divisor#0 div16u::dividend#2 div16u::quotient#3 div16u::i#2 div16u::rem#5 ] )
|
||||
[78] (word) div16u::dividend#0 ← (word) div16u::dividend#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ div16u::divisor#0 div16u::quotient#3 div16u::i#2 div16u::dividend#0 div16u::rem#5 ] ( main:2::test_16u:9::div16u:17 [ test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 line_cursor#1 div16u::divisor#0 div16u::quotient#3 div16u::i#2 div16u::dividend#0 div16u::rem#5 ] )
|
||||
[79] (word) div16u::quotient#1 ← (word) div16u::quotient#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ div16u::divisor#0 div16u::i#2 div16u::dividend#0 div16u::rem#5 div16u::quotient#1 ] ( main:2::test_16u:9::div16u:17 [ test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 line_cursor#1 div16u::divisor#0 div16u::i#2 div16u::dividend#0 div16u::rem#5 div16u::quotient#1 ] )
|
||||
[80] if((word) div16u::rem#5<(word) div16u::divisor#0) goto div16u::@3 [ div16u::divisor#0 div16u::i#2 div16u::dividend#0 div16u::rem#5 div16u::quotient#1 ] ( main:2::test_16u:9::div16u:17 [ test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 line_cursor#1 div16u::divisor#0 div16u::i#2 div16u::dividend#0 div16u::rem#5 div16u::quotient#1 ] )
|
||||
to:div16u::@5
|
||||
div16u::@5: scope:[div16u] from div16u::@2
|
||||
[81] (word) div16u::quotient#2 ← ++ (word) div16u::quotient#1 [ div16u::divisor#0 div16u::i#2 div16u::dividend#0 div16u::rem#5 div16u::quotient#2 ] ( main:2::test_16u:9::div16u:17 [ test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 line_cursor#1 div16u::divisor#0 div16u::i#2 div16u::dividend#0 div16u::rem#5 div16u::quotient#2 ] )
|
||||
[82] (word) div16u::rem#3 ← (word) div16u::rem#5 - (word) div16u::divisor#0 [ div16u::divisor#0 div16u::i#2 div16u::dividend#0 div16u::quotient#2 div16u::rem#3 ] ( main:2::test_16u:9::div16u:17 [ test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 line_cursor#1 div16u::divisor#0 div16u::i#2 div16u::dividend#0 div16u::quotient#2 div16u::rem#3 ] )
|
||||
to:div16u::@3
|
||||
div16u::@3: scope:[div16u] from div16u::@2 div16u::@5
|
||||
[83] (word) div16u::return#0 ← phi( div16u::@2/(word) div16u::quotient#1 div16u::@5/(word) div16u::quotient#2 ) [ div16u::rem#8 div16u::divisor#0 div16u::return#0 div16u::i#2 div16u::dividend#0 ] ( main:2::test_16u:9::div16u:17 [ test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 line_cursor#1 div16u::rem#8 div16u::divisor#0 div16u::return#0 div16u::i#2 div16u::dividend#0 ] )
|
||||
[83] (word) div16u::rem#8 ← phi( div16u::@2/(word) div16u::rem#5 div16u::@5/(word) div16u::rem#3 ) [ div16u::rem#8 div16u::divisor#0 div16u::return#0 div16u::i#2 div16u::dividend#0 ] ( main:2::test_16u:9::div16u:17 [ test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 line_cursor#1 div16u::rem#8 div16u::divisor#0 div16u::return#0 div16u::i#2 div16u::dividend#0 ] )
|
||||
[84] (byte) div16u::i#1 ← ++ (byte) div16u::i#2 [ div16u::rem#8 div16u::divisor#0 div16u::return#0 div16u::dividend#0 div16u::i#1 ] ( main:2::test_16u:9::div16u:17 [ test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 line_cursor#1 div16u::rem#8 div16u::divisor#0 div16u::return#0 div16u::dividend#0 div16u::i#1 ] )
|
||||
[85] if((byte) div16u::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto div16u::@1 [ div16u::rem#8 div16u::divisor#0 div16u::return#0 div16u::dividend#0 div16u::i#1 ] ( main:2::test_16u:9::div16u:17 [ test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 line_cursor#1 div16u::rem#8 div16u::divisor#0 div16u::return#0 div16u::dividend#0 div16u::i#1 ] )
|
||||
to:div16u::@return
|
||||
div16u::@return: scope:[div16u] from div16u::@3
|
||||
[86] return [ div16u::rem#8 div16u::return#0 ] ( main:2::test_16u:9::div16u:17 [ test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 line_cursor#1 div16u::rem#8 div16u::return#0 ] )
|
||||
to:@return
|
||||
test_8u: scope:[test_8u] from main::@1
|
||||
[87] (byte) test_8u::rem#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ test_8u::rem#0 ] ( main:2::test_8u:7 [ test_8u::rem#0 ] )
|
||||
test_8u: scope:[test_8u] from main::@2
|
||||
[11] (byte) test_8u::rem#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ test_8u::rem#0 line_cursor#1 div8s::rem8u#0 ] ( main:2::test_8u:9 [ test_8u::rem#0 line_cursor#1 div8s::rem8u#0 ] )
|
||||
to:test_8u::@1
|
||||
test_8u::@1: scope:[test_8u] from test_8u test_8u::@12
|
||||
[88] (byte*) line_cursor#25 ← phi( test_8u/((byte*))(word/signed word/dword/signed dword) 1024 test_8u::@12/(byte*) line_cursor#1 ) [ line_cursor#25 char_cursor#75 test_8u::rem#0 test_8u::i#10 ] ( main:2::test_8u:7 [ line_cursor#25 char_cursor#75 test_8u::rem#0 test_8u::i#10 ] )
|
||||
[88] (byte*) char_cursor#75 ← phi( test_8u/((byte*))(word/signed word/dword/signed dword) 1024 test_8u::@12/(byte*~) char_cursor#98 ) [ line_cursor#25 char_cursor#75 test_8u::rem#0 test_8u::i#10 ] ( main:2::test_8u:7 [ line_cursor#25 char_cursor#75 test_8u::rem#0 test_8u::i#10 ] )
|
||||
[88] (byte) test_8u::i#10 ← phi( test_8u/(byte/signed byte/word/signed word/dword/signed dword) 0 test_8u::@12/(byte) test_8u::i#1 ) [ line_cursor#25 char_cursor#75 test_8u::rem#0 test_8u::i#10 ] ( main:2::test_8u:7 [ line_cursor#25 char_cursor#75 test_8u::rem#0 test_8u::i#10 ] )
|
||||
[89] (byte) test_8u::dividend#0 ← *((const byte[]) test_8u::dividends#0 + (byte) test_8u::i#10) [ line_cursor#25 char_cursor#75 test_8u::rem#0 test_8u::i#10 test_8u::dividend#0 ] ( main:2::test_8u:7 [ line_cursor#25 char_cursor#75 test_8u::rem#0 test_8u::i#10 test_8u::dividend#0 ] )
|
||||
[90] (byte) test_8u::divisor#0 ← *((const byte[]) test_8u::divisors#0 + (byte) test_8u::i#10) [ line_cursor#25 char_cursor#75 test_8u::rem#0 test_8u::i#10 test_8u::dividend#0 test_8u::divisor#0 ] ( main:2::test_8u:7 [ line_cursor#25 char_cursor#75 test_8u::rem#0 test_8u::i#10 test_8u::dividend#0 test_8u::divisor#0 ] )
|
||||
[91] (byte) div8u::dividend#1 ← (byte) test_8u::dividend#0 [ line_cursor#25 char_cursor#75 test_8u::rem#0 test_8u::i#10 test_8u::dividend#0 test_8u::divisor#0 div8u::dividend#1 ] ( main:2::test_8u:7 [ line_cursor#25 char_cursor#75 test_8u::rem#0 test_8u::i#10 test_8u::dividend#0 test_8u::divisor#0 div8u::dividend#1 ] )
|
||||
[92] (byte) div8u::divisor#0 ← (byte) test_8u::divisor#0 [ line_cursor#25 char_cursor#75 test_8u::rem#0 test_8u::i#10 test_8u::dividend#0 test_8u::divisor#0 div8u::dividend#1 div8u::divisor#0 ] ( main:2::test_8u:7 [ line_cursor#25 char_cursor#75 test_8u::rem#0 test_8u::i#10 test_8u::dividend#0 test_8u::divisor#0 div8u::dividend#1 div8u::divisor#0 ] )
|
||||
[93] call div8u param-assignment [ line_cursor#25 char_cursor#75 test_8u::rem#0 test_8u::i#10 test_8u::dividend#0 test_8u::divisor#0 div8u::return#0 ] ( main:2::test_8u:7 [ line_cursor#25 char_cursor#75 test_8u::rem#0 test_8u::i#10 test_8u::dividend#0 test_8u::divisor#0 div8u::return#0 ] )
|
||||
[94] (byte) div8u::return#2 ← (byte) div8u::return#0 [ line_cursor#25 char_cursor#75 test_8u::rem#0 test_8u::i#10 test_8u::dividend#0 test_8u::divisor#0 div8u::return#2 ] ( main:2::test_8u:7 [ line_cursor#25 char_cursor#75 test_8u::rem#0 test_8u::i#10 test_8u::dividend#0 test_8u::divisor#0 div8u::return#2 ] )
|
||||
test_8u::@1: scope:[test_8u] from test_8u test_8u::@11
|
||||
[12] (byte) test_8u::i#10 ← phi( test_8u/(byte/signed byte/word/signed word/dword/signed dword) 0 test_8u::@11/(byte) test_8u::i#1 ) [ test_8u::rem#0 test_8u::i#10 line_cursor#1 div8s::rem8u#0 ] ( main:2::test_8u:9 [ test_8u::rem#0 test_8u::i#10 line_cursor#1 div8s::rem8u#0 ] )
|
||||
[13] (byte) test_8u::dividend#0 ← *((const byte[]) test_8u::dividends#0 + (byte) test_8u::i#10) [ test_8u::rem#0 test_8u::i#10 test_8u::dividend#0 line_cursor#1 div8s::rem8u#0 ] ( main:2::test_8u:9 [ test_8u::rem#0 test_8u::i#10 test_8u::dividend#0 line_cursor#1 div8s::rem8u#0 ] )
|
||||
[14] (byte) test_8u::divisor#0 ← *((const byte[]) test_8u::divisors#0 + (byte) test_8u::i#10) [ test_8u::rem#0 test_8u::i#10 test_8u::dividend#0 test_8u::divisor#0 line_cursor#1 div8s::rem8u#0 ] ( main:2::test_8u:9 [ test_8u::rem#0 test_8u::i#10 test_8u::dividend#0 test_8u::divisor#0 line_cursor#1 div8s::rem8u#0 ] )
|
||||
[15] (byte) div8u::dividend#2 ← (byte) test_8u::dividend#0 [ test_8u::rem#0 test_8u::i#10 test_8u::dividend#0 test_8u::divisor#0 div8u::dividend#2 line_cursor#1 div8s::rem8u#0 ] ( main:2::test_8u:9 [ test_8u::rem#0 test_8u::i#10 test_8u::dividend#0 test_8u::divisor#0 div8u::dividend#2 line_cursor#1 div8s::rem8u#0 ] )
|
||||
[16] (byte) div8u::divisor#1 ← (byte) test_8u::divisor#0 [ test_8u::rem#0 test_8u::i#10 test_8u::dividend#0 test_8u::divisor#0 div8u::dividend#2 div8u::divisor#1 line_cursor#1 div8s::rem8u#0 ] ( main:2::test_8u:9 [ test_8u::rem#0 test_8u::i#10 test_8u::dividend#0 test_8u::divisor#0 div8u::dividend#2 div8u::divisor#1 line_cursor#1 div8s::rem8u#0 ] )
|
||||
[17] call div8u param-assignment [ test_8u::rem#0 test_8u::i#10 test_8u::dividend#0 test_8u::divisor#0 div8u::return#0 line_cursor#1 div8s::rem8u#0 ] ( main:2::test_8u:9 [ test_8u::rem#0 test_8u::i#10 test_8u::dividend#0 test_8u::divisor#0 div8u::return#0 line_cursor#1 div8s::rem8u#0 ] )
|
||||
[18] (byte) div8u::return#3 ← (byte) div8u::return#0 [ test_8u::rem#0 test_8u::i#10 test_8u::dividend#0 test_8u::divisor#0 div8u::return#3 line_cursor#1 div8s::rem8u#0 ] ( main:2::test_8u:9 [ test_8u::rem#0 test_8u::i#10 test_8u::dividend#0 test_8u::divisor#0 div8u::return#3 line_cursor#1 div8s::rem8u#0 ] )
|
||||
to:test_8u::@3
|
||||
test_8u::@3: scope:[test_8u] from test_8u::@1
|
||||
[95] (byte) test_8u::res#0 ← (byte) div8u::return#2 [ line_cursor#25 char_cursor#75 test_8u::rem#0 test_8u::i#10 test_8u::dividend#0 test_8u::divisor#0 test_8u::res#0 ] ( main:2::test_8u:7 [ line_cursor#25 char_cursor#75 test_8u::rem#0 test_8u::i#10 test_8u::dividend#0 test_8u::divisor#0 test_8u::res#0 ] )
|
||||
[96] (byte) print_byte::b#2 ← (byte) test_8u::dividend#0 [ line_cursor#25 print_byte::b#2 char_cursor#75 test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 ] ( main:2::test_8u:7 [ line_cursor#25 print_byte::b#2 char_cursor#75 test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 ] )
|
||||
[97] call print_byte param-assignment [ line_cursor#25 char_cursor#11 test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 ] ( main:2::test_8u:7 [ line_cursor#25 char_cursor#11 test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 ] )
|
||||
[19] (byte) test_8u::res#0 ← (byte) div8u::return#3 [ test_8u::rem#0 test_8u::i#10 test_8u::dividend#0 test_8u::divisor#0 test_8u::res#0 line_cursor#1 div8s::rem8u#0 ] ( main:2::test_8u:9 [ test_8u::rem#0 test_8u::i#10 test_8u::dividend#0 test_8u::divisor#0 test_8u::res#0 line_cursor#1 div8s::rem8u#0 ] )
|
||||
[20] (byte) print_byte::b#1 ← (byte) test_8u::dividend#0 [ test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 print_byte::b#1 line_cursor#1 div8s::rem8u#0 ] ( main:2::test_8u:9 [ test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 print_byte::b#1 line_cursor#1 div8s::rem8u#0 ] )
|
||||
[21] (byte*~) char_cursor#91 ← (byte*) line_cursor#1 [ test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 print_byte::b#1 char_cursor#91 line_cursor#1 div8s::rem8u#0 ] ( main:2::test_8u:9 [ test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 print_byte::b#1 char_cursor#91 line_cursor#1 div8s::rem8u#0 ] )
|
||||
[22] call print_byte param-assignment [ test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 line_cursor#1 char_cursor#11 div8s::rem8u#0 ] ( main:2::test_8u:9 [ test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 line_cursor#1 char_cursor#11 div8s::rem8u#0 ] )
|
||||
to:test_8u::@4
|
||||
test_8u::@4: scope:[test_8u] from test_8u::@3
|
||||
[98] phi() [ line_cursor#25 char_cursor#11 test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 ] ( main:2::test_8u:7 [ line_cursor#25 char_cursor#11 test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 ] )
|
||||
[99] call print_str param-assignment [ line_cursor#25 char_cursor#2 test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 ] ( main:2::test_8u:7 [ line_cursor#25 char_cursor#2 test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 ] )
|
||||
[23] phi() [ test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 line_cursor#1 char_cursor#11 div8s::rem8u#0 ] ( main:2::test_8u:9 [ test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 line_cursor#1 char_cursor#11 div8s::rem8u#0 ] )
|
||||
[24] call print_str param-assignment [ test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 line_cursor#1 char_cursor#2 div8s::rem8u#0 ] ( main:2::test_8u:9 [ test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 line_cursor#1 char_cursor#2 div8s::rem8u#0 ] )
|
||||
to:test_8u::@5
|
||||
test_8u::@5: scope:[test_8u] from test_8u::@4
|
||||
[100] (byte) print_byte::b#3 ← (byte) test_8u::divisor#0 [ line_cursor#25 char_cursor#2 print_byte::b#3 test_8u::rem#0 test_8u::i#10 test_8u::res#0 ] ( main:2::test_8u:7 [ line_cursor#25 char_cursor#2 print_byte::b#3 test_8u::rem#0 test_8u::i#10 test_8u::res#0 ] )
|
||||
[101] call print_byte param-assignment [ line_cursor#25 char_cursor#11 test_8u::rem#0 test_8u::i#10 test_8u::res#0 ] ( main:2::test_8u:7 [ line_cursor#25 char_cursor#11 test_8u::rem#0 test_8u::i#10 test_8u::res#0 ] )
|
||||
[25] (byte) print_byte::b#2 ← (byte) test_8u::divisor#0 [ test_8u::rem#0 test_8u::i#10 test_8u::res#0 line_cursor#1 print_byte::b#2 char_cursor#2 div8s::rem8u#0 ] ( main:2::test_8u:9 [ test_8u::rem#0 test_8u::i#10 test_8u::res#0 line_cursor#1 print_byte::b#2 char_cursor#2 div8s::rem8u#0 ] )
|
||||
[26] call print_byte param-assignment [ test_8u::rem#0 test_8u::i#10 test_8u::res#0 line_cursor#1 char_cursor#11 div8s::rem8u#0 ] ( main:2::test_8u:9 [ test_8u::rem#0 test_8u::i#10 test_8u::res#0 line_cursor#1 char_cursor#11 div8s::rem8u#0 ] )
|
||||
to:test_8u::@6
|
||||
test_8u::@6: scope:[test_8u] from test_8u::@5
|
||||
[102] phi() [ line_cursor#25 char_cursor#11 test_8u::rem#0 test_8u::i#10 test_8u::res#0 ] ( main:2::test_8u:7 [ line_cursor#25 char_cursor#11 test_8u::rem#0 test_8u::i#10 test_8u::res#0 ] )
|
||||
[103] call print_str param-assignment [ line_cursor#25 char_cursor#2 test_8u::rem#0 test_8u::i#10 test_8u::res#0 ] ( main:2::test_8u:7 [ line_cursor#25 char_cursor#2 test_8u::rem#0 test_8u::i#10 test_8u::res#0 ] )
|
||||
[27] phi() [ test_8u::rem#0 test_8u::i#10 test_8u::res#0 line_cursor#1 char_cursor#11 div8s::rem8u#0 ] ( main:2::test_8u:9 [ test_8u::rem#0 test_8u::i#10 test_8u::res#0 line_cursor#1 char_cursor#11 div8s::rem8u#0 ] )
|
||||
[28] call print_str param-assignment [ test_8u::rem#0 test_8u::i#10 test_8u::res#0 line_cursor#1 char_cursor#2 div8s::rem8u#0 ] ( main:2::test_8u:9 [ test_8u::rem#0 test_8u::i#10 test_8u::res#0 line_cursor#1 char_cursor#2 div8s::rem8u#0 ] )
|
||||
to:test_8u::@7
|
||||
test_8u::@7: scope:[test_8u] from test_8u::@6
|
||||
[104] (byte) print_byte::b#4 ← (byte) test_8u::res#0 [ line_cursor#25 char_cursor#2 print_byte::b#4 test_8u::rem#0 test_8u::i#10 ] ( main:2::test_8u:7 [ line_cursor#25 char_cursor#2 print_byte::b#4 test_8u::rem#0 test_8u::i#10 ] )
|
||||
[105] call print_byte param-assignment [ line_cursor#25 char_cursor#11 test_8u::rem#0 test_8u::i#10 ] ( main:2::test_8u:7 [ line_cursor#25 char_cursor#11 test_8u::rem#0 test_8u::i#10 ] )
|
||||
[29] (byte) print_byte::b#3 ← (byte) test_8u::res#0 [ test_8u::rem#0 test_8u::i#10 line_cursor#1 print_byte::b#3 char_cursor#2 div8s::rem8u#0 ] ( main:2::test_8u:9 [ test_8u::rem#0 test_8u::i#10 line_cursor#1 print_byte::b#3 char_cursor#2 div8s::rem8u#0 ] )
|
||||
[30] call print_byte param-assignment [ test_8u::rem#0 test_8u::i#10 line_cursor#1 char_cursor#11 div8s::rem8u#0 ] ( main:2::test_8u:9 [ test_8u::rem#0 test_8u::i#10 line_cursor#1 char_cursor#11 div8s::rem8u#0 ] )
|
||||
to:test_8u::@8
|
||||
test_8u::@8: scope:[test_8u] from test_8u::@7
|
||||
[106] phi() [ line_cursor#25 char_cursor#11 test_8u::rem#0 test_8u::i#10 ] ( main:2::test_8u:7 [ line_cursor#25 char_cursor#11 test_8u::rem#0 test_8u::i#10 ] )
|
||||
[107] call print_str param-assignment [ line_cursor#25 char_cursor#2 test_8u::rem#0 test_8u::i#10 ] ( main:2::test_8u:7 [ line_cursor#25 char_cursor#2 test_8u::rem#0 test_8u::i#10 ] )
|
||||
[31] phi() [ test_8u::rem#0 test_8u::i#10 line_cursor#1 char_cursor#11 div8s::rem8u#0 ] ( main:2::test_8u:9 [ test_8u::rem#0 test_8u::i#10 line_cursor#1 char_cursor#11 div8s::rem8u#0 ] )
|
||||
[32] call print_str param-assignment [ test_8u::rem#0 test_8u::i#10 line_cursor#1 char_cursor#2 div8s::rem8u#0 ] ( main:2::test_8u:9 [ test_8u::rem#0 test_8u::i#10 line_cursor#1 char_cursor#2 div8s::rem8u#0 ] )
|
||||
to:test_8u::@9
|
||||
test_8u::@9: scope:[test_8u] from test_8u::@8
|
||||
[108] (byte) print_byte::b#5 ← (byte) test_8u::rem#0 [ line_cursor#25 char_cursor#2 print_byte::b#5 test_8u::rem#0 test_8u::i#10 ] ( main:2::test_8u:7 [ line_cursor#25 char_cursor#2 print_byte::b#5 test_8u::rem#0 test_8u::i#10 ] )
|
||||
[109] call print_byte param-assignment [ line_cursor#25 char_cursor#11 test_8u::rem#0 test_8u::i#10 ] ( main:2::test_8u:7 [ line_cursor#25 char_cursor#11 test_8u::rem#0 test_8u::i#10 ] )
|
||||
[33] (byte) print_byte::b#4 ← (byte) test_8u::rem#0 [ test_8u::rem#0 test_8u::i#10 line_cursor#1 print_byte::b#4 char_cursor#2 div8s::rem8u#0 ] ( main:2::test_8u:9 [ test_8u::rem#0 test_8u::i#10 line_cursor#1 print_byte::b#4 char_cursor#2 div8s::rem8u#0 ] )
|
||||
[34] call print_byte param-assignment [ test_8u::rem#0 test_8u::i#10 line_cursor#1 char_cursor#11 div8s::rem8u#0 ] ( main:2::test_8u:9 [ test_8u::rem#0 test_8u::i#10 line_cursor#1 char_cursor#11 div8s::rem8u#0 ] )
|
||||
to:test_8u::@10
|
||||
test_8u::@10: scope:[test_8u] from test_8u::@9
|
||||
[110] phi() [ line_cursor#25 char_cursor#11 test_8u::rem#0 test_8u::i#10 ] ( main:2::test_8u:7 [ line_cursor#25 char_cursor#11 test_8u::rem#0 test_8u::i#10 ] )
|
||||
[111] call print_ln param-assignment [ line_cursor#1 test_8u::rem#0 test_8u::i#10 ] ( main:2::test_8u:7 [ line_cursor#1 test_8u::rem#0 test_8u::i#10 ] )
|
||||
[35] phi() [ test_8u::rem#0 test_8u::i#10 line_cursor#1 char_cursor#11 div8s::rem8u#0 ] ( main:2::test_8u:9 [ test_8u::rem#0 test_8u::i#10 line_cursor#1 char_cursor#11 div8s::rem8u#0 ] )
|
||||
[36] call print_ln param-assignment [ test_8u::rem#0 test_8u::i#10 line_cursor#1 div8s::rem8u#0 ] ( main:2::test_8u:9 [ test_8u::rem#0 test_8u::i#10 line_cursor#1 div8s::rem8u#0 ] )
|
||||
to:test_8u::@11
|
||||
test_8u::@11: scope:[test_8u] from test_8u::@10
|
||||
[112] (byte) test_8u::i#1 ← ++ (byte) test_8u::i#10 [ line_cursor#1 test_8u::rem#0 test_8u::i#1 ] ( main:2::test_8u:7 [ line_cursor#1 test_8u::rem#0 test_8u::i#1 ] )
|
||||
[113] if((byte) test_8u::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 6) goto test_8u::@12 [ line_cursor#1 test_8u::rem#0 test_8u::i#1 ] ( main:2::test_8u:7 [ line_cursor#1 test_8u::rem#0 test_8u::i#1 ] )
|
||||
[37] (byte) test_8u::i#1 ← ++ (byte) test_8u::i#10 [ test_8u::rem#0 test_8u::i#1 line_cursor#1 div8s::rem8u#0 ] ( main:2::test_8u:9 [ test_8u::rem#0 test_8u::i#1 line_cursor#1 div8s::rem8u#0 ] )
|
||||
[38] if((byte) test_8u::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 6) goto test_8u::@1 [ test_8u::rem#0 test_8u::i#1 line_cursor#1 div8s::rem8u#0 ] ( main:2::test_8u:9 [ test_8u::rem#0 test_8u::i#1 line_cursor#1 div8s::rem8u#0 ] )
|
||||
to:test_8u::@return
|
||||
test_8u::@return: scope:[test_8u] from test_8u::@11
|
||||
[114] return [ line_cursor#1 ] ( main:2::test_8u:7 [ line_cursor#1 ] )
|
||||
[39] return [ ] ( main:2::test_8u:9 [ ] )
|
||||
to:@return
|
||||
test_8u::@12: scope:[test_8u] from test_8u::@11
|
||||
[115] (byte*~) char_cursor#98 ← (byte*) line_cursor#1 [ line_cursor#1 test_8u::rem#0 test_8u::i#1 char_cursor#98 ] ( main:2::test_8u:7 [ line_cursor#1 test_8u::rem#0 test_8u::i#1 char_cursor#98 ] )
|
||||
to:test_8u::@1
|
||||
div8u: scope:[div8u] from test_8u::@1
|
||||
[116] phi() [ div8u::dividend#1 div8u::divisor#0 ] ( main:2::test_8u:7::div8u:93 [ line_cursor#25 char_cursor#75 test_8u::rem#0 test_8u::i#10 test_8u::dividend#0 test_8u::divisor#0 div8u::dividend#1 div8u::divisor#0 ] )
|
||||
print_ln: scope:[print_ln] from test_8s::@10 test_8u::@10
|
||||
[40] (byte*) line_cursor#27 ← phi( test_8s::@10/(byte*) line_cursor#30 test_8u::@10/(byte*) line_cursor#1 ) [ line_cursor#27 char_cursor#11 ] ( main:2::test_8u:9::print_ln:36 [ test_8u::rem#0 test_8u::i#10 div8s::rem8u#0 line_cursor#27 char_cursor#11 ] main:2::test_8s:7::print_ln:105 [ test_8u::rem#0 test_8s::i#10 rem8s#3 div8s::rem8u#0 line_cursor#27 char_cursor#11 ] )
|
||||
to:print_ln::@1
|
||||
print_ln::@1: scope:[print_ln] from print_ln print_ln::@1
|
||||
[41] (byte*) line_cursor#14 ← phi( print_ln/(byte*) line_cursor#27 print_ln::@1/(byte*) line_cursor#1 ) [ line_cursor#14 char_cursor#11 ] ( main:2::test_8u:9::print_ln:36 [ test_8u::rem#0 test_8u::i#10 div8s::rem8u#0 line_cursor#14 char_cursor#11 ] main:2::test_8s:7::print_ln:105 [ test_8u::rem#0 test_8s::i#10 rem8s#3 div8s::rem8u#0 line_cursor#14 char_cursor#11 ] )
|
||||
[42] (byte*) line_cursor#1 ← (byte*) line_cursor#14 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ line_cursor#1 char_cursor#11 ] ( main:2::test_8u:9::print_ln:36 [ test_8u::rem#0 test_8u::i#10 div8s::rem8u#0 line_cursor#1 char_cursor#11 ] main:2::test_8s:7::print_ln:105 [ test_8u::rem#0 test_8s::i#10 rem8s#3 div8s::rem8u#0 line_cursor#1 char_cursor#11 ] )
|
||||
[43] if((byte*) line_cursor#1<(byte*) char_cursor#11) goto print_ln::@1 [ line_cursor#1 char_cursor#11 ] ( main:2::test_8u:9::print_ln:36 [ test_8u::rem#0 test_8u::i#10 div8s::rem8u#0 line_cursor#1 char_cursor#11 ] main:2::test_8s:7::print_ln:105 [ test_8u::rem#0 test_8s::i#10 rem8s#3 div8s::rem8u#0 line_cursor#1 char_cursor#11 ] )
|
||||
to:print_ln::@return
|
||||
print_ln::@return: scope:[print_ln] from print_ln::@1
|
||||
[44] return [ line_cursor#1 ] ( main:2::test_8u:9::print_ln:36 [ test_8u::rem#0 test_8u::i#10 div8s::rem8u#0 line_cursor#1 ] main:2::test_8s:7::print_ln:105 [ test_8u::rem#0 test_8s::i#10 rem8s#3 div8s::rem8u#0 line_cursor#1 ] )
|
||||
to:@return
|
||||
print_byte: scope:[print_byte] from print_sbyte::@1 test_8u::@3 test_8u::@5 test_8u::@7 test_8u::@9
|
||||
[45] (byte*) char_cursor#78 ← phi( print_sbyte::@1/(byte*) char_cursor#76 test_8u::@3/(byte*~) char_cursor#91 test_8u::@5/(byte*) char_cursor#2 test_8u::@7/(byte*) char_cursor#2 test_8u::@9/(byte*) char_cursor#2 ) [ print_byte::b#5 char_cursor#78 ] ( main:2::test_8u:9::print_byte:22 [ test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 line_cursor#1 div8s::rem8u#0 print_byte::b#5 char_cursor#78 ] main:2::test_8u:9::print_byte:26 [ test_8u::rem#0 test_8u::i#10 test_8u::res#0 line_cursor#1 div8s::rem8u#0 print_byte::b#5 char_cursor#78 ] main:2::test_8u:9::print_byte:30 [ test_8u::rem#0 test_8u::i#10 line_cursor#1 div8s::rem8u#0 print_byte::b#5 char_cursor#78 ] main:2::test_8u:9::print_byte:34 [ test_8u::rem#0 test_8u::i#10 line_cursor#1 div8s::rem8u#0 print_byte::b#5 char_cursor#78 ] main:2::test_8s:7::print_sbyte:91::print_byte:117 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::divisor#0 test_8s::res#0 div8s::rem8u#0 print_byte::b#5 char_cursor#78 ] main:2::test_8s:7::print_sbyte:95::print_byte:117 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::res#0 div8s::rem8u#0 print_byte::b#5 char_cursor#78 ] main:2::test_8s:7::print_sbyte:99::print_byte:117 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 print_byte::b#5 char_cursor#78 ] main:2::test_8s:7::print_sbyte:103::print_byte:117 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 print_byte::b#5 char_cursor#78 ] )
|
||||
[45] (byte) print_byte::b#5 ← phi( print_sbyte::@1/(byte~) print_byte::b#7 test_8u::@3/(byte) print_byte::b#1 test_8u::@5/(byte) print_byte::b#2 test_8u::@7/(byte) print_byte::b#3 test_8u::@9/(byte) print_byte::b#4 ) [ print_byte::b#5 char_cursor#78 ] ( main:2::test_8u:9::print_byte:22 [ test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 line_cursor#1 div8s::rem8u#0 print_byte::b#5 char_cursor#78 ] main:2::test_8u:9::print_byte:26 [ test_8u::rem#0 test_8u::i#10 test_8u::res#0 line_cursor#1 div8s::rem8u#0 print_byte::b#5 char_cursor#78 ] main:2::test_8u:9::print_byte:30 [ test_8u::rem#0 test_8u::i#10 line_cursor#1 div8s::rem8u#0 print_byte::b#5 char_cursor#78 ] main:2::test_8u:9::print_byte:34 [ test_8u::rem#0 test_8u::i#10 line_cursor#1 div8s::rem8u#0 print_byte::b#5 char_cursor#78 ] main:2::test_8s:7::print_sbyte:91::print_byte:117 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::divisor#0 test_8s::res#0 div8s::rem8u#0 print_byte::b#5 char_cursor#78 ] main:2::test_8s:7::print_sbyte:95::print_byte:117 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::res#0 div8s::rem8u#0 print_byte::b#5 char_cursor#78 ] main:2::test_8s:7::print_sbyte:99::print_byte:117 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 print_byte::b#5 char_cursor#78 ] main:2::test_8s:7::print_sbyte:103::print_byte:117 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 print_byte::b#5 char_cursor#78 ] )
|
||||
[46] (byte~) print_byte::$0 ← (byte) print_byte::b#5 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ print_byte::b#5 char_cursor#78 print_byte::$0 ] ( main:2::test_8u:9::print_byte:22 [ test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 line_cursor#1 div8s::rem8u#0 print_byte::b#5 char_cursor#78 print_byte::$0 ] main:2::test_8u:9::print_byte:26 [ test_8u::rem#0 test_8u::i#10 test_8u::res#0 line_cursor#1 div8s::rem8u#0 print_byte::b#5 char_cursor#78 print_byte::$0 ] main:2::test_8u:9::print_byte:30 [ test_8u::rem#0 test_8u::i#10 line_cursor#1 div8s::rem8u#0 print_byte::b#5 char_cursor#78 print_byte::$0 ] main:2::test_8u:9::print_byte:34 [ test_8u::rem#0 test_8u::i#10 line_cursor#1 div8s::rem8u#0 print_byte::b#5 char_cursor#78 print_byte::$0 ] main:2::test_8s:7::print_sbyte:91::print_byte:117 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::divisor#0 test_8s::res#0 div8s::rem8u#0 print_byte::b#5 char_cursor#78 print_byte::$0 ] main:2::test_8s:7::print_sbyte:95::print_byte:117 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::res#0 div8s::rem8u#0 print_byte::b#5 char_cursor#78 print_byte::$0 ] main:2::test_8s:7::print_sbyte:99::print_byte:117 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 print_byte::b#5 char_cursor#78 print_byte::$0 ] main:2::test_8s:7::print_sbyte:103::print_byte:117 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 print_byte::b#5 char_cursor#78 print_byte::$0 ] )
|
||||
[47] (byte) print_char::ch#1 ← *((const string) print_byte::hextab#0 + (byte~) print_byte::$0) [ print_byte::b#5 char_cursor#78 print_char::ch#1 ] ( main:2::test_8u:9::print_byte:22 [ test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 line_cursor#1 div8s::rem8u#0 print_byte::b#5 char_cursor#78 print_char::ch#1 ] main:2::test_8u:9::print_byte:26 [ test_8u::rem#0 test_8u::i#10 test_8u::res#0 line_cursor#1 div8s::rem8u#0 print_byte::b#5 char_cursor#78 print_char::ch#1 ] main:2::test_8u:9::print_byte:30 [ test_8u::rem#0 test_8u::i#10 line_cursor#1 div8s::rem8u#0 print_byte::b#5 char_cursor#78 print_char::ch#1 ] main:2::test_8u:9::print_byte:34 [ test_8u::rem#0 test_8u::i#10 line_cursor#1 div8s::rem8u#0 print_byte::b#5 char_cursor#78 print_char::ch#1 ] main:2::test_8s:7::print_sbyte:91::print_byte:117 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::divisor#0 test_8s::res#0 div8s::rem8u#0 print_byte::b#5 char_cursor#78 print_char::ch#1 ] main:2::test_8s:7::print_sbyte:95::print_byte:117 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::res#0 div8s::rem8u#0 print_byte::b#5 char_cursor#78 print_char::ch#1 ] main:2::test_8s:7::print_sbyte:99::print_byte:117 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 print_byte::b#5 char_cursor#78 print_char::ch#1 ] main:2::test_8s:7::print_sbyte:103::print_byte:117 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 print_byte::b#5 char_cursor#78 print_char::ch#1 ] )
|
||||
[48] call print_char param-assignment [ char_cursor#11 print_byte::b#5 ] ( main:2::test_8u:9::print_byte:22 [ test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 line_cursor#1 div8s::rem8u#0 char_cursor#11 print_byte::b#5 ] main:2::test_8u:9::print_byte:26 [ test_8u::rem#0 test_8u::i#10 test_8u::res#0 line_cursor#1 div8s::rem8u#0 char_cursor#11 print_byte::b#5 ] main:2::test_8u:9::print_byte:30 [ test_8u::rem#0 test_8u::i#10 line_cursor#1 div8s::rem8u#0 char_cursor#11 print_byte::b#5 ] main:2::test_8u:9::print_byte:34 [ test_8u::rem#0 test_8u::i#10 line_cursor#1 div8s::rem8u#0 char_cursor#11 print_byte::b#5 ] main:2::test_8s:7::print_sbyte:91::print_byte:117 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::divisor#0 test_8s::res#0 div8s::rem8u#0 char_cursor#11 print_byte::b#5 ] main:2::test_8s:7::print_sbyte:95::print_byte:117 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::res#0 div8s::rem8u#0 char_cursor#11 print_byte::b#5 ] main:2::test_8s:7::print_sbyte:99::print_byte:117 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 char_cursor#11 print_byte::b#5 ] main:2::test_8s:7::print_sbyte:103::print_byte:117 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 char_cursor#11 print_byte::b#5 ] )
|
||||
to:print_byte::@1
|
||||
print_byte::@1: scope:[print_byte] from print_byte
|
||||
[49] (byte~) print_byte::$2 ← (byte) print_byte::b#5 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ char_cursor#11 print_byte::$2 ] ( main:2::test_8u:9::print_byte:22 [ test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 line_cursor#1 div8s::rem8u#0 char_cursor#11 print_byte::$2 ] main:2::test_8u:9::print_byte:26 [ test_8u::rem#0 test_8u::i#10 test_8u::res#0 line_cursor#1 div8s::rem8u#0 char_cursor#11 print_byte::$2 ] main:2::test_8u:9::print_byte:30 [ test_8u::rem#0 test_8u::i#10 line_cursor#1 div8s::rem8u#0 char_cursor#11 print_byte::$2 ] main:2::test_8u:9::print_byte:34 [ test_8u::rem#0 test_8u::i#10 line_cursor#1 div8s::rem8u#0 char_cursor#11 print_byte::$2 ] main:2::test_8s:7::print_sbyte:91::print_byte:117 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::divisor#0 test_8s::res#0 div8s::rem8u#0 char_cursor#11 print_byte::$2 ] main:2::test_8s:7::print_sbyte:95::print_byte:117 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::res#0 div8s::rem8u#0 char_cursor#11 print_byte::$2 ] main:2::test_8s:7::print_sbyte:99::print_byte:117 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 char_cursor#11 print_byte::$2 ] main:2::test_8s:7::print_sbyte:103::print_byte:117 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 char_cursor#11 print_byte::$2 ] )
|
||||
[50] (byte) print_char::ch#2 ← *((const string) print_byte::hextab#0 + (byte~) print_byte::$2) [ char_cursor#11 print_char::ch#2 ] ( main:2::test_8u:9::print_byte:22 [ test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 line_cursor#1 div8s::rem8u#0 char_cursor#11 print_char::ch#2 ] main:2::test_8u:9::print_byte:26 [ test_8u::rem#0 test_8u::i#10 test_8u::res#0 line_cursor#1 div8s::rem8u#0 char_cursor#11 print_char::ch#2 ] main:2::test_8u:9::print_byte:30 [ test_8u::rem#0 test_8u::i#10 line_cursor#1 div8s::rem8u#0 char_cursor#11 print_char::ch#2 ] main:2::test_8u:9::print_byte:34 [ test_8u::rem#0 test_8u::i#10 line_cursor#1 div8s::rem8u#0 char_cursor#11 print_char::ch#2 ] main:2::test_8s:7::print_sbyte:91::print_byte:117 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::divisor#0 test_8s::res#0 div8s::rem8u#0 char_cursor#11 print_char::ch#2 ] main:2::test_8s:7::print_sbyte:95::print_byte:117 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::res#0 div8s::rem8u#0 char_cursor#11 print_char::ch#2 ] main:2::test_8s:7::print_sbyte:99::print_byte:117 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 char_cursor#11 print_char::ch#2 ] main:2::test_8s:7::print_sbyte:103::print_byte:117 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 char_cursor#11 print_char::ch#2 ] )
|
||||
[51] call print_char param-assignment [ char_cursor#11 ] ( main:2::test_8u:9::print_byte:22 [ test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 line_cursor#1 div8s::rem8u#0 char_cursor#11 ] main:2::test_8u:9::print_byte:26 [ test_8u::rem#0 test_8u::i#10 test_8u::res#0 line_cursor#1 div8s::rem8u#0 char_cursor#11 ] main:2::test_8u:9::print_byte:30 [ test_8u::rem#0 test_8u::i#10 line_cursor#1 div8s::rem8u#0 char_cursor#11 ] main:2::test_8u:9::print_byte:34 [ test_8u::rem#0 test_8u::i#10 line_cursor#1 div8s::rem8u#0 char_cursor#11 ] main:2::test_8s:7::print_sbyte:91::print_byte:117 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::divisor#0 test_8s::res#0 div8s::rem8u#0 char_cursor#11 ] main:2::test_8s:7::print_sbyte:95::print_byte:117 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::res#0 div8s::rem8u#0 char_cursor#11 ] main:2::test_8s:7::print_sbyte:99::print_byte:117 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 char_cursor#11 ] main:2::test_8s:7::print_sbyte:103::print_byte:117 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 char_cursor#11 ] )
|
||||
to:print_byte::@return
|
||||
print_byte::@return: scope:[print_byte] from print_byte::@1
|
||||
[52] return [ char_cursor#11 ] ( main:2::test_8u:9::print_byte:22 [ test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 line_cursor#1 div8s::rem8u#0 char_cursor#11 ] main:2::test_8u:9::print_byte:26 [ test_8u::rem#0 test_8u::i#10 test_8u::res#0 line_cursor#1 div8s::rem8u#0 char_cursor#11 ] main:2::test_8u:9::print_byte:30 [ test_8u::rem#0 test_8u::i#10 line_cursor#1 div8s::rem8u#0 char_cursor#11 ] main:2::test_8u:9::print_byte:34 [ test_8u::rem#0 test_8u::i#10 line_cursor#1 div8s::rem8u#0 char_cursor#11 ] main:2::test_8s:7::print_sbyte:91::print_byte:117 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::divisor#0 test_8s::res#0 div8s::rem8u#0 char_cursor#11 ] main:2::test_8s:7::print_sbyte:95::print_byte:117 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::res#0 div8s::rem8u#0 char_cursor#11 ] main:2::test_8s:7::print_sbyte:99::print_byte:117 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 char_cursor#11 ] main:2::test_8s:7::print_sbyte:103::print_byte:117 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 char_cursor#11 ] )
|
||||
to:@return
|
||||
print_char: scope:[print_char] from print_byte print_byte::@1 print_sbyte::@2
|
||||
[53] (byte*) char_cursor#48 ← phi( print_byte/(byte*) char_cursor#78 print_byte::@1/(byte*) char_cursor#11 print_sbyte::@2/(byte*) char_cursor#77 ) [ print_char::ch#3 char_cursor#48 ] ( main:2::test_8u:9::print_byte:22::print_char:48 [ test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 line_cursor#1 div8s::rem8u#0 print_byte::b#5 print_char::ch#3 char_cursor#48 ] main:2::test_8u:9::print_byte:26::print_char:48 [ test_8u::rem#0 test_8u::i#10 test_8u::res#0 line_cursor#1 div8s::rem8u#0 print_byte::b#5 print_char::ch#3 char_cursor#48 ] main:2::test_8u:9::print_byte:30::print_char:48 [ test_8u::rem#0 test_8u::i#10 line_cursor#1 div8s::rem8u#0 print_byte::b#5 print_char::ch#3 char_cursor#48 ] main:2::test_8u:9::print_byte:34::print_char:48 [ test_8u::rem#0 test_8u::i#10 line_cursor#1 div8s::rem8u#0 print_byte::b#5 print_char::ch#3 char_cursor#48 ] main:2::test_8s:7::print_sbyte:91::print_byte:117::print_char:48 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::divisor#0 test_8s::res#0 div8s::rem8u#0 print_byte::b#5 print_char::ch#3 char_cursor#48 ] main:2::test_8s:7::print_sbyte:95::print_byte:117::print_char:48 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::res#0 div8s::rem8u#0 print_byte::b#5 print_char::ch#3 char_cursor#48 ] main:2::test_8s:7::print_sbyte:99::print_byte:117::print_char:48 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 print_byte::b#5 print_char::ch#3 char_cursor#48 ] main:2::test_8s:7::print_sbyte:103::print_byte:117::print_char:48 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 print_byte::b#5 print_char::ch#3 char_cursor#48 ] main:2::test_8u:9::print_byte:22::print_char:51 [ test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 line_cursor#1 div8s::rem8u#0 print_char::ch#3 char_cursor#48 ] main:2::test_8u:9::print_byte:26::print_char:51 [ test_8u::rem#0 test_8u::i#10 test_8u::res#0 line_cursor#1 div8s::rem8u#0 print_char::ch#3 char_cursor#48 ] main:2::test_8u:9::print_byte:30::print_char:51 [ test_8u::rem#0 test_8u::i#10 line_cursor#1 div8s::rem8u#0 print_char::ch#3 char_cursor#48 ] main:2::test_8u:9::print_byte:34::print_char:51 [ test_8u::rem#0 test_8u::i#10 line_cursor#1 div8s::rem8u#0 print_char::ch#3 char_cursor#48 ] main:2::test_8s:7::print_sbyte:91::print_byte:117::print_char:51 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::divisor#0 test_8s::res#0 div8s::rem8u#0 print_char::ch#3 char_cursor#48 ] main:2::test_8s:7::print_sbyte:95::print_byte:117::print_char:51 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::res#0 div8s::rem8u#0 print_char::ch#3 char_cursor#48 ] main:2::test_8s:7::print_sbyte:99::print_byte:117::print_char:51 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 print_char::ch#3 char_cursor#48 ] main:2::test_8s:7::print_sbyte:103::print_byte:117::print_char:51 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 print_char::ch#3 char_cursor#48 ] main:2::test_8s:7::print_sbyte:91::print_char:113 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::divisor#0 test_8s::res#0 div8s::rem8u#0 print_sbyte::b#5 print_char::ch#3 char_cursor#48 ] main:2::test_8s:7::print_sbyte:95::print_char:113 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::res#0 div8s::rem8u#0 print_sbyte::b#5 print_char::ch#3 char_cursor#48 ] main:2::test_8s:7::print_sbyte:99::print_char:113 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 print_sbyte::b#5 print_char::ch#3 char_cursor#48 ] main:2::test_8s:7::print_sbyte:103::print_char:113 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 print_sbyte::b#5 print_char::ch#3 char_cursor#48 ] )
|
||||
[53] (byte) print_char::ch#3 ← phi( print_byte/(byte) print_char::ch#1 print_byte::@1/(byte) print_char::ch#2 print_sbyte::@2/(byte) '-' ) [ print_char::ch#3 char_cursor#48 ] ( main:2::test_8u:9::print_byte:22::print_char:48 [ test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 line_cursor#1 div8s::rem8u#0 print_byte::b#5 print_char::ch#3 char_cursor#48 ] main:2::test_8u:9::print_byte:26::print_char:48 [ test_8u::rem#0 test_8u::i#10 test_8u::res#0 line_cursor#1 div8s::rem8u#0 print_byte::b#5 print_char::ch#3 char_cursor#48 ] main:2::test_8u:9::print_byte:30::print_char:48 [ test_8u::rem#0 test_8u::i#10 line_cursor#1 div8s::rem8u#0 print_byte::b#5 print_char::ch#3 char_cursor#48 ] main:2::test_8u:9::print_byte:34::print_char:48 [ test_8u::rem#0 test_8u::i#10 line_cursor#1 div8s::rem8u#0 print_byte::b#5 print_char::ch#3 char_cursor#48 ] main:2::test_8s:7::print_sbyte:91::print_byte:117::print_char:48 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::divisor#0 test_8s::res#0 div8s::rem8u#0 print_byte::b#5 print_char::ch#3 char_cursor#48 ] main:2::test_8s:7::print_sbyte:95::print_byte:117::print_char:48 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::res#0 div8s::rem8u#0 print_byte::b#5 print_char::ch#3 char_cursor#48 ] main:2::test_8s:7::print_sbyte:99::print_byte:117::print_char:48 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 print_byte::b#5 print_char::ch#3 char_cursor#48 ] main:2::test_8s:7::print_sbyte:103::print_byte:117::print_char:48 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 print_byte::b#5 print_char::ch#3 char_cursor#48 ] main:2::test_8u:9::print_byte:22::print_char:51 [ test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 line_cursor#1 div8s::rem8u#0 print_char::ch#3 char_cursor#48 ] main:2::test_8u:9::print_byte:26::print_char:51 [ test_8u::rem#0 test_8u::i#10 test_8u::res#0 line_cursor#1 div8s::rem8u#0 print_char::ch#3 char_cursor#48 ] main:2::test_8u:9::print_byte:30::print_char:51 [ test_8u::rem#0 test_8u::i#10 line_cursor#1 div8s::rem8u#0 print_char::ch#3 char_cursor#48 ] main:2::test_8u:9::print_byte:34::print_char:51 [ test_8u::rem#0 test_8u::i#10 line_cursor#1 div8s::rem8u#0 print_char::ch#3 char_cursor#48 ] main:2::test_8s:7::print_sbyte:91::print_byte:117::print_char:51 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::divisor#0 test_8s::res#0 div8s::rem8u#0 print_char::ch#3 char_cursor#48 ] main:2::test_8s:7::print_sbyte:95::print_byte:117::print_char:51 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::res#0 div8s::rem8u#0 print_char::ch#3 char_cursor#48 ] main:2::test_8s:7::print_sbyte:99::print_byte:117::print_char:51 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 print_char::ch#3 char_cursor#48 ] main:2::test_8s:7::print_sbyte:103::print_byte:117::print_char:51 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 print_char::ch#3 char_cursor#48 ] main:2::test_8s:7::print_sbyte:91::print_char:113 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::divisor#0 test_8s::res#0 div8s::rem8u#0 print_sbyte::b#5 print_char::ch#3 char_cursor#48 ] main:2::test_8s:7::print_sbyte:95::print_char:113 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::res#0 div8s::rem8u#0 print_sbyte::b#5 print_char::ch#3 char_cursor#48 ] main:2::test_8s:7::print_sbyte:99::print_char:113 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 print_sbyte::b#5 print_char::ch#3 char_cursor#48 ] main:2::test_8s:7::print_sbyte:103::print_char:113 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 print_sbyte::b#5 print_char::ch#3 char_cursor#48 ] )
|
||||
[54] *((byte*) char_cursor#48) ← (byte) print_char::ch#3 [ char_cursor#48 ] ( main:2::test_8u:9::print_byte:22::print_char:48 [ test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 line_cursor#1 div8s::rem8u#0 print_byte::b#5 char_cursor#48 ] main:2::test_8u:9::print_byte:26::print_char:48 [ test_8u::rem#0 test_8u::i#10 test_8u::res#0 line_cursor#1 div8s::rem8u#0 print_byte::b#5 char_cursor#48 ] main:2::test_8u:9::print_byte:30::print_char:48 [ test_8u::rem#0 test_8u::i#10 line_cursor#1 div8s::rem8u#0 print_byte::b#5 char_cursor#48 ] main:2::test_8u:9::print_byte:34::print_char:48 [ test_8u::rem#0 test_8u::i#10 line_cursor#1 div8s::rem8u#0 print_byte::b#5 char_cursor#48 ] main:2::test_8s:7::print_sbyte:91::print_byte:117::print_char:48 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::divisor#0 test_8s::res#0 div8s::rem8u#0 print_byte::b#5 char_cursor#48 ] main:2::test_8s:7::print_sbyte:95::print_byte:117::print_char:48 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::res#0 div8s::rem8u#0 print_byte::b#5 char_cursor#48 ] main:2::test_8s:7::print_sbyte:99::print_byte:117::print_char:48 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 print_byte::b#5 char_cursor#48 ] main:2::test_8s:7::print_sbyte:103::print_byte:117::print_char:48 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 print_byte::b#5 char_cursor#48 ] main:2::test_8u:9::print_byte:22::print_char:51 [ test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 line_cursor#1 div8s::rem8u#0 char_cursor#48 ] main:2::test_8u:9::print_byte:26::print_char:51 [ test_8u::rem#0 test_8u::i#10 test_8u::res#0 line_cursor#1 div8s::rem8u#0 char_cursor#48 ] main:2::test_8u:9::print_byte:30::print_char:51 [ test_8u::rem#0 test_8u::i#10 line_cursor#1 div8s::rem8u#0 char_cursor#48 ] main:2::test_8u:9::print_byte:34::print_char:51 [ test_8u::rem#0 test_8u::i#10 line_cursor#1 div8s::rem8u#0 char_cursor#48 ] main:2::test_8s:7::print_sbyte:91::print_byte:117::print_char:51 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::divisor#0 test_8s::res#0 div8s::rem8u#0 char_cursor#48 ] main:2::test_8s:7::print_sbyte:95::print_byte:117::print_char:51 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::res#0 div8s::rem8u#0 char_cursor#48 ] main:2::test_8s:7::print_sbyte:99::print_byte:117::print_char:51 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 char_cursor#48 ] main:2::test_8s:7::print_sbyte:103::print_byte:117::print_char:51 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 char_cursor#48 ] main:2::test_8s:7::print_sbyte:91::print_char:113 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::divisor#0 test_8s::res#0 div8s::rem8u#0 print_sbyte::b#5 char_cursor#48 ] main:2::test_8s:7::print_sbyte:95::print_char:113 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::res#0 div8s::rem8u#0 print_sbyte::b#5 char_cursor#48 ] main:2::test_8s:7::print_sbyte:99::print_char:113 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 print_sbyte::b#5 char_cursor#48 ] main:2::test_8s:7::print_sbyte:103::print_char:113 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 print_sbyte::b#5 char_cursor#48 ] )
|
||||
[55] (byte*) char_cursor#11 ← ++ (byte*) char_cursor#48 [ char_cursor#11 ] ( main:2::test_8u:9::print_byte:22::print_char:48 [ test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 line_cursor#1 div8s::rem8u#0 print_byte::b#5 char_cursor#11 ] main:2::test_8u:9::print_byte:26::print_char:48 [ test_8u::rem#0 test_8u::i#10 test_8u::res#0 line_cursor#1 div8s::rem8u#0 print_byte::b#5 char_cursor#11 ] main:2::test_8u:9::print_byte:30::print_char:48 [ test_8u::rem#0 test_8u::i#10 line_cursor#1 div8s::rem8u#0 print_byte::b#5 char_cursor#11 ] main:2::test_8u:9::print_byte:34::print_char:48 [ test_8u::rem#0 test_8u::i#10 line_cursor#1 div8s::rem8u#0 print_byte::b#5 char_cursor#11 ] main:2::test_8s:7::print_sbyte:91::print_byte:117::print_char:48 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::divisor#0 test_8s::res#0 div8s::rem8u#0 print_byte::b#5 char_cursor#11 ] main:2::test_8s:7::print_sbyte:95::print_byte:117::print_char:48 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::res#0 div8s::rem8u#0 print_byte::b#5 char_cursor#11 ] main:2::test_8s:7::print_sbyte:99::print_byte:117::print_char:48 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 print_byte::b#5 char_cursor#11 ] main:2::test_8s:7::print_sbyte:103::print_byte:117::print_char:48 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 print_byte::b#5 char_cursor#11 ] main:2::test_8u:9::print_byte:22::print_char:51 [ test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 line_cursor#1 div8s::rem8u#0 char_cursor#11 ] main:2::test_8u:9::print_byte:26::print_char:51 [ test_8u::rem#0 test_8u::i#10 test_8u::res#0 line_cursor#1 div8s::rem8u#0 char_cursor#11 ] main:2::test_8u:9::print_byte:30::print_char:51 [ test_8u::rem#0 test_8u::i#10 line_cursor#1 div8s::rem8u#0 char_cursor#11 ] main:2::test_8u:9::print_byte:34::print_char:51 [ test_8u::rem#0 test_8u::i#10 line_cursor#1 div8s::rem8u#0 char_cursor#11 ] main:2::test_8s:7::print_sbyte:91::print_byte:117::print_char:51 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::divisor#0 test_8s::res#0 div8s::rem8u#0 char_cursor#11 ] main:2::test_8s:7::print_sbyte:95::print_byte:117::print_char:51 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::res#0 div8s::rem8u#0 char_cursor#11 ] main:2::test_8s:7::print_sbyte:99::print_byte:117::print_char:51 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 char_cursor#11 ] main:2::test_8s:7::print_sbyte:103::print_byte:117::print_char:51 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 char_cursor#11 ] main:2::test_8s:7::print_sbyte:91::print_char:113 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::divisor#0 test_8s::res#0 div8s::rem8u#0 print_sbyte::b#5 char_cursor#11 ] main:2::test_8s:7::print_sbyte:95::print_char:113 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::res#0 div8s::rem8u#0 print_sbyte::b#5 char_cursor#11 ] main:2::test_8s:7::print_sbyte:99::print_char:113 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 print_sbyte::b#5 char_cursor#11 ] main:2::test_8s:7::print_sbyte:103::print_char:113 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 print_sbyte::b#5 char_cursor#11 ] )
|
||||
to:print_char::@return
|
||||
print_char::@return: scope:[print_char] from print_char
|
||||
[56] return [ char_cursor#11 ] ( main:2::test_8u:9::print_byte:22::print_char:48 [ test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 line_cursor#1 div8s::rem8u#0 print_byte::b#5 char_cursor#11 ] main:2::test_8u:9::print_byte:26::print_char:48 [ test_8u::rem#0 test_8u::i#10 test_8u::res#0 line_cursor#1 div8s::rem8u#0 print_byte::b#5 char_cursor#11 ] main:2::test_8u:9::print_byte:30::print_char:48 [ test_8u::rem#0 test_8u::i#10 line_cursor#1 div8s::rem8u#0 print_byte::b#5 char_cursor#11 ] main:2::test_8u:9::print_byte:34::print_char:48 [ test_8u::rem#0 test_8u::i#10 line_cursor#1 div8s::rem8u#0 print_byte::b#5 char_cursor#11 ] main:2::test_8s:7::print_sbyte:91::print_byte:117::print_char:48 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::divisor#0 test_8s::res#0 div8s::rem8u#0 print_byte::b#5 char_cursor#11 ] main:2::test_8s:7::print_sbyte:95::print_byte:117::print_char:48 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::res#0 div8s::rem8u#0 print_byte::b#5 char_cursor#11 ] main:2::test_8s:7::print_sbyte:99::print_byte:117::print_char:48 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 print_byte::b#5 char_cursor#11 ] main:2::test_8s:7::print_sbyte:103::print_byte:117::print_char:48 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 print_byte::b#5 char_cursor#11 ] main:2::test_8u:9::print_byte:22::print_char:51 [ test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 line_cursor#1 div8s::rem8u#0 char_cursor#11 ] main:2::test_8u:9::print_byte:26::print_char:51 [ test_8u::rem#0 test_8u::i#10 test_8u::res#0 line_cursor#1 div8s::rem8u#0 char_cursor#11 ] main:2::test_8u:9::print_byte:30::print_char:51 [ test_8u::rem#0 test_8u::i#10 line_cursor#1 div8s::rem8u#0 char_cursor#11 ] main:2::test_8u:9::print_byte:34::print_char:51 [ test_8u::rem#0 test_8u::i#10 line_cursor#1 div8s::rem8u#0 char_cursor#11 ] main:2::test_8s:7::print_sbyte:91::print_byte:117::print_char:51 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::divisor#0 test_8s::res#0 div8s::rem8u#0 char_cursor#11 ] main:2::test_8s:7::print_sbyte:95::print_byte:117::print_char:51 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::res#0 div8s::rem8u#0 char_cursor#11 ] main:2::test_8s:7::print_sbyte:99::print_byte:117::print_char:51 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 char_cursor#11 ] main:2::test_8s:7::print_sbyte:103::print_byte:117::print_char:51 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 char_cursor#11 ] main:2::test_8s:7::print_sbyte:91::print_char:113 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::divisor#0 test_8s::res#0 div8s::rem8u#0 print_sbyte::b#5 char_cursor#11 ] main:2::test_8s:7::print_sbyte:95::print_char:113 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::res#0 div8s::rem8u#0 print_sbyte::b#5 char_cursor#11 ] main:2::test_8s:7::print_sbyte:99::print_char:113 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 print_sbyte::b#5 char_cursor#11 ] main:2::test_8s:7::print_sbyte:103::print_char:113 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 print_sbyte::b#5 char_cursor#11 ] )
|
||||
to:@return
|
||||
print_str: scope:[print_str] from test_8s::@4 test_8s::@6 test_8s::@8 test_8u::@4 test_8u::@6 test_8u::@8
|
||||
[57] (byte*) print_str::str#9 ← phi( test_8s::@4/(const string) test_8s::str test_8s::@6/(const string) test_8s::str1 test_8s::@8/(const string) test_8s::str2 test_8u::@4/(const string) test_8u::str test_8u::@6/(const string) test_8u::str1 test_8u::@8/(const string) test_8u::str2 ) [ char_cursor#11 print_str::str#9 ] ( main:2::test_8u:9::print_str:24 [ test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 line_cursor#1 div8s::rem8u#0 char_cursor#11 print_str::str#9 ] main:2::test_8u:9::print_str:28 [ test_8u::rem#0 test_8u::i#10 test_8u::res#0 line_cursor#1 div8s::rem8u#0 char_cursor#11 print_str::str#9 ] main:2::test_8u:9::print_str:32 [ test_8u::rem#0 test_8u::i#10 line_cursor#1 div8s::rem8u#0 char_cursor#11 print_str::str#9 ] main:2::test_8s:7::print_str:93 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::divisor#0 test_8s::res#0 div8s::rem8u#0 char_cursor#11 print_str::str#9 ] main:2::test_8s:7::print_str:97 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::res#0 div8s::rem8u#0 char_cursor#11 print_str::str#9 ] main:2::test_8s:7::print_str:101 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 char_cursor#11 print_str::str#9 ] )
|
||||
to:print_str::@1
|
||||
print_str::@1: scope:[print_str] from print_str print_str::@2
|
||||
[58] (byte*) char_cursor#2 ← phi( print_str/(byte*) char_cursor#11 print_str::@2/(byte*) char_cursor#1 ) [ char_cursor#2 print_str::str#7 ] ( main:2::test_8u:9::print_str:24 [ test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 line_cursor#1 div8s::rem8u#0 char_cursor#2 print_str::str#7 ] main:2::test_8u:9::print_str:28 [ test_8u::rem#0 test_8u::i#10 test_8u::res#0 line_cursor#1 div8s::rem8u#0 char_cursor#2 print_str::str#7 ] main:2::test_8u:9::print_str:32 [ test_8u::rem#0 test_8u::i#10 line_cursor#1 div8s::rem8u#0 char_cursor#2 print_str::str#7 ] main:2::test_8s:7::print_str:93 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::divisor#0 test_8s::res#0 div8s::rem8u#0 char_cursor#2 print_str::str#7 ] main:2::test_8s:7::print_str:97 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::res#0 div8s::rem8u#0 char_cursor#2 print_str::str#7 ] main:2::test_8s:7::print_str:101 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 char_cursor#2 print_str::str#7 ] )
|
||||
[58] (byte*) print_str::str#7 ← phi( print_str/(byte*) print_str::str#9 print_str::@2/(byte*) print_str::str#0 ) [ char_cursor#2 print_str::str#7 ] ( main:2::test_8u:9::print_str:24 [ test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 line_cursor#1 div8s::rem8u#0 char_cursor#2 print_str::str#7 ] main:2::test_8u:9::print_str:28 [ test_8u::rem#0 test_8u::i#10 test_8u::res#0 line_cursor#1 div8s::rem8u#0 char_cursor#2 print_str::str#7 ] main:2::test_8u:9::print_str:32 [ test_8u::rem#0 test_8u::i#10 line_cursor#1 div8s::rem8u#0 char_cursor#2 print_str::str#7 ] main:2::test_8s:7::print_str:93 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::divisor#0 test_8s::res#0 div8s::rem8u#0 char_cursor#2 print_str::str#7 ] main:2::test_8s:7::print_str:97 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::res#0 div8s::rem8u#0 char_cursor#2 print_str::str#7 ] main:2::test_8s:7::print_str:101 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 char_cursor#2 print_str::str#7 ] )
|
||||
[59] if(*((byte*) print_str::str#7)!=(byte) '@') goto print_str::@2 [ char_cursor#2 print_str::str#7 ] ( main:2::test_8u:9::print_str:24 [ test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 line_cursor#1 div8s::rem8u#0 char_cursor#2 print_str::str#7 ] main:2::test_8u:9::print_str:28 [ test_8u::rem#0 test_8u::i#10 test_8u::res#0 line_cursor#1 div8s::rem8u#0 char_cursor#2 print_str::str#7 ] main:2::test_8u:9::print_str:32 [ test_8u::rem#0 test_8u::i#10 line_cursor#1 div8s::rem8u#0 char_cursor#2 print_str::str#7 ] main:2::test_8s:7::print_str:93 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::divisor#0 test_8s::res#0 div8s::rem8u#0 char_cursor#2 print_str::str#7 ] main:2::test_8s:7::print_str:97 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::res#0 div8s::rem8u#0 char_cursor#2 print_str::str#7 ] main:2::test_8s:7::print_str:101 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 char_cursor#2 print_str::str#7 ] )
|
||||
to:print_str::@return
|
||||
print_str::@return: scope:[print_str] from print_str::@1
|
||||
[60] return [ char_cursor#2 ] ( main:2::test_8u:9::print_str:24 [ test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 line_cursor#1 div8s::rem8u#0 char_cursor#2 ] main:2::test_8u:9::print_str:28 [ test_8u::rem#0 test_8u::i#10 test_8u::res#0 line_cursor#1 div8s::rem8u#0 char_cursor#2 ] main:2::test_8u:9::print_str:32 [ test_8u::rem#0 test_8u::i#10 line_cursor#1 div8s::rem8u#0 char_cursor#2 ] main:2::test_8s:7::print_str:93 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::divisor#0 test_8s::res#0 div8s::rem8u#0 char_cursor#2 ] main:2::test_8s:7::print_str:97 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::res#0 div8s::rem8u#0 char_cursor#2 ] main:2::test_8s:7::print_str:101 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 char_cursor#2 ] )
|
||||
to:@return
|
||||
print_str::@2: scope:[print_str] from print_str::@1
|
||||
[61] *((byte*) char_cursor#2) ← *((byte*) print_str::str#7) [ char_cursor#2 print_str::str#7 ] ( main:2::test_8u:9::print_str:24 [ test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 line_cursor#1 div8s::rem8u#0 char_cursor#2 print_str::str#7 ] main:2::test_8u:9::print_str:28 [ test_8u::rem#0 test_8u::i#10 test_8u::res#0 line_cursor#1 div8s::rem8u#0 char_cursor#2 print_str::str#7 ] main:2::test_8u:9::print_str:32 [ test_8u::rem#0 test_8u::i#10 line_cursor#1 div8s::rem8u#0 char_cursor#2 print_str::str#7 ] main:2::test_8s:7::print_str:93 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::divisor#0 test_8s::res#0 div8s::rem8u#0 char_cursor#2 print_str::str#7 ] main:2::test_8s:7::print_str:97 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::res#0 div8s::rem8u#0 char_cursor#2 print_str::str#7 ] main:2::test_8s:7::print_str:101 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 char_cursor#2 print_str::str#7 ] )
|
||||
[62] (byte*) char_cursor#1 ← ++ (byte*) char_cursor#2 [ print_str::str#7 char_cursor#1 ] ( main:2::test_8u:9::print_str:24 [ test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 line_cursor#1 div8s::rem8u#0 print_str::str#7 char_cursor#1 ] main:2::test_8u:9::print_str:28 [ test_8u::rem#0 test_8u::i#10 test_8u::res#0 line_cursor#1 div8s::rem8u#0 print_str::str#7 char_cursor#1 ] main:2::test_8u:9::print_str:32 [ test_8u::rem#0 test_8u::i#10 line_cursor#1 div8s::rem8u#0 print_str::str#7 char_cursor#1 ] main:2::test_8s:7::print_str:93 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::divisor#0 test_8s::res#0 div8s::rem8u#0 print_str::str#7 char_cursor#1 ] main:2::test_8s:7::print_str:97 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::res#0 div8s::rem8u#0 print_str::str#7 char_cursor#1 ] main:2::test_8s:7::print_str:101 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 print_str::str#7 char_cursor#1 ] )
|
||||
[63] (byte*) print_str::str#0 ← ++ (byte*) print_str::str#7 [ print_str::str#0 char_cursor#1 ] ( main:2::test_8u:9::print_str:24 [ test_8u::rem#0 test_8u::i#10 test_8u::divisor#0 test_8u::res#0 line_cursor#1 div8s::rem8u#0 print_str::str#0 char_cursor#1 ] main:2::test_8u:9::print_str:28 [ test_8u::rem#0 test_8u::i#10 test_8u::res#0 line_cursor#1 div8s::rem8u#0 print_str::str#0 char_cursor#1 ] main:2::test_8u:9::print_str:32 [ test_8u::rem#0 test_8u::i#10 line_cursor#1 div8s::rem8u#0 print_str::str#0 char_cursor#1 ] main:2::test_8s:7::print_str:93 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::divisor#0 test_8s::res#0 div8s::rem8u#0 print_str::str#0 char_cursor#1 ] main:2::test_8s:7::print_str:97 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::res#0 div8s::rem8u#0 print_str::str#0 char_cursor#1 ] main:2::test_8s:7::print_str:101 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 print_str::str#0 char_cursor#1 ] )
|
||||
to:print_str::@1
|
||||
div8u: scope:[div8u] from div8s::@4 test_8u::@1
|
||||
[64] (byte*) div8u::remainder#8 ← phi( div8s::@4/&(byte) div8s::rem8u#0 test_8u::@1/&(byte) test_8u::rem#0 ) [ test_8u::rem#0 div8u::dividend#5 div8u::divisor#6 div8u::remainder#8 div8s::rem8u#0 ] ( main:2::test_8u:9::div8u:17 [ test_8u::i#10 test_8u::dividend#0 test_8u::divisor#0 line_cursor#1 test_8u::rem#0 div8u::dividend#5 div8u::divisor#6 div8u::remainder#8 div8s::rem8u#0 ] main:2::test_8s:7::div8s:87::div8u:131 [ line_cursor#30 test_8s::i#10 char_cursor#81 test_8s::dividend#0 test_8s::divisor#0 div8s::neg#4 test_8u::rem#0 div8u::dividend#5 div8u::divisor#6 div8u::remainder#8 div8s::rem8u#0 ] )
|
||||
[64] (byte) div8u::divisor#6 ← phi( div8s::@4/(byte) div8u::divisor#0 test_8u::@1/(byte) div8u::divisor#1 ) [ test_8u::rem#0 div8u::dividend#5 div8u::divisor#6 div8u::remainder#8 div8s::rem8u#0 ] ( main:2::test_8u:9::div8u:17 [ test_8u::i#10 test_8u::dividend#0 test_8u::divisor#0 line_cursor#1 test_8u::rem#0 div8u::dividend#5 div8u::divisor#6 div8u::remainder#8 div8s::rem8u#0 ] main:2::test_8s:7::div8s:87::div8u:131 [ line_cursor#30 test_8s::i#10 char_cursor#81 test_8s::dividend#0 test_8s::divisor#0 div8s::neg#4 test_8u::rem#0 div8u::dividend#5 div8u::divisor#6 div8u::remainder#8 div8s::rem8u#0 ] )
|
||||
[64] (byte) div8u::dividend#5 ← phi( div8s::@4/(byte) div8u::dividend#1 test_8u::@1/(byte) div8u::dividend#2 ) [ test_8u::rem#0 div8u::dividend#5 div8u::divisor#6 div8u::remainder#8 div8s::rem8u#0 ] ( main:2::test_8u:9::div8u:17 [ test_8u::i#10 test_8u::dividend#0 test_8u::divisor#0 line_cursor#1 test_8u::rem#0 div8u::dividend#5 div8u::divisor#6 div8u::remainder#8 div8s::rem8u#0 ] main:2::test_8s:7::div8s:87::div8u:131 [ line_cursor#30 test_8s::i#10 char_cursor#81 test_8s::dividend#0 test_8s::divisor#0 div8s::neg#4 test_8u::rem#0 div8u::dividend#5 div8u::divisor#6 div8u::remainder#8 div8s::rem8u#0 ] )
|
||||
to:div8u::@1
|
||||
div8u::@1: scope:[div8u] from div8u div8u::@3
|
||||
[117] (byte) div8u::i#2 ← phi( div8u/(byte/signed byte/word/signed word/dword/signed dword) 0 div8u::@3/(byte) div8u::i#1 ) [ div8u::divisor#0 div8u::rem#4 div8u::dividend#2 div8u::quotient#3 div8u::i#2 ] ( main:2::test_8u:7::div8u:93 [ line_cursor#25 char_cursor#75 test_8u::rem#0 test_8u::i#10 test_8u::dividend#0 test_8u::divisor#0 div8u::divisor#0 div8u::rem#4 div8u::dividend#2 div8u::quotient#3 div8u::i#2 ] )
|
||||
[117] (byte) div8u::quotient#3 ← phi( div8u/(byte/signed byte/word/signed word/dword/signed dword) 0 div8u::@3/(byte) div8u::return#0 ) [ div8u::divisor#0 div8u::rem#4 div8u::dividend#2 div8u::quotient#3 div8u::i#2 ] ( main:2::test_8u:7::div8u:93 [ line_cursor#25 char_cursor#75 test_8u::rem#0 test_8u::i#10 test_8u::dividend#0 test_8u::divisor#0 div8u::divisor#0 div8u::rem#4 div8u::dividend#2 div8u::quotient#3 div8u::i#2 ] )
|
||||
[117] (byte) div8u::dividend#2 ← phi( div8u/(byte) div8u::dividend#1 div8u::@3/(byte) div8u::dividend#0 ) [ div8u::divisor#0 div8u::rem#4 div8u::dividend#2 div8u::quotient#3 div8u::i#2 ] ( main:2::test_8u:7::div8u:93 [ line_cursor#25 char_cursor#75 test_8u::rem#0 test_8u::i#10 test_8u::dividend#0 test_8u::divisor#0 div8u::divisor#0 div8u::rem#4 div8u::dividend#2 div8u::quotient#3 div8u::i#2 ] )
|
||||
[117] (byte) div8u::rem#4 ← phi( div8u/(byte/signed byte/word/signed word/dword/signed dword) 0 div8u::@3/(byte) div8u::rem#8 ) [ div8u::divisor#0 div8u::rem#4 div8u::dividend#2 div8u::quotient#3 div8u::i#2 ] ( main:2::test_8u:7::div8u:93 [ line_cursor#25 char_cursor#75 test_8u::rem#0 test_8u::i#10 test_8u::dividend#0 test_8u::divisor#0 div8u::divisor#0 div8u::rem#4 div8u::dividend#2 div8u::quotient#3 div8u::i#2 ] )
|
||||
[118] (byte) div8u::rem#1 ← (byte) div8u::rem#4 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ div8u::divisor#0 div8u::dividend#2 div8u::quotient#3 div8u::i#2 div8u::rem#1 ] ( main:2::test_8u:7::div8u:93 [ line_cursor#25 char_cursor#75 test_8u::rem#0 test_8u::i#10 test_8u::dividend#0 test_8u::divisor#0 div8u::divisor#0 div8u::dividend#2 div8u::quotient#3 div8u::i#2 div8u::rem#1 ] )
|
||||
[119] (byte~) div8u::$1 ← (byte) div8u::dividend#2 & (byte/word/signed word/dword/signed dword) 128 [ div8u::divisor#0 div8u::dividend#2 div8u::quotient#3 div8u::i#2 div8u::rem#1 div8u::$1 ] ( main:2::test_8u:7::div8u:93 [ line_cursor#25 char_cursor#75 test_8u::rem#0 test_8u::i#10 test_8u::dividend#0 test_8u::divisor#0 div8u::divisor#0 div8u::dividend#2 div8u::quotient#3 div8u::i#2 div8u::rem#1 div8u::$1 ] )
|
||||
[120] if((byte~) div8u::$1==(byte/signed byte/word/signed word/dword/signed dword) 0) goto div8u::@2 [ div8u::divisor#0 div8u::dividend#2 div8u::quotient#3 div8u::i#2 div8u::rem#1 ] ( main:2::test_8u:7::div8u:93 [ line_cursor#25 char_cursor#75 test_8u::rem#0 test_8u::i#10 test_8u::dividend#0 test_8u::divisor#0 div8u::divisor#0 div8u::dividend#2 div8u::quotient#3 div8u::i#2 div8u::rem#1 ] )
|
||||
[65] (byte) div8u::i#2 ← phi( div8u/(byte/signed byte/word/signed word/dword/signed dword) 0 div8u::@3/(byte) div8u::i#1 ) [ test_8u::rem#0 div8u::divisor#6 div8u::remainder#8 div8u::rem#4 div8u::dividend#3 div8u::quotient#3 div8u::i#2 div8s::rem8u#0 ] ( main:2::test_8u:9::div8u:17 [ test_8u::i#10 test_8u::dividend#0 test_8u::divisor#0 line_cursor#1 test_8u::rem#0 div8u::divisor#6 div8u::remainder#8 div8u::rem#4 div8u::dividend#3 div8u::quotient#3 div8u::i#2 div8s::rem8u#0 ] main:2::test_8s:7::div8s:87::div8u:131 [ line_cursor#30 test_8s::i#10 char_cursor#81 test_8s::dividend#0 test_8s::divisor#0 div8s::neg#4 test_8u::rem#0 div8u::divisor#6 div8u::remainder#8 div8u::rem#4 div8u::dividend#3 div8u::quotient#3 div8u::i#2 div8s::rem8u#0 ] )
|
||||
[65] (byte) div8u::quotient#3 ← phi( div8u/(byte/signed byte/word/signed word/dword/signed dword) 0 div8u::@3/(byte) div8u::return#0 ) [ test_8u::rem#0 div8u::divisor#6 div8u::remainder#8 div8u::rem#4 div8u::dividend#3 div8u::quotient#3 div8u::i#2 div8s::rem8u#0 ] ( main:2::test_8u:9::div8u:17 [ test_8u::i#10 test_8u::dividend#0 test_8u::divisor#0 line_cursor#1 test_8u::rem#0 div8u::divisor#6 div8u::remainder#8 div8u::rem#4 div8u::dividend#3 div8u::quotient#3 div8u::i#2 div8s::rem8u#0 ] main:2::test_8s:7::div8s:87::div8u:131 [ line_cursor#30 test_8s::i#10 char_cursor#81 test_8s::dividend#0 test_8s::divisor#0 div8s::neg#4 test_8u::rem#0 div8u::divisor#6 div8u::remainder#8 div8u::rem#4 div8u::dividend#3 div8u::quotient#3 div8u::i#2 div8s::rem8u#0 ] )
|
||||
[65] (byte) div8u::dividend#3 ← phi( div8u/(byte) div8u::dividend#5 div8u::@3/(byte) div8u::dividend#0 ) [ test_8u::rem#0 div8u::divisor#6 div8u::remainder#8 div8u::rem#4 div8u::dividend#3 div8u::quotient#3 div8u::i#2 div8s::rem8u#0 ] ( main:2::test_8u:9::div8u:17 [ test_8u::i#10 test_8u::dividend#0 test_8u::divisor#0 line_cursor#1 test_8u::rem#0 div8u::divisor#6 div8u::remainder#8 div8u::rem#4 div8u::dividend#3 div8u::quotient#3 div8u::i#2 div8s::rem8u#0 ] main:2::test_8s:7::div8s:87::div8u:131 [ line_cursor#30 test_8s::i#10 char_cursor#81 test_8s::dividend#0 test_8s::divisor#0 div8s::neg#4 test_8u::rem#0 div8u::divisor#6 div8u::remainder#8 div8u::rem#4 div8u::dividend#3 div8u::quotient#3 div8u::i#2 div8s::rem8u#0 ] )
|
||||
[65] (byte) div8u::rem#4 ← phi( div8u/(byte/signed byte/word/signed word/dword/signed dword) 0 div8u::@3/(byte) div8u::rem#8 ) [ test_8u::rem#0 div8u::divisor#6 div8u::remainder#8 div8u::rem#4 div8u::dividend#3 div8u::quotient#3 div8u::i#2 div8s::rem8u#0 ] ( main:2::test_8u:9::div8u:17 [ test_8u::i#10 test_8u::dividend#0 test_8u::divisor#0 line_cursor#1 test_8u::rem#0 div8u::divisor#6 div8u::remainder#8 div8u::rem#4 div8u::dividend#3 div8u::quotient#3 div8u::i#2 div8s::rem8u#0 ] main:2::test_8s:7::div8s:87::div8u:131 [ line_cursor#30 test_8s::i#10 char_cursor#81 test_8s::dividend#0 test_8s::divisor#0 div8s::neg#4 test_8u::rem#0 div8u::divisor#6 div8u::remainder#8 div8u::rem#4 div8u::dividend#3 div8u::quotient#3 div8u::i#2 div8s::rem8u#0 ] )
|
||||
[66] (byte) div8u::rem#1 ← (byte) div8u::rem#4 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ test_8u::rem#0 div8u::divisor#6 div8u::remainder#8 div8u::dividend#3 div8u::quotient#3 div8u::i#2 div8u::rem#1 div8s::rem8u#0 ] ( main:2::test_8u:9::div8u:17 [ test_8u::i#10 test_8u::dividend#0 test_8u::divisor#0 line_cursor#1 test_8u::rem#0 div8u::divisor#6 div8u::remainder#8 div8u::dividend#3 div8u::quotient#3 div8u::i#2 div8u::rem#1 div8s::rem8u#0 ] main:2::test_8s:7::div8s:87::div8u:131 [ line_cursor#30 test_8s::i#10 char_cursor#81 test_8s::dividend#0 test_8s::divisor#0 div8s::neg#4 test_8u::rem#0 div8u::divisor#6 div8u::remainder#8 div8u::dividend#3 div8u::quotient#3 div8u::i#2 div8u::rem#1 div8s::rem8u#0 ] )
|
||||
[67] (byte~) div8u::$1 ← (byte) div8u::dividend#3 & (byte/word/signed word/dword/signed dword) 128 [ test_8u::rem#0 div8u::divisor#6 div8u::remainder#8 div8u::dividend#3 div8u::quotient#3 div8u::i#2 div8u::rem#1 div8u::$1 div8s::rem8u#0 ] ( main:2::test_8u:9::div8u:17 [ test_8u::i#10 test_8u::dividend#0 test_8u::divisor#0 line_cursor#1 test_8u::rem#0 div8u::divisor#6 div8u::remainder#8 div8u::dividend#3 div8u::quotient#3 div8u::i#2 div8u::rem#1 div8u::$1 div8s::rem8u#0 ] main:2::test_8s:7::div8s:87::div8u:131 [ line_cursor#30 test_8s::i#10 char_cursor#81 test_8s::dividend#0 test_8s::divisor#0 div8s::neg#4 test_8u::rem#0 div8u::divisor#6 div8u::remainder#8 div8u::dividend#3 div8u::quotient#3 div8u::i#2 div8u::rem#1 div8u::$1 div8s::rem8u#0 ] )
|
||||
[68] if((byte~) div8u::$1==(byte/signed byte/word/signed word/dword/signed dword) 0) goto div8u::@2 [ test_8u::rem#0 div8u::divisor#6 div8u::remainder#8 div8u::dividend#3 div8u::quotient#3 div8u::i#2 div8u::rem#1 div8s::rem8u#0 ] ( main:2::test_8u:9::div8u:17 [ test_8u::i#10 test_8u::dividend#0 test_8u::divisor#0 line_cursor#1 test_8u::rem#0 div8u::divisor#6 div8u::remainder#8 div8u::dividend#3 div8u::quotient#3 div8u::i#2 div8u::rem#1 div8s::rem8u#0 ] main:2::test_8s:7::div8s:87::div8u:131 [ line_cursor#30 test_8s::i#10 char_cursor#81 test_8s::dividend#0 test_8s::divisor#0 div8s::neg#4 test_8u::rem#0 div8u::divisor#6 div8u::remainder#8 div8u::dividend#3 div8u::quotient#3 div8u::i#2 div8u::rem#1 div8s::rem8u#0 ] )
|
||||
to:div8u::@4
|
||||
div8u::@4: scope:[div8u] from div8u::@1
|
||||
[121] (byte) div8u::rem#2 ← ++ (byte) div8u::rem#1 [ div8u::divisor#0 div8u::dividend#2 div8u::quotient#3 div8u::i#2 div8u::rem#2 ] ( main:2::test_8u:7::div8u:93 [ line_cursor#25 char_cursor#75 test_8u::rem#0 test_8u::i#10 test_8u::dividend#0 test_8u::divisor#0 div8u::divisor#0 div8u::dividend#2 div8u::quotient#3 div8u::i#2 div8u::rem#2 ] )
|
||||
[69] (byte) div8u::rem#2 ← ++ (byte) div8u::rem#1 [ test_8u::rem#0 div8u::divisor#6 div8u::remainder#8 div8u::dividend#3 div8u::quotient#3 div8u::i#2 div8u::rem#2 div8s::rem8u#0 ] ( main:2::test_8u:9::div8u:17 [ test_8u::i#10 test_8u::dividend#0 test_8u::divisor#0 line_cursor#1 test_8u::rem#0 div8u::divisor#6 div8u::remainder#8 div8u::dividend#3 div8u::quotient#3 div8u::i#2 div8u::rem#2 div8s::rem8u#0 ] main:2::test_8s:7::div8s:87::div8u:131 [ line_cursor#30 test_8s::i#10 char_cursor#81 test_8s::dividend#0 test_8s::divisor#0 div8s::neg#4 test_8u::rem#0 div8u::divisor#6 div8u::remainder#8 div8u::dividend#3 div8u::quotient#3 div8u::i#2 div8u::rem#2 div8s::rem8u#0 ] )
|
||||
to:div8u::@2
|
||||
div8u::@2: scope:[div8u] from div8u::@1 div8u::@4
|
||||
[122] (byte) div8u::rem#5 ← phi( div8u::@1/(byte) div8u::rem#1 div8u::@4/(byte) div8u::rem#2 ) [ div8u::divisor#0 div8u::dividend#2 div8u::quotient#3 div8u::i#2 div8u::rem#5 ] ( main:2::test_8u:7::div8u:93 [ line_cursor#25 char_cursor#75 test_8u::rem#0 test_8u::i#10 test_8u::dividend#0 test_8u::divisor#0 div8u::divisor#0 div8u::dividend#2 div8u::quotient#3 div8u::i#2 div8u::rem#5 ] )
|
||||
[123] (byte) div8u::dividend#0 ← (byte) div8u::dividend#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ div8u::divisor#0 div8u::quotient#3 div8u::i#2 div8u::dividend#0 div8u::rem#5 ] ( main:2::test_8u:7::div8u:93 [ line_cursor#25 char_cursor#75 test_8u::rem#0 test_8u::i#10 test_8u::dividend#0 test_8u::divisor#0 div8u::divisor#0 div8u::quotient#3 div8u::i#2 div8u::dividend#0 div8u::rem#5 ] )
|
||||
[124] (byte) div8u::quotient#1 ← (byte) div8u::quotient#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ div8u::divisor#0 div8u::i#2 div8u::dividend#0 div8u::rem#5 div8u::quotient#1 ] ( main:2::test_8u:7::div8u:93 [ line_cursor#25 char_cursor#75 test_8u::rem#0 test_8u::i#10 test_8u::dividend#0 test_8u::divisor#0 div8u::divisor#0 div8u::i#2 div8u::dividend#0 div8u::rem#5 div8u::quotient#1 ] )
|
||||
[125] if((byte) div8u::rem#5<(byte) div8u::divisor#0) goto div8u::@3 [ div8u::divisor#0 div8u::i#2 div8u::dividend#0 div8u::rem#5 div8u::quotient#1 ] ( main:2::test_8u:7::div8u:93 [ line_cursor#25 char_cursor#75 test_8u::rem#0 test_8u::i#10 test_8u::dividend#0 test_8u::divisor#0 div8u::divisor#0 div8u::i#2 div8u::dividend#0 div8u::rem#5 div8u::quotient#1 ] )
|
||||
[70] (byte) div8u::rem#5 ← phi( div8u::@1/(byte) div8u::rem#1 div8u::@4/(byte) div8u::rem#2 ) [ test_8u::rem#0 div8u::divisor#6 div8u::remainder#8 div8u::dividend#3 div8u::quotient#3 div8u::i#2 div8u::rem#5 div8s::rem8u#0 ] ( main:2::test_8u:9::div8u:17 [ test_8u::i#10 test_8u::dividend#0 test_8u::divisor#0 line_cursor#1 test_8u::rem#0 div8u::divisor#6 div8u::remainder#8 div8u::dividend#3 div8u::quotient#3 div8u::i#2 div8u::rem#5 div8s::rem8u#0 ] main:2::test_8s:7::div8s:87::div8u:131 [ line_cursor#30 test_8s::i#10 char_cursor#81 test_8s::dividend#0 test_8s::divisor#0 div8s::neg#4 test_8u::rem#0 div8u::divisor#6 div8u::remainder#8 div8u::dividend#3 div8u::quotient#3 div8u::i#2 div8u::rem#5 div8s::rem8u#0 ] )
|
||||
[71] (byte) div8u::dividend#0 ← (byte) div8u::dividend#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ test_8u::rem#0 div8u::divisor#6 div8u::remainder#8 div8u::quotient#3 div8u::i#2 div8u::dividend#0 div8u::rem#5 div8s::rem8u#0 ] ( main:2::test_8u:9::div8u:17 [ test_8u::i#10 test_8u::dividend#0 test_8u::divisor#0 line_cursor#1 test_8u::rem#0 div8u::divisor#6 div8u::remainder#8 div8u::quotient#3 div8u::i#2 div8u::dividend#0 div8u::rem#5 div8s::rem8u#0 ] main:2::test_8s:7::div8s:87::div8u:131 [ line_cursor#30 test_8s::i#10 char_cursor#81 test_8s::dividend#0 test_8s::divisor#0 div8s::neg#4 test_8u::rem#0 div8u::divisor#6 div8u::remainder#8 div8u::quotient#3 div8u::i#2 div8u::dividend#0 div8u::rem#5 div8s::rem8u#0 ] )
|
||||
[72] (byte) div8u::quotient#1 ← (byte) div8u::quotient#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ test_8u::rem#0 div8u::divisor#6 div8u::remainder#8 div8u::i#2 div8u::dividend#0 div8u::rem#5 div8u::quotient#1 div8s::rem8u#0 ] ( main:2::test_8u:9::div8u:17 [ test_8u::i#10 test_8u::dividend#0 test_8u::divisor#0 line_cursor#1 test_8u::rem#0 div8u::divisor#6 div8u::remainder#8 div8u::i#2 div8u::dividend#0 div8u::rem#5 div8u::quotient#1 div8s::rem8u#0 ] main:2::test_8s:7::div8s:87::div8u:131 [ line_cursor#30 test_8s::i#10 char_cursor#81 test_8s::dividend#0 test_8s::divisor#0 div8s::neg#4 test_8u::rem#0 div8u::divisor#6 div8u::remainder#8 div8u::i#2 div8u::dividend#0 div8u::rem#5 div8u::quotient#1 div8s::rem8u#0 ] )
|
||||
[73] if((byte) div8u::rem#5<(byte) div8u::divisor#6) goto div8u::@3 [ test_8u::rem#0 div8u::divisor#6 div8u::remainder#8 div8u::i#2 div8u::dividend#0 div8u::rem#5 div8u::quotient#1 div8s::rem8u#0 ] ( main:2::test_8u:9::div8u:17 [ test_8u::i#10 test_8u::dividend#0 test_8u::divisor#0 line_cursor#1 test_8u::rem#0 div8u::divisor#6 div8u::remainder#8 div8u::i#2 div8u::dividend#0 div8u::rem#5 div8u::quotient#1 div8s::rem8u#0 ] main:2::test_8s:7::div8s:87::div8u:131 [ line_cursor#30 test_8s::i#10 char_cursor#81 test_8s::dividend#0 test_8s::divisor#0 div8s::neg#4 test_8u::rem#0 div8u::divisor#6 div8u::remainder#8 div8u::i#2 div8u::dividend#0 div8u::rem#5 div8u::quotient#1 div8s::rem8u#0 ] )
|
||||
to:div8u::@5
|
||||
div8u::@5: scope:[div8u] from div8u::@2
|
||||
[126] (byte) div8u::quotient#2 ← ++ (byte) div8u::quotient#1 [ div8u::divisor#0 div8u::i#2 div8u::dividend#0 div8u::rem#5 div8u::quotient#2 ] ( main:2::test_8u:7::div8u:93 [ line_cursor#25 char_cursor#75 test_8u::rem#0 test_8u::i#10 test_8u::dividend#0 test_8u::divisor#0 div8u::divisor#0 div8u::i#2 div8u::dividend#0 div8u::rem#5 div8u::quotient#2 ] )
|
||||
[127] (byte) div8u::rem#3 ← (byte) div8u::rem#5 - (byte) div8u::divisor#0 [ div8u::divisor#0 div8u::i#2 div8u::dividend#0 div8u::quotient#2 div8u::rem#3 ] ( main:2::test_8u:7::div8u:93 [ line_cursor#25 char_cursor#75 test_8u::rem#0 test_8u::i#10 test_8u::dividend#0 test_8u::divisor#0 div8u::divisor#0 div8u::i#2 div8u::dividend#0 div8u::quotient#2 div8u::rem#3 ] )
|
||||
[74] (byte) div8u::quotient#2 ← ++ (byte) div8u::quotient#1 [ test_8u::rem#0 div8u::divisor#6 div8u::remainder#8 div8u::i#2 div8u::dividend#0 div8u::rem#5 div8u::quotient#2 div8s::rem8u#0 ] ( main:2::test_8u:9::div8u:17 [ test_8u::i#10 test_8u::dividend#0 test_8u::divisor#0 line_cursor#1 test_8u::rem#0 div8u::divisor#6 div8u::remainder#8 div8u::i#2 div8u::dividend#0 div8u::rem#5 div8u::quotient#2 div8s::rem8u#0 ] main:2::test_8s:7::div8s:87::div8u:131 [ line_cursor#30 test_8s::i#10 char_cursor#81 test_8s::dividend#0 test_8s::divisor#0 div8s::neg#4 test_8u::rem#0 div8u::divisor#6 div8u::remainder#8 div8u::i#2 div8u::dividend#0 div8u::rem#5 div8u::quotient#2 div8s::rem8u#0 ] )
|
||||
[75] (byte) div8u::rem#3 ← (byte) div8u::rem#5 - (byte) div8u::divisor#6 [ test_8u::rem#0 div8u::divisor#6 div8u::remainder#8 div8u::i#2 div8u::dividend#0 div8u::quotient#2 div8u::rem#3 div8s::rem8u#0 ] ( main:2::test_8u:9::div8u:17 [ test_8u::i#10 test_8u::dividend#0 test_8u::divisor#0 line_cursor#1 test_8u::rem#0 div8u::divisor#6 div8u::remainder#8 div8u::i#2 div8u::dividend#0 div8u::quotient#2 div8u::rem#3 div8s::rem8u#0 ] main:2::test_8s:7::div8s:87::div8u:131 [ line_cursor#30 test_8s::i#10 char_cursor#81 test_8s::dividend#0 test_8s::divisor#0 div8s::neg#4 test_8u::rem#0 div8u::divisor#6 div8u::remainder#8 div8u::i#2 div8u::dividend#0 div8u::quotient#2 div8u::rem#3 div8s::rem8u#0 ] )
|
||||
to:div8u::@3
|
||||
div8u::@3: scope:[div8u] from div8u::@2 div8u::@5
|
||||
[128] (byte) div8u::return#0 ← phi( div8u::@2/(byte) div8u::quotient#1 div8u::@5/(byte) div8u::quotient#2 ) [ div8u::divisor#0 div8u::return#0 div8u::i#2 div8u::rem#8 div8u::dividend#0 ] ( main:2::test_8u:7::div8u:93 [ line_cursor#25 char_cursor#75 test_8u::rem#0 test_8u::i#10 test_8u::dividend#0 test_8u::divisor#0 div8u::divisor#0 div8u::return#0 div8u::i#2 div8u::rem#8 div8u::dividend#0 ] )
|
||||
[128] (byte) div8u::rem#8 ← phi( div8u::@2/(byte) div8u::rem#5 div8u::@5/(byte) div8u::rem#3 ) [ div8u::divisor#0 div8u::return#0 div8u::i#2 div8u::rem#8 div8u::dividend#0 ] ( main:2::test_8u:7::div8u:93 [ line_cursor#25 char_cursor#75 test_8u::rem#0 test_8u::i#10 test_8u::dividend#0 test_8u::divisor#0 div8u::divisor#0 div8u::return#0 div8u::i#2 div8u::rem#8 div8u::dividend#0 ] )
|
||||
[129] (byte) div8u::i#1 ← ++ (byte) div8u::i#2 [ div8u::divisor#0 div8u::return#0 div8u::rem#8 div8u::dividend#0 div8u::i#1 ] ( main:2::test_8u:7::div8u:93 [ line_cursor#25 char_cursor#75 test_8u::rem#0 test_8u::i#10 test_8u::dividend#0 test_8u::divisor#0 div8u::divisor#0 div8u::return#0 div8u::rem#8 div8u::dividend#0 div8u::i#1 ] )
|
||||
[130] if((byte) div8u::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto div8u::@1 [ div8u::divisor#0 div8u::return#0 div8u::rem#8 div8u::dividend#0 div8u::i#1 ] ( main:2::test_8u:7::div8u:93 [ line_cursor#25 char_cursor#75 test_8u::rem#0 test_8u::i#10 test_8u::dividend#0 test_8u::divisor#0 div8u::divisor#0 div8u::return#0 div8u::rem#8 div8u::dividend#0 div8u::i#1 ] )
|
||||
[76] (byte) div8u::return#0 ← phi( div8u::@2/(byte) div8u::quotient#1 div8u::@5/(byte) div8u::quotient#2 ) [ test_8u::rem#0 div8u::return#0 div8u::divisor#6 div8u::remainder#8 div8u::i#2 div8u::rem#8 div8u::dividend#0 div8s::rem8u#0 ] ( main:2::test_8u:9::div8u:17 [ test_8u::i#10 test_8u::dividend#0 test_8u::divisor#0 line_cursor#1 test_8u::rem#0 div8u::return#0 div8u::divisor#6 div8u::remainder#8 div8u::i#2 div8u::rem#8 div8u::dividend#0 div8s::rem8u#0 ] main:2::test_8s:7::div8s:87::div8u:131 [ line_cursor#30 test_8s::i#10 char_cursor#81 test_8s::dividend#0 test_8s::divisor#0 div8s::neg#4 test_8u::rem#0 div8u::return#0 div8u::divisor#6 div8u::remainder#8 div8u::i#2 div8u::rem#8 div8u::dividend#0 div8s::rem8u#0 ] )
|
||||
[76] (byte) div8u::rem#8 ← phi( div8u::@2/(byte) div8u::rem#5 div8u::@5/(byte) div8u::rem#3 ) [ test_8u::rem#0 div8u::return#0 div8u::divisor#6 div8u::remainder#8 div8u::i#2 div8u::rem#8 div8u::dividend#0 div8s::rem8u#0 ] ( main:2::test_8u:9::div8u:17 [ test_8u::i#10 test_8u::dividend#0 test_8u::divisor#0 line_cursor#1 test_8u::rem#0 div8u::return#0 div8u::divisor#6 div8u::remainder#8 div8u::i#2 div8u::rem#8 div8u::dividend#0 div8s::rem8u#0 ] main:2::test_8s:7::div8s:87::div8u:131 [ line_cursor#30 test_8s::i#10 char_cursor#81 test_8s::dividend#0 test_8s::divisor#0 div8s::neg#4 test_8u::rem#0 div8u::return#0 div8u::divisor#6 div8u::remainder#8 div8u::i#2 div8u::rem#8 div8u::dividend#0 div8s::rem8u#0 ] )
|
||||
[77] (byte) div8u::i#1 ← ++ (byte) div8u::i#2 [ test_8u::rem#0 div8u::return#0 div8u::divisor#6 div8u::remainder#8 div8u::rem#8 div8u::dividend#0 div8u::i#1 div8s::rem8u#0 ] ( main:2::test_8u:9::div8u:17 [ test_8u::i#10 test_8u::dividend#0 test_8u::divisor#0 line_cursor#1 test_8u::rem#0 div8u::return#0 div8u::divisor#6 div8u::remainder#8 div8u::rem#8 div8u::dividend#0 div8u::i#1 div8s::rem8u#0 ] main:2::test_8s:7::div8s:87::div8u:131 [ line_cursor#30 test_8s::i#10 char_cursor#81 test_8s::dividend#0 test_8s::divisor#0 div8s::neg#4 test_8u::rem#0 div8u::return#0 div8u::divisor#6 div8u::remainder#8 div8u::rem#8 div8u::dividend#0 div8u::i#1 div8s::rem8u#0 ] )
|
||||
[78] if((byte) div8u::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto div8u::@1 [ test_8u::rem#0 div8u::return#0 div8u::divisor#6 div8u::remainder#8 div8u::rem#8 div8u::dividend#0 div8u::i#1 div8s::rem8u#0 ] ( main:2::test_8u:9::div8u:17 [ test_8u::i#10 test_8u::dividend#0 test_8u::divisor#0 line_cursor#1 test_8u::rem#0 div8u::return#0 div8u::divisor#6 div8u::remainder#8 div8u::rem#8 div8u::dividend#0 div8u::i#1 div8s::rem8u#0 ] main:2::test_8s:7::div8s:87::div8u:131 [ line_cursor#30 test_8s::i#10 char_cursor#81 test_8s::dividend#0 test_8s::divisor#0 div8s::neg#4 test_8u::rem#0 div8u::return#0 div8u::divisor#6 div8u::remainder#8 div8u::rem#8 div8u::dividend#0 div8u::i#1 div8s::rem8u#0 ] )
|
||||
to:div8u::@6
|
||||
div8u::@6: scope:[div8u] from div8u::@3
|
||||
[131] *((const byte*) div8u::remainder#0) ← (byte) div8u::rem#8 [ div8u::return#0 ] ( main:2::test_8u:7::div8u:93 [ line_cursor#25 char_cursor#75 test_8u::rem#0 test_8u::i#10 test_8u::dividend#0 test_8u::divisor#0 div8u::return#0 ] )
|
||||
[79] *((byte*) div8u::remainder#8) ← (byte) div8u::rem#8 [ test_8u::rem#0 div8u::return#0 div8s::rem8u#0 ] ( main:2::test_8u:9::div8u:17 [ test_8u::i#10 test_8u::dividend#0 test_8u::divisor#0 line_cursor#1 test_8u::rem#0 div8u::return#0 div8s::rem8u#0 ] main:2::test_8s:7::div8s:87::div8u:131 [ line_cursor#30 test_8s::i#10 char_cursor#81 test_8s::dividend#0 test_8s::divisor#0 div8s::neg#4 test_8u::rem#0 div8u::return#0 div8s::rem8u#0 ] )
|
||||
to:div8u::@return
|
||||
div8u::@return: scope:[div8u] from div8u::@6
|
||||
[132] return [ div8u::return#0 ] ( main:2::test_8u:7::div8u:93 [ line_cursor#25 char_cursor#75 test_8u::rem#0 test_8u::i#10 test_8u::dividend#0 test_8u::divisor#0 div8u::return#0 ] )
|
||||
[80] return [ test_8u::rem#0 div8u::return#0 div8s::rem8u#0 ] ( main:2::test_8u:9::div8u:17 [ test_8u::i#10 test_8u::dividend#0 test_8u::divisor#0 line_cursor#1 test_8u::rem#0 div8u::return#0 div8s::rem8u#0 ] main:2::test_8s:7::div8s:87::div8u:131 [ line_cursor#30 test_8s::i#10 char_cursor#81 test_8s::dividend#0 test_8s::divisor#0 div8s::neg#4 test_8u::rem#0 div8u::return#0 div8s::rem8u#0 ] )
|
||||
to:@return
|
||||
test_8s: scope:[test_8s] from main::@1
|
||||
[81] phi() [ test_8u::rem#0 ] ( main:2::test_8s:7 [ test_8u::rem#0 ] )
|
||||
to:test_8s::@1
|
||||
test_8s::@1: scope:[test_8s] from test_8s test_8s::@12
|
||||
[82] (byte*) line_cursor#30 ← phi( test_8s/(const byte*) SCREEN#0 test_8s::@12/(byte*) line_cursor#1 ) [ test_8u::rem#0 line_cursor#30 test_8s::i#10 char_cursor#81 ] ( main:2::test_8s:7 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 char_cursor#81 ] )
|
||||
[82] (byte*) char_cursor#81 ← phi( test_8s/(const byte*) SCREEN#0 test_8s::@12/(byte*~) char_cursor#100 ) [ test_8u::rem#0 line_cursor#30 test_8s::i#10 char_cursor#81 ] ( main:2::test_8s:7 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 char_cursor#81 ] )
|
||||
[82] (signed byte) rem8s#18 ← phi( test_8s/(byte/signed byte/word/signed word/dword/signed dword) 0 test_8s::@12/(signed byte) rem8s#3 ) [ test_8u::rem#0 line_cursor#30 test_8s::i#10 char_cursor#81 ] ( main:2::test_8s:7 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 char_cursor#81 ] )
|
||||
[82] (byte) test_8s::i#10 ← phi( test_8s/(byte/signed byte/word/signed word/dword/signed dword) 0 test_8s::@12/(byte) test_8s::i#1 ) [ test_8u::rem#0 line_cursor#30 test_8s::i#10 char_cursor#81 ] ( main:2::test_8s:7 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 char_cursor#81 ] )
|
||||
[83] (signed byte) test_8s::dividend#0 ← *((const signed byte[]) test_8s::dividends#0 + (byte) test_8s::i#10) [ test_8u::rem#0 line_cursor#30 test_8s::i#10 char_cursor#81 test_8s::dividend#0 ] ( main:2::test_8s:7 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 char_cursor#81 test_8s::dividend#0 ] )
|
||||
[84] (signed byte) test_8s::divisor#0 ← *((const signed byte[]) test_8s::divisors#0 + (byte) test_8s::i#10) [ test_8u::rem#0 line_cursor#30 test_8s::i#10 char_cursor#81 test_8s::dividend#0 test_8s::divisor#0 ] ( main:2::test_8s:7 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 char_cursor#81 test_8s::dividend#0 test_8s::divisor#0 ] )
|
||||
[85] (signed byte) div8s::dividend#0 ← (signed byte) test_8s::dividend#0 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 char_cursor#81 test_8s::dividend#0 test_8s::divisor#0 div8s::dividend#0 ] ( main:2::test_8s:7 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 char_cursor#81 test_8s::dividend#0 test_8s::divisor#0 div8s::dividend#0 ] )
|
||||
[86] (signed byte) div8s::divisor#0 ← (signed byte) test_8s::divisor#0 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 char_cursor#81 test_8s::dividend#0 test_8s::divisor#0 div8s::dividend#0 div8s::divisor#0 ] ( main:2::test_8s:7 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 char_cursor#81 test_8s::dividend#0 test_8s::divisor#0 div8s::dividend#0 div8s::divisor#0 ] )
|
||||
[87] call div8s param-assignment [ test_8u::rem#0 line_cursor#30 test_8s::i#10 char_cursor#81 rem8s#3 test_8s::dividend#0 test_8s::divisor#0 div8s::return#2 div8s::rem8u#0 ] ( main:2::test_8s:7 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 char_cursor#81 rem8s#3 test_8s::dividend#0 test_8s::divisor#0 div8s::return#2 div8s::rem8u#0 ] )
|
||||
[88] (signed byte) div8s::return#3 ← (signed byte) div8s::return#2 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 char_cursor#81 rem8s#3 test_8s::dividend#0 test_8s::divisor#0 div8s::return#3 div8s::rem8u#0 ] ( main:2::test_8s:7 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 char_cursor#81 rem8s#3 test_8s::dividend#0 test_8s::divisor#0 div8s::return#3 div8s::rem8u#0 ] )
|
||||
to:test_8s::@3
|
||||
test_8s::@3: scope:[test_8s] from test_8s::@1
|
||||
[89] (signed byte) test_8s::res#0 ← (signed byte) div8s::return#3 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 char_cursor#81 rem8s#3 test_8s::dividend#0 test_8s::divisor#0 test_8s::res#0 div8s::rem8u#0 ] ( main:2::test_8s:7 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 char_cursor#81 rem8s#3 test_8s::dividend#0 test_8s::divisor#0 test_8s::res#0 div8s::rem8u#0 ] )
|
||||
[90] (signed byte) print_sbyte::b#1 ← (signed byte) test_8s::dividend#0 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 char_cursor#81 rem8s#3 test_8s::divisor#0 test_8s::res#0 print_sbyte::b#1 div8s::rem8u#0 ] ( main:2::test_8s:7 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 char_cursor#81 rem8s#3 test_8s::divisor#0 test_8s::res#0 print_sbyte::b#1 div8s::rem8u#0 ] )
|
||||
[91] call print_sbyte param-assignment [ test_8u::rem#0 line_cursor#30 char_cursor#11 test_8s::i#10 rem8s#3 test_8s::divisor#0 test_8s::res#0 div8s::rem8u#0 ] ( main:2::test_8s:7 [ test_8u::rem#0 line_cursor#30 char_cursor#11 test_8s::i#10 rem8s#3 test_8s::divisor#0 test_8s::res#0 div8s::rem8u#0 ] )
|
||||
to:test_8s::@4
|
||||
test_8s::@4: scope:[test_8s] from test_8s::@3
|
||||
[92] phi() [ test_8u::rem#0 line_cursor#30 char_cursor#11 test_8s::i#10 rem8s#3 test_8s::divisor#0 test_8s::res#0 div8s::rem8u#0 ] ( main:2::test_8s:7 [ test_8u::rem#0 line_cursor#30 char_cursor#11 test_8s::i#10 rem8s#3 test_8s::divisor#0 test_8s::res#0 div8s::rem8u#0 ] )
|
||||
[93] call print_str param-assignment [ test_8u::rem#0 line_cursor#30 char_cursor#2 test_8s::i#10 rem8s#3 test_8s::divisor#0 test_8s::res#0 div8s::rem8u#0 ] ( main:2::test_8s:7 [ test_8u::rem#0 line_cursor#30 char_cursor#2 test_8s::i#10 rem8s#3 test_8s::divisor#0 test_8s::res#0 div8s::rem8u#0 ] )
|
||||
to:test_8s::@5
|
||||
test_8s::@5: scope:[test_8s] from test_8s::@4
|
||||
[94] (signed byte) print_sbyte::b#2 ← (signed byte) test_8s::divisor#0 [ test_8u::rem#0 line_cursor#30 char_cursor#2 test_8s::i#10 rem8s#3 test_8s::res#0 print_sbyte::b#2 div8s::rem8u#0 ] ( main:2::test_8s:7 [ test_8u::rem#0 line_cursor#30 char_cursor#2 test_8s::i#10 rem8s#3 test_8s::res#0 print_sbyte::b#2 div8s::rem8u#0 ] )
|
||||
[95] call print_sbyte param-assignment [ test_8u::rem#0 line_cursor#30 char_cursor#11 test_8s::i#10 rem8s#3 test_8s::res#0 div8s::rem8u#0 ] ( main:2::test_8s:7 [ test_8u::rem#0 line_cursor#30 char_cursor#11 test_8s::i#10 rem8s#3 test_8s::res#0 div8s::rem8u#0 ] )
|
||||
to:test_8s::@6
|
||||
test_8s::@6: scope:[test_8s] from test_8s::@5
|
||||
[96] phi() [ test_8u::rem#0 line_cursor#30 char_cursor#11 test_8s::i#10 rem8s#3 test_8s::res#0 div8s::rem8u#0 ] ( main:2::test_8s:7 [ test_8u::rem#0 line_cursor#30 char_cursor#11 test_8s::i#10 rem8s#3 test_8s::res#0 div8s::rem8u#0 ] )
|
||||
[97] call print_str param-assignment [ test_8u::rem#0 line_cursor#30 char_cursor#2 test_8s::i#10 rem8s#3 test_8s::res#0 div8s::rem8u#0 ] ( main:2::test_8s:7 [ test_8u::rem#0 line_cursor#30 char_cursor#2 test_8s::i#10 rem8s#3 test_8s::res#0 div8s::rem8u#0 ] )
|
||||
to:test_8s::@7
|
||||
test_8s::@7: scope:[test_8s] from test_8s::@6
|
||||
[98] (signed byte) print_sbyte::b#3 ← (signed byte) test_8s::res#0 [ test_8u::rem#0 line_cursor#30 char_cursor#2 test_8s::i#10 rem8s#3 print_sbyte::b#3 div8s::rem8u#0 ] ( main:2::test_8s:7 [ test_8u::rem#0 line_cursor#30 char_cursor#2 test_8s::i#10 rem8s#3 print_sbyte::b#3 div8s::rem8u#0 ] )
|
||||
[99] call print_sbyte param-assignment [ test_8u::rem#0 line_cursor#30 char_cursor#11 test_8s::i#10 rem8s#3 div8s::rem8u#0 ] ( main:2::test_8s:7 [ test_8u::rem#0 line_cursor#30 char_cursor#11 test_8s::i#10 rem8s#3 div8s::rem8u#0 ] )
|
||||
to:test_8s::@8
|
||||
test_8s::@8: scope:[test_8s] from test_8s::@7
|
||||
[100] phi() [ test_8u::rem#0 line_cursor#30 char_cursor#11 test_8s::i#10 rem8s#3 div8s::rem8u#0 ] ( main:2::test_8s:7 [ test_8u::rem#0 line_cursor#30 char_cursor#11 test_8s::i#10 rem8s#3 div8s::rem8u#0 ] )
|
||||
[101] call print_str param-assignment [ test_8u::rem#0 line_cursor#30 char_cursor#2 test_8s::i#10 rem8s#3 div8s::rem8u#0 ] ( main:2::test_8s:7 [ test_8u::rem#0 line_cursor#30 char_cursor#2 test_8s::i#10 rem8s#3 div8s::rem8u#0 ] )
|
||||
to:test_8s::@9
|
||||
test_8s::@9: scope:[test_8s] from test_8s::@8
|
||||
[102] (signed byte) print_sbyte::b#4 ← (signed byte) rem8s#3 [ test_8u::rem#0 line_cursor#30 char_cursor#2 test_8s::i#10 rem8s#3 print_sbyte::b#4 div8s::rem8u#0 ] ( main:2::test_8s:7 [ test_8u::rem#0 line_cursor#30 char_cursor#2 test_8s::i#10 rem8s#3 print_sbyte::b#4 div8s::rem8u#0 ] )
|
||||
[103] call print_sbyte param-assignment [ test_8u::rem#0 line_cursor#30 char_cursor#11 test_8s::i#10 rem8s#3 div8s::rem8u#0 ] ( main:2::test_8s:7 [ test_8u::rem#0 line_cursor#30 char_cursor#11 test_8s::i#10 rem8s#3 div8s::rem8u#0 ] )
|
||||
to:test_8s::@10
|
||||
test_8s::@10: scope:[test_8s] from test_8s::@9
|
||||
[104] phi() [ test_8u::rem#0 line_cursor#30 char_cursor#11 test_8s::i#10 rem8s#3 div8s::rem8u#0 ] ( main:2::test_8s:7 [ test_8u::rem#0 line_cursor#30 char_cursor#11 test_8s::i#10 rem8s#3 div8s::rem8u#0 ] )
|
||||
[105] call print_ln param-assignment [ test_8u::rem#0 line_cursor#1 test_8s::i#10 rem8s#3 div8s::rem8u#0 ] ( main:2::test_8s:7 [ test_8u::rem#0 line_cursor#1 test_8s::i#10 rem8s#3 div8s::rem8u#0 ] )
|
||||
to:test_8s::@11
|
||||
test_8s::@11: scope:[test_8s] from test_8s::@10
|
||||
[106] (byte) test_8s::i#1 ← ++ (byte) test_8s::i#10 [ test_8u::rem#0 line_cursor#1 test_8s::i#1 rem8s#3 div8s::rem8u#0 ] ( main:2::test_8s:7 [ test_8u::rem#0 line_cursor#1 test_8s::i#1 rem8s#3 div8s::rem8u#0 ] )
|
||||
[107] if((byte) test_8s::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 6) goto test_8s::@12 [ test_8u::rem#0 line_cursor#1 test_8s::i#1 rem8s#3 div8s::rem8u#0 ] ( main:2::test_8s:7 [ test_8u::rem#0 line_cursor#1 test_8s::i#1 rem8s#3 div8s::rem8u#0 ] )
|
||||
to:test_8s::@return
|
||||
test_8s::@return: scope:[test_8s] from test_8s::@11
|
||||
[108] return [ line_cursor#1 div8s::rem8u#0 ] ( main:2::test_8s:7 [ line_cursor#1 div8s::rem8u#0 ] )
|
||||
to:@return
|
||||
test_8s::@12: scope:[test_8s] from test_8s::@11
|
||||
[109] (byte*~) char_cursor#100 ← (byte*) line_cursor#1 [ test_8u::rem#0 line_cursor#1 test_8s::i#1 rem8s#3 char_cursor#100 ] ( main:2::test_8s:7 [ test_8u::rem#0 line_cursor#1 test_8s::i#1 rem8s#3 char_cursor#100 ] )
|
||||
to:test_8s::@1
|
||||
print_sbyte: scope:[print_sbyte] from test_8s::@3 test_8s::@5 test_8s::@7 test_8s::@9
|
||||
[110] (byte*) char_cursor#77 ← phi( test_8s::@3/(byte*) char_cursor#81 test_8s::@5/(byte*) char_cursor#2 test_8s::@7/(byte*) char_cursor#2 test_8s::@9/(byte*) char_cursor#2 ) [ char_cursor#77 print_sbyte::b#5 ] ( main:2::test_8s:7::print_sbyte:91 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::divisor#0 test_8s::res#0 div8s::rem8u#0 char_cursor#77 print_sbyte::b#5 ] main:2::test_8s:7::print_sbyte:95 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::res#0 div8s::rem8u#0 char_cursor#77 print_sbyte::b#5 ] main:2::test_8s:7::print_sbyte:99 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 char_cursor#77 print_sbyte::b#5 ] main:2::test_8s:7::print_sbyte:103 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 char_cursor#77 print_sbyte::b#5 ] )
|
||||
[110] (signed byte) print_sbyte::b#5 ← phi( test_8s::@3/(signed byte) print_sbyte::b#1 test_8s::@5/(signed byte) print_sbyte::b#2 test_8s::@7/(signed byte) print_sbyte::b#3 test_8s::@9/(signed byte) print_sbyte::b#4 ) [ char_cursor#77 print_sbyte::b#5 ] ( main:2::test_8s:7::print_sbyte:91 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::divisor#0 test_8s::res#0 div8s::rem8u#0 char_cursor#77 print_sbyte::b#5 ] main:2::test_8s:7::print_sbyte:95 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::res#0 div8s::rem8u#0 char_cursor#77 print_sbyte::b#5 ] main:2::test_8s:7::print_sbyte:99 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 char_cursor#77 print_sbyte::b#5 ] main:2::test_8s:7::print_sbyte:103 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 char_cursor#77 print_sbyte::b#5 ] )
|
||||
[111] if((signed byte) print_sbyte::b#5>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto print_sbyte::@1 [ char_cursor#77 print_sbyte::b#5 ] ( main:2::test_8s:7::print_sbyte:91 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::divisor#0 test_8s::res#0 div8s::rem8u#0 char_cursor#77 print_sbyte::b#5 ] main:2::test_8s:7::print_sbyte:95 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::res#0 div8s::rem8u#0 char_cursor#77 print_sbyte::b#5 ] main:2::test_8s:7::print_sbyte:99 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 char_cursor#77 print_sbyte::b#5 ] main:2::test_8s:7::print_sbyte:103 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 char_cursor#77 print_sbyte::b#5 ] )
|
||||
to:print_sbyte::@2
|
||||
print_sbyte::@2: scope:[print_sbyte] from print_sbyte
|
||||
[112] phi() [ char_cursor#77 print_sbyte::b#5 ] ( main:2::test_8s:7::print_sbyte:91 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::divisor#0 test_8s::res#0 div8s::rem8u#0 char_cursor#77 print_sbyte::b#5 ] main:2::test_8s:7::print_sbyte:95 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::res#0 div8s::rem8u#0 char_cursor#77 print_sbyte::b#5 ] main:2::test_8s:7::print_sbyte:99 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 char_cursor#77 print_sbyte::b#5 ] main:2::test_8s:7::print_sbyte:103 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 char_cursor#77 print_sbyte::b#5 ] )
|
||||
[113] call print_char param-assignment [ char_cursor#11 print_sbyte::b#5 ] ( main:2::test_8s:7::print_sbyte:91 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::divisor#0 test_8s::res#0 div8s::rem8u#0 char_cursor#11 print_sbyte::b#5 ] main:2::test_8s:7::print_sbyte:95 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::res#0 div8s::rem8u#0 char_cursor#11 print_sbyte::b#5 ] main:2::test_8s:7::print_sbyte:99 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 char_cursor#11 print_sbyte::b#5 ] main:2::test_8s:7::print_sbyte:103 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 char_cursor#11 print_sbyte::b#5 ] )
|
||||
to:print_sbyte::@4
|
||||
print_sbyte::@4: scope:[print_sbyte] from print_sbyte::@2
|
||||
[114] (signed byte) print_sbyte::b#0 ← - (signed byte) print_sbyte::b#5 [ char_cursor#11 print_sbyte::b#0 ] ( main:2::test_8s:7::print_sbyte:91 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::divisor#0 test_8s::res#0 div8s::rem8u#0 char_cursor#11 print_sbyte::b#0 ] main:2::test_8s:7::print_sbyte:95 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::res#0 div8s::rem8u#0 char_cursor#11 print_sbyte::b#0 ] main:2::test_8s:7::print_sbyte:99 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 char_cursor#11 print_sbyte::b#0 ] main:2::test_8s:7::print_sbyte:103 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 char_cursor#11 print_sbyte::b#0 ] )
|
||||
to:print_sbyte::@1
|
||||
print_sbyte::@1: scope:[print_sbyte] from print_sbyte print_sbyte::@4
|
||||
[115] (byte*) char_cursor#76 ← phi( print_sbyte/(byte*) char_cursor#77 print_sbyte::@4/(byte*) char_cursor#11 ) [ char_cursor#76 print_sbyte::b#6 ] ( main:2::test_8s:7::print_sbyte:91 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::divisor#0 test_8s::res#0 div8s::rem8u#0 char_cursor#76 print_sbyte::b#6 ] main:2::test_8s:7::print_sbyte:95 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::res#0 div8s::rem8u#0 char_cursor#76 print_sbyte::b#6 ] main:2::test_8s:7::print_sbyte:99 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 char_cursor#76 print_sbyte::b#6 ] main:2::test_8s:7::print_sbyte:103 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 char_cursor#76 print_sbyte::b#6 ] )
|
||||
[115] (signed byte) print_sbyte::b#6 ← phi( print_sbyte/(signed byte) print_sbyte::b#5 print_sbyte::@4/(signed byte) print_sbyte::b#0 ) [ char_cursor#76 print_sbyte::b#6 ] ( main:2::test_8s:7::print_sbyte:91 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::divisor#0 test_8s::res#0 div8s::rem8u#0 char_cursor#76 print_sbyte::b#6 ] main:2::test_8s:7::print_sbyte:95 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::res#0 div8s::rem8u#0 char_cursor#76 print_sbyte::b#6 ] main:2::test_8s:7::print_sbyte:99 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 char_cursor#76 print_sbyte::b#6 ] main:2::test_8s:7::print_sbyte:103 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 char_cursor#76 print_sbyte::b#6 ] )
|
||||
[116] (byte~) print_byte::b#7 ← (byte)(signed byte) print_sbyte::b#6 [ print_byte::b#7 char_cursor#76 ] ( main:2::test_8s:7::print_sbyte:91 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::divisor#0 test_8s::res#0 div8s::rem8u#0 print_byte::b#7 char_cursor#76 ] main:2::test_8s:7::print_sbyte:95 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::res#0 div8s::rem8u#0 print_byte::b#7 char_cursor#76 ] main:2::test_8s:7::print_sbyte:99 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 print_byte::b#7 char_cursor#76 ] main:2::test_8s:7::print_sbyte:103 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 print_byte::b#7 char_cursor#76 ] )
|
||||
[117] call print_byte param-assignment [ char_cursor#11 ] ( main:2::test_8s:7::print_sbyte:91 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::divisor#0 test_8s::res#0 div8s::rem8u#0 char_cursor#11 ] main:2::test_8s:7::print_sbyte:95 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::res#0 div8s::rem8u#0 char_cursor#11 ] main:2::test_8s:7::print_sbyte:99 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 char_cursor#11 ] main:2::test_8s:7::print_sbyte:103 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 char_cursor#11 ] )
|
||||
to:print_sbyte::@return
|
||||
print_sbyte::@return: scope:[print_sbyte] from print_sbyte::@1
|
||||
[118] return [ char_cursor#11 ] ( main:2::test_8s:7::print_sbyte:91 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::divisor#0 test_8s::res#0 div8s::rem8u#0 char_cursor#11 ] main:2::test_8s:7::print_sbyte:95 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 test_8s::res#0 div8s::rem8u#0 char_cursor#11 ] main:2::test_8s:7::print_sbyte:99 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 char_cursor#11 ] main:2::test_8s:7::print_sbyte:103 [ test_8u::rem#0 line_cursor#30 test_8s::i#10 rem8s#3 div8s::rem8u#0 char_cursor#11 ] )
|
||||
to:@return
|
||||
div8s: scope:[div8s] from test_8s::@1
|
||||
[119] if((signed byte) div8s::dividend#0>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto div8s::@16 [ test_8u::rem#0 div8s::dividend#0 div8s::divisor#0 ] ( main:2::test_8s:7::div8s:87 [ line_cursor#30 test_8s::i#10 char_cursor#81 test_8s::dividend#0 test_8s::divisor#0 test_8u::rem#0 div8s::dividend#0 div8s::divisor#0 ] )
|
||||
to:div8s::@7
|
||||
div8s::@7: scope:[div8s] from div8s
|
||||
[120] (signed byte~) div8s::$2 ← - (signed byte) div8s::dividend#0 [ test_8u::rem#0 div8s::divisor#0 div8s::$2 ] ( main:2::test_8s:7::div8s:87 [ line_cursor#30 test_8s::i#10 char_cursor#81 test_8s::dividend#0 test_8s::divisor#0 test_8u::rem#0 div8s::divisor#0 div8s::$2 ] )
|
||||
[121] (byte~) div8s::dividendb#8 ← (byte)(signed byte~) div8s::$2 [ test_8u::rem#0 div8s::divisor#0 div8s::dividendb#8 ] ( main:2::test_8s:7::div8s:87 [ line_cursor#30 test_8s::i#10 char_cursor#81 test_8s::dividend#0 test_8s::divisor#0 test_8u::rem#0 div8s::divisor#0 div8s::dividendb#8 ] )
|
||||
to:div8s::@2
|
||||
div8s::@2: scope:[div8s] from div8s::@16 div8s::@7
|
||||
[122] (byte) div8s::dividendb#3 ← phi( div8s::@16/(byte~) div8s::dividendb#7 div8s::@7/(byte~) div8s::dividendb#8 ) [ test_8u::rem#0 div8s::divisor#0 div8s::neg#3 div8s::dividendb#3 ] ( main:2::test_8s:7::div8s:87 [ line_cursor#30 test_8s::i#10 char_cursor#81 test_8s::dividend#0 test_8s::divisor#0 test_8u::rem#0 div8s::divisor#0 div8s::neg#3 div8s::dividendb#3 ] )
|
||||
[122] (byte) div8s::neg#3 ← phi( div8s::@16/(byte/signed byte/word/signed word/dword/signed dword) 0 div8s::@7/(byte/signed byte/word/signed word/dword/signed dword) 1 ) [ test_8u::rem#0 div8s::divisor#0 div8s::neg#3 div8s::dividendb#3 ] ( main:2::test_8s:7::div8s:87 [ line_cursor#30 test_8s::i#10 char_cursor#81 test_8s::dividend#0 test_8s::divisor#0 test_8u::rem#0 div8s::divisor#0 div8s::neg#3 div8s::dividendb#3 ] )
|
||||
[123] if((signed byte) div8s::divisor#0>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto div8s::@17 [ test_8u::rem#0 div8s::divisor#0 div8s::neg#3 div8s::dividendb#3 ] ( main:2::test_8s:7::div8s:87 [ line_cursor#30 test_8s::i#10 char_cursor#81 test_8s::dividend#0 test_8s::divisor#0 test_8u::rem#0 div8s::divisor#0 div8s::neg#3 div8s::dividendb#3 ] )
|
||||
to:div8s::@9
|
||||
div8s::@9: scope:[div8s] from div8s::@2
|
||||
[124] (signed byte~) div8s::$7 ← - (signed byte) div8s::divisor#0 [ test_8u::rem#0 div8s::neg#3 div8s::dividendb#3 div8s::$7 ] ( main:2::test_8s:7::div8s:87 [ line_cursor#30 test_8s::i#10 char_cursor#81 test_8s::dividend#0 test_8s::divisor#0 test_8u::rem#0 div8s::neg#3 div8s::dividendb#3 div8s::$7 ] )
|
||||
[125] (byte) div8s::neg#2 ← (byte) div8s::neg#3 ^ (byte/signed byte/word/signed word/dword/signed dword) 1 [ test_8u::rem#0 div8s::dividendb#3 div8s::$7 div8s::neg#2 ] ( main:2::test_8s:7::div8s:87 [ line_cursor#30 test_8s::i#10 char_cursor#81 test_8s::dividend#0 test_8s::divisor#0 test_8u::rem#0 div8s::dividendb#3 div8s::$7 div8s::neg#2 ] )
|
||||
[126] (byte~) div8s::divisorb#5 ← (byte)(signed byte~) div8s::$7 [ test_8u::rem#0 div8s::dividendb#3 div8s::neg#2 div8s::divisorb#5 ] ( main:2::test_8s:7::div8s:87 [ line_cursor#30 test_8s::i#10 char_cursor#81 test_8s::dividend#0 test_8s::divisor#0 test_8u::rem#0 div8s::dividendb#3 div8s::neg#2 div8s::divisorb#5 ] )
|
||||
to:div8s::@4
|
||||
div8s::@4: scope:[div8s] from div8s::@17 div8s::@9
|
||||
[127] (byte) div8s::neg#4 ← phi( div8s::@17/(byte) div8s::neg#3 div8s::@9/(byte) div8s::neg#2 ) [ test_8u::rem#0 div8s::dividendb#3 div8s::divisorb#3 div8s::neg#4 ] ( main:2::test_8s:7::div8s:87 [ line_cursor#30 test_8s::i#10 char_cursor#81 test_8s::dividend#0 test_8s::divisor#0 test_8u::rem#0 div8s::dividendb#3 div8s::divisorb#3 div8s::neg#4 ] )
|
||||
[127] (byte) div8s::divisorb#3 ← phi( div8s::@17/(byte~) div8s::divisorb#4 div8s::@9/(byte~) div8s::divisorb#5 ) [ test_8u::rem#0 div8s::dividendb#3 div8s::divisorb#3 div8s::neg#4 ] ( main:2::test_8s:7::div8s:87 [ line_cursor#30 test_8s::i#10 char_cursor#81 test_8s::dividend#0 test_8s::divisor#0 test_8u::rem#0 div8s::dividendb#3 div8s::divisorb#3 div8s::neg#4 ] )
|
||||
[128] (byte) div8s::rem8u#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ test_8u::rem#0 div8s::dividendb#3 div8s::divisorb#3 div8s::neg#4 div8s::rem8u#0 ] ( main:2::test_8s:7::div8s:87 [ line_cursor#30 test_8s::i#10 char_cursor#81 test_8s::dividend#0 test_8s::divisor#0 test_8u::rem#0 div8s::dividendb#3 div8s::divisorb#3 div8s::neg#4 div8s::rem8u#0 ] )
|
||||
[129] (byte) div8u::dividend#1 ← (byte) div8s::dividendb#3 [ test_8u::rem#0 div8u::dividend#1 div8s::divisorb#3 div8s::neg#4 div8s::rem8u#0 ] ( main:2::test_8s:7::div8s:87 [ line_cursor#30 test_8s::i#10 char_cursor#81 test_8s::dividend#0 test_8s::divisor#0 test_8u::rem#0 div8u::dividend#1 div8s::divisorb#3 div8s::neg#4 div8s::rem8u#0 ] )
|
||||
[130] (byte) div8u::divisor#0 ← (byte) div8s::divisorb#3 [ test_8u::rem#0 div8u::dividend#1 div8u::divisor#0 div8s::neg#4 div8s::rem8u#0 ] ( main:2::test_8s:7::div8s:87 [ line_cursor#30 test_8s::i#10 char_cursor#81 test_8s::dividend#0 test_8s::divisor#0 test_8u::rem#0 div8u::dividend#1 div8u::divisor#0 div8s::neg#4 div8s::rem8u#0 ] )
|
||||
[131] call div8u param-assignment [ test_8u::rem#0 div8u::return#0 div8s::neg#4 div8s::rem8u#0 ] ( main:2::test_8s:7::div8s:87 [ line_cursor#30 test_8s::i#10 char_cursor#81 test_8s::dividend#0 test_8s::divisor#0 test_8u::rem#0 div8u::return#0 div8s::neg#4 div8s::rem8u#0 ] )
|
||||
[132] (byte) div8u::return#2 ← (byte) div8u::return#0 [ test_8u::rem#0 div8s::neg#4 div8s::rem8u#0 div8u::return#2 ] ( main:2::test_8s:7::div8s:87 [ line_cursor#30 test_8s::i#10 char_cursor#81 test_8s::dividend#0 test_8s::divisor#0 test_8u::rem#0 div8s::neg#4 div8s::rem8u#0 div8u::return#2 ] )
|
||||
to:div8s::@15
|
||||
div8s::@15: scope:[div8s] from div8s::@4
|
||||
[133] (byte) div8s::resultb#0 ← (byte) div8u::return#2 [ test_8u::rem#0 div8s::neg#4 div8s::rem8u#0 div8s::resultb#0 ] ( main:2::test_8s:7::div8s:87 [ line_cursor#30 test_8s::i#10 char_cursor#81 test_8s::dividend#0 test_8s::divisor#0 test_8u::rem#0 div8s::neg#4 div8s::rem8u#0 div8s::resultb#0 ] )
|
||||
[134] if((byte) div8s::neg#4!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto div8s::@5 [ test_8u::rem#0 div8s::rem8u#0 div8s::resultb#0 ] ( main:2::test_8s:7::div8s:87 [ line_cursor#30 test_8s::i#10 char_cursor#81 test_8s::dividend#0 test_8s::divisor#0 test_8u::rem#0 div8s::rem8u#0 div8s::resultb#0 ] )
|
||||
to:div8s::@18
|
||||
div8s::@18: scope:[div8s] from div8s::@15
|
||||
[135] (signed byte~) div8s::return#6 ← (signed byte)(byte) div8s::resultb#0 [ test_8u::rem#0 div8s::rem8u#0 div8s::return#6 ] ( main:2::test_8s:7::div8s:87 [ line_cursor#30 test_8s::i#10 char_cursor#81 test_8s::dividend#0 test_8s::divisor#0 test_8u::rem#0 div8s::rem8u#0 div8s::return#6 ] )
|
||||
[136] (signed byte~) rem8s#30 ← (signed byte)(byte) div8s::rem8u#0 [ test_8u::rem#0 div8s::rem8u#0 div8s::return#6 rem8s#30 ] ( main:2::test_8s:7::div8s:87 [ line_cursor#30 test_8s::i#10 char_cursor#81 test_8s::dividend#0 test_8s::divisor#0 test_8u::rem#0 div8s::rem8u#0 div8s::return#6 rem8s#30 ] )
|
||||
to:div8s::@return
|
||||
div8s::@return: scope:[div8s] from div8s::@18 div8s::@5
|
||||
[137] (signed byte) rem8s#3 ← phi( div8s::@18/(signed byte~) rem8s#30 div8s::@5/(signed byte) rem8s#1 ) [ test_8u::rem#0 rem8s#3 div8s::return#2 div8s::rem8u#0 ] ( main:2::test_8s:7::div8s:87 [ line_cursor#30 test_8s::i#10 char_cursor#81 test_8s::dividend#0 test_8s::divisor#0 test_8u::rem#0 rem8s#3 div8s::return#2 div8s::rem8u#0 ] )
|
||||
[137] (signed byte) div8s::return#2 ← phi( div8s::@18/(signed byte~) div8s::return#6 div8s::@5/(signed byte) div8s::return#0 ) [ test_8u::rem#0 rem8s#3 div8s::return#2 div8s::rem8u#0 ] ( main:2::test_8s:7::div8s:87 [ line_cursor#30 test_8s::i#10 char_cursor#81 test_8s::dividend#0 test_8s::divisor#0 test_8u::rem#0 rem8s#3 div8s::return#2 div8s::rem8u#0 ] )
|
||||
[138] return [ test_8u::rem#0 rem8s#3 div8s::return#2 div8s::rem8u#0 ] ( main:2::test_8s:7::div8s:87 [ line_cursor#30 test_8s::i#10 char_cursor#81 test_8s::dividend#0 test_8s::divisor#0 test_8u::rem#0 rem8s#3 div8s::return#2 div8s::rem8u#0 ] )
|
||||
to:@return
|
||||
div8s::@5: scope:[div8s] from div8s::@15
|
||||
[139] (signed byte) rem8s#1 ← - (signed byte)(byte) div8s::rem8u#0 [ test_8u::rem#0 div8s::rem8u#0 div8s::resultb#0 rem8s#1 ] ( main:2::test_8s:7::div8s:87 [ line_cursor#30 test_8s::i#10 char_cursor#81 test_8s::dividend#0 test_8s::divisor#0 test_8u::rem#0 div8s::rem8u#0 div8s::resultb#0 rem8s#1 ] )
|
||||
[140] (signed byte) div8s::return#0 ← - (signed byte)(byte) div8s::resultb#0 [ test_8u::rem#0 div8s::rem8u#0 div8s::return#0 rem8s#1 ] ( main:2::test_8s:7::div8s:87 [ line_cursor#30 test_8s::i#10 char_cursor#81 test_8s::dividend#0 test_8s::divisor#0 test_8u::rem#0 div8s::rem8u#0 div8s::return#0 rem8s#1 ] )
|
||||
to:div8s::@return
|
||||
div8s::@17: scope:[div8s] from div8s::@2
|
||||
[141] (byte~) div8s::divisorb#4 ← (byte)(signed byte) div8s::divisor#0 [ test_8u::rem#0 div8s::neg#3 div8s::dividendb#3 div8s::divisorb#4 ] ( main:2::test_8s:7::div8s:87 [ line_cursor#30 test_8s::i#10 char_cursor#81 test_8s::dividend#0 test_8s::divisor#0 test_8u::rem#0 div8s::neg#3 div8s::dividendb#3 div8s::divisorb#4 ] )
|
||||
to:div8s::@4
|
||||
div8s::@16: scope:[div8s] from div8s
|
||||
[142] (byte~) div8s::dividendb#7 ← (byte)(signed byte) div8s::dividend#0 [ test_8u::rem#0 div8s::divisor#0 div8s::dividendb#7 ] ( main:2::test_8s:7::div8s:87 [ line_cursor#30 test_8s::i#10 char_cursor#81 test_8s::dividend#0 test_8s::divisor#0 test_8u::rem#0 div8s::divisor#0 div8s::dividendb#7 ] )
|
||||
to:div8s::@2
|
||||
print_cls: scope:[print_cls] from main
|
||||
[133] phi() [ ] ( main:2::print_cls:5 [ ] )
|
||||
[143] phi() [ ] ( main:2::print_cls:5 [ test_8u::rem#0 ] )
|
||||
to:print_cls::@1
|
||||
print_cls::@1: scope:[print_cls] from print_cls print_cls::@1
|
||||
[134] (byte*) print_cls::sc#2 ← phi( print_cls/((byte*))(word/signed word/dword/signed dword) 1024 print_cls::@1/(byte*) print_cls::sc#1 ) [ print_cls::sc#2 ] ( main:2::print_cls:5 [ print_cls::sc#2 ] )
|
||||
[135] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::print_cls:5 [ print_cls::sc#2 ] )
|
||||
[136] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 [ print_cls::sc#1 ] ( main:2::print_cls:5 [ print_cls::sc#1 ] )
|
||||
[137] if((byte*) print_cls::sc#1!=(word/signed word/dword/signed dword) 1024+(word/signed word/dword/signed dword) 1000) goto print_cls::@1 [ print_cls::sc#1 ] ( main:2::print_cls:5 [ print_cls::sc#1 ] )
|
||||
[144] (byte*) print_cls::sc#2 ← phi( print_cls/(const byte*) SCREEN#0 print_cls::@1/(byte*) print_cls::sc#1 ) [ print_cls::sc#2 ] ( main:2::print_cls:5 [ test_8u::rem#0 print_cls::sc#2 ] )
|
||||
[145] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::print_cls:5 [ test_8u::rem#0 print_cls::sc#2 ] )
|
||||
[146] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 [ print_cls::sc#1 ] ( main:2::print_cls:5 [ test_8u::rem#0 print_cls::sc#1 ] )
|
||||
[147] if((byte*) print_cls::sc#1!=(const byte*) SCREEN#0+(word/signed word/dword/signed dword) 1000) goto print_cls::@1 [ print_cls::sc#1 ] ( main:2::print_cls:5 [ test_8u::rem#0 print_cls::sc#1 ] )
|
||||
to:print_cls::@return
|
||||
print_cls::@return: scope:[print_cls] from print_cls::@1
|
||||
[138] return [ ] ( main:2::print_cls:5 [ ] )
|
||||
[148] return [ ] ( main:2::print_cls:5 [ test_8u::rem#0 ] )
|
||||
to:@return
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,48 +1,57 @@
|
||||
(label) @13
|
||||
(label) @15
|
||||
(label) @begin
|
||||
(label) @end
|
||||
(byte*) SCREEN
|
||||
(const byte*) SCREEN#0 SCREEN = ((byte*))(word/signed word/dword/signed dword) 1024
|
||||
(byte*) char_cursor
|
||||
(byte*) char_cursor#1 char_cursor zp ZP_WORD:7 101.0
|
||||
(byte*) char_cursor#11 char_cursor zp ZP_WORD:7 3.40625
|
||||
(byte*) char_cursor#2 char_cursor zp ZP_WORD:7 23.1875
|
||||
(byte*) char_cursor#45 char_cursor zp ZP_WORD:7 4.0
|
||||
(byte*) char_cursor#71 char_cursor zp ZP_WORD:7 23.0
|
||||
(byte*) char_cursor#72 char_cursor zp ZP_WORD:7 16.666666666666664
|
||||
(byte*) char_cursor#75 char_cursor zp ZP_WORD:7 2.4444444444444446
|
||||
(byte*~) char_cursor#84 char_cursor zp ZP_WORD:7 22.0
|
||||
(byte*~) char_cursor#98 char_cursor zp ZP_WORD:7 22.0
|
||||
(word()) div16u((word) div16u::dividend , (word) div16u::divisor)
|
||||
(byte~) div16u::$1 reg byte a 202.0
|
||||
(byte~) div16u::$2 reg byte a 202.0
|
||||
(label) div16u::@1
|
||||
(label) div16u::@2
|
||||
(label) div16u::@3
|
||||
(label) div16u::@4
|
||||
(label) div16u::@5
|
||||
(label) div16u::@return
|
||||
(word) div16u::dividend
|
||||
(word) div16u::dividend#0 dividend zp ZP_WORD:7 25.25
|
||||
(word) div16u::dividend#1 dividend zp ZP_WORD:7 4.333333333333333
|
||||
(word) div16u::dividend#2 dividend zp ZP_WORD:7 43.57142857142858
|
||||
(word) div16u::divisor
|
||||
(word) div16u::divisor#0 divisor zp ZP_WORD:15 12.529411764705884
|
||||
(byte) div16u::i
|
||||
(byte) div16u::i#1 reg byte x 151.5
|
||||
(byte) div16u::i#2 reg byte x 15.538461538461538
|
||||
(word) div16u::quotient
|
||||
(word) div16u::quotient#1 quotient zp ZP_WORD:11 151.5
|
||||
(word) div16u::quotient#2 quotient zp ZP_WORD:11 101.0
|
||||
(word) div16u::quotient#3 quotient zp ZP_WORD:11 25.25
|
||||
(word) div16u::rem
|
||||
(word) div16u::rem#1 rem zp ZP_WORD:9 75.75
|
||||
(word) div16u::rem#2 rem zp ZP_WORD:9 202.0
|
||||
(word) div16u::rem#3 rem zp ZP_WORD:9 202.0
|
||||
(word) div16u::rem#4 rem zp ZP_WORD:9 202.0
|
||||
(word) div16u::rem#5 rem zp ZP_WORD:9 101.0
|
||||
(word) div16u::rem#8 rem zp ZP_WORD:9 12.5
|
||||
(word) div16u::return
|
||||
(word) div16u::return#0 return zp ZP_WORD:11 62.8
|
||||
(word) div16u::return#2 return zp ZP_WORD:11 22.0
|
||||
(byte*) char_cursor#1 char_cursor zp ZP_WORD:6 101.0
|
||||
(byte*~) char_cursor#100 char_cursor zp ZP_WORD:6 22.0
|
||||
(byte*) char_cursor#11 char_cursor zp ZP_WORD:6 3.40625
|
||||
(byte*) char_cursor#2 char_cursor zp ZP_WORD:6 23.1875
|
||||
(byte*) char_cursor#48 char_cursor zp ZP_WORD:6 5.0
|
||||
(byte*) char_cursor#76 char_cursor zp ZP_WORD:6 3.0
|
||||
(byte*) char_cursor#77 char_cursor zp ZP_WORD:6 15.999999999999998
|
||||
(byte*) char_cursor#78 char_cursor zp ZP_WORD:6 15.999999999999998
|
||||
(byte*) char_cursor#81 char_cursor zp ZP_WORD:6 2.4444444444444446
|
||||
(byte*~) char_cursor#91 char_cursor zp ZP_WORD:6 22.0
|
||||
(signed byte()) div8s((signed byte) div8s::dividend , (signed byte) div8s::divisor)
|
||||
(signed byte~) div8s::$2 reg byte a 2.0
|
||||
(signed byte~) div8s::$7 reg byte x 1.0
|
||||
(label) div8s::@15
|
||||
(label) div8s::@16
|
||||
(label) div8s::@17
|
||||
(label) div8s::@18
|
||||
(label) div8s::@2
|
||||
(label) div8s::@4
|
||||
(label) div8s::@5
|
||||
(label) div8s::@7
|
||||
(label) div8s::@9
|
||||
(label) div8s::@return
|
||||
(signed byte) div8s::dividend
|
||||
(signed byte) div8s::dividend#0 reg byte a 5.0
|
||||
(byte) div8s::dividendb
|
||||
(byte) div8s::dividendb#3 reg byte y 0.75
|
||||
(byte~) div8s::dividendb#7 reg byte y 4.0
|
||||
(byte~) div8s::dividendb#8 reg byte y 4.0
|
||||
(signed byte) div8s::divisor
|
||||
(signed byte) div8s::divisor#0 reg byte x 2.142857142857143
|
||||
(byte) div8s::divisorb
|
||||
(byte) div8s::divisorb#3 reg byte x 2.0
|
||||
(byte~) div8s::divisorb#4 reg byte x 4.0
|
||||
(byte~) div8s::divisorb#5 reg byte x 4.0
|
||||
(byte) div8s::neg
|
||||
(byte) div8s::neg#2 neg zp ZP_BYTE:13 2.0
|
||||
(byte) div8s::neg#3 neg zp ZP_BYTE:13 1.0
|
||||
(byte) div8s::neg#4 neg zp ZP_BYTE:13 0.8571428571428571
|
||||
(byte) div8s::rem8u
|
||||
(byte) div8s::rem8u#0 rem8u zp ZP_BYTE:16 0.024390243902439025
|
||||
(byte) div8s::resultb
|
||||
(byte) div8s::resultb#0 reg byte y 0.6666666666666666
|
||||
(signed byte) div8s::return
|
||||
(signed byte) div8s::return#0 reg byte a 4.0
|
||||
(signed byte) div8s::return#2 reg byte a 5.0
|
||||
(signed byte) div8s::return#3 reg byte a 22.0
|
||||
(signed byte~) div8s::return#6 reg byte a 2.0
|
||||
(byte()) div8u((byte) div8u::dividend , (byte) div8u::divisor , (byte*) div8u::remainder)
|
||||
(byte~) div8u::$1 reg byte a 202.0
|
||||
(label) div8u::@1
|
||||
@ -53,18 +62,22 @@
|
||||
(label) div8u::@6
|
||||
(label) div8u::@return
|
||||
(byte) div8u::dividend
|
||||
(byte) div8u::dividend#0 dividend zp ZP_BYTE:13 25.25
|
||||
(byte) div8u::dividend#1 dividend zp ZP_BYTE:13 4.333333333333333
|
||||
(byte) div8u::dividend#2 dividend zp ZP_BYTE:13 50.83333333333333
|
||||
(byte) div8u::dividend#0 dividend zp ZP_BYTE:11 25.25
|
||||
(byte) div8u::dividend#1 dividend zp ZP_BYTE:11 2.0
|
||||
(byte) div8u::dividend#2 dividend zp ZP_BYTE:11 11.0
|
||||
(byte) div8u::dividend#3 dividend zp ZP_BYTE:11 50.83333333333333
|
||||
(byte) div8u::dividend#5 dividend zp ZP_BYTE:11 15.0
|
||||
(byte) div8u::divisor
|
||||
(byte) div8u::divisor#0 divisor zp ZP_BYTE:19 13.3125
|
||||
(byte) div8u::divisor#0 divisor zp ZP_BYTE:10 4.0
|
||||
(byte) div8u::divisor#1 divisor zp ZP_BYTE:10 22.0
|
||||
(byte) div8u::divisor#6 divisor zp ZP_BYTE:10 14.333333333333332
|
||||
(byte) div8u::i
|
||||
(byte) div8u::i#1 reg byte x 151.5
|
||||
(byte) div8u::i#2 reg byte x 16.833333333333332
|
||||
(byte) div8u::quotient
|
||||
(byte) div8u::quotient#1 quotient zp ZP_BYTE:14 151.5
|
||||
(byte) div8u::quotient#2 quotient zp ZP_BYTE:14 101.0
|
||||
(byte) div8u::quotient#3 quotient zp ZP_BYTE:14 28.857142857142858
|
||||
(byte) div8u::quotient#1 quotient zp ZP_BYTE:12 151.5
|
||||
(byte) div8u::quotient#2 quotient zp ZP_BYTE:12 101.0
|
||||
(byte) div8u::quotient#3 quotient zp ZP_BYTE:12 28.857142857142858
|
||||
(byte) div8u::rem
|
||||
(byte) div8u::rem#1 reg byte y 101.0
|
||||
(byte) div8u::rem#2 reg byte y 202.0
|
||||
@ -73,15 +86,16 @@
|
||||
(byte) div8u::rem#5 reg byte y 101.0
|
||||
(byte) div8u::rem#8 reg byte y 101.66666666666667
|
||||
(byte*) div8u::remainder
|
||||
(const byte*) div8u::remainder#0 remainder = &(byte) test_8u::rem#0
|
||||
(byte*) div8u::remainder#8 remainder zp ZP_WORD:8 0.13333333333333333
|
||||
(byte) div8u::return
|
||||
(byte) div8u::return#0 return zp ZP_BYTE:14 52.33333333333333
|
||||
(byte) div8u::return#2 reg byte a 22.0
|
||||
(byte) div8u::return#0 return zp ZP_BYTE:12 45.142857142857146
|
||||
(byte) div8u::return#2 reg byte a 4.0
|
||||
(byte) div8u::return#3 reg byte a 22.0
|
||||
(byte*) line_cursor
|
||||
(byte*) line_cursor#1 line_cursor zp ZP_WORD:3 9.131578947368421
|
||||
(byte*) line_cursor#11 line_cursor zp ZP_WORD:3 204.0
|
||||
(byte*) line_cursor#22 line_cursor zp ZP_WORD:3 24.0
|
||||
(byte*) line_cursor#25 line_cursor zp ZP_WORD:3 0.9565217391304348
|
||||
(byte*) line_cursor#14 line_cursor zp ZP_WORD:3 204.0
|
||||
(byte*) line_cursor#27 line_cursor zp ZP_WORD:3 24.0
|
||||
(byte*) line_cursor#30 line_cursor zp ZP_WORD:3 0.9565217391304348
|
||||
(void()) main()
|
||||
(label) main::@1
|
||||
(label) main::@2
|
||||
@ -92,21 +106,20 @@
|
||||
(label) print_byte::@1
|
||||
(label) print_byte::@return
|
||||
(byte) print_byte::b
|
||||
(byte) print_byte::b#0 reg byte x 4.0
|
||||
(byte) print_byte::b#1 reg byte x 4.0
|
||||
(byte) print_byte::b#2 reg byte x 22.0
|
||||
(byte) print_byte::b#3 reg byte x 22.0
|
||||
(byte) print_byte::b#4 reg byte x 22.0
|
||||
(byte) print_byte::b#5 reg byte x 22.0
|
||||
(byte) print_byte::b#6 reg byte x 13.0
|
||||
(byte) print_byte::b#1 b zp ZP_BYTE:5 11.0
|
||||
(byte) print_byte::b#2 b zp ZP_BYTE:5 22.0
|
||||
(byte) print_byte::b#3 b zp ZP_BYTE:5 22.0
|
||||
(byte) print_byte::b#4 b zp ZP_BYTE:5 22.0
|
||||
(byte) print_byte::b#5 b zp ZP_BYTE:5 12.5
|
||||
(byte~) print_byte::b#7 b zp ZP_BYTE:5 4.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#2 reg byte a 6.0
|
||||
(byte) print_char::ch#2 reg byte a 4.0
|
||||
(byte) print_char::ch#3 reg byte a 6.0
|
||||
(void()) print_cls()
|
||||
(label) print_cls::@1
|
||||
(label) print_cls::@return
|
||||
@ -116,58 +129,65 @@
|
||||
(void()) print_ln()
|
||||
(label) print_ln::@1
|
||||
(label) print_ln::@return
|
||||
(void()) print_sbyte((signed byte) print_sbyte::b)
|
||||
(label) print_sbyte::@1
|
||||
(label) print_sbyte::@2
|
||||
(label) print_sbyte::@4
|
||||
(label) print_sbyte::@return
|
||||
(signed byte) print_sbyte::b
|
||||
(signed byte) print_sbyte::b#0 b zp ZP_BYTE:5 4.0
|
||||
(signed byte) print_sbyte::b#1 b zp ZP_BYTE:5 22.0
|
||||
(signed byte) print_sbyte::b#2 b zp ZP_BYTE:5 22.0
|
||||
(signed byte) print_sbyte::b#3 b zp ZP_BYTE:5 22.0
|
||||
(signed byte) print_sbyte::b#4 b zp ZP_BYTE:5 22.0
|
||||
(signed byte) print_sbyte::b#5 b zp ZP_BYTE:5 12.5
|
||||
(signed byte) print_sbyte::b#6 b zp ZP_BYTE:5 4.0
|
||||
(void()) print_str((byte*) print_str::str)
|
||||
(label) print_str::@1
|
||||
(label) print_str::@2
|
||||
(label) print_str::@return
|
||||
(byte*) print_str::str
|
||||
(byte*) print_str::str#0 str zp ZP_WORD:5 202.0
|
||||
(byte*) print_str::str#7 str zp ZP_WORD:5 101.5
|
||||
(byte*) print_str::str#9 str zp ZP_WORD:5 2.0
|
||||
(void()) print_word((word) print_word::w)
|
||||
(label) print_word::@1
|
||||
(label) print_word::@return
|
||||
(word) print_word::w
|
||||
(word) print_word::w#0 w zp ZP_WORD:5 11.0
|
||||
(word) print_word::w#1 w zp ZP_WORD:5 22.0
|
||||
(word) print_word::w#2 w zp ZP_WORD:5 22.0
|
||||
(word) print_word::w#3 w zp ZP_WORD:5 22.0
|
||||
(word) print_word::w#4 w zp ZP_WORD:5 15.999999999999998
|
||||
(word) rem16u
|
||||
(word) rem16u#16 rem16u zp ZP_WORD:9 110.0
|
||||
(void()) test_16u()
|
||||
(label) test_16u::@1
|
||||
(label) test_16u::@10
|
||||
(label) test_16u::@11
|
||||
(label) test_16u::@3
|
||||
(label) test_16u::@4
|
||||
(label) test_16u::@5
|
||||
(label) test_16u::@6
|
||||
(label) test_16u::@7
|
||||
(label) test_16u::@8
|
||||
(label) test_16u::@9
|
||||
(label) test_16u::@return
|
||||
(word) test_16u::dividend
|
||||
(word) test_16u::dividend#0 dividend zp ZP_WORD:5 4.714285714285714
|
||||
(word[]) test_16u::dividends
|
||||
(const word[]) test_16u::dividends#0 dividends = { (word/dword/signed dword) 65535, (word/dword/signed dword) 65535, (word/dword/signed dword) 65535, (word/dword/signed dword) 65535, (word/dword/signed dword) 65535, (word/dword/signed dword) 65535 }
|
||||
(word) test_16u::divisor
|
||||
(word) test_16u::divisor#0 divisor zp ZP_WORD:15 3.0
|
||||
(word[]) test_16u::divisors
|
||||
(const word[]) test_16u::divisors#0 divisors = { (byte/signed byte/word/signed word/dword/signed dword) 5, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 11, (byte/signed byte/word/signed word/dword/signed dword) 13, (byte/signed byte/word/signed word/dword/signed dword) 17, (byte/signed byte/word/signed word/dword/signed dword) 19 }
|
||||
(byte) test_16u::i
|
||||
(byte) test_16u::i#1 i zp ZP_BYTE:2 16.5
|
||||
(byte) test_16u::i#10 i zp ZP_BYTE:2 1.76
|
||||
(word) test_16u::res
|
||||
(word) test_16u::res#0 res zp ZP_WORD:11 2.2
|
||||
(const string) test_16u::str str = (string) " / @"
|
||||
(const string) test_16u::str1 str1 = (string) " = @"
|
||||
(const string) test_16u::str2 str2 = (string) " @"
|
||||
(byte*) print_str::str#0 str zp ZP_WORD:8 202.0
|
||||
(byte*) print_str::str#7 str zp ZP_WORD:8 101.5
|
||||
(byte*) print_str::str#9 str zp ZP_WORD:8 2.0
|
||||
(signed byte) rem8s
|
||||
(signed byte) rem8s#1 reg byte x 2.0
|
||||
(signed byte) rem8s#18 reg byte x 110.0
|
||||
(signed byte) rem8s#3 reg byte x 1.0833333333333333
|
||||
(signed byte~) rem8s#30 reg byte x 4.0
|
||||
(void()) test_8s()
|
||||
(label) test_8s::@1
|
||||
(label) test_8s::@10
|
||||
(label) test_8s::@11
|
||||
(label) test_8s::@12
|
||||
(label) test_8s::@3
|
||||
(label) test_8s::@4
|
||||
(label) test_8s::@5
|
||||
(label) test_8s::@6
|
||||
(label) test_8s::@7
|
||||
(label) test_8s::@8
|
||||
(label) test_8s::@9
|
||||
(label) test_8s::@return
|
||||
(signed byte) test_8s::dividend
|
||||
(signed byte) test_8s::dividend#0 dividend zp ZP_BYTE:5 4.714285714285714
|
||||
(signed byte[]) test_8s::dividends
|
||||
(const signed byte[]) test_8s::dividends#0 dividends = { (byte/signed byte/word/signed word/dword/signed dword) 127, -(byte/signed byte/word/signed word/dword/signed dword) 127, -(byte/signed byte/word/signed word/dword/signed dword) 127, (byte/signed byte/word/signed word/dword/signed dword) 127, (byte/signed byte/word/signed word/dword/signed dword) 127, (byte/signed byte/word/signed word/dword/signed dword) 127 }
|
||||
(signed byte) test_8s::divisor
|
||||
(signed byte) test_8s::divisor#0 divisor zp ZP_BYTE:15 3.3000000000000003
|
||||
(signed byte[]) test_8s::divisors
|
||||
(const signed byte[]) test_8s::divisors#0 divisors = { (byte/signed byte/word/signed word/dword/signed dword) 5, (byte/signed byte/word/signed word/dword/signed dword) 7, -(byte/signed byte/word/signed word/dword/signed dword) 11, -(byte/signed byte/word/signed word/dword/signed dword) 13, (byte/signed byte/word/signed word/dword/signed dword) 17, (byte/signed byte/word/signed word/dword/signed dword) 19 }
|
||||
(byte) test_8s::i
|
||||
(byte) test_8s::i#1 i zp ZP_BYTE:2 11.0
|
||||
(byte) test_8s::i#10 i zp ZP_BYTE:2 1.8333333333333333
|
||||
(signed byte) test_8s::res
|
||||
(signed byte) test_8s::res#0 res zp ZP_BYTE:10 2.4444444444444446
|
||||
(const string) test_8s::str str = (string) " / @"
|
||||
(const string) test_8s::str1 str1 = (string) " = @"
|
||||
(const string) test_8s::str2 str2 = (string) " @"
|
||||
(void()) test_8u()
|
||||
(label) test_8u::@1
|
||||
(label) test_8u::@10
|
||||
(label) test_8u::@11
|
||||
(label) test_8u::@12
|
||||
(label) test_8u::@3
|
||||
(label) test_8u::@4
|
||||
(label) test_8u::@5
|
||||
@ -177,44 +197,52 @@
|
||||
(label) test_8u::@9
|
||||
(label) test_8u::@return
|
||||
(byte) test_8u::dividend
|
||||
(byte) test_8u::dividend#0 dividend zp ZP_BYTE:18 4.714285714285714
|
||||
(byte) test_8u::dividend#0 dividend zp ZP_BYTE:5 4.714285714285714
|
||||
(byte[]) test_8u::dividends
|
||||
(const byte[]) test_8u::dividends#0 dividends = { (byte/word/signed word/dword/signed dword) 255, (byte/word/signed word/dword/signed dword) 255, (byte/word/signed word/dword/signed dword) 255, (byte/word/signed word/dword/signed dword) 255, (byte/word/signed word/dword/signed dword) 255, (byte/word/signed word/dword/signed dword) 255 }
|
||||
(byte) test_8u::divisor
|
||||
(byte) test_8u::divisor#0 divisor zp ZP_BYTE:19 3.3000000000000003
|
||||
(byte) test_8u::divisor#0 divisor zp ZP_BYTE:10 3.0
|
||||
(byte[]) test_8u::divisors
|
||||
(const byte[]) test_8u::divisors#0 divisors = { (byte/signed byte/word/signed word/dword/signed dword) 5, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 11, (byte/signed byte/word/signed word/dword/signed dword) 13, (byte/signed byte/word/signed word/dword/signed dword) 17, (byte/signed byte/word/signed word/dword/signed dword) 19 }
|
||||
(byte) test_8u::i
|
||||
(byte) test_8u::i#1 i zp ZP_BYTE:2 11.0
|
||||
(byte) test_8u::i#10 i zp ZP_BYTE:2 1.8333333333333333
|
||||
(byte) test_8u::i#1 i zp ZP_BYTE:2 16.5
|
||||
(byte) test_8u::i#10 i zp ZP_BYTE:2 1.76
|
||||
(byte) test_8u::rem
|
||||
(byte) test_8u::rem#0 rem zp ZP_BYTE:17 0.4642857142857143
|
||||
(byte) test_8u::rem#0 rem zp ZP_BYTE:14 0.12745098039215685
|
||||
(byte) test_8u::res
|
||||
(byte) test_8u::res#0 res zp ZP_BYTE:13 2.4444444444444446
|
||||
(byte) test_8u::res#0 reg byte x 2.2
|
||||
(const string) test_8u::str str = (string) " / @"
|
||||
(const string) test_8u::str1 str1 = (string) " = @"
|
||||
(const string) test_8u::str2 str2 = (string) " @"
|
||||
|
||||
zp ZP_BYTE:2 [ test_16u::i#10 test_16u::i#1 test_8u::i#10 test_8u::i#1 ]
|
||||
zp ZP_WORD:3 [ line_cursor#11 line_cursor#22 line_cursor#1 line_cursor#25 print_cls::sc#2 print_cls::sc#1 ]
|
||||
zp ZP_WORD:5 [ print_word::w#4 print_word::w#0 print_word::w#1 print_word::w#2 print_word::w#3 test_16u::dividend#0 print_str::str#7 print_str::str#9 print_str::str#0 ]
|
||||
reg byte x [ print_byte::b#6 print_byte::b#0 print_byte::b#1 print_byte::b#2 print_byte::b#3 print_byte::b#4 print_byte::b#5 ]
|
||||
reg byte a [ print_char::ch#2 print_char::ch#0 print_char::ch#1 ]
|
||||
zp ZP_WORD:7 [ char_cursor#45 char_cursor#72 char_cursor#71 char_cursor#84 char_cursor#2 char_cursor#11 char_cursor#75 char_cursor#1 char_cursor#98 div16u::dividend#2 div16u::dividend#1 div16u::dividend#0 ]
|
||||
zp ZP_WORD:9 [ div16u::rem#4 rem16u#16 div16u::rem#8 div16u::rem#5 div16u::rem#1 div16u::rem#2 div16u::rem#3 ]
|
||||
zp ZP_WORD:11 [ div16u::quotient#3 div16u::return#0 div16u::quotient#1 div16u::quotient#2 div16u::return#2 test_16u::res#0 ]
|
||||
reg byte x [ div16u::i#2 div16u::i#1 ]
|
||||
zp ZP_BYTE:2 [ test_8u::i#10 test_8u::i#1 test_8s::i#10 test_8s::i#1 ]
|
||||
zp ZP_WORD:3 [ line_cursor#14 line_cursor#27 line_cursor#30 line_cursor#1 print_cls::sc#2 print_cls::sc#1 ]
|
||||
zp ZP_BYTE:5 [ print_byte::b#5 print_byte::b#7 print_byte::b#1 print_byte::b#2 print_byte::b#3 print_byte::b#4 print_sbyte::b#6 print_sbyte::b#5 print_sbyte::b#1 print_sbyte::b#2 print_sbyte::b#3 print_sbyte::b#4 print_sbyte::b#0 test_8u::dividend#0 test_8s::dividend#0 ]
|
||||
reg byte a [ print_char::ch#3 print_char::ch#1 print_char::ch#2 ]
|
||||
zp ZP_WORD:6 [ char_cursor#48 char_cursor#78 char_cursor#76 char_cursor#91 char_cursor#2 char_cursor#11 char_cursor#77 char_cursor#1 char_cursor#81 char_cursor#100 ]
|
||||
zp ZP_WORD:8 [ print_str::str#7 print_str::str#9 print_str::str#0 div8u::remainder#8 ]
|
||||
zp ZP_BYTE:10 [ div8u::divisor#6 div8u::divisor#0 div8u::divisor#1 test_8u::divisor#0 test_8s::res#0 ]
|
||||
reg byte y [ div8u::rem#4 div8u::rem#8 div8u::rem#5 div8u::rem#1 div8u::rem#2 div8u::rem#3 ]
|
||||
zp ZP_BYTE:13 [ div8u::dividend#2 div8u::dividend#1 div8u::dividend#0 test_8u::res#0 ]
|
||||
zp ZP_BYTE:14 [ div8u::quotient#3 div8u::return#0 div8u::quotient#1 div8u::quotient#2 ]
|
||||
zp ZP_BYTE:11 [ div8u::dividend#3 div8u::dividend#5 div8u::dividend#1 div8u::dividend#2 div8u::dividend#0 ]
|
||||
zp ZP_BYTE:12 [ div8u::quotient#3 div8u::return#0 div8u::quotient#1 div8u::quotient#2 ]
|
||||
reg byte x [ div8u::i#2 div8u::i#1 ]
|
||||
zp ZP_WORD:15 [ test_16u::divisor#0 div16u::divisor#0 ]
|
||||
reg byte x [ rem8s#18 rem8s#3 rem8s#30 rem8s#1 ]
|
||||
reg byte y [ div8s::dividendb#3 div8s::dividendb#7 div8s::dividendb#8 ]
|
||||
reg byte x [ div8s::divisorb#3 div8s::divisorb#4 div8s::divisorb#5 ]
|
||||
zp ZP_BYTE:13 [ div8s::neg#4 div8s::neg#3 div8s::neg#2 ]
|
||||
reg byte a [ div8s::return#2 div8s::return#6 div8s::return#0 ]
|
||||
zp ZP_BYTE:14 [ test_8u::rem#0 ]
|
||||
reg byte a [ div8u::return#3 ]
|
||||
reg byte x [ test_8u::res#0 ]
|
||||
reg byte a [ print_byte::$0 ]
|
||||
reg byte a [ print_byte::$2 ]
|
||||
reg byte a [ div16u::$1 ]
|
||||
reg byte a [ div16u::$2 ]
|
||||
zp ZP_BYTE:17 [ test_8u::rem#0 ]
|
||||
zp ZP_BYTE:18 [ test_8u::dividend#0 ]
|
||||
zp ZP_BYTE:19 [ test_8u::divisor#0 div8u::divisor#0 ]
|
||||
reg byte a [ div8u::return#2 ]
|
||||
reg byte a [ div8u::$1 ]
|
||||
zp ZP_BYTE:15 [ test_8s::divisor#0 ]
|
||||
reg byte a [ div8s::dividend#0 ]
|
||||
reg byte x [ div8s::divisor#0 ]
|
||||
reg byte a [ div8s::return#3 ]
|
||||
reg byte a [ div8s::$2 ]
|
||||
reg byte x [ div8s::$7 ]
|
||||
zp ZP_BYTE:16 [ div8s::rem8u#0 ]
|
||||
reg byte a [ div8u::return#2 ]
|
||||
reg byte y [ div8s::resultb#0 ]
|
||||
|
@ -1,6 +1,7 @@
|
||||
.pc = $801 "Basic"
|
||||
:BasicUpstart(main)
|
||||
.pc = $80d "Program"
|
||||
.label SCREEN = $400
|
||||
.label BGCOL = $d021
|
||||
.label char_cursor = $a
|
||||
.label line_cursor = 4
|
||||
@ -469,9 +470,9 @@ multiply_tables_compare: {
|
||||
beq b2
|
||||
lda #2
|
||||
sta BGCOL
|
||||
lda #<$400
|
||||
lda #<SCREEN
|
||||
sta char_cursor
|
||||
lda #>$400
|
||||
lda #>SCREEN
|
||||
sta char_cursor+1
|
||||
lda #<str
|
||||
sta print_str.str
|
||||
@ -489,9 +490,9 @@ multiply_tables_compare: {
|
||||
lda kc_sqr+1
|
||||
sta print_word.w+1
|
||||
jsr print_word
|
||||
lda #<$400
|
||||
lda #<SCREEN
|
||||
sta line_cursor
|
||||
lda #>$400
|
||||
lda #>SCREEN
|
||||
sta line_cursor+1
|
||||
breturn:
|
||||
rts
|
||||
@ -512,18 +513,18 @@ multiply_tables_compare: {
|
||||
cmp #<mul_sqr1_lo+$200*4
|
||||
bcc b1
|
||||
!:
|
||||
lda #<$400
|
||||
lda #<SCREEN
|
||||
sta char_cursor
|
||||
lda #>$400
|
||||
lda #>SCREEN
|
||||
sta char_cursor+1
|
||||
lda #<str2
|
||||
sta print_str.str
|
||||
lda #>str2
|
||||
sta print_str.str+1
|
||||
jsr print_str
|
||||
lda #<$400
|
||||
lda #<SCREEN
|
||||
sta line_cursor
|
||||
lda #>$400
|
||||
lda #>SCREEN
|
||||
sta line_cursor+1
|
||||
jsr print_ln
|
||||
lda line_cursor
|
||||
@ -693,9 +694,9 @@ init_multiply: {
|
||||
}
|
||||
print_cls: {
|
||||
.label sc = 4
|
||||
lda #<$400
|
||||
lda #<SCREEN
|
||||
sta sc
|
||||
lda #>$400
|
||||
lda #>SCREEN
|
||||
sta sc+1
|
||||
b1:
|
||||
lda #' '
|
||||
@ -706,10 +707,10 @@ print_cls: {
|
||||
inc sc+1
|
||||
!:
|
||||
lda sc+1
|
||||
cmp #>$400+$3e8
|
||||
cmp #>SCREEN+$3e8
|
||||
bne b1
|
||||
lda sc
|
||||
cmp #<$400+$3e8
|
||||
cmp #<SCREEN+$3e8
|
||||
bne b1
|
||||
rts
|
||||
}
|
||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -3,6 +3,8 @@
|
||||
(label) @end
|
||||
(byte*) BGCOL
|
||||
(const byte*) BGCOL#0 BGCOL = ((byte*))(word/dword/signed dword) 53281
|
||||
(byte*) SCREEN
|
||||
(const byte*) SCREEN#0 SCREEN = ((byte*))(word/signed word/dword/signed dword) 1024
|
||||
(byte[512]) asm_mul_sqr1_hi
|
||||
(const byte[512]) asm_mul_sqr1_hi#0 asm_mul_sqr1_hi = { fill( 512, 0) }
|
||||
(byte[512]) asm_mul_sqr1_lo
|
||||
@ -13,19 +15,19 @@
|
||||
(const byte[512]) asm_mul_sqr2_lo#0 asm_mul_sqr2_lo = { fill( 512, 0) }
|
||||
(byte*) char_cursor
|
||||
(byte*) char_cursor#1 char_cursor zp ZP_WORD:10 11.0
|
||||
(byte*) char_cursor#117 char_cursor zp ZP_WORD:10 1.6944444444444446
|
||||
(byte*) char_cursor#118 char_cursor zp ZP_WORD:10 5.25
|
||||
(byte*) char_cursor#119 char_cursor zp ZP_WORD:10 3.0
|
||||
(byte*) char_cursor#121 char_cursor zp ZP_WORD:10 3.0
|
||||
(byte*) char_cursor#123 char_cursor zp ZP_WORD:10 6.0
|
||||
(byte*) char_cursor#124 char_cursor zp ZP_WORD:10 3.9999999999999996
|
||||
(byte*) char_cursor#135 char_cursor zp ZP_WORD:10 24.0
|
||||
(byte*) char_cursor#122 char_cursor zp ZP_WORD:10 1.6944444444444446
|
||||
(byte*) char_cursor#123 char_cursor zp ZP_WORD:10 5.25
|
||||
(byte*) char_cursor#124 char_cursor zp ZP_WORD:10 3.0
|
||||
(byte*) char_cursor#126 char_cursor zp ZP_WORD:10 3.0
|
||||
(byte*) char_cursor#128 char_cursor zp ZP_WORD:10 6.0
|
||||
(byte*) char_cursor#129 char_cursor zp ZP_WORD:10 3.9999999999999996
|
||||
(byte*) char_cursor#141 char_cursor zp ZP_WORD:10 24.0
|
||||
(byte*) char_cursor#17 char_cursor zp ZP_WORD:10 0.7894736842105261
|
||||
(byte*~) char_cursor#172 char_cursor zp ZP_WORD:10 4.0
|
||||
(byte*~) char_cursor#176 char_cursor zp ZP_WORD:10 4.0
|
||||
(byte*~) char_cursor#197 char_cursor zp ZP_WORD:10 4.0
|
||||
(byte*) char_cursor#27 char_cursor zp ZP_WORD:10 0.27586206896551724
|
||||
(byte*) char_cursor#75 char_cursor zp ZP_WORD:10 6.0
|
||||
(byte*~) char_cursor#180 char_cursor zp ZP_WORD:10 4.0
|
||||
(byte*~) char_cursor#201 char_cursor zp ZP_WORD:10 4.0
|
||||
(byte*) char_cursor#30 char_cursor zp ZP_WORD:10 0.27586206896551724
|
||||
(byte*) char_cursor#78 char_cursor zp ZP_WORD:10 6.0
|
||||
(void()) init_multiply()
|
||||
(byte~) init_multiply::$2 reg byte a 22.0
|
||||
(byte~) init_multiply::$5 reg byte a 22.0
|
||||
@ -74,9 +76,9 @@
|
||||
(const byte*) init_multiply_asm::mem#0 mem = ((byte*))(byte/word/signed word/dword/signed dword) 255
|
||||
(byte*) line_cursor
|
||||
(byte*) line_cursor#1 line_cursor zp ZP_WORD:4 0.8181818181818181
|
||||
(byte*) line_cursor#20 line_cursor zp ZP_WORD:4 24.0
|
||||
(byte*) line_cursor#27 line_cursor zp ZP_WORD:4 0.1276595744680851
|
||||
(byte*) line_cursor#40 line_cursor zp ZP_WORD:4 10.0
|
||||
(byte*) line_cursor#10 line_cursor zp ZP_WORD:4 0.1276595744680851
|
||||
(byte*) line_cursor#23 line_cursor zp ZP_WORD:4 24.0
|
||||
(byte*) line_cursor#45 line_cursor zp ZP_WORD:4 10.0
|
||||
(void()) main()
|
||||
(label) main::@1
|
||||
(label) main::@2
|
||||
@ -353,12 +355,12 @@
|
||||
|
||||
zp ZP_BYTE:2 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::a#1 slow_signed_multiply::a#0 multiply_results_compare::a#6 multiply_results_compare::a#1 slow_multiply::a#0 init_multiply::x_2#3 init_multiply::x_2#2 init_multiply::x_2#1 init_multiply::dir#2 init_multiply::dir#3 ]
|
||||
zp ZP_BYTE:3 [ signed_multiply_results_compare::b#2 signed_multiply_results_compare::b#1 signed_multiply::b#0 signed_multiply_error::b#0 multiply_results_compare::b#2 multiply_results_compare::b#1 multiply_error::b#0 ]
|
||||
zp ZP_WORD:4 [ line_cursor#20 line_cursor#40 line_cursor#27 line_cursor#1 multiply_tables_compare::kc_sqr#2 multiply_tables_compare::kc_sqr#1 init_multiply::sqr1_lo#2 init_multiply::sqr1_lo#1 init_multiply::sqr2_lo#2 init_multiply::sqr2_lo#1 print_cls::sc#2 print_cls::sc#1 ]
|
||||
zp ZP_WORD:4 [ line_cursor#23 line_cursor#45 line_cursor#10 line_cursor#1 multiply_tables_compare::kc_sqr#2 multiply_tables_compare::kc_sqr#1 init_multiply::sqr1_lo#2 init_multiply::sqr1_lo#1 init_multiply::sqr2_lo#2 init_multiply::sqr2_lo#1 print_cls::sc#2 print_cls::sc#1 ]
|
||||
zp ZP_WORD:6 [ print_str::str#14 print_str::str#16 print_str::str#0 init_multiply::sqr1_hi#2 init_multiply::sqr1_hi#1 init_multiply::sqr2_hi#2 init_multiply::sqr2_hi#1 ]
|
||||
zp ZP_WORD:8 [ print_sword::w#4 print_sword::w#3 print_sword::w#1 print_sword::w#2 print_sword::w#0 print_word::w#5 print_word::w#3 print_word::w#4 print_word::w#9 print_word::w#10 print_word::w#11 multiply_tables_compare::asm_sqr#2 multiply_tables_compare::asm_sqr#1 signed_multiply_error::ms#0 signed_multiply_results_compare::ms#0 slow_signed_multiply::return#2 slow_signed_multiply::m#5 slow_signed_multiply::return#0 slow_signed_multiply::m#3 slow_signed_multiply::m#1 slow_signed_multiply::m#2 multiply_error::ms#0 multiply_results_compare::ms#0 slow_multiply::return#2 slow_multiply::return#0 slow_multiply::m#3 slow_multiply::m#1 init_multiply::sqr#3 init_multiply::sqr#4 init_multiply::sqr#1 init_multiply::sqr#2 ]
|
||||
reg byte x [ print_byte::b#5 print_byte::b#3 print_byte::b#4 print_byte::b#9 print_byte::b#1 print_byte::b#2 ]
|
||||
reg byte a [ print_char::ch#4 print_char::ch#2 print_char::ch#3 ]
|
||||
zp ZP_WORD:10 [ char_cursor#75 char_cursor#124 char_cursor#123 char_cursor#119 char_cursor#135 char_cursor#27 char_cursor#118 char_cursor#17 char_cursor#117 char_cursor#172 char_cursor#176 char_cursor#1 char_cursor#121 char_cursor#197 ]
|
||||
zp ZP_WORD:10 [ char_cursor#78 char_cursor#129 char_cursor#128 char_cursor#124 char_cursor#141 char_cursor#30 char_cursor#123 char_cursor#17 char_cursor#122 char_cursor#176 char_cursor#180 char_cursor#1 char_cursor#126 char_cursor#201 ]
|
||||
reg byte x [ print_sbyte::b#4 print_sbyte::b#3 print_sbyte::b#1 print_sbyte::b#2 print_sbyte::b#0 ]
|
||||
zp ZP_WORD:12 [ signed_multiply::m#4 signed_multiply::m#5 signed_multiply::m#1 signed_multiply::m#0 signed_multiply::m#2 signed_multiply::return#2 signed_multiply_results_compare::ma#0 signed_multiply_error::ma#0 multiply::return#2 multiply::return#0 multiply::return#3 multiply_results_compare::ma#0 multiply_error::ma#0 ]
|
||||
reg byte a [ multiply::a#2 multiply::a#1 multiply::a#4 ]
|
||||
|
Loading…
Reference in New Issue
Block a user