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

	INCLUDE PATHMAC.INC		;AN013;

CSEG	SEGMENT PARA PUBLIC 'CODE'	;AN000;
	ASSUME	CS:CSEG 		;AN000;ESTABLISHED BY CALLER
	ASSUME	SS:CSEG 		;AN000;ESTABLISHED BY CALLER
	ASSUME	DS:CSEG 		;AN000;ESTABLISHED BY CALLER
	ASSUME	ES:CSEG 		;AN000;ESTABLISHED BY CALLER

	PUBLIC	SYSPARSE		;AN000;SUBROUTINE ENTRY POINT

DATESW	=	0			;AN000;SUPPRESS DATE CHECKING
TIMESW	=	0			;AN000;SUPPRESS TIME CHECKING
CMPXSW	=	0			;AN000;SUPPRESS CHECKING COMPLEX LIST
NUMSW	=	0			;AN000;SUPPRESS CHECKING NUMERIC VALUE
KEYSW	=	0			;AN000;SUPPRESS KEYWORD SUPPORT
VAL1SW	=	0			;AN000;SUPPRESS SUPPORT OF VALUE DEFINITION 1
VAL2SW	=	0			;AN000;SUPPRESS SUPPORT OF VALUE DEFINITION 2
VAL3SW	=	0			;AN000;SUPPRESS SUPPORT OF VALUE DEFINITION 3
DRVSW	=	0			;AN000;SUPPRESS SUPPORT OF DRIVE ONLY FORMAT
QUSSW	=	0			;AN000;SUPPRESS SUPPORT OF QUOTED STRING FORMAT
BASESW	=	1			;AN012;SPECIFY, PSDATA POINTED TO BY "DS"
INCSW	=	0			;AN013;PSDATA.INC IS ALREADY INCLUDED
	INCLUDE PSDATA.INC
	PATHLABL TREESYSP		;AN013;
;	INCLUDE PARSE.ASM		 ;GENERATED CODE SUPPRESSED FROM LISTING
.XLIST					;AN000;
.XCREF					;AN000;
	INCLUDE PARSE.ASM		;AN000;
.LIST					;AN000;
.CREF					;AN000;
	PATHLABL TREESYSP		;AN013;
CSEG	ENDS				;AN000;
	END				;AN000;