+fact_symbol:\r
+ push bc\r
+ ld hl,ddtz_base\r
+\r
+fs_nxtsym:\r
+ ld a,(hl) ;symlen\r
+ cp 0c3h\r
+ jr z,error4\r
+ ld b,a\r
+ inc b\r
+ push hl\r
+ push de\r
+fs_2:\r
+ ld a,(de)\r
+ call test_termchar\r
+ jr z,fs_endstr\r
+ dec b\r
+ jr z,fs_cont\r
+ inc de\r
+ dec hl\r
+ cp (hl)\r
+ jr z,fs_2\r
+fs_cont:\r
+ pop de\r
+ pop hl\r
+ ld a,(hl)\r
+ add a,3\r
+ call sub_hl_a\r
+ jr fs_nxtsym\r
+\r
+fs_endstr:\r
+ dec b\r
+ jr nz,fs_cont\r
+ pop hl\r
+ pop hl\r
+ inc hl\r
+ ld a,(hl)\r
+ inc hl\r
+ ld h,(hl)\r
+ ld l,a\r
+ or a\r
+ pop bc\r
+ ret\r
+\r
+t_trmchrs:\r
+ db ' !#&()*+,-/:;<=>[\]{|}',0\r
+t_trmchrs_len equ $ - t_trmchrs\r
+\r
+test_termchar:\r
+ push hl\r
+ push bc\r
+ ld hl,t_trmchrs\r
+ ld bc,t_trmchrs_len\r
+ cpir\r
+ pop bc\r
+ pop hl\r
+ ret\r
+\r
+\r
+\r