EXIT            - EXIT DCLS COMMAND EXECUTION                    22-AUG-1978 01:15:24   VAX-11 MACRO X0.3-11               Page   0

TABLE OF CONTENTS   



   (1)      33  EXIT COMMAND 

   (1)      93  WAIT COMMAND 

EXIT            - EXIT DCLS COMMAND EXECUTION                    22-AUG-1978 01:15:24   VAX-11 MACRO X0.3-11               Page   1

01                                                                                                                               (1)



                                     0000     1 	.TITLE	EXIT - EXIT DCLS COMMAND EXECUTION

                                     0000     2 	.IDENT	/01/

                                     0000     3  

                                     0000     4 ;

                                     0000     5 ; COPYRIGHT (C) 1977

                                     0000     6 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.

                                     0000     7 ;

                                     0000     8 ; THIS SOFTWARE IS FURNISHED UNDER  A LICENSE FOR USE ONLY  ON  A

                                     0000     9 ; SINGLE COMPUTER SYSTEM AND MAY BE  COPIED ONLY WITH  THE INCLU-

                                     0000    10 ; SION OF  THE  ABOVE  COPYRIGHT NOTICE.  THIS SOFTWARE,  OR  ANY

                                     0000    11 ; OTHER COPIES THEREOF, MAY NOT BE  PROVIDED  OR  OTHERWISE  MADE

                                     0000    12 ; AVAILABLE TO ANY OTHER PERSON EXCEPT  FOR  USE  ON  SUCH SYSTEM

                                     0000    13 ; AND TO  ONE WHO AGREES  TO  THESE LICENSE  TERMS.  TITLE TO AND

                                     0000    14 ; OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN IN DEC.

                                     0000    15 ;

                                     0000    16 ; THE INFORMATION IN THIS SOFTWARE  IS  SUBJECT TO CHANGE WITHOUT

                                     0000    17 ; NOTICE AND SHOULD NOT BE CONSTRUED  AS  A COMMITMENT BY DIGITAL

                                     0000    18 ; EQUIPMENT CORPORATION.

                                     0000    19 ;

                                     0000    20 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS

                                     0000    21 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.

                                     0000    22 ;

                                     0000    23 ; W. H. BROWN 25-JUN-1977

                                     0000    24 ;

                                     0000    25 ; EXIT DCLS COMMAND EXECUTION

                                     0000    26 ;

                                     0000    27 ; MACRO LIBRARY CALLS

                                     0000    28 ;

                                     0000    29  

                                     0000    30 	DEFCMDWRK			; DEFINE WORK AREA OFFSETS

                                     0000    31 	$CLIMSGDEF			; DEFINE CLI RELATED ERROR MESSAGES

EXIT            - EXIT DCLS COMMAND EXECUTION                    22-AUG-1978 01:15:24   VAX-11 MACRO X0.3-11               Page   2

