(label) @1
(label) @begin
(label) @end
(byte*) BGCOL
(const byte*) BGCOL#0 BGCOL = (byte*) 53280
(byte*) CHARGEN
(const byte*) CHARGEN#0 CHARGEN = (byte*) 53248
(byte*) PROCPORT
(const byte*) PROCPORT#0 PROCPORT = (byte*) 1
(byte*) RASTER
(const byte*) RASTER#0 RASTER = (byte*) 53266
(byte*) SCREEN
(const byte*) SCREEN#0 SCREEN = (byte*) 1024
(byte*) SCROLL
(const byte*) SCROLL#0 SCROLL = (byte*) 53270
(byte*) TEXT
(const byte*) TEXT#0 TEXT = (string) "-= this is rex of camelot testing a scroller created in kickc. kickc is an optimizing c-compiler for 6502 assembler. =-     @"
(byte) current_bit
(byte) current_bit#12 current_bit zp ZP_BYTE:2 3.0
(byte) current_bit#21 current_bit zp ZP_BYTE:2 5.833333333333333
(byte) current_bit#29 current_bit zp ZP_BYTE:2 2.142857142857143
(byte) current_bit#5 current_bit zp ZP_BYTE:2 3.0
(byte*) current_chargen
(byte*) current_chargen#11 current_chargen zp ZP_WORD:3 3.0
(byte*) current_chargen#19 current_chargen zp ZP_WORD:3 5.944444444444444
(byte*) current_chargen#27 current_chargen zp ZP_WORD:3 1.666666666666667
(byte*) current_chargen#5 current_chargen zp ZP_WORD:3 4.0
(void()) fillscreen((byte*) fillscreen::screen , (byte) fillscreen::fill)
(label) fillscreen::@1
(label) fillscreen::@return
(byte*) fillscreen::cursor
(byte*) fillscreen::cursor#1 cursor zp ZP_WORD:9 16.5
(byte*) fillscreen::cursor#2 cursor zp ZP_WORD:9 16.5
(byte) fillscreen::fill
(const byte) fillscreen::fill#0 fill = (byte) $20
(byte*) fillscreen::screen
(void()) main()
(label) main::@1
(label) main::@2
(label) main::@3
(label) main::@4
(byte()) next_char()
(label) next_char::@1
(label) next_char::@2
(label) next_char::@return
(byte) next_char::c
(byte) next_char::c#0 reg byte x 3.0
(byte) next_char::c#1 reg byte x 4.0
(byte) next_char::return
(byte) next_char::return#0 reg byte a 4.0
(byte) next_char::return#1 reg byte x 1.5
(byte*) nxt
(byte*) nxt#14 nxt zp ZP_WORD:7 3.0
(byte*) nxt#18 nxt zp ZP_WORD:7 4.0
(byte*) nxt#19 nxt zp ZP_WORD:7 0.5714285714285714
(byte*) nxt#31 nxt zp ZP_WORD:7 1.5833333333333335
(byte*) nxt#35 nxt zp ZP_WORD:7 0.3333333333333333
(byte) scroll
(byte) scroll#10 reg byte x 3.0
(byte) scroll#18 reg byte x 3.25
(byte) scroll#3 reg byte x 3.0
(void()) scroll_bit()
(word~) scroll_bit::$7 $7 zp ZP_WORD:3 4.0
(byte~) scroll_bit::$9 reg byte a 202.0
(label) scroll_bit::@1
(label) scroll_bit::@2
(label) scroll_bit::@3
(label) scroll_bit::@4
(label) scroll_bit::@5
(label) scroll_bit::@6
(label) scroll_bit::@7
(label) scroll_bit::@8
(label) scroll_bit::@return
(byte) scroll_bit::b
(byte) scroll_bit::b#2 reg byte a 101.0
(byte) scroll_bit::bits
(byte) scroll_bit::bits#0 reg byte a 202.0
(word) scroll_bit::c
(word) scroll_bit::c#0 c zp ZP_WORD:3 4.0
(byte) scroll_bit::r
(byte) scroll_bit::r#1 reg byte x 151.5
(byte) scroll_bit::r#2 reg byte x 37.875
(byte*) scroll_bit::sc
(byte*) scroll_bit::sc#1 sc zp ZP_WORD:5 67.33333333333333
(byte*) scroll_bit::sc#2 sc zp ZP_WORD:5 43.285714285714285
(void()) scroll_hard()
(label) scroll_hard::@1
(label) scroll_hard::@return
(byte) scroll_hard::i
(byte) scroll_hard::i#1 reg byte x 151.5
(byte) scroll_hard::i#2 reg byte x 202.00000000000006
(void()) scroll_soft()
(label) scroll_soft::@1
(label) scroll_soft::@2
(label) scroll_soft::@return

reg byte x [ scroll#18 scroll#10 scroll#3 ]
zp ZP_BYTE:2 [ current_bit#29 current_bit#12 current_bit#21 current_bit#5 ]
zp ZP_WORD:3 [ current_chargen#27 current_chargen#11 current_chargen#19 current_chargen#5 scroll_bit::$7 scroll_bit::c#0 ]
reg byte x [ scroll_bit::r#2 scroll_bit::r#1 ]
zp ZP_WORD:5 [ scroll_bit::sc#2 scroll_bit::sc#1 ]
reg byte a [ scroll_bit::b#2 ]
reg byte x [ scroll_hard::i#2 scroll_hard::i#1 ]
zp ZP_WORD:7 [ nxt#18 nxt#31 nxt#14 nxt#35 nxt#19 ]
reg byte x [ next_char::return#1 next_char::c#0 next_char::c#1 ]
zp ZP_WORD:9 [ fillscreen::cursor#2 fillscreen::cursor#1 ]
reg byte a [ next_char::return#0 ]
reg byte a [ scroll_bit::bits#0 ]
reg byte a [ scroll_bit::$9 ]
