summaryrefslogtreecommitdiff
path: root/v4.0/src/CMD/TREE/TREESYSP.ASM
diff options
context:
space:
mode:
Diffstat (limited to 'v4.0/src/CMD/TREE/TREESYSP.ASM')
-rw-r--r--v4.0/src/CMD/TREE/TREESYSP.ASM127
1 files changed, 127 insertions, 0 deletions
diff --git a/v4.0/src/CMD/TREE/TREESYSP.ASM b/v4.0/src/CMD/TREE/TREESYSP.ASM
new file mode 100644
index 0000000..454bef9
--- /dev/null
+++ b/v4.0/src/CMD/TREE/TREESYSP.ASM
@@ -0,0 +1,127 @@
1 PAGE 90,132 ;AN000;A2
2 TITLE TREESYSP.SAL - INCLUDES THE COMMON SYSTEM PARSER ;AN000;
3;****************** START OF SPECIFICATIONS *****************************
4; MODULE NAME: TREESYSP.SAL
5;
6; DESCRIPTIVE NAME: Include the DOS system PARSER
7;
8;FUNCTION: The common code of the DOS command line PARSER is optimized by
9; the setting of certain switches that cause the conditional
10; assembly of only the required portions of the common PARSER.
11; The segment registers are ASSUMED according to the type .COM.
12; The Common PARSER is then INCLUDEd.
13;
14; ENTRY POINT: SYSPARSE, near
15;
16; INPUT:
17; ES - has seg id of the SEGMENT
18; that contains the input control blocks,
19; defined below.
20;
21; DI - offset into ES of the PARMS INPUT BLOCK
22;
23; DS - has seg id of the SEGMENT
24; that contains the DOS input COMMAND
25; string, which is originally presented at 81h
26; in the PSP.
27;
28; SI - offset into DS of the text of the DOS input COMMAND string
29; as originally presented at 81H in the PSP.
30;
31; DX - zero
32;
33; CX - ordinal value, intially zero, updated on each subsequent call
34; to the value returned in CX on the previous call.
35;
36; CS - points to the segment containing the
37; INCLUDE PARSE.ASM statement
38;
39; DS - also points to the segment containing the INCLUDE
40; PARSE.ASM statement.
41;
42; EXIT-NORMAL: Output registers:
43; AX - return code:
44; RC_No_Error equ 0 ; No error
45; RC_EOL equ -1 ; End of command line
46;
47; DX - Offset into ES of the selected RESULT BLOCK.
48; BL - terminated delimiter code
49; CX - new operand ordinal
50; SI - set past scanned operand
51;
52; EXIT-ERROR: Output registers:
53; AX - return code:
54; RC_Too_Many equ 1 ; Too many operands
55; RC_Op_Missing equ 2 ; Required operand missing
56; RC_Not_In_SW equ 3 ; Not in switch list provided
57; RC_Not_In_Key equ 4 ; Not in keyword list provided
58; RC_Out_Of_Range equ 6 ; Out of range specified
59; RC_Not_In_Val equ 7 ; Not in value list provided
60; RC_Not_In_Str equ 8 ; Not in string list provided
61; RC_Syntax equ 9 ; Syntax error
62;
63; INCLUDED FILES: PARSE.ASM - System Parser
64; PSDATA.INC - Equates and workareas used by PARSE.ASM
65; PATHMAC.INC - PATHGEN MACRO
66;
67; INTERNAL REFERENCES:
68; ROUTINES: SYSPARSE:near (INCLUDEd in PARSE.ASM)
69;
70; DATA AREAS: none
71;
72; EXTERNAL REFERENCES:
73; ROUTINES: none
74;
75; DATA AREAS: control blocks pointed to by input registers.
76;
77; NOTES:
78; This module should be processed with the SALUT preprocessor
79; with the re-alignment not requested, as:
80;
81; SALUT TREESYSP,NUL,;
82;
83; To assemble these modules, the alphabetical or sequential
84; ordering of segments may be used.
85;
86; For LINK instructions, refer to the PROLOG of the main module,
87; TREE.SAL.
88;
89;****************** END OF SPECIFICATIONS *****************************
90 IF1 ;AN000;
91 %OUT COMPONENT=TREE, MODULE=TREESYSP.SAL... ;AN000;
92 ENDIF ;AN000;
93
94 INCLUDE PATHMAC.INC ;AN013;
95
96CSEG SEGMENT PARA PUBLIC 'CODE' ;AN000;
97 ASSUME CS:CSEG ;AN000;ESTABLISHED BY CALLER
98 ASSUME SS:CSEG ;AN000;ESTABLISHED BY CALLER
99 ASSUME DS:CSEG ;AN000;ESTABLISHED BY CALLER
100 ASSUME ES:CSEG ;AN000;ESTABLISHED BY CALLER
101
102 PUBLIC SYSPARSE ;AN000;SUBROUTINE ENTRY POINT
103
104DATESW = 0 ;AN000;SUPPRESS DATE CHECKING
105TIMESW = 0 ;AN000;SUPPRESS TIME CHECKING
106CMPXSW = 0 ;AN000;SUPPRESS CHECKING COMPLEX LIST
107NUMSW = 0 ;AN000;SUPPRESS CHECKING NUMERIC VALUE
108KEYSW = 0 ;AN000;SUPPRESS KEYWORD SUPPORT
109VAL1SW = 0 ;AN000;SUPPRESS SUPPORT OF VALUE DEFINITION 1
110VAL2SW = 0 ;AN000;SUPPRESS SUPPORT OF VALUE DEFINITION 2
111VAL3SW = 0 ;AN000;SUPPRESS SUPPORT OF VALUE DEFINITION 3
112DRVSW = 0 ;AN000;SUPPRESS SUPPORT OF DRIVE ONLY FORMAT
113QUSSW = 0 ;AN000;SUPPRESS SUPPORT OF QUOTED STRING FORMAT
114BASESW = 1 ;AN012;SPECIFY, PSDATA POINTED TO BY "DS"
115INCSW = 0 ;AN013;PSDATA.INC IS ALREADY INCLUDED
116 INCLUDE PSDATA.INC
117 PATHLABL TREESYSP ;AN013;
118; INCLUDE PARSE.ASM ;GENERATED CODE SUPPRESSED FROM LISTING
119.XLIST ;AN000;
120.XCREF ;AN000;
121 INCLUDE PARSE.ASM ;AN000;
122.LIST ;AN000;
123.CREF ;AN000;
124 PATHLABL TREESYSP ;AN013;
125CSEG ENDS ;AN000;
126 END ;AN000;
127 \ No newline at end of file