@begin: scope:[]  from
  [0] phi() [ ] ( )
  to:@2
@2: scope:[]  from @begin
  [1] phi() [ ] ( )
  [2] call main param-assignment [ ] ( )
  to:@end
@end: scope:[]  from @2
  [3] phi() [ ] ( )
main: scope:[main]  from @2
  [4] phi() [ ] ( main:2 [ ] )
  [5] call fillscreen param-assignment [ ] ( main:2 [ ] )
  to:main::@2
main::@2: scope:[main]  from main main::@2 main::@4
  [6] (byte*) main::nxt#9 ← phi( main::@4/(byte*) main::nxt#10 main/(const string) TEXT#0 ) [ main::scroll#7 main::nxt#9 ] ( main:2 [ main::scroll#7 main::nxt#9 ] )
  [6] (byte) main::scroll#7 ← phi( main::@4/(byte) main::scroll#10 main/(byte/signed byte/word/signed word/dword/signed dword) 7 ) [ main::scroll#7 main::nxt#9 ] ( main:2 [ main::scroll#7 main::nxt#9 ] )
  [7] if(*((const byte*) RASTER#0)!=(byte/word/signed word/dword/signed dword) 254) goto main::@2 [ main::scroll#7 main::nxt#9 ] ( main:2 [ main::scroll#7 main::nxt#9 ] )
  to:main::@3
main::@3: scope:[main]  from main::@2 main::@3
  [8] if(*((const byte*) RASTER#0)!=(byte/word/signed word/dword/signed dword) 255) goto main::@3 [ main::scroll#7 main::nxt#9 ] ( main:2 [ main::scroll#7 main::nxt#9 ] )
  to:main::@8
main::@8: scope:[main]  from main::@3
  [9] *((const byte*) BGCOL#0) ← ++ *((const byte*) BGCOL#0) [ main::scroll#7 main::nxt#9 ] ( main:2 [ main::scroll#7 main::nxt#9 ] )
  [10] (byte) main::scroll#1 ← -- (byte) main::scroll#7 [ main::nxt#9 main::scroll#1 ] ( main:2 [ main::nxt#9 main::scroll#1 ] )
  [11] if((byte) main::scroll#1!=(byte/word/signed word/dword/signed dword) 255) goto main::@4 [ main::nxt#9 main::scroll#1 ] ( main:2 [ main::nxt#9 main::scroll#1 ] )
  to:main::@5
main::@5: scope:[main]  from main::@5 main::@8
  [12] (byte) main::i#2 ← phi( main::@5/(byte) main::i#1 main::@8/(byte/signed byte/word/signed word/dword/signed dword) 0 ) [ main::nxt#9 main::i#2 ] ( main:2 [ main::nxt#9 main::i#2 ] )
  [13] *((const byte*) main::line#0 + (byte) main::i#2) ← *((const byte*) main::line#0+(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) main::i#2) [ main::nxt#9 main::i#2 ] ( main:2 [ main::nxt#9 main::i#2 ] )
  [14] (byte) main::i#1 ← ++ (byte) main::i#2 [ main::nxt#9 main::i#1 ] ( main:2 [ main::nxt#9 main::i#1 ] )
  [15] if((byte) main::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 39) goto main::@5 [ main::nxt#9 main::i#1 ] ( main:2 [ main::nxt#9 main::i#1 ] )
  to:main::@10
main::@10: scope:[main]  from main::@5
  [16] (byte) main::c#0 ← *((byte*) main::nxt#9) [ main::nxt#9 main::c#0 ] ( main:2 [ main::nxt#9 main::c#0 ] )
  [17] if((byte) main::c#0!=(byte) '@') goto main::@6 [ main::nxt#9 main::c#0 ] ( main:2 [ main::nxt#9 main::c#0 ] )
  to:main::@11
main::@11: scope:[main]  from main::@10
  [18] (byte) main::c#1 ← *((const string) TEXT#0) [ main::c#1 ] ( main:2 [ main::c#1 ] )
  to:main::@6
main::@6: scope:[main]  from main::@10 main::@11
  [19] (byte*) main::nxt#4 ← phi( main::@10/(byte*) main::nxt#9 main::@11/(const string) TEXT#0 ) [ main::c#2 main::nxt#4 ] ( main:2 [ main::c#2 main::nxt#4 ] )
  [19] (byte) main::c#2 ← phi( main::@10/(byte) main::c#0 main::@11/(byte) main::c#1 ) [ main::c#2 main::nxt#4 ] ( main:2 [ main::c#2 main::nxt#4 ] )
  [20] *((const byte*) main::line#0+(byte/signed byte/word/signed word/dword/signed dword) 39) ← (byte) main::c#2 [ main::nxt#4 ] ( main:2 [ main::nxt#4 ] )
  [21] (byte*) main::nxt#1 ← ++ (byte*) main::nxt#4 [ main::nxt#1 ] ( main:2 [ main::nxt#1 ] )
  to:main::@4
main::@4: scope:[main]  from main::@6 main::@8
  [22] (byte*) main::nxt#10 ← phi( main::@6/(byte*) main::nxt#1 main::@8/(byte*) main::nxt#9 ) [ main::scroll#10 main::nxt#10 ] ( main:2 [ main::scroll#10 main::nxt#10 ] )
  [22] (byte) main::scroll#10 ← phi( main::@6/(byte/signed byte/word/signed word/dword/signed dword) 7 main::@8/(byte) main::scroll#1 ) [ main::scroll#10 main::nxt#10 ] ( main:2 [ main::scroll#10 main::nxt#10 ] )
  [23] *((const byte*) SCROLL#0) ← (byte) main::scroll#10 [ main::scroll#10 main::nxt#10 ] ( main:2 [ main::scroll#10 main::nxt#10 ] )
  [24] *((const byte*) BGCOL#0) ← -- *((const byte*) BGCOL#0) [ main::scroll#10 main::nxt#10 ] ( main:2 [ main::scroll#10 main::nxt#10 ] )
  [25] if(true) goto main::@2 [ main::scroll#10 main::nxt#10 ] ( main:2 [ main::scroll#10 main::nxt#10 ] )
  to:main::@return
main::@return: scope:[main]  from main::@4
  [26] return  [ ] ( main:2 [ ] )
  to:@return
fillscreen: scope:[fillscreen]  from main
  [27] phi() [ ] ( main:2::fillscreen:5 [ ] )
  to:fillscreen::@1
fillscreen::@1: scope:[fillscreen]  from fillscreen fillscreen::@1
  [28] (byte*) fillscreen::cursor#2 ← phi( fillscreen/(const byte*) SCREEN#0 fillscreen::@1/(byte*) fillscreen::cursor#1 ) [ fillscreen::cursor#2 ] ( main:2::fillscreen:5 [ fillscreen::cursor#2 ] )
  [29] *((byte*) fillscreen::cursor#2) ← (const byte) fillscreen::fill#0 [ fillscreen::cursor#2 ] ( main:2::fillscreen:5 [ fillscreen::cursor#2 ] )
  [30] (byte*) fillscreen::cursor#1 ← ++ (byte*) fillscreen::cursor#2 [ fillscreen::cursor#1 ] ( main:2::fillscreen:5 [ fillscreen::cursor#1 ] )
  [31] if((byte*) fillscreen::cursor#1<(const byte*) SCREEN#0+(word/signed word/dword/signed dword) 1000) goto fillscreen::@1 [ fillscreen::cursor#1 ] ( main:2::fillscreen:5 [ fillscreen::cursor#1 ] )
  to:fillscreen::@return
fillscreen::@return: scope:[fillscreen]  from fillscreen::@1
  [32] return  [ ] ( main:2::fillscreen:5 [ ] )
  to:@return
