(label) @1
(label) @begin
(label) @end
(void()) main()
(label) main::@1
(label) main::@return
(void()) print((byte*) print::msg)
(label) print::@1
(label) print::@2
(label) print::@return
(byte*) print::msg
(byte*) print::msg#0 msg zp ZP_WORD:4 2.0
(byte*) print::msg#1 msg zp ZP_WORD:4 22.0
(byte*) print::msg#2 msg zp ZP_WORD:4 11.5
(void()) print_msg((byte) print_msg::idx)
(label) print_msg::@1
(label) print_msg::@2
(label) print_msg::@return
(byte) print_msg::idx
(byte) print_msg::idx#2 reg byte x 2.0
(byte*) print_msg::msg
(const byte*) print_msg::msg#1 msg#1 = (string) "Hello @"
(const byte*) print_msg::msg#2 msg#2 = (string) "World!@"
(byte*) print_msg::msg#3 msg zp ZP_WORD:4 2.0
(byte*) screen
(byte*) screen#14 screen zp ZP_WORD:2 4.625
(byte*) screen#18 screen zp ZP_WORD:2 0.6666666666666666
(byte*) screen#6 screen zp ZP_WORD:2 11.0

reg byte x [ print_msg::idx#2 ]
zp ZP_WORD:2 [ screen#18 screen#14 screen#6 ]
zp ZP_WORD:4 [ print_msg::msg#3 print::msg#2 print::msg#0 print::msg#1 ]
