1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2025-08-07 22:25:13 +00:00
Files
kickc/src/test/ref/examples/sinplotter/sine-plotter.sym
2019-04-15 09:54:48 +02:00

510 lines
21 KiB
Plaintext

(label) @1
(label) @2
(label) @begin
(label) @end
(byte*) BGCOL
(const byte*) BGCOL#0 BGCOL = ((byte*))(word/dword/signed dword) $d021
(byte*) BGCOL1
(byte*) BGCOL2
(byte*) BGCOL3
(byte*) BGCOL4
(byte*) BITMAP
(const byte*) BITMAP#0 BITMAP = ((byte*))(word/signed word/dword/signed dword) $2000
(byte) BLACK
(byte) BLUE
(byte*) BORDERCOL
(byte) BROWN
(byte*) CHARGEN
(byte*) CIA1_INTERRUPT
(byte*) CIA1_PORT_A
(byte*) CIA1_PORT_A_DDR
(byte*) CIA1_PORT_B
(byte*) CIA1_PORT_B_DDR
(byte*) CIA2_INTERRUPT
(byte*) CIA2_PORT_A
(const byte*) CIA2_PORT_A#0 CIA2_PORT_A = ((byte*))(word/dword/signed dword) $dd00
(byte*) CIA2_PORT_A_DDR
(const byte*) CIA2_PORT_A_DDR#0 CIA2_PORT_A_DDR = ((byte*))(word/dword/signed dword) $dd02
(byte*) CIA2_PORT_B
(byte*) CIA2_PORT_B_DDR
(byte) CIA_INTERRUPT_CLEAR
(byte*) COLS
(byte) CYAN
(byte*) D011
(const byte*) D011#0 D011 = ((byte*))(word/dword/signed dword) $d011
(byte*) D016
(const byte*) D016#0 D016 = ((byte*))(word/dword/signed dword) $d016
(byte*) D018
(const byte*) D018#0 D018 = ((byte*))(word/dword/signed dword) $d018
(byte) DARK_GREY
(byte) GREEN
(byte) GREY
(void()**) HARDWARE_IRQ
(byte) IRQ_COLLISION_BG
(byte) IRQ_COLLISION_SPRITE
(byte*) IRQ_ENABLE
(byte) IRQ_LIGHTPEN
(byte) IRQ_RASTER
(byte*) IRQ_STATUS
(void()**) KERNEL_IRQ
(byte*) LIGHTPEN_X
(byte*) LIGHTPEN_Y
(byte) LIGHT_BLUE
(byte) LIGHT_GREEN
(byte) LIGHT_GREY
(byte) ORANGE
(word) PI2_u4f12
(dword) PI2_u4f28
(const dword) PI2_u4f28#0 PI2_u4f28 = (dword/signed dword) $6487ed51
(byte) PINK
(word) PI_HALF_u4f12
(dword) PI_HALF_u4f28
(const dword) PI_HALF_u4f28#0 PI_HALF_u4f28 = (dword/signed dword) $1921fb54
(word) PI_u4f12
(dword) PI_u4f28
(const dword) PI_u4f28#0 PI_u4f28 = (dword/signed dword) $3243f6a9
(byte*) PROCPORT
(const byte*) PROCPORT#0 PROCPORT = ((byte*))(byte/signed byte/word/signed word/dword/signed dword) 1
(byte) PROCPORT_BASIC_KERNEL_IO
(byte*) PROCPORT_DDR
(const byte*) PROCPORT_DDR#0 PROCPORT_DDR = ((byte*))(byte/signed byte/word/signed word/dword/signed dword) 0
(byte) PROCPORT_DDR_MEMORY_MASK
(const byte) PROCPORT_DDR_MEMORY_MASK#0 PROCPORT_DDR_MEMORY_MASK = (byte/signed byte/word/signed word/dword/signed dword) 7
(byte) PROCPORT_KERNEL_IO
(byte) PROCPORT_RAM_ALL
(byte) PROCPORT_RAM_CHARROM
(byte) PROCPORT_RAM_IO
(const byte) PROCPORT_RAM_IO#0 PROCPORT_RAM_IO = (byte/signed byte/word/signed word/dword/signed dword) $35
(byte) PURPLE
(byte*) RASTER
(byte) RED
(byte*) SCREEN
(const byte*) SCREEN#0 SCREEN = ((byte*))(word/signed word/dword/signed dword) $400
(word) SIN_SIZE
(const word) SIN_SIZE#0 SIN_SIZE = (word/signed word/dword/signed dword) $200
(byte*) SPRITES_COLS
(byte*) SPRITES_ENABLE
(byte*) SPRITES_EXPAND_X
(byte*) SPRITES_EXPAND_Y
(byte*) SPRITES_MC
(byte*) SPRITES_MC1
(byte*) SPRITES_MC2
(byte*) SPRITES_PRIORITY
(byte*) SPRITES_XMSB
(byte*) SPRITES_XPOS
(byte*) SPRITES_YPOS
(word) SPRITE_PTRS
(byte) VIC_BMM
(const byte) VIC_BMM#0 VIC_BMM = (byte/signed byte/word/signed word/dword/signed dword) $20
(byte*) VIC_CONTROL
(byte*) VIC_CONTROL2
(byte) VIC_CSEL
(const byte) VIC_CSEL#0 VIC_CSEL = (byte/signed byte/word/signed word/dword/signed dword) 8
(byte) VIC_DEN
(const byte) VIC_DEN#0 VIC_DEN = (byte/signed byte/word/signed word/dword/signed dword) $10
(byte) VIC_ECM
(byte) VIC_MCM
(byte*) VIC_MEMORY
(byte) VIC_RSEL
(const byte) VIC_RSEL#0 VIC_RSEL = (byte/signed byte/word/signed word/dword/signed dword) 8
(byte) VIC_RST8
(byte) WHITE
(const byte) WHITE#0 WHITE = (byte/signed byte/word/signed word/dword/signed dword) 1
(byte) YELLOW
(void()) bitmap_clear()
(word~) bitmap_clear::$3 $3 zp ZP_WORD:2 2.0
(label) bitmap_clear::@1
(label) bitmap_clear::@2
(label) bitmap_clear::@3
(label) bitmap_clear::@return
(byte*) bitmap_clear::bitmap
(byte*) bitmap_clear::bitmap#1 bitmap zp ZP_WORD:2 42.599999999999994
(byte*) bitmap_clear::bitmap#2 bitmap zp ZP_WORD:2 157.0
(byte*) bitmap_clear::bitmap#3 bitmap zp ZP_WORD:2 24.0
(byte*~) bitmap_clear::bitmap#5 bitmap zp ZP_WORD:2 4.0
(byte) bitmap_clear::x
(byte) bitmap_clear::x#1 reg byte x 151.5
(byte) bitmap_clear::x#2 reg byte x 67.33333333333333
(byte) bitmap_clear::y
(byte) bitmap_clear::y#1 y zp ZP_BYTE:22 16.5
(byte) bitmap_clear::y#4 y zp ZP_BYTE:22 3.6666666666666665
(void()) bitmap_init((byte*) bitmap_init::bitmap)
(byte~) bitmap_init::$3 $3 zp ZP_BYTE:22 11.0
(byte~) bitmap_init::$4 reg byte a 22.0
(byte~) bitmap_init::$5 reg byte a 22.0
(byte~) bitmap_init::$6 reg byte a 22.0
(byte~) bitmap_init::$7 reg byte a 22.0
(label) bitmap_init::@1
(label) bitmap_init::@2
(label) bitmap_init::@3
(label) bitmap_init::@4
(label) bitmap_init::@5
(label) bitmap_init::@6
(label) bitmap_init::@return
(byte*) bitmap_init::bitmap
(byte) bitmap_init::bits
(byte) bitmap_init::bits#1 reg byte a 11.0
(byte) bitmap_init::bits#3 reg byte a 16.5
(byte) bitmap_init::bits#4 reg byte a 7.333333333333333
(byte) bitmap_init::x
(byte) bitmap_init::x#1 reg byte x 16.5
(byte) bitmap_init::x#2 reg byte x 5.5
(byte) bitmap_init::y
(byte) bitmap_init::y#1 reg byte x 16.5
(byte) bitmap_init::y#2 reg byte x 6.0
(byte*) bitmap_init::yoffs
(byte*) bitmap_init::yoffs#1 yoffs zp ZP_WORD:2 22.0
(byte*) bitmap_init::yoffs#2 yoffs zp ZP_WORD:2 6.111111111111112
(byte*) bitmap_init::yoffs#4 yoffs zp ZP_WORD:2 11.0
(void()) bitmap_plot((word) bitmap_plot::x , (byte) bitmap_plot::y)
(word~) bitmap_plot::$1 $1 zp ZP_WORD:16 4.0
(byte~) bitmap_plot::$2 reg byte a 4.0
(word~) bitmap_plot::$3 $3 zp ZP_WORD:6 1.0
(label) bitmap_plot::@return
(byte*) bitmap_plot::plotter
(byte*) bitmap_plot::plotter#1 plotter zp ZP_WORD:6 3.0
(word) bitmap_plot::x
(word) bitmap_plot::x#0 x zp ZP_WORD:4 11.0
(word) bitmap_plot::x#1 x zp ZP_WORD:4 11.0
(word) bitmap_plot::x#2 x zp ZP_WORD:4 6.5
(byte) bitmap_plot::y
(byte) bitmap_plot::y#0 reg byte x 22.0
(byte) bitmap_plot::y#1 reg byte x 22.0
(byte) bitmap_plot::y#2 reg byte x 26.0
(byte[$100]) bitmap_plot_bit
(const byte[$100]) bitmap_plot_bit#0 bitmap_plot_bit = { fill( $100, 0) }
(byte[$100]) bitmap_plot_yhi
(const byte[$100]) bitmap_plot_yhi#0 bitmap_plot_yhi = { fill( $100, 0) }
(byte[$100]) bitmap_plot_ylo
(const byte[$100]) bitmap_plot_ylo#0 bitmap_plot_ylo = { fill( $100, 0) }
(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
(word) div32u16u::quotient_hi#0 quotient_hi zp ZP_WORD:16 0.8
(word) div32u16u::quotient_lo
(word) div32u16u::quotient_lo#0 quotient_lo zp ZP_WORD:6 4.0
(dword) div32u16u::return
(dword) div32u16u::return#0 return zp ZP_DWORD:27 1.3333333333333333
(dword) div32u16u::return#2 return zp ZP_DWORD:27 4.0
(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
(word) divr16u::dividend#0 dividend zp ZP_WORD:4 2.75
(word) divr16u::dividend#3 dividend zp ZP_WORD:4 5.0
(word) divr16u::dividend#5 dividend zp ZP_WORD:4 2.0
(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
(word) divr16u::quotient#1 quotient zp ZP_WORD:6 16.5
(word) divr16u::quotient#2 quotient zp ZP_WORD:6 11.0
(word) divr16u::quotient#3 quotient zp ZP_WORD:6 2.75
(word) divr16u::rem
(word) divr16u::rem#0 rem zp ZP_WORD:2 8.25
(word) divr16u::rem#1 rem zp ZP_WORD:2 22.0
(word) divr16u::rem#10 rem zp ZP_WORD:2 4.0
(word) divr16u::rem#11 rem zp ZP_WORD:2 11.666666666666666
(word) divr16u::rem#2 rem zp ZP_WORD:2 22.0
(word) divr16u::rem#4 rem zp ZP_WORD:2 4.0
(word) divr16u::rem#5 rem zp ZP_WORD:2 24.0
(word) divr16u::rem#6 rem zp ZP_WORD:2 11.0
(word) divr16u::return
(word) divr16u::return#0 return zp ZP_WORD:6 5.285714285714286
(word) divr16u::return#2 return zp ZP_WORD:6 4.0
(word) divr16u::return#3 return zp ZP_WORD:6 4.0
(void()) fill((byte*) fill::start , (word) fill::size , (byte) fill::val)
(label) fill::@1
(label) fill::@return
(byte*) fill::addr
(byte*) fill::addr#1 addr zp ZP_WORD:2 16.5
(byte*) fill::addr#2 addr zp ZP_WORD:2 16.5
(byte*) fill::end
(const byte*) fill::end#0 end = (const byte*) SCREEN#0+(const word) fill::size#0
(word) fill::size
(const word) fill::size#0 size = (word/signed word/dword/signed dword) $3e8
(byte*) fill::start
(byte) fill::val
(void()) main()
(label) main::@1
(label) main::@2
(label) main::@3
(label) main::@4
(label) main::@5
(label) main::@6
(label) main::@7
(label) main::toD0181
(word~) main::toD0181_$0
(word~) main::toD0181_$1
(word/signed dword/dword~) main::toD0181_$2
(byte/word~) main::toD0181_$3
(word~) main::toD0181_$4
(byte~) main::toD0181_$5
(byte/signed word/word/dword/signed dword~) main::toD0181_$6
(byte/word/dword~) main::toD0181_$7
(byte/word/dword~) main::toD0181_$8
(byte*) main::toD0181_gfx
(byte) main::toD0181_return
(const byte) main::toD0181_return#0 toD0181_return = >((word))(const byte*) SCREEN#0&(word/signed word/dword/signed dword) $3fff*(byte/signed byte/word/signed word/dword/signed dword) 4|>((word))(const byte*) BITMAP#0/(byte/signed byte/word/signed word/dword/signed dword) 4&(byte/signed byte/word/signed word/dword/signed dword) $f
(byte*) main::toD0181_screen
(label) main::vicSelectGfxBank1
(byte~) main::vicSelectGfxBank1_$0
(label) main::vicSelectGfxBank1_@1
(byte*) main::vicSelectGfxBank1_gfx
(label) main::vicSelectGfxBank1_toDd001
(word~) main::vicSelectGfxBank1_toDd001_$0
(byte~) main::vicSelectGfxBank1_toDd001_$1
(byte/signed word/word/dword/signed dword~) main::vicSelectGfxBank1_toDd001_$2
(byte/word/dword~) main::vicSelectGfxBank1_toDd001_$3
(byte*) main::vicSelectGfxBank1_toDd001_gfx
(byte) main::vicSelectGfxBank1_toDd001_return
(const byte) main::vicSelectGfxBank1_toDd001_return#0 vicSelectGfxBank1_toDd001_return = (byte/signed byte/word/signed word/dword/signed dword) 3^>((word))(const byte*) SCREEN#0/(byte/signed byte/word/signed word/dword/signed dword) $40
(signed dword()) mul16s((signed word) mul16s::a , (signed word) mul16s::b)
(word~) mul16s::$16 $16 zp ZP_WORD:6 4.0
(word~) mul16s::$9 $9 zp ZP_WORD:6 4.0
(label) mul16s::@1
(label) mul16s::@2
(label) mul16s::@3
(label) mul16s::@4
(label) mul16s::@return
(signed word) mul16s::a
(signed word) mul16s::a#0 a zp ZP_WORD:23 2.6
(signed word) mul16s::b
(dword) mul16s::m
(dword) mul16s::m#0 m zp ZP_DWORD:12 2.0
(dword) mul16s::m#1 m zp ZP_DWORD:12 4.0
(dword) mul16s::m#4 m zp ZP_DWORD:12 6.0
(signed dword) mul16s::return
(signed dword) mul16s::return#0 return zp ZP_DWORD:12 4.333333333333333
(signed dword) mul16s::return#2 return zp ZP_DWORD:12 22.0
(dword()) mul16u((word) mul16u::a , (word) mul16u::b)
(byte/word~) 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
(word) mul16u::a#0 a zp ZP_WORD:16 101.0
(word) mul16u::a#2 a zp ZP_WORD:16 2.0
(word) mul16u::a#3 a zp ZP_WORD:16 67.66666666666666
(word) mul16u::a#6 a zp ZP_WORD:16 3.0
(word~) mul16u::a#8 a zp ZP_WORD:16 4.0
(word) mul16u::b
(word) mul16u::b#1 b zp ZP_WORD:6 4.0
(word) mul16u::b#2 b zp ZP_WORD:6 4.0
(dword) mul16u::mb
(dword) mul16u::mb#0 mb zp ZP_DWORD:18 4.0
(dword) mul16u::mb#1 mb zp ZP_DWORD:18 202.0
(dword) mul16u::mb#2 mb zp ZP_DWORD:18 43.57142857142858
(dword) mul16u::res
(dword) mul16u::res#1 res zp ZP_DWORD:12 202.0
(dword) mul16u::res#2 res zp ZP_DWORD:12 43.85714285714286
(dword) mul16u::res#6 res zp ZP_DWORD:12 101.0
(dword) mul16u::return
(dword) mul16u::return#2 return zp ZP_DWORD:12 4.0
(dword) mul16u::return#3 return zp ZP_DWORD:12 4.0
(word()) mulu16_sel((word) mulu16_sel::v1 , (word) mulu16_sel::v2 , (byte) mulu16_sel::select)
(dword~) mulu16_sel::$0 $0 zp ZP_DWORD:12 4.0
(dword~) mulu16_sel::$1 $1 zp ZP_DWORD:12 4.0
(label) mulu16_sel::@1
(label) mulu16_sel::@return
(word) mulu16_sel::return
(word) mulu16_sel::return#0 return zp ZP_WORD:6 4.0
(word) mulu16_sel::return#1 return#1 zp ZP_WORD:25 4.0
(word) mulu16_sel::return#10 return#10 zp ZP_WORD:25 4.0
(word) mulu16_sel::return#11 return zp ZP_WORD:6 4.0
(word) mulu16_sel::return#12 return zp ZP_WORD:6 1.714285714285714
(word) mulu16_sel::return#2 return zp ZP_WORD:6 4.0
(byte) mulu16_sel::select
(byte) mulu16_sel::select#5 reg byte x 0.3333333333333333
(word) mulu16_sel::v1
(word) mulu16_sel::v1#0 v1 zp ZP_WORD:25 2.0
(word) mulu16_sel::v1#1 v1 zp ZP_WORD:25 2.0
(word) mulu16_sel::v1#2 v1 zp ZP_WORD:25 4.0
(word) mulu16_sel::v1#3 v1 zp ZP_WORD:25 2.0
(word) mulu16_sel::v1#4 v1 zp ZP_WORD:25 2.0
(word) mulu16_sel::v1#5 v1 zp ZP_WORD:25 12.0
(word) mulu16_sel::v2
(word) mulu16_sel::v2#0 v2 zp ZP_WORD:6 4.0
(word) mulu16_sel::v2#1 v2 zp ZP_WORD:6 4.0
(word) mulu16_sel::v2#3 v2 zp ZP_WORD:6 4.0
(word) mulu16_sel::v2#4 v2 zp ZP_WORD:6 4.0
(word) mulu16_sel::v2#5 v2 zp ZP_WORD:6 5.0
(signed word) rem16s
(word) rem16u
(word) rem16u#1 rem16u zp ZP_WORD:2 0.8
(signed byte) rem8s
(byte) rem8u
(void()) render_sine()
(word~) render_sine::$0 $0 zp ZP_WORD:6 22.0
(signed word*~) render_sine::$1 $1 zp ZP_WORD:6 22.0
(word~) render_sine::$4 $4 zp ZP_WORD:6 22.0
(signed word*~) render_sine::$5 $5 zp ZP_WORD:6 22.0
(label) render_sine::@1
(label) render_sine::@2
(label) render_sine::@3
(label) render_sine::@4
(label) render_sine::@5
(label) render_sine::@6
(label) render_sine::@7
(label) render_sine::@return
(signed word) render_sine::sin2_val
(signed word) render_sine::sin2_val#0 sin2_val zp ZP_WORD:6 22.0
(word) render_sine::sin_idx
(word) render_sine::sin_idx#1 sin_idx zp ZP_WORD:2 16.5
(word) render_sine::sin_idx#2 sin_idx zp ZP_WORD:2 1.76
(signed word) render_sine::sin_val
(signed word) render_sine::sin_val#0 sin_val zp ZP_WORD:6 22.0
(word) render_sine::xpos
(word) render_sine::xpos#1 xpos zp ZP_WORD:4 11.0
(word) render_sine::xpos#3 xpos zp ZP_WORD:4 2.0952380952380953
(word) render_sine::xpos#8 xpos zp ZP_WORD:4 7.333333333333333
(byte) render_sine::ypos
(byte) render_sine::ypos#0 reg byte x 11.0
(byte) render_sine::ypos2
(byte) render_sine::ypos2#0 reg byte x 11.0
(signed word[$200]) sin
(const signed word[$200]) sin#0 sin = { fill( $200, 0) }
(signed word()) sin16s((dword) sin16s::x)
(dword~) sin16s::$4 $4 zp ZP_DWORD:12 4.0
(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
(byte) sin16s::isUpper#2 isUpper zp ZP_BYTE:22 0.06060606060606061
(signed word) sin16s::return
(signed word) sin16s::return#0 return zp ZP_WORD:23 22.0
(signed word) sin16s::return#1 return zp ZP_WORD:23 5.0
(signed word~) sin16s::return#5 return zp ZP_WORD:23 4.0
(signed word) sin16s::sinx
(signed word) sin16s::sinx#1 sinx zp ZP_WORD:23 4.0
(word) sin16s::usinx
(word) sin16s::usinx#0 usinx zp ZP_WORD:23 0.3333333333333333
(word) sin16s::usinx#1 usinx zp ZP_WORD:23 1.0
(dword) sin16s::x
(dword) sin16s::x#0 x zp ZP_DWORD:12 8.5
(dword) sin16s::x#1 x zp ZP_DWORD:12 4.0
(dword) sin16s::x#2 x zp ZP_DWORD:12 4.0
(dword) sin16s::x#4 x zp ZP_DWORD:12 5.0
(dword) sin16s::x#6 x zp ZP_DWORD:12 6.0
(word) sin16s::x1
(word) sin16s::x1#0 x1 zp ZP_WORD:31 0.6363636363636365
(word) sin16s::x2
(word) sin16s::x2#0 x2 zp ZP_WORD:25 4.0
(word) sin16s::x3
(word) sin16s::x3#0 x3 zp ZP_WORD:25 1.0
(word) sin16s::x3_6
(word) sin16s::x3_6#0 x3_6 zp ZP_WORD:6 4.0
(word) sin16s::x4
(word) sin16s::x4#0 x4 zp ZP_WORD:25 4.0
(word) sin16s::x5
(word) sin16s::x5#0 x5 zp ZP_WORD:6 4.0
(word) sin16s::x5_128
(word) sin16s::x5_128#0 x5_128 zp ZP_WORD:6 4.0
(void()) sin16s_gen2((signed word*) sin16s_gen2::sintab , (word) sin16s_gen2::wavelength , (signed word) sin16s_gen2::min , (signed word) sin16s_gen2::max)
(signed dword~) sin16s_gen2::$5 $5 zp ZP_DWORD:12 22.0
(word~) sin16s_gen2::$6 $6 zp ZP_WORD:6 11.0
(signed word~) sin16s_gen2::$8 $8 zp ZP_WORD:6 22.0
(label) sin16s_gen2::@1
(label) sin16s_gen2::@2
(label) sin16s_gen2::@3
(label) sin16s_gen2::@4
(label) sin16s_gen2::@return
(signed word) sin16s_gen2::ampl
(const signed word) sin16s_gen2::ampl#0 ampl = (const signed word) sin16s_gen2::max#0-(const signed word) sin16s_gen2::min#0
(word) sin16s_gen2::i
(word) sin16s_gen2::i#1 i zp ZP_WORD:4 16.5
(word) sin16s_gen2::i#2 i zp ZP_WORD:4 1.6923076923076923
(signed word) sin16s_gen2::max
(const signed word) sin16s_gen2::max#0 max = (word/signed word/dword/signed dword) $140
(signed word) sin16s_gen2::min
(const signed word) sin16s_gen2::min#0 min = -(word/signed word/dword/signed dword) $140
(signed word) sin16s_gen2::offs
(signed word*) sin16s_gen2::sintab
(signed word*) sin16s_gen2::sintab#0 sintab zp ZP_WORD:2 5.5
(signed word*) sin16s_gen2::sintab#2 sintab zp ZP_WORD:2 3.0
(dword) sin16s_gen2::step
(dword) sin16s_gen2::step#0 step zp ZP_DWORD:27 0.8125
(word) sin16s_gen2::wavelength
(dword) sin16s_gen2::x
(dword) sin16s_gen2::x#1 x zp ZP_DWORD:8 7.333333333333333
(dword) sin16s_gen2::x#2 x zp ZP_DWORD:8 2.75
(signed word*) sin2
(const signed word*) sin2#0 sin2 = ((signed word*))(word/signed word/dword/signed dword) $1400
(byte()) wrap_y((signed word) wrap_y::y)
(label) wrap_y::@1
(label) wrap_y::@2
(label) wrap_y::@3
(label) wrap_y::@4
(label) wrap_y::@5
(label) wrap_y::@return
(byte) wrap_y::return
(byte) wrap_y::return#0 reg byte a 22.0
(byte) wrap_y::return#1 reg byte a 22.0
(byte) wrap_y::return#2 reg byte a 6.0
(signed word) wrap_y::y
(signed word) wrap_y::y#0 y zp ZP_WORD:6 22.0
(signed word) wrap_y::y#1 y zp ZP_WORD:6 22.0
(signed word) wrap_y::y#2 y zp ZP_WORD:6 202.0
(signed word) wrap_y::y#3 y zp ZP_WORD:6 202.0
(signed word) wrap_y::y#4 y zp ZP_WORD:6 203.0
(signed word) wrap_y::y#6 y zp ZP_WORD:6 203.0
(signed word) wrap_y::y#9 y zp ZP_WORD:6 24.0
zp ZP_WORD:2 [ render_sine::sin_idx#2 render_sine::sin_idx#1 sin16s_gen2::sintab#2 sin16s_gen2::sintab#0 divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 rem16u#1 bitmap_clear::bitmap#2 bitmap_clear::bitmap#3 bitmap_clear::bitmap#5 bitmap_clear::bitmap#1 bitmap_clear::$3 bitmap_init::yoffs#2 bitmap_init::yoffs#4 bitmap_init::yoffs#1 fill::addr#2 fill::addr#1 ]
zp ZP_WORD:4 [ render_sine::xpos#3 render_sine::xpos#8 render_sine::xpos#1 bitmap_plot::x#2 bitmap_plot::x#0 bitmap_plot::x#1 sin16s_gen2::i#2 sin16s_gen2::i#1 divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#0 ]
reg byte x [ bitmap_plot::y#2 bitmap_plot::y#0 bitmap_plot::y#1 ]
zp ZP_WORD:6 [ wrap_y::y#6 wrap_y::y#4 wrap_y::y#9 wrap_y::y#0 wrap_y::y#1 wrap_y::y#2 wrap_y::y#3 render_sine::sin_val#0 render_sine::sin2_val#0 render_sine::$0 render_sine::$1 render_sine::$4 render_sine::$5 mul16u::b#2 mul16u::b#1 mulu16_sel::v2#5 mulu16_sel::v2#3 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 divr16u::return#3 div32u16u::quotient_lo#0 bitmap_plot::$3 bitmap_plot::plotter#1 sin16s_gen2::$6 sin16s_gen2::$8 mul16s::$9 mul16s::$16 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 ]
zp ZP_DWORD:8 [ sin16s_gen2::x#2 sin16s_gen2::x#1 ]
zp ZP_DWORD:12 [ mul16s::m#4 mul16s::m#1 mul16s::m#0 mul16u::return#2 mul16s::return#0 mul16u::res#2 mul16u::res#6 mul16u::res#1 mul16u::return#3 mul16s::return#2 sin16s_gen2::$5 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_WORD:16 [ mul16u::a#3 mul16u::a#6 mul16u::a#8 mul16u::a#2 mul16u::a#0 bitmap_plot::$1 div32u16u::quotient_hi#0 ]
zp ZP_DWORD:18 [ mul16u::mb#2 mul16u::mb#0 mul16u::mb#1 ]
zp ZP_BYTE:22 [ sin16s::isUpper#2 bitmap_clear::y#4 bitmap_clear::y#1 bitmap_init::$3 ]
zp ZP_WORD:23 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 sin16s::usinx#1 sin16s::return#0 mul16s::a#0 sin16s::usinx#0 ]
zp ZP_WORD:25 [ 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 ]
reg byte x [ mulu16_sel::select#5 ]
reg byte x [ divr16u::i#2 divr16u::i#1 ]
reg byte x [ bitmap_clear::x#2 bitmap_clear::x#1 ]
reg byte a [ bitmap_init::bits#3 bitmap_init::bits#4 bitmap_init::bits#1 ]
reg byte x [ bitmap_init::x#2 bitmap_init::x#1 ]
reg byte x [ bitmap_init::y#2 bitmap_init::y#1 ]
reg byte a [ wrap_y::return#0 ]
reg byte x [ render_sine::ypos#0 ]
reg byte a [ wrap_y::return#1 ]
reg byte x [ render_sine::ypos2#0 ]
reg byte a [ bitmap_plot::$2 ]
reg byte a [ wrap_y::return#2 ]
zp ZP_DWORD:27 [ div32u16u::return#2 sin16s_gen2::step#0 div32u16u::return#0 ]
reg byte a [ mul16u::$1 ]
zp ZP_WORD:31 [ sin16s::x1#0 ]
reg byte a [ divr16u::$1 ]
reg byte a [ divr16u::$2 ]
reg byte a [ bitmap_init::$4 ]
reg byte a [ bitmap_init::$5 ]
reg byte a [ bitmap_init::$6 ]
reg byte a [ bitmap_init::$7 ]