diff options
Diffstat (limited to 'v4.0/src/CMD/TREE/TREESYSP.ASM')
| -rw-r--r-- | v4.0/src/CMD/TREE/TREESYSP.ASM | 127 |
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 | |||
| 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 | ||
| 101 | |||
| 102 | PUBLIC SYSPARSE ;AN000;SUBROUTINE ENTRY POINT | ||
| 103 | |||
| 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 | ||
| 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; | ||
| 125 | CSEG ENDS ;AN000; | ||
| 126 | END ;AN000; | ||
| 127 | \ No newline at end of file | ||