3 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
6 ;; this is called from assembler to create a new label (or replace an existing one)
7 ;; the assembler doesn't try to check for duplicate labels
8 ;; IY points to the first char of label name
9 ;; after parsing, IY should point right after the parsed label
10 ;; it doesn't matter what this subroutine returns, it only
11 ;; has to parse and create a label
12 ;; all registers expect IY can be trashed
15 ;; IY: text input buffer
18 ;; IY: text input buffer after the label
19 ;; others (including alternate sets) are dead
38 jp c,.error_identifier_expected
63 .error_identifier_expected:
64 ld a,EXPR_ERR_ID_EXPECTED
67 msg_getvar: defx "NEWLABEL:<"
70 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
71 ;; check if A is an alpha char
72 ;; carry set: not an alpha char
89 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
90 ;; check if A is a decimal digit
91 ;; carry set: not a digit char
101 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
102 ;; check if A is a valid identifier char (including digits)
103 ;; carry set: not an id char