11 $printf "parser size: %d", csizeend-csizestart
16 $printf "label manager size: %d", csizeend-csizestart
21 $printf "ouput system size: %d", csizeend-csizestart
24 ;include "output_driver_std.zas"
25 include "output_driver_4x8.zas"
27 $printf "printing driver size: %d", csizeend-csizestart
37 ; print line to assemble
56 push ix ; save code destination
57 push iy ; we'll need it for listing
88 ; if terminator, don't try to assemble more
94 jr list_and_error_no_label_check
98 ld a,(BZ80ASM.ASM_BAD_B)
102 list_and_error_no_label_check:
106 pop bc ; current position in text buffer
107 pop de ; initial position
112 ; de: print from here
126 errline: defx "---------"
130 defm "label cp 69",13
133 defm "ld hl,16384",13
135 defm "ld hl,#4001",13
136 defm "ld a,(ix-2)",13
141 defm "ld de,$1234",13
142 defm "ld bc,0x5b02",13
148 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
151 ;; extracted from assembler code, because we don't need it there
154 ;; IY: current position in text buffer
155 ;; IX: current position in code buffer
156 ;; BC: starting position in text buffer
157 ;; DE: starting position in code buffer
162 ;COUNT: defb 0 ;PRINT POSITION
164 ; calculate code length
174 ; calculate original PC
187 ; print code bytes (if there are any)
192 ; do not print code if more than 4 bytes (long strings and dbs)
195 ; do not print code if more than 4 bytes (long strings and dbs)
225 ; print source line, from BC to IY (exclusive)
226 ; calculate string length
252 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
254 ;; print byte in hex with the trailing space
262 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;