01              EXIT COMMAND                                                                                                     (1)



                                     0000    33 	.SBTTL	EXIT COMMAND 

                                     0000    34 ;+

                                     0000    35 ; DCL$EXIT - EXIT COMMAND

                                     0000    36 ;

                                     0000    37 ; THIS ROUTINE IS CALLED AS AN INTERNAL COMMAND TO EXECUTE THE EXIT DCLS COMMAND.

                                     0000    38 ;

                                     0000    39 ; INPUTS:

                                     0000    40 ;

                                     0000    41 ;	R6 = COMMAND BUFFER DISPLAY PARAMETER.

                                     0000    42 ;	R9 = ADDRESS OF NEXT BYTE IN COMMAND BUFFER.

                                     0000    43 ;	R10 = RESULT PARSE DESCRIPTOR TABLE POINTER.

                                     0000    44 ;	R11 = BASE ADDRESS OF PROCESS WORK AREA.

                                     0000    45 ;	FP = BASE ADDRESS OF COMMAND WORK AREA.

                                     0000    46 ;

                                     0000    47 ; OUTPUTS:

                                     0000    48 ;

                                     0000    49 ;	THE EXIT EXPRESSION IS EVALUATED

                                     0000    50 ;

                                     0000    51 ;	R0 LOW BIT CLEAR INDICATES EXPRESSION EVALUATION FAILURE.

                                     0000    52 ;

                                     0000    53 ;		R0 = DCL$_COMPLX - EXPRESSION TOO COMPLEX.

                                     0000    54 ;		R0 = DCL$_EXPSYN - EXPRESSION SYNTAX ERROR.

                                     0000    55 ;		R0 = DCL$_IVCHAR - INVALID CHARACTER IN NUMERIC STRING.

                                     0000    56 ;		R0 = DCL$_IVOPER - INVALID EXPRESSION OPERATOR.

                                     0000    57 ;		R0 = DCL$_UNDSYM - UNDEFINED SYMBOL.

                                     0000    58 ;

                                     0000    59 ;	IF THE EXPRESSION EVALUTES OK, THE INDIRECT LEVEL IS UNSTACKED

                                     0000    60 ;	ONE LEVEL AND THE STATUS IS SET TO THE VALUE OF THE EXPRESSION,

                                     0000    61 ;	OR IS LEFT AS THE ORIGINAL VALUE IF THE EXPRESSION WAS NULL.

                                     0000    62 ;	R0 LOW BIT SET INDICATES SUCCESSFUL COMPLETION.

                                     0000    63 ;

                                     0000    64 ;		R0 = DCL$_NORMAL - NORMAL COMPLETION.

                                     0000    65 ;-

                                     0000    66  

                                 00000000    67 	.PSECT	DCL$ZCODE,BYTE,RD,NOWRT

                                     0000    68 DCL$EXIT::				; EXIT COMMAND

       0094 CB   10000000 8F     C9  0000    69 	BISL3	#1@28,PRC_L_LSTSTATUS(R11),R8 ; GET LAST STATUS WITH INHIBIT MSG

                          58         0009       

                                     000A    70 	SETNBLK				; FIND NON-BLANK CHARACTER

                          09     13  000D    71 	BEQL	10$			; BR IF NONE-STATUS GETS SAVED

                                     000F    72 	EXPRESS				; EVALUATE EXPRESSION

            17            50     E9  0012    73 	BLBC	R0,40$			; BR IF ERROR EVALUATING EXPRESSION

            58            51     D0  0015    74 	MOVL	R1,R8			; SET RESULT OF EXPRESSION EVALUATION

                                 D1  0018    75 10$:	CMPL	PRC_L_INDINPRAB(R11),-	; IS INDIRECT LEVEL ABOVE THE

         08 AB         14 AB         0019    76 		PRC_L_INPRAB(R11)	; BASIC LEVEL?

                          0E     13  001D    77 	BEQL	50$			; BR IF NO THERE IS NOTHING TO UNSTACK

                                     001F    78 	UNSTACK				; REMOVE ONE LEVEL OF INDIRECT

            03            50     E9  0022    79 	BLBC	R0,30$			; BR IF FAILED

            50            58     D0  0025    80 20$:	MOVL	R8,R0			; SET RESULTANT STATUS

         FA AD            02     A8  0028    81 30$:	BISW	#WRK_M_COMMAND,WRK_W_FLAGS(FP) ; SET COMMAND IN EXECUTION

                                 05  002C    82 40$:	RSB

                                     002D    83  

                                     002D    84 ;

                                     002D    85 ; AN EXIT COMMAND ISSUED FOR COMMAND LEVEL 0

                                     002D    86 ; THIS IS A NOP FOR INTERACTIVE JOBS AND

                                     002D    87 ; A LOGOUT FOR BATCH JOBS.

                                     002D    88 ;

EXIT            - EXIT DCLS COMMAND EXECUTION                    22-AUG-1978 01:15:24   VAX-11 MACRO X0.3-11               Page   3

