diff options
Diffstat (limited to 'v4.0/src/CMD/APPEND/APPENDP.INC')
| -rw-r--r-- | v4.0/src/CMD/APPEND/APPENDP.INC | 147 |
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 | |||
| 2 | INCSW EQU 0 ;INCLUDE PSDATA.INC ;AN000; | ||
| 3 | FARSW EQU 1 ;CALL THE PARSER BY NEAR CALL | ||
| 4 | DATESW EQU 0 ;SUPPRESS DATE CHECKING ;AN000; | ||
| 5 | TIMESW EQU 0 ;SUPPRESS TIME CHECKING ;AN000; | ||
| 6 | FILESW EQU 0 ;SUPPRESS CHECKING FILE SPECIFICATION ;AN000; | ||
| 7 | CAPSW EQU 0 ;SUPPRESS FILE TABLE CAPS ;AN000; | ||
| 8 | CMPXSW EQU 1 ;SUPPRESS CHECKING COMPLEX LIST | ||
| 9 | DRVSW EQU 1 ;SUPPRESS SUPPORT OF DRIVE ONLY FORMAT | ||
| 10 | QUSSW EQU 0 ;SUPPRESS SUPPORT OF QUOTED STRING FORMAT ;AN000; | ||
| 11 | NUMSW EQU 1 ;SUPPRESS CHECKING NUMERIC VALUE | ||
| 12 | KEYSW EQU 0 ;SUPPRESS KEYWORD SUPPORT ;AN000; | ||
| 13 | SWSW EQU 1 ;DO SUPPORT SWITCHES ;AN000; | ||
| 14 | VAL1SW EQU 0 ;SUPPRESS SUPPORT OF VALUE DEFINITION 1 ;AN000; | ||
| 15 | VAL2SW EQU 0 ;SUPPRESS SUPPORT OF VALUE DEFINITION 2 ;AN000; | ||
| 16 | VAL3SW EQU 1 ;DO SUPPORT VALUE DEFINITION 3 | ||
| 17 | |||
| 18 | include psdata.inc | ||
| 19 | ;*********************************************************************** | ||
| 20 | |||
| 21 | ;------------------------------------------------------------------- | ||
| 22 | ; | ||
| 23 | ; parser stuff for APPEND | ||
| 24 | ; | ||
| 25 | ;------------------------------------------------------------------- | ||
| 26 | |||
| 27 | |||
| 28 | |||
| 29 | p_block1 $P_PARMS_Blk <offset px_block1, 0, 0> ; parm block | ||
| 30 | p_block2 $P_PARMS_Blk <offset px_block2, 0, 0> ; parm block | ||
| 31 | |||
| 32 | ;------------------------ | ||
| 33 | ; extended parameter block for APPEND first load | ||
| 34 | |||
| 35 | px_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 | |||
| 51 | px_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 | ;------------------------ | ||
| 65 | dirs_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 | |||
| 72 | dirs_values: | ||
| 73 | db 0 ; null value list for dirs | ||
| 74 | |||
| 75 | |||
| 76 | |||
| 77 | ;------------------------ | ||
| 78 | x_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 | |||
| 86 | x_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 | |||
| 97 | e_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 | |||
| 105 | e_values: | ||
| 106 | db 0 ; null value list for /E | ||
| 107 | |||
| 108 | |||
| 109 | ;------------------------ | ||
| 110 | path_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 | |||
| 119 | path_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 | |||
| 132 | off_string: | ||
| 133 | db "OFF",0 ; off string | ||
| 134 | |||
| 135 | on_string: | ||
| 136 | db "ON",0 ; on string | ||
| 137 | |||
| 138 | |||
| 139 | ;------------------------ | ||
| 140 | |||
| 141 | x_result $P_Result_Blk <> ; /X result block | ||
| 142 | e_result $P_Result_Blk <> ; /E result block | ||
| 143 | path_result $P_Result_Blk <> ; /PATH result block | ||
| 144 | dirs_result $P_Result_Blk <> ; dirs result block | ||
| 145 | |||
| 146 | |||
| 147 | \ No newline at end of file | ||