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