diff options
Diffstat (limited to 'v4.0/src/CMD/GRAFTABL/GRTABP.ASM')
| -rw-r--r-- | v4.0/src/CMD/GRAFTABL/GRTABP.ASM | 144 |
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 | |||
| 95 | HEADER 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; | ||
| 104 | CSEG SEGMENT PARA PUBLIC ;AN000; | ||
| 105 | ASSUME CS:CSEG,DS:CSEG,ES:CSEG,SS:CSEG ;AN000; | ||
| 106 | |||
| 107 | FARSW EQU 0 ;AN000;CALL THE PARSER BY NEAR CALL | ||
| 108 | DATESW EQU 0 ;AN000;SUPPRESS DATE CHECKING | ||
| 109 | TIMESW EQU 0 ;AN000;SUPPRESS TIME CHECKING | ||
| 110 | FILESW EQU 0 ;AN000;SUPPRESS CHECKING FILE SPECIFICATION | ||
| 111 | CAPSW EQU 0 ;AN000;SUPPRESS FILE TABLE CAPS | ||
| 112 | CMPXSW EQU 0 ;AN000;SUPPRESS CHECKING COMPLEX LIST | ||
| 113 | DRVSW EQU 0 ;AN000;SUPPRESS SUPPORT OF DRIVE ONLY FORMAT | ||
| 114 | QUSSW EQU 0 ;AN000;SUPPRESS SUPPORT OF QUOTED STRING FORMAT | ||
| 115 | NUMSW EQU 0 ;AN000;SUPPRESS CHECKING NUMERIC VALUE | ||
| 116 | KEYSW EQU 0 ;AN000;SUPPRESS KEYWORD SUPPORT | ||
| 117 | SWSW EQU 1 ;AN000;DO SUPPORT SWITCHES | ||
| 118 | VAL1SW EQU 0 ;AN000;SUPPRESS SUPPORT OF VALUE DEFINITION 1 | ||
| 119 | VAL2SW EQU 0 ;AN000;SUPPRESS SUPPORT OF VALUE DEFINITION 2 | ||
| 120 | VAL3SW EQU 1 ;AN000;DO SUPPORT VALUE DEFINITION 3 | ||
| 121 | BASESW EQU 1 ;AN005;SPECIFY, PSDATA POINTED TO BY "DS" | ||
| 122 | INCSW 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; | ||
| 142 | CSEG ENDS ;AN000; | ||
| 143 | END ;AN000; | ||
| 144 | \ No newline at end of file | ||