2019-06-10 14:39:25 +00:00
|
|
|
(label) @1
|
|
|
|
(label) @begin
|
|
|
|
(label) @end
|
2019-10-13 22:51:15 +00:00
|
|
|
(const byte*) BORDERCOL = (byte*) 53280
|
|
|
|
(const byte) RADIX::BINARY = (number) 2
|
|
|
|
(const byte) RADIX::DECIMAL = (number) $a
|
|
|
|
(const byte) RADIX::HEXADECIMAL = (number) $10
|
|
|
|
(const byte) RADIX::OCTAL = (number) 8
|
|
|
|
(const byte*) RASTER = (byte*) 53266
|
|
|
|
(const byte*) SCREEN = (byte*) 1024
|
2019-06-10 14:39:25 +00:00
|
|
|
(void()) main()
|
|
|
|
(label) main::@1
|
|
|
|
(label) main::@2
|
|
|
|
(label) main::@3
|
|
|
|
(label) main::@4
|
|
|
|
(label) main::@5
|
|
|
|
(label) main::@6
|
2019-10-13 22:51:15 +00:00
|
|
|
(const word) main::a = (word) $4d2
|
|
|
|
(const word) main::b = (word) $929
|
2019-06-10 14:39:25 +00:00
|
|
|
(dword) main::r
|
2019-10-12 09:40:36 +00:00
|
|
|
(dword) main::r#0 r zp[4]:14 11.0
|
2019-06-10 14:39:25 +00:00
|
|
|
(dword()) mulf16u((word) mulf16u::a , (word) mulf16u::b)
|
|
|
|
(label) mulf16u::@return
|
|
|
|
(word) mulf16u::a
|
|
|
|
(word) mulf16u::b
|
2019-10-13 22:51:15 +00:00
|
|
|
(const word*) mulf16u::memA = (word*) 248
|
|
|
|
(const word*) mulf16u::memB = (word*) 250
|
|
|
|
(const dword*) mulf16u::memR = (dword*) 252
|
2019-06-10 14:39:25 +00:00
|
|
|
(dword) mulf16u::return
|
2019-10-12 09:40:36 +00:00
|
|
|
(dword) mulf16u::return#0 return zp[4]:14 22.0
|
|
|
|
(dword) mulf16u::return#1 return zp[4]:14 4.333333333333333
|
2019-06-10 14:39:25 +00:00
|
|
|
(void()) mulf_init()
|
2019-08-07 09:27:55 +00:00
|
|
|
(byte~) mulf_init::$12 reg byte a 22.0
|
|
|
|
(byte~) mulf_init::$13 reg byte a 22.0
|
|
|
|
(byte~) mulf_init::$9 reg byte a 22.0
|
2019-06-10 14:39:25 +00:00
|
|
|
(label) mulf_init::@1
|
|
|
|
(label) mulf_init::@2
|
|
|
|
(label) mulf_init::@3
|
|
|
|
(label) mulf_init::@4
|
|
|
|
(label) mulf_init::@5
|
|
|
|
(label) mulf_init::@6
|
|
|
|
(label) mulf_init::@7
|
2019-08-07 09:27:55 +00:00
|
|
|
(label) mulf_init::@8
|
|
|
|
(label) mulf_init::@9
|
2019-06-10 14:39:25 +00:00
|
|
|
(label) mulf_init::@return
|
|
|
|
(byte) mulf_init::c
|
2019-10-12 09:40:36 +00:00
|
|
|
(byte) mulf_init::c#1 c zp[1]:4 2.5384615384615383
|
|
|
|
(byte) mulf_init::c#2 c zp[1]:4 11.0
|
2019-06-10 14:39:25 +00:00
|
|
|
(byte) mulf_init::dir
|
2019-10-12 09:40:36 +00:00
|
|
|
(byte) mulf_init::dir#2 dir zp[1]:11 4.125
|
|
|
|
(byte) mulf_init::dir#4 dir zp[1]:11 11.0
|
2019-06-10 14:39:25 +00:00
|
|
|
(word) mulf_init::sqr
|
2019-10-12 09:40:36 +00:00
|
|
|
(word) mulf_init::sqr#1 sqr zp[2]:12 11.0
|
|
|
|
(word) mulf_init::sqr#2 sqr zp[2]:12 22.0
|
|
|
|
(word) mulf_init::sqr#3 sqr zp[2]:12 9.166666666666666
|
|
|
|
(word) mulf_init::sqr#4 sqr zp[2]:12 5.5
|
2019-06-10 14:39:25 +00:00
|
|
|
(byte*) mulf_init::sqr1_hi
|
2019-10-12 09:40:36 +00:00
|
|
|
(byte*) mulf_init::sqr1_hi#1 sqr1_hi zp[2]:5 7.333333333333333
|
|
|
|
(byte*) mulf_init::sqr1_hi#2 sqr1_hi zp[2]:5 2.75
|
2019-06-10 14:39:25 +00:00
|
|
|
(byte*) mulf_init::sqr1_lo
|
2019-10-12 09:40:36 +00:00
|
|
|
(byte*) mulf_init::sqr1_lo#1 sqr1_lo zp[2]:2 22.0
|
|
|
|
(byte*) mulf_init::sqr1_lo#2 sqr1_lo zp[2]:2 3.142857142857143
|
2019-06-10 14:39:25 +00:00
|
|
|
(byte*) mulf_init::sqr2_hi
|
2019-10-12 09:40:36 +00:00
|
|
|
(byte*) mulf_init::sqr2_hi#1 sqr2_hi zp[2]:9 3.6666666666666665
|
|
|
|
(byte*) mulf_init::sqr2_hi#2 sqr2_hi zp[2]:9 8.25
|
2019-06-10 14:39:25 +00:00
|
|
|
(byte*) mulf_init::sqr2_lo
|
2019-10-12 09:40:36 +00:00
|
|
|
(byte*) mulf_init::sqr2_lo#1 sqr2_lo zp[2]:7 22.0
|
|
|
|
(byte*) mulf_init::sqr2_lo#2 sqr2_lo zp[2]:7 4.888888888888889
|
2019-06-10 14:39:25 +00:00
|
|
|
(byte) mulf_init::x_2
|
2019-08-07 09:27:55 +00:00
|
|
|
(byte) mulf_init::x_2#1 reg byte x 11.0
|
|
|
|
(byte) mulf_init::x_2#2 reg byte x 5.5
|
|
|
|
(byte) mulf_init::x_2#3 reg byte x 6.6000000000000005
|
2019-06-10 14:39:25 +00:00
|
|
|
(byte) mulf_init::x_255
|
2019-08-07 09:27:55 +00:00
|
|
|
(byte) mulf_init::x_255#1 reg byte x 6.6000000000000005
|
|
|
|
(byte) mulf_init::x_255#2 reg byte x 8.8
|
2019-10-13 22:51:15 +00:00
|
|
|
(const byte[$200]) mulf_sqr1_hi = { fill( $200, 0) }
|
|
|
|
(const byte[$200]) mulf_sqr1_lo = { fill( $200, 0) }
|
|
|
|
(const byte[$200]) mulf_sqr2_hi = { fill( $200, 0) }
|
|
|
|
(const byte[$200]) mulf_sqr2_lo = { fill( $200, 0) }
|
2019-06-10 14:39:25 +00:00
|
|
|
(void()) print_byte((byte) print_byte::b)
|
|
|
|
(byte~) print_byte::$0 reg byte a 4.0
|
|
|
|
(byte~) print_byte::$2 reg byte x 4.0
|
|
|
|
(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 2.0
|
|
|
|
(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_cursor
|
2019-10-12 09:40:36 +00:00
|
|
|
(byte*) print_char_cursor#10 print_char_cursor zp[2]:5 0.6153846153846154
|
|
|
|
(byte*) print_char_cursor#16 print_char_cursor zp[2]:5 0.2222222222222222
|
|
|
|
(byte*) print_char_cursor#27 print_char_cursor zp[2]:5 4.0
|
|
|
|
(byte*) print_char_cursor#34 print_char_cursor zp[2]:5 3.0
|
|
|
|
(byte*) print_char_cursor#36 print_char_cursor zp[2]:5 2.0
|
2019-06-10 14:39:25 +00:00
|
|
|
(void()) print_dword((dword) print_dword::dw)
|
|
|
|
(label) print_dword::@1
|
|
|
|
(label) print_dword::@return
|
|
|
|
(dword) print_dword::dw
|
2019-10-12 09:40:36 +00:00
|
|
|
(dword) print_dword::dw#0 dw zp[4]:14 5.0
|
2019-10-13 22:51:15 +00:00
|
|
|
(const byte[]) print_hextab = (string) "0123456789abcdef"z
|
2019-06-10 14:39:25 +00:00
|
|
|
(byte*) print_line_cursor
|
|
|
|
(byte*) print_screen
|
|
|
|
(void()) print_set_screen((byte*) print_set_screen::screen)
|
|
|
|
(label) print_set_screen::@return
|
|
|
|
(byte*) print_set_screen::screen
|
|
|
|
(void()) print_word((word) print_word::w)
|
|
|
|
(label) print_word::@1
|
|
|
|
(label) print_word::@return
|
|
|
|
(word) print_word::w
|
2019-10-12 09:40:36 +00:00
|
|
|
(word) print_word::w#0 w zp[2]:2 4.0
|
|
|
|
(word) print_word::w#1 w zp[2]:2 4.0
|
|
|
|
(word) print_word::w#2 w zp[2]:2 2.6666666666666665
|
2019-06-10 14:39:25 +00:00
|
|
|
|
|
|
|
reg byte x [ print_byte::b#2 print_byte::b#0 print_byte::b#1 ]
|
|
|
|
reg byte a [ print_char::ch#2 print_char::ch#0 print_char::ch#1 ]
|
2019-10-12 09:40:36 +00:00
|
|
|
zp[2]:2 [ mulf_init::sqr1_lo#2 mulf_init::sqr1_lo#1 print_word::w#2 print_word::w#0 print_word::w#1 ]
|
|
|
|
zp[1]:4 [ mulf_init::c#2 mulf_init::c#1 ]
|
|
|
|
zp[2]:5 [ mulf_init::sqr1_hi#2 mulf_init::sqr1_hi#1 print_char_cursor#27 print_char_cursor#36 print_char_cursor#34 print_char_cursor#16 print_char_cursor#10 ]
|
2019-08-07 09:27:55 +00:00
|
|
|
reg byte x [ mulf_init::x_2#3 mulf_init::x_2#2 mulf_init::x_2#1 ]
|
2019-10-12 09:40:36 +00:00
|
|
|
zp[2]:7 [ mulf_init::sqr2_lo#2 mulf_init::sqr2_lo#1 ]
|
2019-06-10 14:39:25 +00:00
|
|
|
reg byte x [ mulf_init::x_255#2 mulf_init::x_255#1 ]
|
2019-10-12 09:40:36 +00:00
|
|
|
zp[2]:9 [ mulf_init::sqr2_hi#2 mulf_init::sqr2_hi#1 ]
|
|
|
|
zp[1]:11 [ mulf_init::dir#2 mulf_init::dir#4 ]
|
|
|
|
zp[2]:12 [ mulf_init::sqr#3 mulf_init::sqr#4 mulf_init::sqr#1 mulf_init::sqr#2 ]
|
|
|
|
zp[4]:14 [ mulf16u::return#0 main::r#0 mulf16u::return#1 print_dword::dw#0 ]
|
2019-06-10 14:39:25 +00:00
|
|
|
reg byte a [ print_byte::$0 ]
|
|
|
|
reg byte x [ print_byte::$2 ]
|
2019-08-07 09:27:55 +00:00
|
|
|
reg byte a [ mulf_init::$9 ]
|
|
|
|
reg byte a [ mulf_init::$12 ]
|
|
|
|
reg byte a [ mulf_init::$13 ]
|