__constant char *BG_COLOR = (char *) 53281
__constant char RADIX::BINARY = 2
__constant char RADIX::DECIMAL = $a
__constant char RADIX::HEXADECIMAL = $10
__constant char RADIX::OCTAL = 8
void main()
void * memset(void *str , char c , unsigned int num)
char memset::c
__constant char memset::c#0 = ' ' // c
char *memset::dst
char *memset::dst#1 // dst zp[2]:12 2002.0
char *memset::dst#2 // dst zp[2]:12 1334.6666666666667
char *memset::end
__constant char *memset::end#0 = (char *)memset::str#0+memset::num#0 // end
unsigned int memset::num
__constant unsigned int memset::num#0 = $3e8 // num
void *memset::return
void *memset::str
__constant void *memset::str#0 = (void *)print_screen#0 // str
int mul8s(signed char a , signed char b)
char mul8s::$11 // reg byte a 20002.0
char mul8s::$12 // reg byte a 20002.0
char mul8s::$6 // reg byte a 20002.0
char mul8s::$9 // reg byte a 20002.0
signed char mul8s::a
signed char mul8s::a#0 // a zp[1]:4 785.8571428571429
signed char mul8s::b
signed char mul8s::b#0 // reg byte y 1000.1818181818181
unsigned int mul8s::m
unsigned int mul8s::m#0 // m zp[2]:10 10001.0
unsigned int mul8s::m#1 // m zp[2]:10 20002.0
unsigned int mul8s::m#2 // m zp[2]:10 20002.0
unsigned int mul8s::m#4 // m zp[2]:10 6667.333333333333
unsigned int mul8s::m#5 // m zp[2]:10 12501.25
int mul8s::return
void mul8s_compare()
signed char mul8s_compare::a
signed char mul8s_compare::a#1 // a zp[1]:4 202.0
signed char mul8s_compare::a#10 // a zp[1]:4 122.85185185185186
signed char mul8s_compare::b
signed char mul8s_compare::b#1 // b zp[1]:5 2002.0
signed char mul8s_compare::b#10 // b zp[1]:5 240.67999999999998
int mul8s_compare::mf
int mul8s_compare::mf#0 // mf zp[2]:16 118.41176470588235
int mul8s_compare::mn
int mul8s_compare::mn#0 // mn zp[2]:10 167.75
int mul8s_compare::ms
int mul8s_compare::ms#0 // ms zp[2]:2 150.7
char mul8s_compare::ok
char mul8s_compare::ok#3 // reg byte x 2002.0
char mul8s_compare::ok#4 // reg byte x 333.6666666666667
__constant char mul8s_compare::str[$1f] = "signed multiply results match!"
void mul8s_error(signed char a , signed char b , int ms , int mn , int mf)
signed char mul8s_error::a
signed char mul8s_error::a#0 // reg byte x 16.0
signed char mul8s_error::b
signed char mul8s_error::b#0 // b zp[1]:5 11.2
int mul8s_error::mf
int mul8s_error::mf#0 // mf zp[2]:16 5.894736842105264
int mul8s_error::mn
int mul8s_error::mn#0 // mn zp[2]:10 7.0
int mul8s_error::ms
int mul8s_error::ms#0 // ms zp[2]:2 8.615384615384615
__constant char mul8s_error::str[$1a] = "signed multiply mismatch "
unsigned int mul8u(char a , char b)
char mul8u::$1 // reg byte a 2.00000002E8
char mul8u::a
char mul8u::a#0 // reg byte x 1.00000001E8
char mul8u::a#1 // reg byte x 10001.0
char mul8u::a#2 // reg byte x 1001.0
char mul8u::a#3 // reg byte x 6.668333416666667E7
char mul8u::a#6 // reg byte x 55501.5
char mul8u::b
char mul8u::b#0 // reg byte a 20002.0
char mul8u::b#1 // reg byte a 2002.0
char mul8u::b#2 // reg byte a 11002.0
unsigned int mul8u::mb
unsigned int mul8u::mb#0 // mb zp[2]:12 200002.0
unsigned int mul8u::mb#1 // mb zp[2]:12 2.00000002E8
unsigned int mul8u::mb#2 // mb zp[2]:12 4.287142914285715E7
unsigned int mul8u::res
unsigned int mul8u::res#1 // res zp[2]:10 2.00000002E8
unsigned int mul8u::res#2 // res zp[2]:10 4.2858715E7
unsigned int mul8u::res#6 // res zp[2]:10 1.00000001E8
unsigned int mul8u::return
unsigned int mul8u::return#2 // return zp[2]:10 20002.0
unsigned int mul8u::return#3 // return zp[2]:10 2002.0
void mul8u_compare()
char mul8u_compare::a
char mul8u_compare::a#1 // a zp[1]:4 151.5
char mul8u_compare::a#7 // a zp[1]:4 119.11111111111111
char mul8u_compare::b
char mul8u_compare::b#1 // b zp[1]:5 1501.5
char mul8u_compare::b#10 // b zp[1]:5 200.64
unsigned int mul8u_compare::mf
unsigned int mul8u_compare::mf#0 // mf zp[2]:16 111.83333333333334
unsigned int mul8u_compare::mn
unsigned int mul8u_compare::mn#0 // mn zp[2]:10 167.75
unsigned int mul8u_compare::ms
unsigned int mul8u_compare::ms#0 // ms zp[2]:2 143.52380952380952
char mul8u_compare::ok
char mul8u_compare::ok#3 // reg byte x 2002.0
char mul8u_compare::ok#4 // reg byte x 333.6666666666667
__constant char mul8u_compare::str[$18] = "multiply results match!"
void mul8u_error(char a , char b , unsigned int ms , unsigned int mn , unsigned int mf)
char mul8u_error::a
char mul8u_error::a#0 // reg byte x 16.0
char mul8u_error::b
char mul8u_error::b#0 // b zp[1]:5 11.2
unsigned int mul8u_error::mf
unsigned int mul8u_error::mf#0 // mf zp[2]:16 5.894736842105264
unsigned int mul8u_error::mn
unsigned int mul8u_error::mn#0 // mn zp[2]:10 7.0
unsigned int mul8u_error::ms
unsigned int mul8u_error::ms#0 // ms zp[2]:2 8.615384615384615
__constant char mul8u_error::str[$13] = "multiply mismatch "
__constant char mula_sqr1_hi[$200] = { fill( $200, 0) }
__constant char mula_sqr1_lo[$200] = { fill( $200, 0) }
__constant char mula_sqr2_hi[$200] = { fill( $200, 0) }
__constant char mula_sqr2_lo[$200] = { fill( $200, 0) }
int mulf8s(signed char a , signed char b)
signed char mulf8s::a
signed char mulf8s::a#0 // reg byte a 333.6666666666667
signed char mulf8s::b
signed char mulf8s::b#0 // reg byte x 2750.5
signed char mulf8s::mulf8s_prepare1_a
int mulf8s::return
int mulf8s::return#0 // return zp[2]:16 3667.333333333333
int mulf8s::return#2 // return zp[2]:16 2002.0
int mulf8s_prepared(signed char b)
char mulf8s_prepared::$11 // reg byte a 200002.0
char mulf8s_prepared::$12 // reg byte a 200002.0
char mulf8s_prepared::$6 // reg byte a 200002.0
char mulf8s_prepared::$9 // reg byte a 200002.0
signed char mulf8s_prepared::b
signed char mulf8s_prepared::b#0 // b zp[1]:18 11000.2
unsigned int mulf8s_prepared::m
unsigned int mulf8s_prepared::m#0 // m zp[2]:16 100001.0
unsigned int mulf8s_prepared::m#1 // m zp[2]:16 200002.0
unsigned int mulf8s_prepared::m#2 // m zp[2]:16 200002.0
unsigned int mulf8s_prepared::m#4 // m zp[2]:16 66667.33333333333
unsigned int mulf8s_prepared::m#5 // m zp[2]:16 125001.25
__constant signed char * const mulf8s_prepared::memA = (signed char *) 253
int mulf8s_prepared::return
unsigned int mulf8u(char a , char b)
char mulf8u::a
char mulf8u::a#0 // reg byte a 5501.0
char mulf8u::b
char mulf8u::b#0 // reg byte x 3667.333333333333
unsigned int mulf8u::return
unsigned int mulf8u::return#0 // return zp[2]:16 3667.333333333333
unsigned int mulf8u::return#2 // return zp[2]:16 2002.0
void mulf8u_prepare(char a)
char mulf8u_prepare::a
char mulf8u_prepare::a#0 // reg byte a 20002.0
char mulf8u_prepare::a#1 // reg byte a 20002.0
char mulf8u_prepare::a#2 // reg byte a 120003.0
__constant char * const mulf8u_prepare::memA = (char *) 253
unsigned int mulf8u_prepared(char b)
char mulf8u_prepared::b
char mulf8u_prepared::b#0 // reg byte a 20002.0
char mulf8u_prepared::b#1 // reg byte a 200002.0
char mulf8u_prepared::b#2 // reg byte a 1110003.0
__constant char * const mulf8u_prepared::memB = (char *) 255
__constant char * const mulf8u_prepared::resL = (char *) 254
unsigned int mulf8u_prepared::return
unsigned int mulf8u_prepared::return#0 // return zp[2]:16 277500.75
unsigned int mulf8u_prepared::return#2 // return zp[2]:16 20002.0
unsigned int mulf8u_prepared::return#3 // return zp[2]:16 200002.0
void mulf_init()
char mulf_init::$1 // reg byte a 202.0
char mulf_init::$4 // reg byte a 202.0
char mulf_init::$5 // reg byte a 202.0
char mulf_init::c
char mulf_init::c#1 // c zp[1]:4 23.307692307692307
char mulf_init::c#2 // c zp[1]:4 101.0
char mulf_init::dir
char mulf_init::dir#2 // dir zp[1]:5 37.875
char mulf_init::dir#4 // dir zp[1]:5 101.0
unsigned int mulf_init::sqr
unsigned int mulf_init::sqr#1 // sqr zp[2]:8 101.0
unsigned int mulf_init::sqr#2 // sqr zp[2]:8 202.0
unsigned int mulf_init::sqr#3 // sqr zp[2]:8 84.16666666666666
unsigned int mulf_init::sqr#4 // sqr zp[2]:8 50.5
char *mulf_init::sqr1_hi
char *mulf_init::sqr1_hi#1 // sqr1_hi zp[2]:2 67.33333333333333
char *mulf_init::sqr1_hi#2 // sqr1_hi zp[2]:2 25.25
char *mulf_init::sqr1_lo
char *mulf_init::sqr1_lo#1 // sqr1_lo zp[2]:10 202.0
char *mulf_init::sqr1_lo#2 // sqr1_lo zp[2]:10 28.857142857142858
char *mulf_init::sqr2_hi
char *mulf_init::sqr2_hi#1 // sqr2_hi zp[2]:6 33.666666666666664
char *mulf_init::sqr2_hi#2 // sqr2_hi zp[2]:6 75.75
char *mulf_init::sqr2_lo
char *mulf_init::sqr2_lo#1 // sqr2_lo zp[2]:12 202.0
char *mulf_init::sqr2_lo#2 // sqr2_lo zp[2]:12 44.888888888888886
char mulf_init::x_2
char mulf_init::x_2#1 // reg byte x 101.0
char mulf_init::x_2#2 // reg byte x 50.5
char mulf_init::x_2#3 // reg byte x 60.599999999999994
char mulf_init::x_255
char mulf_init::x_255#1 // reg byte x 60.599999999999994
char mulf_init::x_255#2 // reg byte x 80.8
void mulf_init_asm()
__constant char *mulf_init_asm::mem = (char *) 255
__constant char mulf_sqr1_hi[$200] = { fill( $200, 0) }
__constant char mulf_sqr1_lo[$200] = { fill( $200, 0) }
__constant char mulf_sqr2_hi[$200] = { fill( $200, 0) }
__constant char mulf_sqr2_lo[$200] = { fill( $200, 0) }
void mulf_tables_cmp()
char *mulf_tables_cmp::asm_sqr
char *mulf_tables_cmp::asm_sqr#1 // asm_sqr zp[2]:2 101.0
char *mulf_tables_cmp::asm_sqr#2 // asm_sqr zp[2]:2 60.599999999999994
char *mulf_tables_cmp::kc_sqr
char *mulf_tables_cmp::kc_sqr#1 // kc_sqr zp[2]:10 202.0
char *mulf_tables_cmp::kc_sqr#2 // kc_sqr zp[2]:10 40.4
__constant char mulf_tables_cmp::str[$17] = "multiply tables match!"
__constant char mulf_tables_cmp::str1[$1c] = "multiply table mismatch at "
__constant char mulf_tables_cmp::str2[4] = " / "
int muls8s(signed char a , signed char b)
signed char muls8s::a
signed char muls8s::a#0 // a zp[1]:4 1668417.0833333333
signed char muls8s::b
signed char muls8s::b#0 // reg byte x 1818273.0
signed char muls8s::i
signed char muls8s::i#1 // reg byte y 2.0000002E7
signed char muls8s::i#2 // reg byte y 1.0000001E7
signed char muls8s::j
signed char muls8s::j#1 // reg byte y 2.0000002E7
signed char muls8s::j#2 // reg byte y 1.0000001E7
int muls8s::m
int muls8s::m#1 // m zp[2]:2 1.0000001E7
int muls8s::m#2 // m zp[2]:2 1.0000001E7
int muls8s::m#3 // m zp[2]:2 1.50000015E7
int muls8s::m#5 // m zp[2]:2 1.50000015E7
int muls8s::return
int muls8s::return#0 // return zp[2]:2 6667001.0
int muls8s::return#2 // return zp[2]:2 2002.0
unsigned int muls8u(char a , char b)
char muls8u::a
char muls8u::a#0 // a zp[1]:4 1430143.2857142857
char muls8u::b
char muls8u::b#0 // reg byte x 1666833.6666666665
char muls8u::i
char muls8u::i#1 // reg byte y 2.0000002E7
char muls8u::i#2 // reg byte y 1.0000001E7
unsigned int muls8u::m
unsigned int muls8u::m#1 // m zp[2]:2 1.0000001E7
unsigned int muls8u::m#3 // m zp[2]:2 1.50000015E7
unsigned int muls8u::return
unsigned int muls8u::return#0 // return zp[2]:2 3333667.333333333
unsigned int muls8u::return#2 // return zp[2]:2 2002.0
void print_char(char ch)
char print_char::ch
char print_char::ch#0 // reg byte a 20002.0
char print_char::ch#5 // reg byte a 200002.0
char print_char::ch#6 // reg byte a 200002.0
char print_char::ch#7 // reg byte a 1210004.0
char *print_char_cursor
char *print_char_cursor#1 // print_char_cursor zp[2]:14 608.7380952380953
char *print_char_cursor#101 // print_char_cursor zp[2]:14 3.2682926829268295
char *print_char_cursor#138 // print_char_cursor zp[2]:14 2559.0
char *print_char_cursor#145 // print_char_cursor zp[2]:14 5663.5
char *print_char_cursor#146 // print_char_cursor zp[2]:14 40401.999999999985
char *print_char_cursor#158 // print_char_cursor zp[2]:14 2044.0
char *print_char_cursor#18 // print_char_cursor zp[2]:14 22460.760000000002
char *print_char_cursor#192 // print_char_cursor zp[2]:14 22.0
char *print_char_cursor#193 // print_char_cursor zp[2]:14 202.0
char *print_char_cursor#231 // print_char_cursor zp[2]:14 22.0
char *print_char_cursor#87 // print_char_cursor zp[2]:14 1107004.5
void print_cls()
__constant const char print_hextab[] = "0123456789abcdef"z
char *print_line_cursor
char *print_line_cursor#0 // print_line_cursor zp[2]:8 432.1285714285714
char *print_line_cursor#10 // print_line_cursor zp[2]:8 1.9523809523809526
char *print_line_cursor#24 // print_line_cursor zp[2]:8 21003.0
char *print_line_cursor#47 // print_line_cursor zp[2]:8 1225.0
void print_ln()
void print_schar(signed char b)
signed char print_schar::b
signed char print_schar::b#0 // reg byte x 2002.0
signed char print_schar::b#1 // reg byte x 202.0
signed char print_schar::b#2 // reg byte x 202.0
signed char print_schar::b#3 // reg byte x 534.1666666666667
signed char print_schar::b#5 // reg byte x 2002.0
char *print_screen
__constant char *print_screen#0 = (char *) 1024 // print_screen
void print_sint(int w)
int print_sint::w
int print_sint::w#0 // w zp[2]:2 2002.0
int print_sint::w#1 // w zp[2]:2 202.0
int print_sint::w#2 // w zp[2]:2 202.0
int print_sint::w#3 // w zp[2]:2 202.0
int print_sint::w#4 // w zp[2]:2 551.0
int print_sint::w#6 // w zp[2]:2 2002.0
void print_str(char *str)
char *print_str::str
char *print_str::str#0 // str zp[2]:6 20002.0
char *print_str::str#16 // str zp[2]:6 10251.25
char *print_str::str#19 // str zp[2]:6 1001.0
void print_uchar(char b)
char print_uchar::$0 // reg byte a 200002.0
char print_uchar::$2 // reg byte x 200002.0
char print_uchar::b
char print_uchar::b#0 // reg byte x 2002.0
char print_uchar::b#1 // reg byte x 20002.0
char print_uchar::b#2 // reg byte x 20002.0
char print_uchar::b#3 // reg byte x 202.0
char print_uchar::b#4 // reg byte x 202.0
char print_uchar::b#5 // reg byte x 55301.75
void print_uint(unsigned int w)
unsigned int print_uint::w
unsigned int print_uint::w#0 // w zp[2]:2 2002.0
unsigned int print_uint::w#1 // w zp[2]:2 22.0
unsigned int print_uint::w#2 // w zp[2]:2 22.0
unsigned int print_uint::w#3 // w zp[2]:2 202.0
unsigned int print_uint::w#4 // w zp[2]:2 202.0
unsigned int print_uint::w#5 // w zp[2]:2 202.0
unsigned int print_uint::w#6 // w zp[2]:2 7109.333333333333
__constant char str1[2] = "*"
__constant char str2[7] = " slow:"
__constant char str3[$b] = " / normal:"
__constant char str4[9] = " / fast:"

