
void main()
main: scope:[main]  from
  asm { sei  }
  [1] *PROCPORT = PROCPORT_RAM_CHARROM
  [2] call font_2x2
  to:main::@6
main::@6: scope:[main]  from main
  [3] *PROCPORT = PROCPORT_BASIC_KERNEL_IO
  asm { cli  }
  [5] call font_compress
  to:main::toD0181
main::toD0181: scope:[main]  from main::@6
  [6] phi()
  to:main::@5
main::@5: scope:[main]  from main::toD0181
  [7] *D018 = main::toD0181_return#0
  [8] memset::c#0 = *(FONT_COMPRESSED_MAP+' ')
  [9] call memset
  to:main::@1
main::@1: scope:[main]  from main::@3 main::@5
  [10] main::y#4 = phi( main::@3/main::y#1, main::@5/0 )
  [10] main::c#4 = phi( main::@3/main::c#1, main::@5/0 )
  to:main::@2
main::@2: scope:[main]  from main::@1 main::@7
  [11] main::x#2 = phi( main::@1/0, main::@7/main::x#1 )
  [11] main::c#2 = phi( main::@1/main::c#4, main::@7/main::c#1 )
  [12] show::c#0 = main::c#2
  [13] show::x#0 = main::x#2
  [14] show::y#0 = main::y#4
  [15] call show
  to:main::@7
