summaryrefslogtreecommitdiff
path: root/v4.0/src/CMD/IFSFUNC/IFSPARSE.INC
diff options
context:
space:
mode:
Diffstat (limited to 'v4.0/src/CMD/IFSFUNC/IFSPARSE.INC')
-rw-r--r--v4.0/src/CMD/IFSFUNC/IFSPARSE.INC92
1 files changed, 92 insertions, 0 deletions
diff --git a/v4.0/src/CMD/IFSFUNC/IFSPARSE.INC b/v4.0/src/CMD/IFSFUNC/IFSPARSE.INC
new file mode 100644
index 0000000..d986ca9
--- /dev/null
+++ b/v4.0/src/CMD/IFSFUNC/IFSPARSE.INC
@@ -0,0 +1,92 @@
1;****************************************************************************** ;AN000;
2; IFSFUNC Parse Symbol File ;AN000;
3; ;AN000;
4; Parsing: NAMES = n ;;;alias[n | (n {m})] ;AN000;
5; ;AN000;
6; Modification history: ;AN000;
7; Created: May 30 1987 ;AN000;
8; ;AN000;
9; LOD - 35 ;AN000;
10; ;AN000;
11;****************************************************************************** ;AN000;
12 ;AN000;
13IFSF_PARMS LABEL WORD ; IFSFUNC parms input block ;AN000;
14 DW IFSF_PARMSX ; offset of ifsfunc parms extension block ;AN000;
15 DB 0 ; No extra delimeters or eol chars ;AN000;
16 ;AN000;
17IFSF_PARMSX LABEL BYTE ; IFSFUNC parm extension block ;AN000;
18 DB 0,0,0 ; 0 positionals, 0 switches ;AN000;
19 DB 1 ; 1 keyword (NAMES=) ;AN000;
20 DW IFSF_K1 ;AN000;
21 ;AN000;
22IFSF_K1 LABEL WORD ; IFSFUNC 1 keyword ;AN000;
23 DW 8001h ; Numeric/optional(NAMES= ok) ;AN000;
24 DW 0 ; no function ;AN000;
25 DW IFSF_RESULT ; Result buffer ;AN000;
26 DW IFSF_K1_VAL ; value list ;AN000;
27 DB 1 ; 1 keyword ;AN000;
28 DB "NAMES=",0 ;AN000;
29 ;AN000;
30IFSF_K1_VAL LABEL BYTE ; value definition ;AN000;
31 DB 1 ; # value defns: get one: n or (n,m) ;AN000;
32 DB 1 ; # ranges ;AN000;
33 DB "N" ; value to return if n in range ;AN000;
34 DD 0,255 ; range ;AN000;
35 ;AN000;
36 ;AN000;
37;;;alias Complex control blocks ;AN000;
38; ;AN000;
39; IFSF_COMPLEX_PARMS LABEL WORD ;AN000;
40; DW IFSF_COMPLEX_PARMSX ;AN000;
41; DB 0 ; No extra delimeters or eol chars ;AN000;
42; ;AN000;
43; IFSF_COMPLEX_PARMSX LABEL BYTE ; ;AN000;
44; DB 1,2 ; Min 1, Max 2 positionals ;AN000;
45; DW IFSF_COMPLEX_POS1 ;AN000;
46; DW IFSF_COMPLEX_POS2 ;AN000;
47; DB 0,0 ; 0 switches, 0 keywords ;AN000;
48; ;AN000;
49; IFSF_COMPLEX_POS1 LABEL WORD ; ;AN000;
50; DW 8001h ; N - optional ;AN000;
51; DW 0 ; no function ;AN000;
52; DW IFSF_RESULT ; Result buffer ;AN000;
53; DW IFSF_POS_VAL ; value list ;AN000;
54; DB 0 ; no switches/keywords ;AN000;
55; ;AN000;
56; IFSF_COMPLEX_POS2 LABEL WORD ; ;AN000;
57; DW 8001H ; Numeric value, optional ;AN000;
58; DW 0 ; no function ;AN000;
59; DW IFSF_RESULT ; Result value buffer ;AN000;
60; DW IFSF_POS_VAL ; value list ;AN000;
61;;;alias DB 0 ; no switches/keywords ;AN000;
62; ;AN000;
63;FSF_POS_VAL LABEL BYTE ; value definition ;AN000;
64; DB 2 ; N and M ;AN000;
65; DB 2 ; 2 ranges ;AN000;
66; DB "N" ; item tag for N ;AN000;
67; DD 0,255 ; range of N ;AN000;
68; DB "M" ; item tag for M ;AN000;
69;;;aliasDD 0,8160 ; range of M ;AN000;
70 ;AN000;
71IFSF_RESULT LABEL BYTE ;AN000;
72 DB ? ; type - 1=number, 4=complex ;AN000;
73IFSF_TAG DB ? ; item tag returned: N,M or FF ;AN000;
74 DW ? ;AN000;
75IFSF_NM DB ? ; actual n or m value ;AN000;
76 DB ? ;AN000;
77 DB ? ;AN000;
78 DB ? ;AN000;
79 ;AN000;
80 ;AN000;
81; parser assemble switches ;AN000;
82DateSW equ 0 ;AN000;
83TimeSW equ 0 ;AN000;
84FileSW equ 0 ;AN000;
85CAPSW equ 0 ;AN000;
86DrvSW equ 0 ;AN000;
87QusSW equ 0 ;AN000;
88SwSW equ 0 ;AN000;
89Val3SW equ 0 ;AN000;
90 ;AN000;
91 ;AN000;
92 include PARSE.ASM ;together with PSDATA.INC ;AN000;