reg byte x [ mulf_init::x_2#3 mulf_init::x_2#2 mulf_init::x_2#1 ]
reg byte x [ mulf_init::x_255#2 mulf_init::x_255#1 ]
zp[2]:2 [ mulf_tables_cmp::asm_sqr#2 mulf_tables_cmp::asm_sqr#1 print_uint::w#6 print_uint::w#3 print_uint::w#4 print_uint::w#5 print_uint::w#2 print_uint::w#1 print_uint::w#0 print_sint::w#6 print_sint::w#0 print_sint::w#4 print_sint::w#1 print_sint::w#2 print_sint::w#3 mul8s_error::ms#0 mul8u_compare::ms#0 mul8u_error::ms#0 muls8u::return#0 muls8u::m#3 muls8u::m#1 muls8u::return#2 muls8s::return#0 muls8s::m#3 muls8s::m#1 muls8s::m#5 muls8s::m#2 muls8s::return#2 mul8s_compare::ms#0 mulf_init::sqr1_hi#2 mulf_init::sqr1_hi#1 ]
reg byte x [ mul8u_compare::ok#3 mul8u_compare::ok#4 ]
zp[1]:4 [ mul8s_compare::a#10 mul8s_compare::a#1 muls8s::a#0 mul8s::a#0 mul8u_compare::a#7 mul8u_compare::a#1 muls8u::a#0 mulf_init::c#2 mulf_init::c#1 ]
zp[1]:5 [ mul8s_compare::b#10 mul8s_compare::b#1 mul8s_error::b#0 mul8u_compare::b#10 mul8u_compare::b#1 mul8u_error::b#0 mulf_init::dir#2 mulf_init::dir#4 ]
reg byte x [ mul8s_compare::ok#3 mul8s_compare::ok#4 ]
zp[2]:6 [ print_str::str#16 print_str::str#19 print_str::str#0 mulf_init::sqr2_hi#2 mulf_init::sqr2_hi#1 ]
zp[2]:8 [ print_line_cursor#24 print_line_cursor#47 print_line_cursor#10 print_line_cursor#0 mulf_init::sqr#3 mulf_init::sqr#4 mulf_init::sqr#1 mulf_init::sqr#2 ]
reg byte y [ muls8u::i#2 muls8u::i#1 ]
reg byte a [ mul8u::b#2 mul8u::b#0 mul8u::b#1 ]
reg byte x [ mul8u::a#3 mul8u::a#6 mul8u::a#1 mul8u::a#2 mul8u::a#0 ]
zp[2]:10 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 mul8u::return#3 mul8u::return#2 mul8s::m#4 mul8s::m#5 mul8s::m#1 mul8s::m#0 mul8s::m#2 mul8s_compare::mn#0 mul8u_compare::mn#0 mul8u_error::mn#0 mul8s_error::mn#0 mulf_tables_cmp::kc_sqr#2 mulf_tables_cmp::kc_sqr#1 mulf_init::sqr1_lo#2 mulf_init::sqr1_lo#1 ]
zp[2]:12 [ mul8u::mb#2 mul8u::mb#0 mul8u::mb#1 memset::dst#2 memset::dst#1 mulf_init::sqr2_lo#2 mulf_init::sqr2_lo#1 ]
reg byte y [ muls8s::j#2 muls8s::j#1 ]
reg byte y [ muls8s::i#2 muls8s::i#1 ]
reg byte a [ print_char::ch#7 print_char::ch#0 print_char::ch#5 print_char::ch#6 ]
zp[2]:14 [ print_char_cursor#87 print_char_cursor#145 print_char_cursor#138 print_char_cursor#1 print_char_cursor#158 print_char_cursor#192 print_char_cursor#193 print_char_cursor#101 print_char_cursor#18 print_char_cursor#231 print_char_cursor#146 ]
reg byte x [ print_uchar::b#5 print_uchar::b#3 print_uchar::b#4 print_uchar::b#0 print_uchar::b#1 print_uchar::b#2 ]
reg byte a [ mulf8u_prepare::a#2 mulf8u_prepare::a#1 mulf8u_prepare::a#0 ]
reg byte a [ mulf8u_prepared::b#2 mulf8u_prepared::b#1 mulf8u_prepared::b#0 ]
zp[2]:16 [ mulf8s_prepared::m#4 mulf8s_prepared::m#5 mulf8s_prepared::m#1 mulf8s_prepared::m#0 mulf8s_prepared::m#2 mulf8s::return#0 mulf8u_prepared::return#3 mulf8s::return#2 mul8s_compare::mf#0 mulf8u_prepared::return#2 mulf8u_prepared::return#0 mulf8u::return#2 mul8u_compare::mf#0 mulf8u::return#0 mul8u_error::mf#0 mul8s_error::mf#0 ]
reg byte x [ print_schar::b#5 print_schar::b#0 print_schar::b#3 print_schar::b#1 print_schar::b#2 ]
reg byte a [ mulf_init::$1 ]
reg byte a [ mulf_init::$4 ]
reg byte a [ mulf_init::$5 ]
reg byte x [ muls8u::b#0 ]
reg byte a [ mulf8u::a#0 ]
reg byte x [ mulf8u::b#0 ]
reg byte x [ mul8u_error::a#0 ]
reg byte x [ muls8s::b#0 ]
reg byte a [ mulf8s::a#0 ]
reg byte x [ mulf8s::b#0 ]
reg byte y [ mul8s::b#0 ]
reg byte x [ mul8s_error::a#0 ]
reg byte a [ mul8u::$1 ]
zp[1]:18 [ mulf8s_prepared::b#0 ]
reg byte a [ mul8s::$6 ]
reg byte a [ mul8s::$11 ]
reg byte a [ mul8s::$9 ]
reg byte a [ mul8s::$12 ]
reg byte a [ print_uchar::$0 ]
reg byte x [ print_uchar::$2 ]
reg byte a [ mulf8s_prepared::$6 ]
reg byte a [ mulf8s_prepared::$11 ]
reg byte a [ mulf8s_prepared::$9 ]
reg byte a [ mulf8s_prepared::$12 ]
