]>
wirehaze git hosting - MS-DOS.git/blob - v4.0/src/CMD/TREE/TREESYSP.ASM
1 PAGE
90,132 ;AN000;\ f\eA\b\e2
2 TITLE TREESYSP
.SAL - INCLUDES THE
COMMON SYSTEM PARSER
;AN000;
3 ;****************** START OF SPECIFICATIONS *****************************
4 ; MODULE NAME: TREESYSP.SAL
6 ; DESCRIPTIVE NAME: Include the DOS system PARSER
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.
14 ; ENTRY POINT: SYSPARSE, near
17 ; ES - has seg id of the SEGMENT
18 ; that contains the input control blocks,
21 ; DI - offset into ES of the PARMS INPUT BLOCK
23 ; DS - has seg id of the SEGMENT
24 ; that contains the DOS input COMMAND
25 ; string, which is originally presented at 81h
28 ; SI - offset into DS of the text of the DOS input COMMAND string
29 ; as originally presented at 81H in the PSP.
33 ; CX - ordinal value, intially zero, updated on each subsequent call
34 ; to the value returned in CX on the previous call.
36 ; CS - points to the segment containing the
37 ; INCLUDE PARSE.ASM statement
39 ; DS - also points to the segment containing the INCLUDE
40 ; PARSE.ASM statement.
42 ; EXIT-NORMAL: Output registers:
44 ; RC_No_Error equ 0 ; No error
45 ; RC_EOL equ -1 ; End of command line
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
52 ; EXIT-ERROR: Output registers:
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
63 ; INCLUDED FILES: PARSE.ASM - System Parser
64 ; PSDATA.INC - Equates and workareas used by PARSE.ASM
65 ; PATHMAC.INC - PATHGEN MACRO
67 ; INTERNAL REFERENCES:
68 ; ROUTINES: SYSPARSE:near (INCLUDEd in PARSE.ASM)
72 ; EXTERNAL REFERENCES:
75 ; DATA AREAS: control blocks pointed to by input registers.
78 ; This module should be processed with the SALUT preprocessor
79 ; with the re-alignment not requested, as:
81 ; SALUT TREESYSP,NUL,;
83 ; To assemble these modules, the alphabetical or sequential
84 ; ordering of segments may be used.
86 ; For LINK instructions, refer to the PROLOG of the main module,
89 ;****************** END OF SPECIFICATIONS *****************************
91 %
OUT COMPONENT
=TREE
, MODULE
=TREESYSP
.SAL... ;AN000;
94 INCLUDE PATHMAC
.INC ;AN013;
96 CSEG
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
102 PUBLIC SYSPARSE
;AN000;SUBROUTINE ENTRY POINT
104 DATESW
= 0 ;AN000;SUPPRESS DATE CHECKING
105 TIMESW
= 0 ;AN000;SUPPRESS TIME CHECKING
106 CMPXSW
= 0 ;AN000;SUPPRESS CHECKING COMPLEX LIST
107 NUMSW
= 0 ;AN000;SUPPRESS CHECKING NUMERIC VALUE
108 KEYSW
= 0 ;AN000;SUPPRESS KEYWORD SUPPORT
109 VAL1SW
= 0 ;AN000;SUPPRESS SUPPORT OF VALUE DEFINITION 1
110 VAL2SW
= 0 ;AN000;SUPPRESS SUPPORT OF VALUE DEFINITION 2
111 VAL3SW
= 0 ;AN000;SUPPRESS SUPPORT OF VALUE DEFINITION 3
112 DRVSW
= 0 ;AN000;SUPPRESS SUPPORT OF DRIVE ONLY FORMAT
113 QUSSW
= 0 ;AN000;SUPPRESS SUPPORT OF QUOTED STRING FORMAT
114 BASESW
= 1 ;AN012;SPECIFY, PSDATA POINTED TO BY "DS"
115 INCSW
= 0 ;AN013;PSDATA.INC IS ALREADY INCLUDED
117 PATHLABL TREESYSP
;AN013;
118 ; INCLUDE PARSE.ASM ;GENERATED CODE SUPPRESSED FROM LISTING
121 INCLUDE PARSE
.ASM
;AN000;
124 PATHLABL TREESYSP
;AN013;