2019-06-10 14:39:25 +00:00
|
|
|
(label) @1
|
|
|
|
(label) @begin
|
|
|
|
(label) @end
|
2019-09-29 18:57:23 +00:00
|
|
|
(const word) PI2_u4f12 PI2_u4f12 = (word) $6488
|
|
|
|
(const dword) PI2_u4f28 PI2_u4f28 = (dword) $6487ed51
|
|
|
|
(const word) PI_HALF_u4f12 PI_HALF_u4f12 = (word) $1922
|
|
|
|
(const dword) PI_HALF_u4f28 PI_HALF_u4f28 = (dword) $1921fb54
|
|
|
|
(const word) PI_u4f12 PI_u4f12 = (word) $3244
|
|
|
|
(const dword) PI_u4f28 PI_u4f28 = (dword) $3243f6a9
|
2019-07-17 22:45:46 +00:00
|
|
|
(const byte) RADIX::BINARY BINARY = (number) 2
|
|
|
|
(const byte) RADIX::DECIMAL DECIMAL = (number) $a
|
|
|
|
(const byte) RADIX::HEXADECIMAL HEXADECIMAL = (number) $10
|
|
|
|
(const byte) RADIX::OCTAL OCTAL = (number) 8
|
2019-06-10 14:39:25 +00:00
|
|
|
(const byte) SIZEOF_SIGNED_WORD SIZEOF_SIGNED_WORD = (byte) 2
|
|
|
|
(word()) div16u((word) div16u::dividend , (word) div16u::divisor)
|
|
|
|
(label) div16u::@1
|
|
|
|
(label) div16u::@return
|
|
|
|
(word) div16u::dividend
|
|
|
|
(word) div16u::divisor
|
|
|
|
(word) div16u::return
|
2019-07-31 11:47:21 +00:00
|
|
|
(word) div16u::return#0 return zp ZP_WORD:16 1.3333333333333333
|
|
|
|
(word) div16u::return#2 return zp ZP_WORD:16 4.0
|
2019-06-10 14:39:25 +00:00
|
|
|
(dword()) div32u16u((dword) div32u16u::dividend , (word) div32u16u::divisor)
|
|
|
|
(label) div32u16u::@1
|
|
|
|
(label) div32u16u::@2
|
|
|
|
(label) div32u16u::@return
|
|
|
|
(dword) div32u16u::dividend
|
|
|
|
(word) div32u16u::divisor
|
|
|
|
(dword) div32u16u::quotient
|
|
|
|
(word) div32u16u::quotient_hi
|
2019-07-31 11:47:21 +00:00
|
|
|
(word) div32u16u::quotient_hi#0 quotient_hi zp ZP_WORD:32 0.8
|
2019-06-10 14:39:25 +00:00
|
|
|
(word) div32u16u::quotient_lo
|
2019-07-31 11:47:21 +00:00
|
|
|
(word) div32u16u::quotient_lo#0 quotient_lo zp ZP_WORD:16 4.0
|
2019-06-10 14:39:25 +00:00
|
|
|
(dword) div32u16u::return
|
2019-07-31 11:47:21 +00:00
|
|
|
(dword) div32u16u::return#0 return zp ZP_DWORD:26 1.3333333333333333
|
|
|
|
(dword) div32u16u::return#2 return zp ZP_DWORD:26 4.0
|
2019-06-10 14:39:25 +00:00
|
|
|
(word()) divr16u((word) divr16u::dividend , (word) divr16u::divisor , (word) divr16u::rem)
|
|
|
|
(byte~) divr16u::$1 reg byte a 22.0
|
|
|
|
(byte~) divr16u::$2 reg byte a 22.0
|
|
|
|
(label) divr16u::@1
|
|
|
|
(label) divr16u::@2
|
|
|
|
(label) divr16u::@3
|
|
|
|
(label) divr16u::@4
|
|
|
|
(label) divr16u::@5
|
|
|
|
(label) divr16u::@6
|
|
|
|
(label) divr16u::@return
|
|
|
|
(word) divr16u::dividend
|
2019-07-31 11:47:21 +00:00
|
|
|
(word) divr16u::dividend#0 dividend zp ZP_WORD:24 2.75
|
|
|
|
(word) divr16u::dividend#4 dividend zp ZP_WORD:24 5.0
|
|
|
|
(word) divr16u::dividend#6 dividend zp ZP_WORD:24 2.0
|
2019-06-10 14:39:25 +00:00
|
|
|
(word) divr16u::divisor
|
|
|
|
(byte) divr16u::i
|
|
|
|
(byte) divr16u::i#1 reg byte x 16.5
|
|
|
|
(byte) divr16u::i#2 reg byte x 1.6923076923076923
|
|
|
|
(word) divr16u::quotient
|
2019-07-31 11:47:21 +00:00
|
|
|
(word) divr16u::quotient#1 quotient zp ZP_WORD:16 16.5
|
|
|
|
(word) divr16u::quotient#2 quotient zp ZP_WORD:16 11.0
|
|
|
|
(word) divr16u::quotient#3 quotient zp ZP_WORD:16 2.75
|
2019-06-10 14:39:25 +00:00
|
|
|
(word) divr16u::rem
|
2019-07-31 11:47:21 +00:00
|
|
|
(word) divr16u::rem#0 rem zp ZP_WORD:14 8.25
|
|
|
|
(word) divr16u::rem#1 rem zp ZP_WORD:14 22.0
|
|
|
|
(word) divr16u::rem#10 rem zp ZP_WORD:14 11.666666666666666
|
|
|
|
(word) divr16u::rem#11 rem zp ZP_WORD:14 4.0
|
|
|
|
(word) divr16u::rem#2 rem zp ZP_WORD:14 22.0
|
|
|
|
(word) divr16u::rem#5 rem zp ZP_WORD:14 4.0
|
|
|
|
(word) divr16u::rem#6 rem zp ZP_WORD:14 24.0
|
|
|
|
(word) divr16u::rem#7 rem zp ZP_WORD:14 11.0
|
2019-06-10 14:39:25 +00:00
|
|
|
(word) divr16u::return
|
2019-07-31 11:47:21 +00:00
|
|
|
(word) divr16u::return#0 return zp ZP_WORD:16 4.875
|
|
|
|
(word) divr16u::return#2 return zp ZP_WORD:16 4.0
|
|
|
|
(word) divr16u::return#3 return zp ZP_WORD:16 4.0
|
|
|
|
(word) divr16u::return#4 return zp ZP_WORD:16 4.0
|
2019-06-10 14:39:25 +00:00
|
|
|
(void()) main()
|
2019-07-31 11:47:21 +00:00
|
|
|
(word~) main::$11 $11 zp ZP_WORD:24 22.0
|
|
|
|
(word~) main::$3 $3 zp ZP_WORD:24 22.0
|
|
|
|
(signed word*~) main::$4 $4 zp ZP_WORD:24 22.0
|
2019-06-24 21:22:20 +00:00
|
|
|
(byte~) main::$6 reg byte a 11.0
|
2019-06-10 14:39:25 +00:00
|
|
|
(label) main::@1
|
|
|
|
(label) main::@2
|
|
|
|
(label) main::@3
|
|
|
|
(label) main::@4
|
|
|
|
(label) main::@5
|
|
|
|
(label) main::@return
|
|
|
|
(byte) main::i
|
|
|
|
(byte) main::i#1 reg byte x 16.5
|
|
|
|
(byte) main::i#2 reg byte x 2.75
|
|
|
|
(signed byte) main::sb
|
2019-07-31 11:47:21 +00:00
|
|
|
(signed byte) main::sb#0 sb zp ZP_BYTE:23 3.6666666666666665
|
2019-06-10 14:39:25 +00:00
|
|
|
(signed byte) main::sd
|
|
|
|
(signed byte) main::sd#0 reg byte a 22.0
|
2019-09-29 18:57:23 +00:00
|
|
|
(const signed byte[$c0]) main::sintabb sintabb = { fill( $c0, 0) }
|
|
|
|
(const signed word[$c0]) main::sintabw sintabw = { fill( $c0, 0) }
|
2019-08-07 17:36:19 +00:00
|
|
|
(const string) main::str str = (string) " "
|
2019-06-10 14:39:25 +00:00
|
|
|
(signed word) main::sw
|
2019-07-31 11:47:21 +00:00
|
|
|
(signed word) main::sw#0 sw zp ZP_WORD:32 22.0
|
2019-06-10 14:39:25 +00:00
|
|
|
(word) main::wavelength
|
|
|
|
(const word) main::wavelength#0 wavelength = (byte) $c0
|
2019-07-17 23:54:16 +00:00
|
|
|
(void*()) memset((void*) memset::str , (byte) memset::c , (word) memset::num)
|
|
|
|
(label) memset::@1
|
2019-08-07 09:27:55 +00:00
|
|
|
(label) memset::@2
|
2019-07-17 23:54:16 +00:00
|
|
|
(label) memset::@return
|
|
|
|
(byte) memset::c
|
|
|
|
(const byte) memset::c#0 c = (byte) ' '
|
|
|
|
(byte*) memset::dst
|
2019-08-25 20:21:56 +00:00
|
|
|
(byte*) memset::dst#1 dst zp ZP_WORD:14 22.0
|
|
|
|
(byte*) memset::dst#2 dst zp ZP_WORD:14 14.666666666666666
|
2019-07-17 23:54:16 +00:00
|
|
|
(byte*) memset::end
|
|
|
|
(const byte*) memset::end#0 end = (byte*)(const void*) memset::str#0+(const word) memset::num#0
|
|
|
|
(word) memset::num
|
|
|
|
(const word) memset::num#0 num = (word) $3e8
|
|
|
|
(void*) memset::return
|
|
|
|
(void*) memset::str
|
|
|
|
(const void*) memset::str#0 str = (void*)(const byte*) print_line_cursor#0
|
2019-06-10 14:39:25 +00:00
|
|
|
(dword()) mul16u((word) mul16u::a , (word) mul16u::b)
|
|
|
|
(byte~) mul16u::$1 reg byte a 202.0
|
|
|
|
(label) mul16u::@1
|
|
|
|
(label) mul16u::@2
|
|
|
|
(label) mul16u::@3
|
|
|
|
(label) mul16u::@4
|
|
|
|
(label) mul16u::@return
|
|
|
|
(word) mul16u::a
|
2019-07-31 11:47:21 +00:00
|
|
|
(word) mul16u::a#0 a zp ZP_WORD:30 101.0
|
|
|
|
(word) mul16u::a#1 a zp ZP_WORD:30 1.3333333333333333
|
|
|
|
(word) mul16u::a#2 a zp ZP_WORD:30 67.66666666666666
|
2019-06-10 14:39:25 +00:00
|
|
|
(word) mul16u::b
|
2019-07-31 11:47:21 +00:00
|
|
|
(word) mul16u::b#0 b zp ZP_WORD:18 2.0
|
2019-06-10 14:39:25 +00:00
|
|
|
(dword) mul16u::mb
|
2019-07-31 11:47:21 +00:00
|
|
|
(dword) mul16u::mb#1 mb zp ZP_DWORD:10 202.0
|
|
|
|
(dword) mul16u::mb#2 mb zp ZP_DWORD:10 43.57142857142858
|
2019-06-10 14:39:25 +00:00
|
|
|
(dword) mul16u::res
|
2019-07-31 11:47:21 +00:00
|
|
|
(dword) mul16u::res#1 res zp ZP_DWORD:6 202.0
|
|
|
|
(dword) mul16u::res#2 res zp ZP_DWORD:6 50.83333333333333
|
|
|
|
(dword) mul16u::res#6 res zp ZP_DWORD:6 101.0
|
2019-06-10 14:39:25 +00:00
|
|
|
(dword) mul16u::return
|
2019-07-31 11:47:21 +00:00
|
|
|
(dword) mul16u::return#2 return zp ZP_DWORD:6 4.0
|
2019-06-10 14:39:25 +00:00
|
|
|
(word()) mul8u((byte) mul8u::a , (byte) mul8u::b)
|
|
|
|
(byte~) mul8u::$1 reg byte a 202.0
|
|
|
|
(label) mul8u::@1
|
|
|
|
(label) mul8u::@2
|
|
|
|
(label) mul8u::@3
|
|
|
|
(label) mul8u::@4
|
|
|
|
(label) mul8u::@return
|
|
|
|
(byte) mul8u::a
|
|
|
|
(byte) mul8u::a#0 reg byte x 101.0
|
|
|
|
(byte) mul8u::a#1 reg byte x 1.3333333333333333
|
|
|
|
(byte) mul8u::a#2 reg byte x 67.66666666666666
|
|
|
|
(byte) mul8u::b
|
|
|
|
(byte) mul8u::b#0 reg byte a 2.0
|
|
|
|
(word) mul8u::mb
|
2019-07-31 11:47:21 +00:00
|
|
|
(word) mul8u::mb#1 mb zp ZP_WORD:32 202.0
|
|
|
|
(word) mul8u::mb#2 mb zp ZP_WORD:32 43.57142857142858
|
2019-06-10 14:39:25 +00:00
|
|
|
(word) mul8u::res
|
2019-07-31 11:47:21 +00:00
|
|
|
(word) mul8u::res#1 res zp ZP_WORD:21 202.0
|
|
|
|
(word) mul8u::res#2 res zp ZP_WORD:21 50.83333333333333
|
|
|
|
(word) mul8u::res#6 res zp ZP_WORD:21 101.0
|
2019-06-10 14:39:25 +00:00
|
|
|
(word) mul8u::return
|
2019-07-31 11:47:21 +00:00
|
|
|
(word) mul8u::return#2 return zp ZP_WORD:21 4.0
|
2019-06-10 14:39:25 +00:00
|
|
|
(word()) mulu16_sel((word) mulu16_sel::v1 , (word) mulu16_sel::v2 , (byte) mulu16_sel::select)
|
2019-07-31 11:47:21 +00:00
|
|
|
(dword~) mulu16_sel::$0 $0 zp ZP_DWORD:6 4.0
|
|
|
|
(dword~) mulu16_sel::$1 $1 zp ZP_DWORD:6 4.0
|
2019-06-10 14:39:25 +00:00
|
|
|
(label) mulu16_sel::@1
|
|
|
|
(label) mulu16_sel::@return
|
|
|
|
(word) mulu16_sel::return
|
2019-07-31 11:47:21 +00:00
|
|
|
(word) mulu16_sel::return#0 return zp ZP_WORD:30 4.0
|
|
|
|
(word) mulu16_sel::return#1 return#1 zp ZP_WORD:16 4.0
|
|
|
|
(word) mulu16_sel::return#10 return#10 zp ZP_WORD:16 4.0
|
|
|
|
(word) mulu16_sel::return#11 return zp ZP_WORD:30 4.0
|
|
|
|
(word) mulu16_sel::return#12 return zp ZP_WORD:30 1.714285714285714
|
|
|
|
(word) mulu16_sel::return#2 return zp ZP_WORD:30 4.0
|
2019-06-10 14:39:25 +00:00
|
|
|
(byte) mulu16_sel::select
|
|
|
|
(byte) mulu16_sel::select#5 reg byte x 0.3333333333333333
|
|
|
|
(word) mulu16_sel::v1
|
2019-07-31 11:47:21 +00:00
|
|
|
(word) mulu16_sel::v1#0 v1 zp ZP_WORD:16 2.0
|
|
|
|
(word) mulu16_sel::v1#1 v1 zp ZP_WORD:16 2.0
|
|
|
|
(word) mulu16_sel::v1#2 v1 zp ZP_WORD:16 4.0
|
|
|
|
(word) mulu16_sel::v1#3 v1 zp ZP_WORD:16 2.0
|
|
|
|
(word) mulu16_sel::v1#4 v1 zp ZP_WORD:16 2.0
|
|
|
|
(word) mulu16_sel::v1#5 v1 zp ZP_WORD:16 12.0
|
2019-06-10 14:39:25 +00:00
|
|
|
(word) mulu16_sel::v2
|
2019-07-31 11:47:21 +00:00
|
|
|
(word) mulu16_sel::v2#0 v2 zp ZP_WORD:18 4.0
|
|
|
|
(word) mulu16_sel::v2#1 v2 zp ZP_WORD:18 4.0
|
|
|
|
(word) mulu16_sel::v2#3 v2 zp ZP_WORD:18 4.0
|
|
|
|
(word) mulu16_sel::v2#4 v2 zp ZP_WORD:18 4.0
|
|
|
|
(word) mulu16_sel::v2#5 v2 zp ZP_WORD:18 5.0
|
2019-06-10 14:39:25 +00:00
|
|
|
(byte()) mulu8_sel((byte) mulu8_sel::v1 , (byte) mulu8_sel::v2 , (byte) mulu8_sel::select)
|
2019-07-31 11:47:21 +00:00
|
|
|
(word~) mulu8_sel::$0 $0 zp ZP_WORD:21 4.0
|
|
|
|
(word~) mulu8_sel::$1 $1 zp ZP_WORD:21 4.0
|
2019-06-10 14:39:25 +00:00
|
|
|
(label) mulu8_sel::@1
|
|
|
|
(label) mulu8_sel::@return
|
|
|
|
(byte) mulu8_sel::return
|
|
|
|
(byte) mulu8_sel::return#0 reg byte a 4.0
|
|
|
|
(byte) mulu8_sel::return#1 reg byte a 4.0
|
|
|
|
(byte) mulu8_sel::return#10 reg byte a 4.0
|
|
|
|
(byte) mulu8_sel::return#11 reg byte a 4.0
|
|
|
|
(byte) mulu8_sel::return#12 reg byte a 1.714285714285714
|
|
|
|
(byte) mulu8_sel::return#2 reg byte a 4.0
|
|
|
|
(byte) mulu8_sel::select
|
2019-07-31 11:47:21 +00:00
|
|
|
(byte) mulu8_sel::select#5 select zp ZP_BYTE:20 0.3333333333333333
|
2019-06-10 14:39:25 +00:00
|
|
|
(byte) mulu8_sel::v1
|
|
|
|
(byte) mulu8_sel::v1#0 reg byte x 2.0
|
|
|
|
(byte) mulu8_sel::v1#1 reg byte x 2.0
|
|
|
|
(byte) mulu8_sel::v1#2 reg byte x 4.0
|
|
|
|
(byte) mulu8_sel::v1#3 reg byte x 2.0
|
|
|
|
(byte) mulu8_sel::v1#4 reg byte x 2.0
|
|
|
|
(byte) mulu8_sel::v1#5 reg byte x 12.0
|
|
|
|
(byte) mulu8_sel::v2
|
|
|
|
(byte) mulu8_sel::v2#0 reg byte y 4.0
|
|
|
|
(byte) mulu8_sel::v2#1 reg byte y 4.0
|
|
|
|
(byte) mulu8_sel::v2#3 reg byte y 4.0
|
|
|
|
(byte) mulu8_sel::v2#4 reg byte y 4.0
|
|
|
|
(byte) mulu8_sel::v2#5 reg byte y 5.0
|
|
|
|
(void()) print_byte((byte) print_byte::b)
|
|
|
|
(byte~) print_byte::$0 reg byte a 4.0
|
|
|
|
(byte~) print_byte::$2 reg byte a 4.0
|
|
|
|
(label) print_byte::@1
|
|
|
|
(label) print_byte::@return
|
|
|
|
(byte) print_byte::b
|
2019-07-31 11:47:21 +00:00
|
|
|
(byte) print_byte::b#0 b zp ZP_BYTE:20 1.5
|
2019-06-10 14:39:25 +00:00
|
|
|
(void()) print_char((byte) print_char::ch)
|
|
|
|
(label) print_char::@return
|
|
|
|
(byte) print_char::ch
|
|
|
|
(byte) print_char::ch#2 reg byte a 4.0
|
|
|
|
(byte) print_char::ch#3 reg byte a 4.0
|
|
|
|
(byte) print_char::ch#4 reg byte a 6.0
|
|
|
|
(byte*) print_char_cursor
|
2019-07-31 11:47:21 +00:00
|
|
|
(byte*) print_char_cursor#1 print_char_cursor zp ZP_WORD:21 101.0
|
|
|
|
(byte*) print_char_cursor#10 print_char_cursor zp ZP_WORD:21 0.42105263157894735
|
|
|
|
(byte*) print_char_cursor#19 print_char_cursor zp ZP_WORD:21 45.142857142857146
|
|
|
|
(byte*) print_char_cursor#28 print_char_cursor zp ZP_WORD:21 6.0
|
|
|
|
(byte*) print_char_cursor#42 print_char_cursor zp ZP_WORD:21 1.25
|
2019-06-10 14:39:25 +00:00
|
|
|
(void()) print_cls()
|
|
|
|
(label) print_cls::@return
|
2019-09-29 18:57:23 +00:00
|
|
|
(const byte[]) print_hextab print_hextab = (string) "0123456789abcdef"z
|
2019-06-10 14:39:25 +00:00
|
|
|
(byte*) print_line_cursor
|
|
|
|
(const byte*) print_line_cursor#0 print_line_cursor = (byte*) 1024
|
|
|
|
(void()) print_sbyte((signed byte) print_sbyte::b)
|
|
|
|
(label) print_sbyte::@1
|
|
|
|
(label) print_sbyte::@2
|
|
|
|
(label) print_sbyte::@3
|
|
|
|
(label) print_sbyte::@4
|
|
|
|
(label) print_sbyte::@return
|
|
|
|
(signed byte) print_sbyte::b
|
2019-07-31 11:47:21 +00:00
|
|
|
(signed byte) print_sbyte::b#0 b zp ZP_BYTE:20 4.0
|
|
|
|
(signed byte) print_sbyte::b#1 b zp ZP_BYTE:20 2.8333333333333335
|
|
|
|
(signed byte) print_sbyte::b#4 b zp ZP_BYTE:20 4.0
|
2019-06-10 14:39:25 +00:00
|
|
|
(byte*) print_screen
|
|
|
|
(void()) print_str((byte*) print_str::str)
|
|
|
|
(label) print_str::@1
|
|
|
|
(label) print_str::@2
|
|
|
|
(label) print_str::@return
|
|
|
|
(byte*) print_str::str
|
2019-07-31 11:47:21 +00:00
|
|
|
(byte*) print_str::str#0 str zp ZP_WORD:14 202.0
|
|
|
|
(byte*) print_str::str#2 str zp ZP_WORD:14 101.0
|
2019-06-10 14:39:25 +00:00
|
|
|
(word) rem16u
|
2019-07-31 11:47:21 +00:00
|
|
|
(word) rem16u#1 rem16u zp ZP_WORD:14 0.8
|
2019-06-10 14:39:25 +00:00
|
|
|
(signed word()) sin16s((dword) sin16s::x)
|
2019-07-31 11:47:21 +00:00
|
|
|
(dword~) sin16s::$4 $4 zp ZP_DWORD:6 4.0
|
2019-06-10 14:39:25 +00:00
|
|
|
(label) sin16s::@1
|
|
|
|
(label) sin16s::@10
|
|
|
|
(label) sin16s::@11
|
|
|
|
(label) sin16s::@12
|
|
|
|
(label) sin16s::@2
|
|
|
|
(label) sin16s::@3
|
|
|
|
(label) sin16s::@4
|
|
|
|
(label) sin16s::@5
|
|
|
|
(label) sin16s::@6
|
|
|
|
(label) sin16s::@7
|
|
|
|
(label) sin16s::@8
|
|
|
|
(label) sin16s::@9
|
|
|
|
(label) sin16s::@return
|
|
|
|
(byte) sin16s::isUpper
|
2019-07-31 11:47:21 +00:00
|
|
|
(byte) sin16s::isUpper#2 isUpper zp ZP_BYTE:20 0.06060606060606061
|
2019-06-10 14:39:25 +00:00
|
|
|
(signed word) sin16s::return
|
2019-07-31 11:47:21 +00:00
|
|
|
(signed word) sin16s::return#0 return zp ZP_WORD:24 22.0
|
|
|
|
(signed word) sin16s::return#1 return zp ZP_WORD:24 5.0
|
|
|
|
(signed word~) sin16s::return#5 return zp ZP_WORD:24 4.0
|
2019-06-10 14:39:25 +00:00
|
|
|
(signed word) sin16s::sinx
|
2019-07-31 11:47:21 +00:00
|
|
|
(signed word) sin16s::sinx#1 sinx zp ZP_WORD:24 4.0
|
2019-06-10 14:39:25 +00:00
|
|
|
(word) sin16s::usinx
|
2019-07-31 11:47:21 +00:00
|
|
|
(word) sin16s::usinx#0 usinx zp ZP_WORD:24 0.3333333333333333
|
|
|
|
(word) sin16s::usinx#1 usinx zp ZP_WORD:24 1.0
|
2019-06-10 14:39:25 +00:00
|
|
|
(dword) sin16s::x
|
2019-07-31 11:47:21 +00:00
|
|
|
(dword) sin16s::x#0 x zp ZP_DWORD:6 8.5
|
|
|
|
(dword) sin16s::x#1 x zp ZP_DWORD:6 4.0
|
|
|
|
(dword) sin16s::x#2 x zp ZP_DWORD:6 4.0
|
|
|
|
(dword) sin16s::x#4 x zp ZP_DWORD:6 5.0
|
|
|
|
(dword) sin16s::x#6 x zp ZP_DWORD:6 6.0
|
2019-06-10 14:39:25 +00:00
|
|
|
(word) sin16s::x1
|
2019-07-31 11:47:21 +00:00
|
|
|
(word) sin16s::x1#0 x1 zp ZP_WORD:32 0.6363636363636365
|
2019-06-10 14:39:25 +00:00
|
|
|
(word) sin16s::x2
|
2019-07-31 11:47:21 +00:00
|
|
|
(word) sin16s::x2#0 x2 zp ZP_WORD:16 4.0
|
2019-06-10 14:39:25 +00:00
|
|
|
(word) sin16s::x3
|
2019-07-31 11:47:21 +00:00
|
|
|
(word) sin16s::x3#0 x3 zp ZP_WORD:16 1.0
|
2019-06-10 14:39:25 +00:00
|
|
|
(word) sin16s::x3_6
|
2019-07-31 11:47:21 +00:00
|
|
|
(word) sin16s::x3_6#0 x3_6 zp ZP_WORD:30 4.0
|
2019-06-10 14:39:25 +00:00
|
|
|
(word) sin16s::x4
|
2019-07-31 11:47:21 +00:00
|
|
|
(word) sin16s::x4#0 x4 zp ZP_WORD:16 4.0
|
2019-06-10 14:39:25 +00:00
|
|
|
(word) sin16s::x5
|
2019-07-31 11:47:21 +00:00
|
|
|
(word) sin16s::x5#0 x5 zp ZP_WORD:30 4.0
|
2019-06-10 14:39:25 +00:00
|
|
|
(word) sin16s::x5_128
|
2019-07-31 11:47:21 +00:00
|
|
|
(word) sin16s::x5_128#0 x5_128 zp ZP_WORD:30 4.0
|
2019-06-10 14:39:25 +00:00
|
|
|
(void()) sin16s_gen((signed word*) sin16s_gen::sintab , (word) sin16s_gen::wavelength)
|
2019-08-07 09:27:55 +00:00
|
|
|
(signed word~) sin16s_gen::$2 $2 zp ZP_WORD:24 22.0
|
2019-06-10 14:39:25 +00:00
|
|
|
(label) sin16s_gen::@1
|
|
|
|
(label) sin16s_gen::@2
|
|
|
|
(label) sin16s_gen::@3
|
2019-08-07 09:27:55 +00:00
|
|
|
(label) sin16s_gen::@4
|
2019-06-10 14:39:25 +00:00
|
|
|
(label) sin16s_gen::@return
|
|
|
|
(word) sin16s_gen::i
|
2019-08-25 20:21:56 +00:00
|
|
|
(word) sin16s_gen::i#1 i zp ZP_WORD:21 22.0
|
|
|
|
(word) sin16s_gen::i#2 i zp ZP_WORD:21 3.666666666666667
|
2019-06-10 14:39:25 +00:00
|
|
|
(signed word*) sin16s_gen::sintab
|
2019-08-25 20:21:56 +00:00
|
|
|
(signed word*) sin16s_gen::sintab#0 sintab zp ZP_WORD:14 7.333333333333333
|
|
|
|
(signed word*) sin16s_gen::sintab#2 sintab zp ZP_WORD:14 4.714285714285714
|
2019-06-10 14:39:25 +00:00
|
|
|
(dword) sin16s_gen::step
|
2019-07-31 11:47:21 +00:00
|
|
|
(dword) sin16s_gen::step#0 step zp ZP_DWORD:26 1.1818181818181819
|
2019-06-10 14:39:25 +00:00
|
|
|
(word) sin16s_gen::wavelength
|
|
|
|
(dword) sin16s_gen::x
|
2019-08-25 20:21:56 +00:00
|
|
|
(dword) sin16s_gen::x#1 x zp ZP_DWORD:2 11.0
|
|
|
|
(dword) sin16s_gen::x#2 x zp ZP_DWORD:2 4.125
|
2019-06-10 14:39:25 +00:00
|
|
|
(signed byte()) sin8s((word) sin8s::x)
|
2019-07-31 11:47:21 +00:00
|
|
|
(word~) sin8s::$4 $4 zp ZP_WORD:21 4.0
|
2019-06-10 14:39:25 +00:00
|
|
|
(label) sin8s::@1
|
|
|
|
(label) sin8s::@10
|
|
|
|
(label) sin8s::@11
|
|
|
|
(label) sin8s::@12
|
|
|
|
(label) sin8s::@13
|
|
|
|
(label) sin8s::@14
|
|
|
|
(label) sin8s::@2
|
|
|
|
(label) sin8s::@3
|
|
|
|
(label) sin8s::@4
|
|
|
|
(label) sin8s::@5
|
|
|
|
(label) sin8s::@6
|
|
|
|
(label) sin8s::@7
|
|
|
|
(label) sin8s::@8
|
|
|
|
(label) sin8s::@9
|
|
|
|
(label) sin8s::@return
|
2019-09-29 18:57:23 +00:00
|
|
|
(const byte) sin8s::DIV_6 DIV_6 = (byte) $2b
|
2019-06-10 14:39:25 +00:00
|
|
|
(byte) sin8s::isUpper
|
2019-07-31 11:47:21 +00:00
|
|
|
(byte) sin8s::isUpper#10 isUpper zp ZP_BYTE:23 0.05555555555555555
|
2019-06-10 14:39:25 +00:00
|
|
|
(signed byte) sin8s::return
|
|
|
|
(signed byte) sin8s::return#0 reg byte a 22.0
|
|
|
|
(signed byte) sin8s::return#1 reg byte a 5.0
|
|
|
|
(signed byte~) sin8s::return#5 reg byte a 4.0
|
|
|
|
(signed byte) sin8s::sinx
|
|
|
|
(signed byte) sin8s::sinx#1 reg byte a 4.0
|
|
|
|
(byte) sin8s::usinx
|
2019-07-31 11:47:21 +00:00
|
|
|
(byte) sin8s::usinx#0 usinx zp ZP_BYTE:36 0.3333333333333333
|
2019-06-10 14:39:25 +00:00
|
|
|
(byte) sin8s::usinx#1 reg byte x 4.0
|
|
|
|
(byte) sin8s::usinx#2 reg byte x 4.0
|
|
|
|
(byte) sin8s::usinx#4 reg byte x 2.0
|
|
|
|
(word) sin8s::x
|
2019-07-31 11:47:21 +00:00
|
|
|
(word) sin8s::x#0 x zp ZP_WORD:21 8.5
|
|
|
|
(word) sin8s::x#1 x zp ZP_WORD:21 4.0
|
|
|
|
(word) sin8s::x#2 x zp ZP_WORD:21 4.0
|
|
|
|
(word) sin8s::x#4 x zp ZP_WORD:21 5.0
|
|
|
|
(word) sin8s::x#6 x zp ZP_WORD:21 6.0
|
2019-06-10 14:39:25 +00:00
|
|
|
(byte) sin8s::x1
|
2019-07-31 11:47:21 +00:00
|
|
|
(byte) sin8s::x1#0 x1 zp ZP_BYTE:34 0.6363636363636365
|
2019-06-10 14:39:25 +00:00
|
|
|
(byte) sin8s::x2
|
|
|
|
(byte) sin8s::x2#0 reg byte a 4.0
|
|
|
|
(byte) sin8s::x3
|
2019-07-31 11:47:21 +00:00
|
|
|
(byte) sin8s::x3#0 x3 zp ZP_BYTE:35 1.0
|
2019-06-10 14:39:25 +00:00
|
|
|
(byte) sin8s::x3_6
|
|
|
|
(byte) sin8s::x3_6#0 reg byte a 4.0
|
|
|
|
(byte) sin8s::x4
|
|
|
|
(byte) sin8s::x4#0 reg byte a 4.0
|
|
|
|
(byte) sin8s::x5
|
|
|
|
(byte) sin8s::x5#0 reg byte a 4.0
|
|
|
|
(byte) sin8s::x5_128
|
|
|
|
(byte) sin8s::x5_128#0 reg byte a 4.0
|
|
|
|
(void()) sin8s_gen((signed byte*) sin8s_gen::sintab , (word) sin8s_gen::wavelength)
|
2019-08-07 09:27:55 +00:00
|
|
|
(signed byte~) sin8s_gen::$2 reg byte a 22.0
|
2019-06-10 14:39:25 +00:00
|
|
|
(label) sin8s_gen::@1
|
|
|
|
(label) sin8s_gen::@2
|
|
|
|
(label) sin8s_gen::@3
|
2019-08-07 09:27:55 +00:00
|
|
|
(label) sin8s_gen::@4
|
2019-06-10 14:39:25 +00:00
|
|
|
(label) sin8s_gen::@return
|
|
|
|
(word) sin8s_gen::i
|
2019-08-25 20:21:56 +00:00
|
|
|
(word) sin8s_gen::i#1 i zp ZP_WORD:18 22.0
|
|
|
|
(word) sin8s_gen::i#2 i zp ZP_WORD:18 3.666666666666667
|
2019-06-10 14:39:25 +00:00
|
|
|
(signed byte*) sin8s_gen::sintab
|
2019-08-25 20:21:56 +00:00
|
|
|
(signed byte*) sin8s_gen::sintab#0 sintab zp ZP_WORD:24 7.333333333333333
|
|
|
|
(signed byte*) sin8s_gen::sintab#2 sintab zp ZP_WORD:24 4.714285714285714
|
2019-06-10 14:39:25 +00:00
|
|
|
(word) sin8s_gen::step
|
2019-07-31 11:47:21 +00:00
|
|
|
(word) sin8s_gen::step#0 step zp ZP_WORD:16 1.1818181818181819
|
2019-06-10 14:39:25 +00:00
|
|
|
(word) sin8s_gen::wavelength
|
|
|
|
(word) sin8s_gen::x
|
2019-08-25 20:21:56 +00:00
|
|
|
(word) sin8s_gen::x#1 x zp ZP_WORD:30 11.0
|
|
|
|
(word) sin8s_gen::x#2 x zp ZP_WORD:30 4.125
|
2019-06-10 14:39:25 +00:00
|
|
|
|
|
|
|
reg byte x [ main::i#2 main::i#1 ]
|
|
|
|
reg byte a [ print_char::ch#4 print_char::ch#2 print_char::ch#3 ]
|
2019-08-25 20:21:56 +00:00
|
|
|
zp ZP_DWORD:2 [ sin16s_gen::x#2 sin16s_gen::x#1 ]
|
2019-06-10 14:39:25 +00:00
|
|
|
reg byte x [ mulu16_sel::select#5 ]
|
2019-07-31 11:47:21 +00:00
|
|
|
zp ZP_DWORD:6 [ mul16u::res#2 mul16u::res#6 mul16u::res#1 mul16u::return#2 mulu16_sel::$0 mulu16_sel::$1 sin16s::x#6 sin16s::x#4 sin16s::x#0 sin16s::x#1 sin16s::x#2 sin16s::$4 ]
|
|
|
|
zp ZP_DWORD:10 [ mul16u::mb#2 mul16u::mb#1 ]
|
2019-08-25 20:21:56 +00:00
|
|
|
zp ZP_WORD:14 [ divr16u::rem#6 divr16u::rem#11 divr16u::rem#5 divr16u::rem#10 divr16u::rem#7 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 rem16u#1 sin16s_gen::sintab#2 sin16s_gen::sintab#0 memset::dst#2 memset::dst#1 print_str::str#2 print_str::str#0 ]
|
2019-07-31 11:47:21 +00:00
|
|
|
zp ZP_WORD:16 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#3 divr16u::return#4 divr16u::return#2 div32u16u::quotient_lo#0 div16u::return#2 sin8s_gen::step#0 div16u::return#0 mulu16_sel::v1#5 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 sin16s::x3#0 sin16s::x2#0 sin16s::x4#0 mulu16_sel::return#1 mulu16_sel::return#10 ]
|
2019-06-10 14:39:25 +00:00
|
|
|
reg byte x [ divr16u::i#2 divr16u::i#1 ]
|
2019-08-25 20:21:56 +00:00
|
|
|
zp ZP_WORD:18 [ sin8s_gen::i#2 sin8s_gen::i#1 mulu16_sel::v2#5 mulu16_sel::v2#3 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 mul16u::b#0 ]
|
2019-06-10 14:39:25 +00:00
|
|
|
reg byte x [ sin8s::usinx#4 sin8s::usinx#1 sin8s::usinx#2 ]
|
|
|
|
reg byte a [ sin8s::return#1 sin8s::return#5 sin8s::sinx#1 ]
|
|
|
|
reg byte x [ mulu8_sel::v1#5 mulu8_sel::v1#1 mulu8_sel::v1#2 mulu8_sel::v1#3 mulu8_sel::v1#4 mulu8_sel::v1#0 ]
|
|
|
|
reg byte y [ mulu8_sel::v2#5 mulu8_sel::v2#1 mulu8_sel::v2#3 mulu8_sel::v2#4 mulu8_sel::v2#0 ]
|
2019-07-31 11:47:21 +00:00
|
|
|
zp ZP_BYTE:20 [ mulu8_sel::select#5 sin16s::isUpper#2 print_sbyte::b#4 print_sbyte::b#0 print_sbyte::b#1 print_byte::b#0 ]
|
2019-06-10 14:39:25 +00:00
|
|
|
reg byte x [ mul8u::a#2 mul8u::a#1 mul8u::a#0 ]
|
2019-08-25 20:21:56 +00:00
|
|
|
zp ZP_WORD:21 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 mul8u::return#2 mulu8_sel::$0 mulu8_sel::$1 sin8s::x#6 sin8s::x#4 sin8s::x#0 sin8s::x#1 sin8s::x#2 sin8s::$4 sin16s_gen::i#2 sin16s_gen::i#1 print_char_cursor#28 print_char_cursor#42 print_char_cursor#19 print_char_cursor#10 print_char_cursor#1 ]
|
2019-06-10 14:39:25 +00:00
|
|
|
reg byte a [ mul8u::b#0 ]
|
2019-07-31 11:47:21 +00:00
|
|
|
zp ZP_BYTE:23 [ main::sb#0 sin8s::isUpper#10 ]
|
2019-08-25 20:21:56 +00:00
|
|
|
zp ZP_WORD:24 [ main::$3 main::$11 main::$4 sin8s_gen::sintab#2 sin8s_gen::sintab#0 divr16u::dividend#4 divr16u::dividend#6 divr16u::dividend#0 sin16s::return#1 sin16s::return#5 sin16s::sinx#1 sin16s::usinx#1 sin16s::return#0 sin16s_gen::$2 sin16s::usinx#0 ]
|
2019-06-24 21:22:20 +00:00
|
|
|
reg byte a [ main::$6 ]
|
2019-06-10 14:39:25 +00:00
|
|
|
reg byte a [ main::sd#0 ]
|
|
|
|
reg byte a [ print_byte::$0 ]
|
|
|
|
reg byte a [ print_byte::$2 ]
|
2019-07-31 11:47:21 +00:00
|
|
|
zp ZP_DWORD:26 [ div32u16u::return#2 sin16s_gen::step#0 div32u16u::return#0 ]
|
2019-08-25 20:21:56 +00:00
|
|
|
zp ZP_WORD:30 [ mulu16_sel::return#0 mulu16_sel::return#12 mulu16_sel::return#2 sin16s::x3_6#0 mulu16_sel::return#11 sin16s::x5#0 sin16s::x5_128#0 sin8s_gen::x#2 sin8s_gen::x#1 mul16u::a#2 mul16u::a#1 mul16u::a#0 ]
|
2019-06-10 14:39:25 +00:00
|
|
|
reg byte a [ mul16u::$1 ]
|
2019-07-31 11:47:21 +00:00
|
|
|
zp ZP_WORD:32 [ div32u16u::quotient_hi#0 sin16s::x1#0 main::sw#0 mul8u::mb#2 mul8u::mb#1 ]
|
2019-06-10 14:39:25 +00:00
|
|
|
reg byte a [ divr16u::$1 ]
|
|
|
|
reg byte a [ divr16u::$2 ]
|
|
|
|
reg byte a [ sin8s::return#0 ]
|
2019-08-07 09:27:55 +00:00
|
|
|
reg byte a [ sin8s_gen::$2 ]
|
2019-07-31 11:47:21 +00:00
|
|
|
zp ZP_BYTE:34 [ sin8s::x1#0 ]
|
2019-06-10 14:39:25 +00:00
|
|
|
reg byte a [ mulu8_sel::return#0 ]
|
|
|
|
reg byte a [ sin8s::x2#0 ]
|
|
|
|
reg byte a [ mulu8_sel::return#1 ]
|
2019-07-31 11:47:21 +00:00
|
|
|
zp ZP_BYTE:35 [ sin8s::x3#0 ]
|
2019-06-10 14:39:25 +00:00
|
|
|
reg byte a [ mulu8_sel::return#2 ]
|
|
|
|
reg byte a [ sin8s::x3_6#0 ]
|
2019-07-31 11:47:21 +00:00
|
|
|
zp ZP_BYTE:36 [ sin8s::usinx#0 ]
|
2019-06-10 14:39:25 +00:00
|
|
|
reg byte a [ mulu8_sel::return#10 ]
|
|
|
|
reg byte a [ sin8s::x4#0 ]
|
|
|
|
reg byte a [ mulu8_sel::return#11 ]
|
|
|
|
reg byte a [ sin8s::x5#0 ]
|
|
|
|
reg byte a [ sin8s::x5_128#0 ]
|
|
|
|
reg byte a [ mulu8_sel::return#12 ]
|
|
|
|
reg byte a [ mul8u::$1 ]
|