main::@7: scope:[main]  from main::@2
  [16] main::c#1 = ++ main::c#2
  [17] main::x#1 = ++ main::x#2
  [18] if(main::x#1!=8) goto main::@2
  to:main::@3
main::@3: scope:[main]  from main::@7
  [19] main::y#1 = ++ main::y#4
  [20] if(main::y#1!=8) goto main::@1
  to:main::@4
main::@4: scope:[main]  from main::@3 main::@4
  [21] *(SCREEN+$3e7) = ++ *(SCREEN+$3e7)
  to:main::@4

void font_2x2(char *font_original , char *font_2x2)
font_2x2: scope:[font_2x2]  from main
  [22] phi()
  to:font_2x2::@1
font_2x2::@1: scope:[font_2x2]  from font_2x2 font_2x2::@9
  [23] font_2x2::c#11 = phi( font_2x2/0, font_2x2::@9/font_2x2::c#1 )
  [23] font_2x2::next_original#4 = phi( font_2x2/CHARGEN, font_2x2::@9/font_2x2::next_original#1 )
  [23] font_2x2::next_2x2_left#0 = phi( font_2x2/FONT_ORIGINAL, font_2x2::@9/font_2x2::next_2x2#1 )
  [24] font_2x2::next_2x2_right#0 = font_2x2::next_2x2_left#0 + (unsigned int)$40*8
  [25] font_2x2::next_2x2_left#10 = font_2x2::next_2x2_left#0
  to:font_2x2::@2
font_2x2::@2: scope:[font_2x2]  from font_2x2::@1 font_2x2::@8
  [26] font_2x2::next_2x2_right#7 = phi( font_2x2::@1/font_2x2::next_2x2_right#0, font_2x2::@8/font_2x2::next_2x2_right#8 )
  [26] font_2x2::l2#8 = phi( font_2x2::@1/0, font_2x2::@8/font_2x2::l2#9 )
  [26] font_2x2::next_2x2_left#7 = phi( font_2x2::@1/font_2x2::next_2x2_left#10, font_2x2::@8/font_2x2::next_2x2_left#8 )
  [26] font_2x2::l#2 = phi( font_2x2::@1/0, font_2x2::@8/font_2x2::l#1 )
  [27] font_2x2::glyph_bits#0 = font_2x2::next_original#4[font_2x2::l#2]
  to:font_2x2::@3
font_2x2::@3: scope:[font_2x2]  from font_2x2::@2 font_2x2::@5
  [28] font_2x2::b#2 = phi( font_2x2::@2/0, font_2x2::@5/font_2x2::b#1 )
  [28] font_2x2::glyph_bits_2x2#3 = phi( font_2x2::@2/0, font_2x2::@5/font_2x2::glyph_bits_2x2#2 )
  [28] font_2x2::glyph_bits#2 = phi( font_2x2::@2/font_2x2::glyph_bits#0, font_2x2::@5/font_2x2::glyph_bits#1 )
  [29] font_2x2::$1 = font_2x2::glyph_bits#2 & $80
  [30] if(0!=font_2x2::$1) goto font_2x2::@4
  to:font_2x2::@5
font_2x2::@4: scope:[font_2x2]  from font_2x2::@3
  [31] phi()
  to:font_2x2::@5
font_2x2::@5: scope:[font_2x2]  from font_2x2::@3 font_2x2::@4
  [32] font_2x2::glyph_bit#0 = phi( font_2x2::@4/1, font_2x2::@3/0 )
  [33] font_2x2::$5 = font_2x2::glyph_bits_2x2#3 << 1
  [34] font_2x2::glyph_bits_2x2#1 = font_2x2::$5 | font_2x2::glyph_bit#0
  [35] font_2x2::$7 = font_2x2::glyph_bits_2x2#1 << 1
  [36] font_2x2::glyph_bits_2x2#2 = font_2x2::$7 | font_2x2::glyph_bit#0
  [37] font_2x2::glyph_bits#1 = font_2x2::glyph_bits#2 << 1
  [38] font_2x2::b#1 = ++ font_2x2::b#2
  [39] if(font_2x2::b#1!=8) goto font_2x2::@3
  to:font_2x2::@6
font_2x2::@6: scope:[font_2x2]  from font_2x2::@5
  [40] font_2x2::$10 = byte1  font_2x2::glyph_bits_2x2#2
  [41] font_2x2::next_2x2_left#7[font_2x2::l2#8] = font_2x2::$10
  [42] font_2x2::$11 = font_2x2::l2#8 + 1
  [43] font_2x2::$12 = byte1  font_2x2::glyph_bits_2x2#2
  [44] font_2x2::next_2x2_left#7[font_2x2::$11] = font_2x2::$12
  [45] font_2x2::$13 = byte0  font_2x2::glyph_bits_2x2#2
  [46] font_2x2::next_2x2_right#7[font_2x2::l2#8] = font_2x2::$13
  [47] font_2x2::$14 = font_2x2::l2#8 + 1
  [48] font_2x2::$15 = byte0  font_2x2::glyph_bits_2x2#2
  [49] font_2x2::next_2x2_right#7[font_2x2::$14] = font_2x2::$15
  [50] font_2x2::l2#1 = font_2x2::l2#8 + 2
  [51] if(font_2x2::l2#1!=8) goto font_2x2::@8
  to:font_2x2::@7
font_2x2::@7: scope:[font_2x2]  from font_2x2::@6
  [52] font_2x2::next_2x2_left#1 = font_2x2::next_2x2_left#0 + (unsigned int)$80*8
  [53] font_2x2::next_2x2_right#1 = font_2x2::next_2x2_left#0 + (unsigned int)$c0*8
  to:font_2x2::@8
font_2x2::@8: scope:[font_2x2]  from font_2x2::@6 font_2x2::@7
  [54] font_2x2::next_2x2_right#8 = phi( font_2x2::@6/font_2x2::next_2x2_right#7, font_2x2::@7/font_2x2::next_2x2_right#1 )
  [54] font_2x2::l2#9 = phi( font_2x2::@6/font_2x2::l2#1, font_2x2::@7/0 )
  [54] font_2x2::next_2x2_left#8 = phi( font_2x2::@6/font_2x2::next_2x2_left#7, font_2x2::@7/font_2x2::next_2x2_left#1 )
  [55] font_2x2::l#1 = ++ font_2x2::l#2
  [56] if(font_2x2::l#1!=8) goto font_2x2::@2
  to:font_2x2::@9
font_2x2::@9: scope:[font_2x2]  from font_2x2::@8
  [57] font_2x2::next_2x2#1 = font_2x2::next_2x2_left#0 + 8
  [58] font_2x2::next_original#1 = font_2x2::next_original#4 + 8
  [59] font_2x2::c#1 = ++ font_2x2::c#11
  [60] if(font_2x2::c#1!=$40) goto font_2x2::@1
  to:font_2x2::@return
font_2x2::@return: scope:[font_2x2]  from font_2x2::@9
  [61] return 
  to:@return

char font_compress(char *font_original , char *font_compressed , char *compress_mapping)
font_compress: scope:[font_compress]  from main::@6
  [62] phi()
  to:font_compress::@1
font_compress::@1: scope:[font_compress]  from font_compress font_compress::@6
  [63] font_compress::next_compressed#4 = phi( font_compress/FONT_COMPRESSED, font_compress::@6/font_compress::next_compressed#7 )
  [63] font_compress::i#4 = phi( font_compress/0, font_compress::@6/font_compress::i#1 )
  [63] font_compress::font_size#2 = phi( font_compress/0, font_compress::@6/font_compress::font_size#9 )
  [63] font_compress::next_original#2 = phi( font_compress/FONT_ORIGINAL, font_compress::@6/font_compress::next_original#1 )
  [64] font_find::glyph#0 = font_compress::next_original#2
  [65] font_find::font_size#0 = font_compress::font_size#2
  [66] call font_find
  [67] font_find::return#0 = font_find::return#3
  to:font_compress::@5
font_compress::@5: scope:[font_compress]  from font_compress::@1
  [68] font_compress::found#0 = font_find::return#0
  [69] if(font_compress::found#0!=$ff) goto font_compress::@7
  to:font_compress::@3
font_compress::@3: scope:[font_compress]  from font_compress::@3 font_compress::@5
  [70] font_compress::l#2 = phi( font_compress::@3/font_compress::l#1, font_compress::@5/0 )
  [71] font_compress::next_compressed#4[font_compress::l#2] = font_compress::next_original#2[font_compress::l#2]
  [72] font_compress::l#1 = ++ font_compress::l#2
  [73] if(font_compress::l#1!=8) goto font_compress::@3
  to:font_compress::@4
font_compress::@4: scope:[font_compress]  from font_compress::@3
  [74] font_compress::next_compressed#1 = font_compress::next_compressed#4 + 8
  [75] font_compress::font_size#1 = ++ font_compress::font_size#2
  [76] font_compress::found#3 = font_compress::font_size#2
  to:font_compress::@2
font_compress::@2: scope:[font_compress]  from font_compress::@4 font_compress::@7
  [77] font_compress::next_compressed#7 = phi( font_compress::@4/font_compress::next_compressed#1, font_compress::@7/font_compress::next_compressed#4 )
  [77] font_compress::return#1 = phi( font_compress::@4/font_compress::font_size#1, font_compress::@7/font_compress::return#5 )
  [77] font_compress::found#2 = phi( font_compress::@4/font_compress::found#3, font_compress::@7/font_compress::found#0 )
  [78] FONT_COMPRESSED_MAP[font_compress::i#4] = font_compress::found#2
  [79] font_compress::next_original#1 = font_compress::next_original#2 + 8
  [80] font_compress::i#1 = ++ font_compress::i#4
  [81] if(font_compress::i#1!=0) goto font_compress::@6
  to:font_compress::@return
font_compress::@return: scope:[font_compress]  from font_compress::@2
  [82] return 
  to:@return
font_compress::@6: scope:[font_compress]  from font_compress::@2
  [83] font_compress::font_size#9 = font_compress::return#1
  to:font_compress::@1
font_compress::@7: scope:[font_compress]  from font_compress::@5
  [84] font_compress::return#5 = font_compress::font_size#2
  to:font_compress::@2

void * memset(void *str , char c , unsigned int num)
memset: scope:[memset]  from main::@5
  [85] phi()
  to:memset::@1
memset::@1: scope:[memset]  from memset memset::@2
  [86] memset::dst#2 = phi( memset/(char *)memset::str#0, memset::@2/memset::dst#1 )
  [87] if(memset::dst#2!=memset::end#0) goto memset::@2
  to:memset::@return
memset::@return: scope:[memset]  from memset::@1
  [88] return 
  to:@return
memset::@2: scope:[memset]  from memset::@1
  [89] *memset::dst#2 = memset::c#0
  [90] memset::dst#1 = ++ memset::dst#2
  to:memset::@1

void show(char c , char x , char y , char *font_mapping)
show: scope:[show]  from main::@2
  [91] show::$7 = (unsigned int)show::y#0
  [92] show::$8 = show::$7 << 2
  [93] show::$9 = show::$8 + show::$7
  [94] show::$0 = show::$9 << 4
  [95] show::$1 = SCREEN + show::$0
  [96] show::$2 = show::x#0 << 1
  [97] show::ptr#0 = show::$1 + show::$2
  [98] *show::ptr#0 = FONT_COMPRESSED_MAP[show::c#0]
  [99] show::$4 = show::c#0
  [100] show::ptr#0[1] = (FONT_COMPRESSED_MAP+$40)[show::$4]
  [101] show::$5 = show::c#0
  [102] show::ptr#0[$28] = (FONT_COMPRESSED_MAP+$80)[show::$5]
  [103] show::$6 = show::c#0
  [104] show::ptr#0[$29] = (FONT_COMPRESSED_MAP+$c0)[show::$6]
  to:show::@return
show::@return: scope:[show]  from show
  [105] return 
  to:@return

char font_find(char *glyph , char *font , char font_size)
font_find: scope:[font_find]  from font_compress::@1
  [106] phi()
  to:font_find::@1
font_find::@1: scope:[font_find]  from font_find font_find::@5
  [107] font_find::font#4 = phi( font_find/FONT_COMPRESSED, font_find::@5/font_find::font#1 )
  [107] font_find::i#2 = phi( font_find/0, font_find::@5/font_find::i#1 )
  [108] if(font_find::i#2<font_find::font_size#0) goto font_find::@2
  to:font_find::@return
font_find::@return: scope:[font_find]  from font_find::@1 font_find::@4
  [109] font_find::return#3 = phi( font_find::@1/$ff, font_find::@4/font_find::i#2 )
  [110] return 
  to:@return
font_find::@2: scope:[font_find]  from font_find::@1 font_find::@3
  [111] font_find::l#2 = phi( font_find::@1/0, font_find::@3/font_find::l#1 )
  [112] if(font_find::glyph#0[font_find::l#2]==font_find::font#4[font_find::l#2]) goto font_find::@3
  to:font_find::@4
font_find::@3: scope:[font_find]  from font_find::@2
  [113] font_find::l#1 = ++ font_find::l#2
  [114] if(font_find::l#1!=8) goto font_find::@2
  to:font_find::@4
font_find::@4: scope:[font_find]  from font_find::@2 font_find::@3
  [115] font_find::found#2 = phi( font_find::@3/1, font_find::@2/0 )
  [116] if(0==font_find::found#2) goto font_find::@5
  to:font_find::@return
font_find::@5: scope:[font_find]  from font_find::@4
  [117] font_find::font#1 = font_find::font#4 + 8
  [118] font_find::i#1 = ++ font_find::i#2
  to:font_find::@1
