summaryrefslogtreecommitdiff
path: root/v4.0/src/CMD/APPEND/APPENDP.INC
diff options
context:
space:
mode:
Diffstat (limited to 'v4.0/src/CMD/APPEND/APPENDP.INC')
-rw-r--r--v4.0/src/CMD/APPEND/APPENDP.INC147
1 files changed, 147 insertions, 0 deletions
diff --git a/v4.0/src/CMD/APPEND/APPENDP.INC b/v4.0/src/CMD/APPEND/APPENDP.INC
new file mode 100644
index 0000000..432d4ec
--- /dev/null
+++ b/v4.0/src/CMD/APPEND/APPENDP.INC
@@ -0,0 +1,147 @@
1
2INCSW EQU 0 ;INCLUDE PSDATA.INC ;AN000;
3FARSW EQU 1 ;CALL THE PARSER BY NEAR CALL
4DATESW EQU 0 ;SUPPRESS DATE CHECKING ;AN000;
5TIMESW EQU 0 ;SUPPRESS TIME CHECKING ;AN000;
6FILESW EQU 0 ;SUPPRESS CHECKING FILE SPECIFICATION ;AN000;
7CAPSW EQU 0 ;SUPPRESS FILE TABLE CAPS ;AN000;
8CMPXSW EQU 1 ;SUPPRESS CHECKING COMPLEX LIST
9DRVSW EQU 1 ;SUPPRESS SUPPORT OF DRIVE ONLY FORMAT
10QUSSW EQU 0 ;SUPPRESS SUPPORT OF QUOTED STRING FORMAT ;AN000;
11NUMSW EQU 1 ;SUPPRESS CHECKING NUMERIC VALUE
12KEYSW EQU 0 ;SUPPRESS KEYWORD SUPPORT ;AN000;
13SWSW EQU 1 ;DO SUPPORT SWITCHES ;AN000;
14VAL1SW EQU 0 ;SUPPRESS SUPPORT OF VALUE DEFINITION 1 ;AN000;
15VAL2SW EQU 0 ;SUPPRESS SUPPORT OF VALUE DEFINITION 2 ;AN000;
16VAL3SW EQU 1 ;DO SUPPORT VALUE DEFINITION 3
17
18include psdata.inc
19;***********************************************************************
20
21;-------------------------------------------------------------------
22;
23; parser stuff for APPEND
24;
25;-------------------------------------------------------------------
26
27
28
29p_block1 $P_PARMS_Blk <offset px_block1, 0, 0> ; parm block
30p_block2 $P_PARMS_Blk <offset px_block2, 0, 0> ; parm block
31
32;------------------------
33; extended parameter block for APPEND first load
34
35px_block1:
36 db 0 ; min number positional operands
37 db 0 ; max number positional operands
38; dw 0 ; offset into control block for positionals
39
40 db 3 ; APPEND has two switches /E, /X, /PATH
41 dw offset e_switch ; control block for /E switch
42 dw offset x_switch ; control block for /X switch
43 dw offset path_switch ; control block for /PATH switch
44
45 db 0 ; max number of keywords
46 dw 0 ; offset of keyword control block
47
48;------------------------
49; extended parameter block for 2nd, 3rd, ... APPEND invocations
50
51px_block2:
52 db 0 ; min number positional operands
53 db 1 ; max number positional operands
54 dw offset dirs_control ; pointer to dirs control block
55
56; db 2 ; APPEND after first load has two switches /X, /PATH
57 db 3 ; APPEND has two switches /E, /X, /PATH
58 dw offset e_switch ; control block for /E switch
59 dw offset x_switch ; control block for /X switch
60 dw offset path_switch ; control block for /PATH switch
61
62 db 0 ; max number of keywords
63
64;------------------------
65dirs_control:
66 dw $P_Simple_S+$P_Optional ; complex, optional string
67 dw $P_CAP_File ; cap by file table
68 dw offset dirs_result ; dirs result buffer
69 dw offset dirs_values ; pointer to null value list
70 db 0 ; no synonyms
71
72dirs_values:
73 db 0 ; null value list for dirs
74
75
76
77;------------------------
78x_switch:
79 dw $P_Simple_s+$P_Optional ; /X, /X:ON, /X:OFF simple, optional string
80 dw $P_CAP_Char ; cap by char table
81 dw offset x_result ; pointer to result block
82 dw offset x_values ; pointer to values block
83 db 1 ; number of switches and synonyms
84 db "/X",0 ; only /X is valid
85
86x_values:
87 db 3 ; string values
88 db 0 ; zeroes here for ranges and
89 db 0 ; values
90 db 2 ; 2 possible string values
91 db 0 ; /X:OFF = 0
92 dw offset off_string ; pointer to "OFF"
93 db 1 ; /X:ON = 1
94 dw offset on_string
95;------------------------
96
97e_switch:
98 dw 0 ; /E
99 dw $P_CAP_Char ; cap by char table
100 dw offset e_result ; pointer to result block
101 dw offset e_values ; pointer to values block, none
102 db 1 ; number of switches and synonyms
103 db "/E",0 ; only /E is valid
104
105e_values:
106 db 0 ; null value list for /E
107
108
109;------------------------
110path_switch:
111 dw $P_Simple_s ; /PATH:ON, /PATH:OFF simple string
112 dw $P_CAP_Char ; cap by char table
113 dw offset path_result ; pointer to result block
114 dw offset path_values ; pointer to values block
115 db 1 ; number of switches and synonyms
116 db "/PATH",0 ; only /PATH is valid
117
118
119path_values:
120 db 3 ; string values
121 db 0 ; zeroes here for ranges and
122 db 0 ; values
123 db 2 ; 2 possible string values
124 db 0 ; /PATH:OFF = 0
125 dw offset off_string ; pointer to "OFF"
126 db 1 ; /PATH:ON = 1
127 dw offset on_string
128
129
130;------------------------
131
132off_string:
133 db "OFF",0 ; off string
134
135on_string:
136 db "ON",0 ; on string
137
138
139;------------------------
140
141x_result $P_Result_Blk <> ; /X result block
142e_result $P_Result_Blk <> ; /E result block
143path_result $P_Result_Blk <> ; /PATH result block
144dirs_result $P_Result_Blk <> ; dirs result block
145
146
147 \ No newline at end of file