01              EXIT COMMAND                                                                                                     (1)



            58            01     D0  002D    89 50$:	MOVL	#1,R8			; SET GOOD STATUS INCASE CONTINUING

                                     0030    90 	SETBIT	WRK_V_NOSTAT,WRK_W_FLAGS(FP) ; AND NO TO CHANGE CURRENT STATUS

         54 AB            06     E1  0035    91 	BBC	#PRC_V_MODE,PRC_W_FLAGS(R11),20$ ; BR IF INTERACTIVE JOB

                          EB         0039       

                          FFC3'  31  003A    92 	BRW	DCL$LOGOUT		; ELSE FORCE LOGOUT

                                     003D    93 	.SBTTL	WAIT COMMAND 

                                     003D    94 ;+

                                     003D    95 ; DCL$WAIT - WAIT COMMAND

                                     003D    96 ;

                                     003D    97 ; THIS ROUTINE IS CALLED AS AN INTERNAL COMMAND TO EXECUTE THE WAIT COMMAND.

                                     003D    98 ;

                                     003D    99 ; INPUTS:

                                     003D   100 ;

                                     003D   101 ;	R6 = COMMAND BUFFER DISPLAY PARAMETER.

                                     003D   102 ;	R9 = ADDRESS OF NEXT BYTE IN COMMAND BUFFER.

                                     003D   103 ;	R10 = RESULT PARSE DESCRIPTOR TABLE POINTER.

                                     003D   104 ;	R11 = BASE ADDRESS OF PROCESS WORK AREA.

                                     003D   105 ;	FP = BASE ADDRESS OF COMMAND WORK AREA.

                                     003D   106 ;

                                     003D   107 ;	THE NEXT TOKEN ON THE COMMAND LINE MUST BE A VALID

                                     003D   108 ;	EXPRESSION FOR DELTA TIME MINUS THE NUMBER OF DAYS FIELD.

                                     003D   109 ;

                                     003D   110 ; OUTPUTS:

                                     003D   111 ;

                                     003D   112 ;	THE COMMAND FILE EXECUTION IS WAITED FOR THE SPECIFIED TIME.

                                     003D   113 ;-

                                     003D   114 DCL$WAIT::				;

            52            59     D0  003D   115 	MOVL	R9,R2			; COPY START OF TIME FIELD

            89       2030 8F     B0  0040   116 	MOVW	#^A/0 /,(R9)+		; SET ZERO DAY COUNT FOR WAIT

            56            59     D0  0045   117 	MOVL	R9,R6			; SET ERROR BACKUP POINTER

                                     0048   118 10$:	MOVCHAR				; MOVE A CHARACTER TO PARSE BUFFER

                          FB     12  004B   119 	BNEQ	10$			; BR IF MORE

                          59     D7  004D   120 	DECL	R9			; BACK UP OVER END_OF_LINE.

            59            52     C3  004F   121 	SUBL3	R2,R9,R1		; FIND LENGTH OF TIME SPECIFIED.

                          51         0052       

                          06     BB  0053   122 	PUSHR	#^M<R1,R2>		; BUILD DESCRIPTOR FOR TIME STRING

                                     0055   123 	$CANTIM_S			; CANCEL ANY PREVIOUS TIMERS

            53            5E     D0  0060   124 	MOVL	SP,R3			; SAVE ADDRESS OF QUAD WORD DECRIPTOR

                                     0063   125 	$BINTIM_S  (R3),(R3)		; CONVERT TIME TO BINARY DELTA FORMAT

            1B            50     E9  006E   126 	BLBC	R0,30$			; BR IF ERROR IN TIME

                                     0071   127 	$SETIMR_S  #31,(R3)		; SET TIMER FOR SPECIFIED TIME

            09            50     E9  0080   128 	BLBC	R0,30$			; BR IF ERROR SETTING TIMER

                                     0083   129 	$WAITFR_S  #31			; WAIT THE SPECIFIED TIME

                          8E     7C  008C   130 30$:	CLRQ	(SP)+			; REMOVE SCRATCH QUAD WORD FROM STACK

                                 05  008E   131 	RSB

                                     008F   132  

                                     008F   133 	.END

