__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]:28 2002.0
char *memset::dst#2 // dst zp[2]:28 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
long mul16s(int a , int b)
unsigned int mul16s::$11 // zp[2]:24 20002.0
unsigned int mul16s::$12 // zp[2]:26 20002.0
unsigned int mul16s::$6 // zp[2]:24 20002.0
unsigned int mul16s::$9 // zp[2]:26 20002.0
int mul16s::a
int mul16s::a#0 // a zp[2]:4 785.8571428571429
int mul16s::b
int mul16s::b#0 // b zp[2]:6 1000.1818181818181
unsigned long mul16s::m
unsigned long mul16s::m#0 // m zp[4]:12 10001.0
unsigned long mul16s::m#1 // m zp[4]:12 20002.0
unsigned long mul16s::m#2 // m zp[4]:12 20002.0
unsigned long mul16s::m#4 // m zp[4]:12 20002.0
unsigned long mul16s::m#5 // m zp[4]:12 12501.25
long mul16s::return
long mul16s::return#0 // return zp[4]:12 3667.333333333333
long mul16s::return#2 // return zp[4]:12 2002.0
void mul16s_compare()
int mul16s_compare::a
int mul16s_compare::a#1 // a zp[2]:4 176.44827586206898
int mul16s_compare::a#2 // a zp[2]:4 2103.0
int mul16s_compare::a#6 // a zp[2]:4 101.0
int mul16s_compare::b
int mul16s_compare::b#1 // b zp[2]:6 176.44827586206898
int mul16s_compare::b#2 // b zp[2]:6 1051.5
int mul16s_compare::b#6 // b zp[2]:6 101.0
char mul16s_compare::i
char mul16s_compare::i#1 // i zp[1]:3 151.5
char mul16s_compare::i#12 // i zp[1]:3 6.9655172413793105
char mul16s_compare::j
char mul16s_compare::j#1 // reg byte y 1501.5
char mul16s_compare::j#10 // reg byte y 80.08
long mul16s_compare::mf
long mul16s_compare::mf#0 // mf zp[4]:18 154.84615384615384
long mul16s_compare::mn
long mul16s_compare::mn#0 // mn zp[4]:12 118.41176470588235
long mul16s_compare::ms
long mul16s_compare::ms#0 // ms zp[4]:8 143.52380952380952
char mul16s_compare::ok
char mul16s_compare::ok#3 // reg byte x 2002.0
char mul16s_compare::ok#4 // reg byte x 333.6666666666667
__constant char mul16s_compare::str1[$24] = "signed word multiply results match!"
void mul16s_error(int a , int b , long ms , long mn , long mf)
int mul16s_error::a
int mul16s_error::a#0 // a zp[2]:4 16.0
int mul16s_error::b
int mul16s_error::b#0 // b zp[2]:6 11.2
long mul16s_error::mf
long mul16s_error::mf#0 // mf zp[4]:18 5.894736842105264
long mul16s_error::mn
long mul16s_error::mn#0 // mn zp[4]:12 7.0
long mul16s_error::ms
long mul16s_error::ms#0 // ms zp[4]:8 8.615384615384615
__constant char mul16s_error::str[$1f] = "signed word multiply mismatch "
unsigned long mul16u(unsigned int a , unsigned int b)
char mul16u::$1 // reg byte a 2.00000002E8
unsigned int mul16u::a
unsigned int mul16u::a#0 // a zp[2]:28 1.00000001E8
unsigned int mul16u::a#1 // a zp[2]:28 10001.0
unsigned int mul16u::a#2 // a zp[2]:28 1001.0
unsigned int mul16u::a#3 // a zp[2]:28 6.668333416666667E7
unsigned int mul16u::a#6 // a zp[2]:28 55501.5
unsigned int mul16u::b
unsigned int mul16u::b#0 // b zp[2]:26 20002.0
unsigned int mul16u::b#1 // b zp[2]:26 2002.0
unsigned int mul16u::b#2 // b zp[2]:26 11002.0
unsigned long mul16u::mb
unsigned long mul16u::mb#0 // mb zp[4]:18 200002.0
unsigned long mul16u::mb#1 // mb zp[4]:18 2.00000002E8
unsigned long mul16u::mb#2 // mb zp[4]:18 4.287142914285715E7
unsigned long mul16u::res
unsigned long mul16u::res#1 // res zp[4]:12 2.00000002E8
unsigned long mul16u::res#2 // res zp[4]:12 4.2858715E7
unsigned long mul16u::res#6 // res zp[4]:12 1.00000001E8
unsigned long mul16u::return
unsigned long mul16u::return#2 // return zp[4]:12 20002.0
unsigned long mul16u::return#3 // return zp[4]:12 2002.0
void mul16u_compare()
unsigned int mul16u_compare::a
unsigned int mul16u_compare::a#1 // a zp[2]:24 176.44827586206898
unsigned int mul16u_compare::a#2 // a zp[2]:24 2103.0
unsigned int mul16u_compare::a#6 // a zp[2]:24 101.0
unsigned int mul16u_compare::b
unsigned int mul16u_compare::b#1 // b zp[2]:26 176.44827586206898
unsigned int mul16u_compare::b#2 // b zp[2]:26 1051.5
unsigned int mul16u_compare::b#6 // b zp[2]:26 101.0
char mul16u_compare::i
char mul16u_compare::i#1 // i zp[1]:2 151.5
char mul16u_compare::i#12 // i zp[1]:2 6.9655172413793105
char mul16u_compare::j
char mul16u_compare::j#1 // reg byte y 1501.5
char mul16u_compare::j#10 // reg byte y 80.08
unsigned long mul16u_compare::mf
unsigned long mul16u_compare::mf#0 // mf zp[4]:18 154.84615384615384
unsigned long mul16u_compare::mn
unsigned long mul16u_compare::mn#0 // mn zp[4]:12 118.41176470588235
unsigned long mul16u_compare::ms
unsigned long mul16u_compare::ms#0 // ms zp[4]:8 143.52380952380952
char mul16u_compare::ok
char mul16u_compare::ok#3 // reg byte x 2002.0
char mul16u_compare::ok#4 // reg byte x 333.6666666666667
__constant char mul16u_compare::str1[$1d] = "word multiply results match!"
void mul16u_error(unsigned int a , unsigned int b , unsigned long ms , unsigned long mn , unsigned long mf)
unsigned int mul16u_error::a
unsigned int mul16u_error::a#0 // a zp[2]:24 16.0
unsigned int mul16u_error::b
unsigned int mul16u_error::b#0 // b zp[2]:26 11.2
unsigned long mul16u_error::mf
unsigned long mul16u_error::mf#0 // mf zp[4]:18 5.894736842105264
unsigned long mul16u_error::mn
unsigned long mul16u_error::mn#0 // mn zp[4]:12 7.0
unsigned long mul16u_error::ms
unsigned long mul16u_error::ms#0 // ms zp[4]:8 8.615384615384615
__constant char mul16u_error::str[$13] = "multiply mismatch "
long mulf16s(int a , int b)
unsigned int mulf16s::$11 // zp[2]:26 20002.0
unsigned int mulf16s::$12 // zp[2]:28 20002.0
unsigned int mulf16s::$6 // zp[2]:26 20002.0
unsigned int mulf16s::$9 // zp[2]:28 20002.0
int mulf16s::a
int mulf16s::a#0 // a zp[2]:4 785.8571428571429
int mulf16s::b
int mulf16s::b#0 // b zp[2]:6 1000.1818181818181
unsigned long mulf16s::m
unsigned long mulf16s::m#0 // m zp[4]:18 10001.0
unsigned long mulf16s::m#1 // m zp[4]:18 20002.0
unsigned long mulf16s::m#2 // m zp[4]:18 20002.0
unsigned long mulf16s::m#4 // m zp[4]:18 20002.0
unsigned long mulf16s::m#5 // m zp[4]:18 12501.25
long mulf16s::return
long mulf16s::return#0 // return zp[4]:18 3667.333333333333
long mulf16s::return#2 // return zp[4]:18 2002.0
unsigned long mulf16u(unsigned int a , unsigned int b)
unsigned int mulf16u::a
unsigned int mulf16u::a#0 // a zp[2]:24 10001.0
unsigned int mulf16u::a#1 // a zp[2]:24 1001.0
unsigned int mulf16u::a#2 // a zp[2]:24 111003.0
unsigned int mulf16u::b
unsigned int mulf16u::b#0 // b zp[2]:26 20002.0
unsigned int mulf16u::b#1 // b zp[2]:26 2002.0
unsigned int mulf16u::b#2 // b zp[2]:26 55501.5
__constant unsigned int * const mulf16u::memA = (unsigned int *) 248
__constant unsigned int * const mulf16u::memB = (unsigned int *) 250
__constant unsigned long * const mulf16u::memR = (unsigned long *) 252
unsigned long mulf16u::return
unsigned long mulf16u::return#0 // return zp[4]:18 27750.75
unsigned long mulf16u::return#2 // return zp[4]:18 20002.0
unsigned long mulf16u::return#3 // return zp[4]:18 2002.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]:2 23.307692307692307
char mulf_init::c#2 // c zp[1]:2 101.0
char mulf_init::dir
char mulf_init::dir#2 // dir zp[1]:3 37.875
char mulf_init::dir#4 // dir zp[1]:3 101.0
unsigned int mulf_init::sqr
unsigned int mulf_init::sqr#1 // sqr zp[2]:28 101.0
unsigned int mulf_init::sqr#2 // sqr zp[2]:28 202.0
unsigned int mulf_init::sqr#3 // sqr zp[2]:28 84.16666666666666
unsigned int mulf_init::sqr#4 // sqr zp[2]:28 50.5
char *mulf_init::sqr1_hi
char *mulf_init::sqr1_hi#1 // sqr1_hi zp[2]:26 67.33333333333333
char *mulf_init::sqr1_hi#2 // sqr1_hi zp[2]:26 25.25
char *mulf_init::sqr1_lo
char *mulf_init::sqr1_lo#1 // sqr1_lo zp[2]:24 202.0
char *mulf_init::sqr1_lo#2 // sqr1_lo zp[2]:24 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]:4 202.0
char *mulf_init::sqr2_lo#2 // sqr2_lo zp[2]:4 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
__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) }
long muls16s(int a , int b)
int muls16s::a
int muls16s::a#0 // a zp[2]:4 1668417.0833333333
int muls16s::b
int muls16s::b#0 // b zp[2]:6 1818273.0
int muls16s::i
int muls16s::i#1 // i zp[2]:24 2.0000002E7
int muls16s::i#2 // i zp[2]:24 1.0000001E7
int muls16s::j
int muls16s::j#1 // j zp[2]:28 2.0000002E7
int muls16s::j#2 // j zp[2]:28 1.0000001E7
long muls16s::m
long muls16s::m#1 // m zp[4]:8 1.0000001E7
long muls16s::m#2 // m zp[4]:8 1.0000001E7
long muls16s::m#3 // m zp[4]:8 1.50000015E7
long muls16s::m#5 // m zp[4]:8 1.50000015E7
long muls16s::return
long muls16s::return#0 // return zp[4]:8 6667001.0
long muls16s::return#2 // return zp[4]:8 2002.0
unsigned long muls16u(unsigned int a , unsigned int b)
unsigned int muls16u::a
unsigned int muls16u::a#0 // a zp[2]:24 1430143.2857142857
unsigned int muls16u::b
unsigned int muls16u::b#0 // b zp[2]:26 1666833.6666666665
unsigned int muls16u::i
unsigned int muls16u::i#1 // i zp[2]:28 2.0000002E7
unsigned int muls16u::i#2 // i zp[2]:28 1.0000001E7
unsigned long muls16u::m
unsigned long muls16u::m#1 // m zp[4]:8 1.0000001E7
unsigned long muls16u::m#3 // m zp[4]:8 1.50000015E7
unsigned long muls16u::return
unsigned long muls16u::return#0 // return zp[4]:8 3333667.333333333
unsigned long muls16u::return#2 // return zp[4]:8 2002.0
void print_char(char ch)
char print_char::ch
char print_char::ch#0 // reg byte a 200002.0
char print_char::ch#5 // reg byte a 2000002.0
char print_char::ch#6 // reg byte a 2000002.0
char print_char::ch#7 // reg byte a 1.2100004E7
char *print_char_cursor
char *print_char_cursor#1 // print_char_cursor zp[2]:22 1838.928571428572
char *print_char_cursor#136 // print_char_cursor zp[2]:22 2561.75
char *print_char_cursor#140 // print_char_cursor zp[2]:22 60603.0
char *print_char_cursor#141 // print_char_cursor zp[2]:22 5652.5
char *print_char_cursor#145 // print_char_cursor zp[2]:22 400001.00000000006
char *print_char_cursor#148 // print_char_cursor zp[2]:22 202.0
char *print_char_cursor#152 // print_char_cursor zp[2]:22 213.0
char *print_char_cursor#157 // print_char_cursor zp[2]:22 2235.0
char *print_char_cursor#183 // print_char_cursor zp[2]:22 22.0
char *print_char_cursor#190 // print_char_cursor zp[2]:22 22.0
char *print_char_cursor#21 // print_char_cursor zp[2]:22 219863.07843137256
char *print_char_cursor#223 // print_char_cursor zp[2]:22 22.0
char *print_char_cursor#89 // print_char_cursor zp[2]:22 1.10520045E7
void print_cls()
__constant const char print_hextab[] = "0123456789abcdef"z
char *print_line_cursor
char *print_line_cursor#0 // print_line_cursor zp[2]:16 386.7948717948718
char *print_line_cursor#23 // print_line_cursor zp[2]:16 21003.0
char *print_line_cursor#45 // print_line_cursor zp[2]:16 1135.0
void print_ln()
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]:24 2002.0
int print_sint::w#1 // w zp[2]:24 202.0
int print_sint::w#2 // w zp[2]:24 202.0
int print_sint::w#3 // w zp[2]:24 534.1666666666667
int print_sint::w#5 // w zp[2]:24 2002.0
void print_slong(long dw)
long print_slong::dw
long print_slong::dw#0 // dw zp[4]:8 2002.0
long print_slong::dw#1 // dw zp[4]:8 202.0
long print_slong::dw#2 // dw zp[4]:8 202.0
long print_slong::dw#3 // dw zp[4]:8 202.0
long print_slong::dw#4 // dw zp[4]:8 551.0
long print_slong::dw#6 // dw zp[4]:8 2002.0
void print_str(char *str)
char *print_str::str
char *print_str::str#0 // str zp[2]:28 200002.0
char *print_str::str#15 // str zp[2]:28 100251.25
char *print_str::str#18 // str zp[2]:28 1001.0
void print_uchar(char b)
char print_uchar::$0 // reg byte a 2000002.0
char print_uchar::$2 // reg byte x 2000002.0
char print_uchar::b
char print_uchar::b#0 // reg byte x 200002.0
char print_uchar::b#1 // reg byte x 200002.0
char print_uchar::b#2 // reg byte x 550001.0
void print_uint(unsigned int w)
unsigned int print_uint::w
unsigned int print_uint::w#0 // w zp[2]:24 2002.0
unsigned int print_uint::w#1 // w zp[2]:24 20002.0
unsigned int print_uint::w#2 // w zp[2]:24 20002.0
unsigned int print_uint::w#3 // w zp[2]:24 202.0
unsigned int print_uint::w#4 // w zp[2]:24 202.0
unsigned int print_uint::w#5 // w zp[2]:24 73735.66666666666
void print_ulong(unsigned long dw)
unsigned long print_ulong::dw
unsigned long print_ulong::dw#0 // dw zp[4]:8 2002.0
unsigned long print_ulong::dw#1 // dw zp[4]:8 202.0
unsigned long print_ulong::dw#2 // dw zp[4]:8 202.0
unsigned long print_ulong::dw#3 // dw zp[4]:8 202.0
unsigned long print_ulong::dw#4 // dw zp[4]:8 7102.0
__constant char str[2] = "."
__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[1]:2 [ mul16u_compare::i#12 mul16u_compare::i#1 mulf_init::c#2 mulf_init::c#1 ]
reg byte y [ mul16u_compare::j#10 mul16u_compare::j#1 ]
reg byte x [ mul16u_compare::ok#3 mul16u_compare::ok#4 ]
zp[1]:3 [ mul16s_compare::i#12 mul16s_compare::i#1 mulf_init::dir#2 mulf_init::dir#4 ]
zp[2]:4 [ mul16s_compare::a#2 mul16s_compare::a#6 mul16s_compare::a#1 muls16s::a#0 mul16s::a#0 mulf16s::a#0 mul16s_error::a#0 mulf_init::sqr2_lo#2 mulf_init::sqr2_lo#1 ]
zp[2]:6 [ mul16s_compare::b#2 mul16s_compare::b#6 mul16s_compare::b#1 muls16s::b#0 mul16s::b#0 mulf16s::b#0 mul16s_error::b#0 mulf_init::sqr2_hi#2 mulf_init::sqr2_hi#1 ]
reg byte y [ mul16s_compare::j#10 mul16s_compare::j#1 ]
reg byte x [ mul16s_compare::ok#3 mul16s_compare::ok#4 ]
zp[4]:8 [ muls16u::return#0 muls16u::m#3 muls16u::m#1 muls16u::return#2 mul16u_compare::ms#0 print_ulong::dw#4 print_ulong::dw#1 print_ulong::dw#2 print_ulong::dw#3 print_ulong::dw#0 print_slong::dw#6 print_slong::dw#0 print_slong::dw#4 print_slong::dw#1 print_slong::dw#2 print_slong::dw#3 mul16u_error::ms#0 muls16s::return#0 muls16s::m#3 muls16s::m#1 muls16s::m#5 muls16s::m#2 muls16s::return#2 mul16s_compare::ms#0 mul16s_error::ms#0 ]
zp[4]:12 [ mul16u::res#2 mul16u::res#6 mul16u::res#1 mul16u::return#3 mul16u::return#2 mul16s::m#4 mul16s::m#5 mul16s::m#1 mul16s::m#0 mul16s::m#2 mul16s::return#0 mul16u_compare::mn#0 mul16u_error::mn#0 mul16s::return#2 mul16s_compare::mn#0 mul16s_error::mn#0 ]
zp[2]:16 [ print_line_cursor#23 print_line_cursor#45 print_line_cursor#0 ]
zp[4]:18 [ mulf16s::m#4 mulf16s::m#5 mulf16s::m#1 mulf16s::m#0 mulf16s::m#2 mulf16u::return#2 mulf16s::return#0 mulf16u::return#3 mul16u_compare::mf#0 mulf16u::return#0 mulf16s::return#2 mul16s_compare::mf#0 mul16u_error::mf#0 mul16s_error::mf#0 mul16u::mb#2 mul16u::mb#0 mul16u::mb#1 ]
reg byte a [ print_char::ch#7 print_char::ch#0 print_char::ch#5 print_char::ch#6 ]
zp[2]:22 [ print_char_cursor#140 print_char_cursor#89 print_char_cursor#136 print_char_cursor#157 print_char_cursor#152 print_char_cursor#223 print_char_cursor#148 print_char_cursor#1 print_char_cursor#183 print_char_cursor#21 print_char_cursor#190 print_char_cursor#145 print_char_cursor#141 ]
reg byte x [ print_uchar::b#2 print_uchar::b#0 print_uchar::b#1 ]
reg byte a [ mulf_init::$1 ]
reg byte a [ mulf_init::$4 ]
reg byte a [ mulf_init::$5 ]
reg byte a [ mul16u::$1 ]
zp[2]:24 [ mul16s::$6 mul16s::$11 muls16s::i#2 muls16s::i#1 mul16u_compare::a#2 mul16u_compare::a#6 mul16u_compare::a#1 mulf16u::a#2 mulf16u::a#1 mulf16u::a#0 muls16u::a#0 mul16u_error::a#0 print_uint::w#5 print_uint::w#3 print_uint::w#4 print_uint::w#0 print_uint::w#1 print_uint::w#2 print_sint::w#5 print_sint::w#0 print_sint::w#3 print_sint::w#1 print_sint::w#2 mulf_init::sqr1_lo#2 mulf_init::sqr1_lo#1 ]
zp[2]:26 [ mulf16s::$6 mulf16s::$11 mul16s::$9 mul16s::$12 mul16u_compare::b#2 mul16u_compare::b#6 mul16u_compare::b#1 mul16u::b#2 mul16u::b#0 mul16u::b#1 mulf16u::b#2 mulf16u::b#1 mulf16u::b#0 muls16u::b#0 mul16u_error::b#0 mulf_init::sqr1_hi#2 mulf_init::sqr1_hi#1 ]
zp[2]:28 [ mulf16s::$9 mulf16s::$12 muls16s::j#2 muls16s::j#1 mul16u::a#3 mul16u::a#6 mul16u::a#1 mul16u::a#2 mul16u::a#0 muls16u::i#2 muls16u::i#1 print_str::str#15 print_str::str#18 print_str::str#0 memset::dst#2 memset::dst#1 mulf_init::sqr#3 mulf_init::sqr#4 mulf_init::sqr#1 mulf_init::sqr#2 ]
reg byte a [ print_uchar::$0 ]
reg byte x [ print_uchar::$2 ]