EXIT            - EXIT DCLS COMMAND EXECUTION                    22-AUG-1978 01:15:24   VAX-11 MACRO X0.3-11               Page   4

SYMBOL TABLE                                                                                                                     (1)



BIT...         = 0003FFE9            CLI$_OVRFLW    = 00038160            PRC_L_ONERROR    00000058            

CLI$_ABFNAM    = 000381B8            CLI$_PARMDEL   = 00038110            PRC_L_OUTRAB     0000000C            

CLI$_ABKEYW    = 00038000            CLI$_PROC_ID   = 0003FFF1            PRC_L_PROCUIC    00000098            

CLI$_ABVERB    = 00038008            CLI$_QUEJOBCRE = 0003FFF9            PRC_L_SAVAP      00000000            

CLI$_BADRET    = 00038198            CLI$_REQPRMABS = 00038812            PRC_L_SAVFP      00000004            

CLI$_BADTEXT   = 000381B0            CLI$_RSLOVF    = 00038118            PRC_L_SEVERITY   00000040            

CLI$_BUFOVF    = 00038018            CLI$_SKPDAT    = 00038120            PRC_L_STACKLM    00000088            

CLI$_COMPLX    = 00038020            CLI$_SPARE0    = 00038010            PRC_L_STACKPT    00000084            

CLI$_CONFQUAL  = 00038802            CLI$_SPARE1    = 00038058            PRC_L_STATUS     00000044            

CLI$_CREQUEJOB = 0003884A            CLI$_STKOVF    = 00038128            PRC_L_SYMBOL     0000004C            

CLI$_DEFOVF    = 00038028            CLI$_SUBMITERR = 00038852            PRC_M_CNTRLY   = 00000002            

CLI$_DEVALSPL  = 0003885A            CLI$_SYMDEL    = 00038130            PRC_M_DBGQUAL  = 00000200            

CLI$_DEVNOTFOR = 0003887A            CLI$_SYMOVF    = 00038138            PRC_M_DBGTRUE  = 00000400            

CLI$_DEVNOTSPL = 00038862            CLI$_UNDFIL    = 00038188            PRC_M_DISABL   = 00000004            

CLI$_DIRECT    = 00038030            CLI$_UNDSYM    = 00038140            PRC_M_EXIT     = 00000008            

CLI$_EXPSYN    = 00038038            CLI$_UNPROPARM = 00038170            PRC_M_GOEOF    = 00000001            

CLI$_FILOPN    = 00038190            CLI$_UNPROQUAL = 00038168            PRC_M_GOTO     = 00000010            

CLI$_ILLVAL    = 0003883A            CLI$_USGOTO    = 00038148            PRC_M_HANGUP   = 00001000            

CLI$_IMCHNG    = 00038040            CLI$_VALCNVERR = 00038832            PRC_M_IND      = 00000020            

CLI$_IMGFNF    = 00038872            CLI$_VALREQ    = 00038150            PRC_M_MODE     = 00000040            

CLI$_INSFPRM   = 00038048            CMDBUFSIZ      = 000001FC            PRC_M_NOCTLY   = 00004000            

CLI$_INVKEY    = 00038178            DCL$EXIT         00000000 RG    03   PRC_M_PAUSE    = 00002000            

CLI$_INVQUAL   = 0003880A            DCL$EXPRESS      ********   X   03   PRC_M_USRDET   = 00000100            

CLI$_INVQUALNUM= 0003881A            DCL$LOGOUT       ********   X   03   PRC_M_VERIFY   = 00000080            

CLI$_INVREQTYP = 00038822            DCL$MOVCHAR      ********   X   03   PRC_M_YLEVEL   = 00000800            

CLI$_INVRSP    = 00038180            DCL$SETNBLK      ********   X   03   PRC_Q_ALLOCREG   00000020            

CLI$_INVUIC    = 000381A8            DCL$UNSTACK      ********   X   03   PRC_Q_GLOBAL     00000028            

CLI$_IVCHAR    = 00038050            DCL$WAIT         0000003D RG    03   PRC_Q_LABEL      00000030            

CLI$_IVDEVTYPE = 0003886A            GBL...         = 00000000            PRC_Q_LOCAL      00000038            

CLI$_IVFNAM    = 000381C0            INPBUFSIZ      = 00000084            PRC_V_CNTRLY   = 00000001            

CLI$_IVKEYW    = 00038060            MSGBUFSIZ      = 00000084            PRC_V_DBGQUAL  = 00000009            

CLI$_IVOPER    = 00038068            PRC_B_DEFRADIX   00000092            PRC_V_DBGTRUE  = 0000000A            

CLI$_IVPROT    = 00038070            PRC_B_EXMDEPMOD  00000091            PRC_V_DISABL   = 00000002            

CLI$_IVQLOC    = 00038078            PRC_B_EXMDEPWID  00000090            PRC_V_EXIT     = 00000003            

CLI$_IVSYMB    = 00038080            PRC_K_DEC      = 00000001            PRC_V_GOEOF    = 00000000            

CLI$_IVVALU    = 00038088            PRC_K_HEX      = 00000000            PRC_V_GOTO     = 00000004            

CLI$_IVVERB    = 00038090            PRC_K_LENGTH     000000A0            PRC_V_HANGUP   = 0000000C            

CLI$_MAXPARM   = 00038098            PRC_K_OCT      = 00000002            PRC_V_IND      = 00000005            

CLI$_MULKEY    = 000381A0            PRC_L_CLIWRK0    0000005C            PRC_V_MODE     = 00000006            

CLI$_NOATFIL   = 000380A0            PRC_L_CLIWRK1    00000060            PRC_V_NOCTLY   = 0000000E            

CLI$_NOCCAT    = 000380A8            PRC_L_CLIWRK2    00000064            PRC_V_PAUSE    = 0000000D            

CLI$_NOCOMD    = 000380B0            PRC_L_CLIWRK3    00000068            PRC_V_USRDET   = 00000008            

CLI$_NOKEYW    = 000380B8            PRC_L_CLIWRK4    0000006C            PRC_V_VERIFY   = 00000007            

CLI$_NOLIST    = 000380C0            PRC_L_ERRRAB     00000010            PRC_V_YLEVEL   = 0000000B            

CLI$_NOOPTPRS  = 00038842            PRC_L_EXMDEPADR  0000008C            PRC_W_CLIFLAG    00000052            

CLI$_NOQUAL    = 000380C8            PRC_L_EXTARG     00000078            PRC_W_ERRIFI     00000052            

CLI$_NORMAL    = 00030001            PRC_L_EXTBLK     00000070            PRC_W_FLAGS      00000054            

CLI$_NOTNEG    = 000380D8            PRC_L_EXTCOD     00000080            PRC_W_INPCHAN    00000050            

CLI$_NOVALU    = 000380D0            PRC_L_EXTHND     00000074            PRC_W_ONLEVEL    00000056            

CLI$_NOVALUE   = 0003882A            PRC_L_EXTPRM     0000007C            RSLBUFSIZ      = 00000180            

CLI$_NULFIL    = 000380E0            PRC_L_INDEPTH    00000048            SYS$BINTIM       ********   X   03   

CLI$_NUMBER    = 000380E8            PRC_L_INDFAB     0000001C            SYS$CANTIM       ********   X   03   

CLI$_ONCOMD    = 000380F0            PRC_L_INDINPRAB  00000014            SYS$SETIMR       ********   X   03   

CLI$_ONERR     = 000380F8            PRC_L_INDOUTRAB  00000018            SYS$WAITFR       ********   X   03   

CLI$_ONEVAL    = 00038158            PRC_L_INPRAB     00000008            WRK_AB_BUFFER    FFFFFD38            

CLI$_ONLEVL    = 00038100            PRC_L_LSTSTATUS  00000094            WRK_AG_RESULT    FFFFFBB4            

CLI$_ONOVF     = 00038108            PRC_L_ONCTLY     0000009C            WRK_B_VERBTYP    FFFFFFC0            

EXIT            - EXIT DCLS COMMAND EXECUTION                    22-AUG-1978 01:15:24   VAX-11 MACRO X0.3-11               Page   5

SYMBOL TABLE                                                                                                                     (1)



WRK_K_LENGTH     FFFFFBB4            

WRK_L_CHARPTR    FFFFFFFC            

WRK_L_CMDOUT     FFFFFFBC            

WRK_L_IMAGE      FFFFFFEC            

WRK_L_MAXPARM    FFFFFFE4            

WRK_L_MINPARM    FFFFFFE8            

WRK_L_PARMCNT    FFFFFFF0            

WRK_L_PAROUT     FFFFFFF4            

WRK_L_PROMPT     FFFFFFD0            

WRK_L_PROPTR     FFFFFFDC            

WRK_L_QUABLK     FFFFFFE0            

WRK_L_RSLNXT     FFFFFD34            

WRK_L_SAVAP      FFFFFFC8            

WRK_L_SAVFP      FFFFFFCC            

WRK_L_SAVSP      FFFFFFC4            

WRK_M_COMMAND  = 00000002            

WRK_M_IMCHNG   = 00000004            

WRK_M_INQUIRE  = 00000100            

WRK_M_NOSTAT   = 00000200            

WRK_M_PROMPT   = 00000008            

WRK_M_QUAL     = 00000010            

WRK_M_QUOTE    = 00000020            

WRK_M_RUNDWN   = 00000001            

WRK_M_STAR     = 00000040            

WRK_M_TRAILSPC = 00000400            

WRK_M_VERB     = 00000080            

WRK_Q_IOSB       FFFFFFD4            

WRK_V_COMMAND  = 00000001            

WRK_V_IMCHNG   = 00000002            

WRK_V_INQUIRE  = 00000008            

WRK_V_NOSTAT   = 00000009            

WRK_V_PROMPT   = 00000003            

WRK_V_QUAL     = 00000004            

WRK_V_QUOTE    = 00000005            

WRK_V_RUNDWN   = 00000000            

WRK_V_STAR     = 00000006            

WRK_V_TRAILSPC = 0000000A            

WRK_V_VERB     = 00000007            

WRK_W_FLAGS      FFFFFFFA            

WRK_W_IMGCHAN    FFFFFFF8            

_$$_           = 000000EF            





PROGRAM SECTION SYNOPSIS



.  ABS  .        00000000      00     NOPIC   USR   CON   ABS   LCL NOSHR NOEXE NORD  NOWRT BYTE  

. BLANK .        00000000      01     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD    WRT BYTE  

$ABS$            FFFFFFFC      02     NOPIC   USR   CON   ABS   LCL NOSHR   EXE   RD    WRT BYTE  

DCL$ZCODE        0000008F      03     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD  NOWRT BYTE  





THERE WERE NO ERRORS OR WARNINGS.

18620. BYTES LEFT IN FREE MEMORY POOL.

1184. BYTES OF RECLAIMED MEMORY.

EXE$:EXIT,LIS$:EXIT/-SP=EXECML$/ML,LIB$:DCL/ML,SRC$:EXIT

30 MLB DIR RDS - 378 GETS TO DEFINE 22 MACROS. 23 INTER. FILE WRITES. 

