Google
 

Trailing-Edge - PDP-10 Archives - BB-H348C-RM_1982 - swskit-v21/listings/mcb/comand.list
There are no other files named comand.list in the archive.
COMAND - DN200 LOCAL COMMAND PR	MACRO M1110  13-OCT-79 13:16
TABLE OF CONTENTS

     3-  100	DECLARATIONS
     4-  100	COMAND - Parse and process the command entered
     5-  100	Parser State Tables
     6-  100	TYPHLP - Process HELP command
     7-  100	SETHST - Process SET HOST command
     8-  100	NNMERR - Tell Operator about bad node-name
     9-  100	CLRCMD - Clear DN200 local command mode
    10-  100	STOPIT - Return to the MCR when debugging
    11-  100	TEMPLATE_EXAMPLE -
COMAND - DN200 LOCAL COMMAND PR	MACRO M1110  13-OCT-79 13:16  PAGE 2


    100						.TITLE	COMAND - DN200 LOCAL COMMAND PROCESSING
    200						.IDENT	/X0.0/
    300						.ENABL	LC
    400
    500					;
    600					; COPYRIGHT (C) 1978
    700					; DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASSACHUSETTS 01754
    800					;
    900					; THIS SOFTWARE IS  FURNISHED UNDER A LICENSE FOR USE ONLY ON A SINGLE
   1000					; COMPUTER  SYSTEM AND  MAY BE  COPIED ONLY  WITH THE INCLUSION OF THE
   1100					; ABOVE COPYRIGHT NOTICE. THIS  SOFTWARE, OR ANY OTHER COPIES THEREOF,
   1200					; MAY NOT BE PROVIDED OR OTHERWISE  MADE AVAILABLE TO ANY OTHER PERSON
   1300					; EXCEPT FOR USE ON SUCH SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE
   1400					; TERMS. TITLE  TO AND  OWNERSHIP OF THE  SOFTWARE  SHALL AT ALL TIMES
   1500					; REMAIN IN DEC.
   1600					;
   1700					; THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE
   1800					; AND  SHOULD NOT BE  CONSTRUED AS A COMMITMENT BY  DIGITAL  EQUIPMENT
   1900					; CORPORATION.
   2000					;
   2100					; DEC ASSUMES  NO  RESPONSIBILITY  FOR THE USE OR  RELIABILITY OF ITS
   2200					; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
   2300					;
   2400
   2500					;++
   2600					; FACILITY: 	DN200 Remote Station for TOPS-20
   2650					;		POSI Task
   2700					;
   2800					; ABSTRACT:
   2900					;
   3000					;	This module processes DN200-local commands for the
   3100					;	POSI task. A command line is passed to this module
   3200					;	from the POSI terminal input handler.
   3300					;
   3400					; ENVIRONMENT:
   3500					;
   3600					;	This task runs without privileges.
   3700					;	This task requires the .TPARS utility under RSX-11.
   3750					;	This task requires the $EDMSG utility under RSX-11.
   3800					;
   3900					; AUTHOR: Scott G. Robinson, CREATION DATE: 7-AUG-78
   4000					;
   4100					; MODIFIED BY:
   4200					;
   4300					; 			,	: VERSION
   4400					; 01	-
   4500					;--
COMAND - DN200 LOCAL COMMAND PR	MACRO M1110  13-OCT-79 13:16  PAGE 3
DECLARATIONS

    100						.SBTTL	DECLARATIONS
    200					;
    300					; INCLUDE FILES:
    400					;
    500
    600					;
    700					; MACROS:
    800					;
    900						.MCALL	ISTAT$,TRAN$,STATE$,RETURN,CALL
   1000						.MCALL	QIOW$S,EXIT$S,NETDF$,GTSK$S
   1100					;
   1200						.MACRO	ERCALL	ADDR,?A
   1300						BCC	A
   1400						CALL	ADDR
   1500					A:
   1600						.ENDM	ERCALL
   1700
   1701					;+
   1703					; EDIOUT is used to format and output a message on the CTY lun.
   1706					; This would normally be an error message because the macro uses
   1709					; a IO.WBT (break-thru write).
   1712					;
   1715					;	use:	EDIOUT	input string,argument list,output buffer
   1718					;
   1721					;	Refer to the IAS/RSX System Library Routines Reference
   1724					;		Manual for a description of the support routine.
   1727					;-
   1730						.MACRO	EDIOUT	STRING,ARGBLK,OUTBUF
   1733					.IIF NB,OUTBUF, MOV	OUTBUF,R0	;Output Block Buffer
   1736					.IIF NB,STRING, MOV	STRING,R1	;Input Editing String
   1739					.IIF NB,ARGBLK, MOV	ARGBLK,R2	;Argument Block
   1742						CALL	$EDMSG		;Generate Message
   1745						SUB	R1,R0		;Get Buffer Address
   1748						CTYWBT	R0,R1		;Output Message to CTY
   1751						.ENDM	EDIOUT
   1754
   1755					;+
   1757					; CTYWBT is used to write a message to the CTY breaking through
   1760					; all conditions. Used primarily to write error messages.
   1763					;
   1766					;	use:	CTYWBT	start of message, length of message
   1769					;-
   1772						.MACRO	CTYWBT	START,LEN
   1775					;	QIOW$S	#IO.WBT,#LUNCTY,#CTYEFN,,#WBTSB,,<START,LEN,#0>
   1776						QIOW$S	#IO.WLB,#LUNCTY,#CTYEFN,,#WBTSB,,<START,LEN,#0>
   1778						ERCALL	DSWERR
   1781						.ENDM	CTYWBT
   1800					;
   1900					; EQUATED SYMBOLS:
   2000					;
   2100	000000					NETDF$
   2200					;	GTSK$ symbol definitions
   2300		000034 			G$$SYS=16*2			;Displacement to system type in block
   2400		000001 			SY$11M=1			;Values for system types (RSX11M)
   2500		000000 			SY$11D=0			;(RSX11D)
   2600		000002 			SY$11S=2			;(RSX11S) indicates DN20 or DN200
   2700		000003 			SY$IAS=3			;(IAS   )
COMAND - DN200 LOCAL COMMAND PR	MACRO M1110  13-OCT-79 13:16  PAGE 3-1
DECLARATIONS

   2800					;
   2900					; OWN STORAGE:
   3000					;
   3100	000000					.PSECT	COMDAT,D
   3200	000000				GTBUF:	.BLKW	20			;GTSK$ data block storage
   3300					;
COMAND - DN200 LOCAL COMMAND PR	MACRO M1110  13-OCT-79 13:16  PAGE 4
COMAND - PARSE AND PROCESS THE COMMAND ENTERED

    100						.SBTTL	COMAND - Parse and process the command entered
    200					;++
    300					; FUNCTIONAL DESCRIPTION:
    400					;
    500					;	COMAND parses the command entered by the DN200
    600					;	operator and processes it after converting lower-case
    700					;	characters to upper case.
    800					;
    900					;	The commands supported by this module and the structure
   1000					;	of them are defined by the .TPARS (an RSX utility documented
   1100					;	in the I/O Operations Reference Manual) tables contained
   1200					;	in a later section.
   1300					;
   1400					; CALLING SEQUENCE:
   1500					;
   1600					;	CALL	COMAND
   1700					;
   1800					; INPUT PARAMETERS:
   1900					;
   2000					;	R1 = address of buffer containing command
   2100					;	R2 = length of command
   2200					;
   2300					; IMPLICIT INPUTS:
   2400					;
   2500					;	KWRTBL - the address of the keyword table for .TPARS
   2600					;	START - the first parsing state for .TPARS
   2700					;
   2800					; OUTPUT PARAMETERS:
   2900					;
   3000					;	NONE
   3100					;
   3200					; IMPLICIT OUTPUTS:
   3300					;
   3400					;	Various locations could be changed during the parsing of
   3500					;	commands. See individual parser service routine descriptions
   3600					;	for information of what is changed.
   3700					;
   3800					; CONDITION CODES:
   3900					;
   4000					;	Carry Set if an error has occured during parsing of the
   4100					;	 command.
   4200					;
   4300					;	Carry Clear if no error has been detected.
   4400					;
   4500					; SIDE EFFECTS:
   4600					;
   4700					;	The command buffer passed to this module is converted to
   4800					;	have all upper-case characters.
   4900					;
   5000					;
   5100					;--
   5200
   5300	000000					.PSECT	COMMND,I,RO
   5400	000000				COMAND::				;Here to parse command
   5500	000000					CALL	$SAVAL			;Save all registers
   5600	000004	010104 				MOV	R1,R4			;Address of command to R4
   5700	000006	010203 				MOV	R2,R3			;Length of command to R3
COMAND - DN200 LOCAL COMMAND PR	MACRO M1110  13-OCT-79 13:16  PAGE 4-1
COMAND - PARSE AND PROCESS THE COMMAND ENTERED

   5800					;
   5900	000010	111100 			10$:	MOVB	(R1),R0			;Map lower-case to UPPER-CASE
   6000										;Get a character
   6100	000012	122700 	000141 			CMPB	#'a,R0			;Is it less than 'a'?
   6200	000016	003005 				BGT	30$			;Yes, leave it alone
   6300	000020	122700 	000172 			CMPB	#'z,R0			;Is it greater than 'z'?
   6400	000024	002402 				BLT	30$			;Yes, leave it alone
   6500	000026	142700 	000040 			BICB	#40,R0			;No, convert to upper-case
   6600	000032	110021 			30$:	MOVB	R0,(R1)+		;Store character and point at next
   6700	000034	077213 				SOB	R2,10$			;Loop for more characters
   6800					;
   6900	000036	012705 	000000'			MOV	#START,R5		;Start state for parser to R5
   7000	000042	012701 	000401 			MOV	#<1*^D256>!1,R1		;Parser will not eat blanks; 1
   7100										; character recognition of keywords.
   7200	000046	012702 	000000'			MOV	#KWRTBL,R2		;Keyword table address to R2
   7300	000052					CALL	.TPARS			;Parse and process the command
   7400	000056					RETURN				;Exit with Carry Set or Clear
   7500					;
COMAND - DN200 LOCAL COMMAND PR	MACRO M1110  13-OCT-79 13:16  PAGE 5
PARSER STATE TABLES

    100						.SBTTL	Parser State Tables
    200					;++
    300					; FUNCTIONAL DESCRIPTION:
    400					;
    500					;	This section contains the state table for DN200 local commands.
    600					;	Additional commands could be added by adding a subexpression
    700					;	to process the command.
    800					;
    900					; CALLING SEQUENCE:
   1000					;
   1100					;	NONE
   1200					;
   1300					; INPUT PARAMETERS:
   1400					;
   1500					;	NONE
   1600					;
   1700					; IMPLICIT INPUTS:
   1800					;
   1900					;	NONE
   2000					;
   2100					; OUTPUT PARAMETERS:
   2200					;
   2300					;	NONE
   2400					;
   2500					; IMPLICIT OUTPUTS:
   2600					;
   2700					;	NONE
   2800					;
   2900					; COMPLETION CODES:
   3000					;
   3100					;	NONE
   3200					;
   3300					; SIDE EFFECTS:
   3400					;
   3500					;	NONE
   3600					;
   3700					;--
   3800
   3900		000001 				$RONLY = 1
   4000	000060					ISTAT$	OPRCMD,KWRTBL
   4100					;+
   4200					; Commands supported by the state table are:
   4300					;
   4400					;	SET HOST <node-name>
   4500					;	HELP
   4600					;	EXIT
   4700					;	STOP
   4800					;-
   4900
   5000	000000					STATE$	START
   5100	000000					TRAN$	!SETCMD,$EXIT
   5200	000000					TRAN$	!HLPCMD,$EXIT
   5300	000000					TRAN$	!EXICMD,$EXIT
   5400	000000					TRAN$	!STPCMD,$EXIT
   5500
   5600					;+
   5700					; SET HOST <node-name>
COMAND - DN200 LOCAL COMMAND PR	MACRO M1110  13-OCT-79 13:16  PAGE 5-1
PARSER STATE TABLES

   5800					;
   5900					; This command changes the host node-name which is the destination
   6000					; of the command link to that host's OPR.
   6100					;-
   6200
   6300	000000					STATE$	SETCMD
   6400	000000					TRAN$	"SET"
   6500	000000					STATE$
   6600	000000					TRAN$	$BLANK
   6700	000000					STATE$
   6800	000000					TRAN$	"HOST"
   6900	000000					STATE$
   6950	000000					TRAN$	$EOS,$EXIT
   7000	000000					TRAN$	$BLANK
   7100	000000					STATE$
   7200	000000					TRAN$	$STRNG,$EXIT,SETHST
   7300	000000					TRAN$	$EOS,$EXIT
   7350	000000					TRAN$	$LAMDA,$EXIT,NNMERR
   7400
   7500
   7600					;+
   7700					; HELP
   7800					;
   7900					; This command types information about commands available in
   8000					; DN200 local command mode.
   8100					;-
   8200
   8300	000000					STATE$	HLPCMD
   8400	000000					TRAN$	"HELP"
   8500	000000					STATE$	HLP
   8550	000000					TRAN$	$ANY,HLP
   8600	000000					TRAN$	$EOS,$EXIT,TYPHLP
   8700
   8800
   8900
   9000					;+
   9100					; EXIT
   9200					;
   9300					; This command exits DN200 local command mode.
   9400					;-
   9500
   9600	000000					STATE$	EXICMD
   9700	000000					TRAN$	"EXIT"
   9800	000000					STATE$	EXI
   9850	000000					TRAN$	$ANY,EXI
   9900	000000					TRAN$	$EOS,$EXIT,CLRCMD
  10000
  10100
  10200					;+
  10300					; STOP
  10400					;
  10500					; This command causes exit to the operating system. Used only
  10600					; in the debugging version and not in the HELP text.
  10700					;-
  10800
  10900	000000					STATE$	STPCMD
  11000	000000					TRAN$	"STOP"
COMAND - DN200 LOCAL COMMAND PR	MACRO M1110  13-OCT-79 13:16  PAGE 5-2
PARSER STATE TABLES

  11100	000000					STATE$
  11200	000000					TRAN$	$EOS,$EXIT,STOPIT
  11300					;
  11400	000000					STATE$			;End of State table
COMAND - DN200 LOCAL COMMAND PR	MACRO M1110  13-OCT-79 13:16  PAGE 6
TYPHLP - PROCESS HELP COMMAND

    100						.SBTTL	TYPHLP - Process HELP command
    200					;++
    300					; FUNCTIONAL DESCRIPTION:
    400					;
    500					;	TYPHLP processes the HELP command by typing the help text
    600					;	assembled within this module.
    700					;
    800					; CALLING SEQUENCE:
    900					;
   1000					;	CALL	TYPHLP
   1100					;
   1200					; INPUT PARAMETERS:
   1300					;
   1400					;	NONE
   1500					;
   1600					; IMPLICIT INPUTS:
   1700					;
   1800					;	LUNCTY - global definition of CTY logical unit number
   1900					;	HLPEFN - Event flag assigned to the HELP command
   2000					;	HLPMSG - Message to output on terminal
   2100					;	HLPLEN - Length of message to output
   2200					;
   2300					; OUTPUT PARAMETERS:
   2400					;
   2500					;	NONE
   2600					;
   2700					; IMPLICIT OUTPUTS:
   2800					;
   2900					;	NONE
   3000					;
   3100					; COMPLETION CODES:
   3200					;
   3300					;	NONE
   3400					;
   3500					; SIDE EFFECTS:
   3600					;
   3700					;	The terminal has text printed on it.
   3800					;
   3900					;--
   4000
   4100	000060					.PSECT	COMMND
   4200	000060				TYPHLP::				;Enter here to type HELP text
   4300	000060					QIOW$S	#IO.WLB,#LUNCTY,#HLPEFN,,,,<#HLPMSG,#HLPLEN,#0>
   4400										; Print HELP text
   4500	000130					ERCALL	DSWERR			;If directive error, abort and
   4600										; inform user.
   4700	000136					RETURN				;Exit
   4800					;
COMAND - DN200 LOCAL COMMAND PR	MACRO M1110  13-OCT-79 13:16  PAGE 7
SETHST - PROCESS SET HOST COMMAND

    100						.SBTTL	SETHST - Process SET HOST command
    200					;++
    300					; FUNCTIONAL DESCRIPTION:
    400					;
    500					;	SETHST processes a new host name specified by the operator.
    600					;	An existing command link is destroyed and a new one is
    700					;	created (or at least, attempted) to the new host.
    800					;
    900					; CALLING SEQUENCE:
   1000					;
   1100					;	CALL	SETHST
   1200					;
   1300					; INPUT PARAMETERS:
   1400					;
   1500					;	NONE
   1600					;
   1700					; IMPLICIT INPUTS:
   1800					;
   1900					;	.PSTCN - contains the number of characters in the node-name
   2000					;	.PSTPT - contains the address of the node-name string
   2100					;	NNMLEN - is the maximum number of characters in a node-name
   2200					;	MOD.H  - is the input mode flag value for normal (non-command) mode
   2300					;
   2400					; OUTPUT PARAMETERS:
   2500					;
   2600					;	NONE
   2700					;
   2800					; IMPLICIT OUTPUTS:
   2900					;
   3000					;	CB0+N.RND - will contain the new node name
   3100					;	INPMOD - may be changed to flag normal (non-command) mode
   3200					;
   3300					; COMPLETION CODES:
   3400					;
   3500					;	NONE
   3600					;
   3700					; SIDE EFFECTS:
   3800					;
   3900					;	The old command link can be destroyed regardless of whether a new
   4000					;	command link can be established.
   4100					;
   4200					;--
   4300
   4400	000140					.PSECT	COMMND
   4500	000140				SETHST:					;Enter here to reset host
   4600	000140					CALL	$SAVAL			;Save all registers
   4700	000144	016701 	000000G			MOV	.PSTCN,R1		;Count of characters in host-name
   4800	000150	003437 				BLE	90$			;No characters, so exit
   4900	000152	022701 	000000G			CMP	#NNMLEN,R1		;More than MAX?
   5000	000156	002002 				BGE	10$			;No, ok to use count
   5100	000160	012701 	000000G			MOV	#NNMLEN,R1		;Use NNMLEN characters
   5200	000164	012702 	000000G		10$:	MOV	#CB0+N.RND,R2		;and put them here.
   5300	000170	016700 	000000G			MOV	.PSTPT,R0		;Get node-name from here
   5400	000174	010146 				MOV	R1,-(SP)		;Save original length
   5500	000176	112004 			20$:	MOVB	(R0)+,R4		;Move character for check
   5600	000200	122704 	000140 			CMPB	#140,R4			;Lower case?
   5700	000204	003002 				BGT	30$			;No, must be OK
COMAND - DN200 LOCAL COMMAND PR	MACRO M1110  13-OCT-79 13:16  PAGE 7-1
SETHST - PROCESS SET HOST COMMAND

   5800	000206	142704 	000040 			BICB	#40,R4			;Make upper case
   5900	000212	110422 			30$:	MOVB	R4,(R2)+		;Put character in node name
   6000	000214	077110 				SOB	R1,20$			;Loop for all characters
   6100	000216	012700 	000000G			MOV	#NNMLEN,R0		;See if we need blank fill
   6200	000222	162600 				SUB	(SP)+,R0		;Subtract original length from
   6300										; maximum length
   6400	000224	001403 				BEQ	40$			;Continue if no fill needed
   6500	000226	112722 	000040 		35$:	MOVB	#' ,(R2)+		;Fill rest of node name with blanks
   6600	000232	077003 				SOB	R0,35$			;
   6700					;
   6800	000234				40$:	CALL	CMDLNK			;Try to talk to new host
   6900	000240	103403 				BCS	90$			;If unsuccessful leave in command
   7000										; mode
   7100	000242	012767 	000000G	000000G		MOV	#MOD.H,INPMOD		;Reset mode to OPR command mode
   7200	000250				90$:	RETURN				;Exit
   7300					;
COMAND - DN200 LOCAL COMMAND PR	MACRO M1110  13-OCT-79 13:16  PAGE 8
NNMERR - TELL OPERATOR ABOUT BAD NODE-NAME

    100						.SBTTL	NNMERR - Tell Operator about bad node-name
    200					;++
    300					; FUNCTIONAL DESCRIPTION:
    400					;
    402					;	NNMERR prints an error message explaining that the
    404					;	operator has entered something other than an alphameric
    406					;	character in the node-name field of the SET HOST command.
    500					;
    600					; CALLING SEQUENCE:
    700					;
    800					;	CALL	NNMERR
    900					;
   1000					; INPUT PARAMETERS:
   1100					;
   1200					;	NONE
   1300					;
   1400					; IMPLICIT INPUTS:
   1500					;
   1600					;	NNMERM - error message to issue
   1650					;	GTBUF  is used as a dummy argument block
   1700					;
   1800					; OUTPUT PARAMETERS:
   1900					;
   2000					;	NONE
   2100					;
   2200					; IMPLICIT OUTPUTS:
   2300					;
   2400					;	OUTBLK is where the error message is built
   2450					;	WBTSB is the status block for the terminal output
   2500					;
   2600					; COMPLETION CODES:
   2700					;
   2800					;	NONE
   2900					;
   3000					; SIDE EFFECTS:
   3100					;
   3200					;	Text is printed on the operators terminal.
   3250					;	CTYEFN is set due to the terminal output.
   3300					;
   3400					;--
   3500
   3550	000252					.PSECT	COMMND
   3600	000252				NNMERR:	CALL	$SAVAL			;Save all registers
   3700	000256					EDIOUT	#NNMERM,#GTBUF,#OUTBLK	;Issue error message
   3800	000354					RETURN				;Exit
   3900					;
COMAND - DN200 LOCAL COMMAND PR	MACRO M1110  13-OCT-79 13:16  PAGE 9
CLRCMD - CLEAR DN200 LOCAL COMMAND MODE

    100						.SBTTL	CLRCMD - Clear DN200 local command mode
    200					;++
    300					; FUNCTIONAL DESCRIPTION:
    400					;
    500					;	CLRCMD returns the operator to normal input mode by
    600					;	setting the input mode flag to 'normal'.
    700					;
    800					; CALLING SEQUENCE:
    900					;
   1000					;	CALL CLRCMD
   1100					;
   1200					; INPUT PARAMETERS:
   1300					;
   1400					;	NONE
   1500					;
   1600					; IMPLICIT INPUTS:
   1700					;
   1800					;	MOD.H - host input mode flag value
   1900					;
   2000					; OUTPUT PARAMETERS:
   2100					;
   2200					;	NONE
   2300					;
   2400					; IMPLICIT OUTPUTS:
   2500					;
   2600					;	INPMOD - will be modified to reflect normal mode
   2700					;
   2800					; COMPLETION CODES:
   2900					;
   3000					;	NONE
   3100					;
   3200					; SIDE EFFECTS:
   3300					;
   3400					;	NONE
   3500					;
   3600					;--
   3700
   3800	000356					.PSECT	COMMND
   3900	000356				CLRCMD:					;Enter here to clear command mode
   4000	000356	012767 	000000G	000000G		MOV	#MOD.H,INPMOD		;Set mode flag
   4100	000364					RETURN				;Exit
   4200					;
COMAND - DN200 LOCAL COMMAND PR	MACRO M1110  13-OCT-79 13:16  PAGE 10
STOPIT - RETURN TO THE MCR WHEN DEBUGGING

    100						.SBTTL	STOPIT - Return to the MCR when debugging
    200					;++
    300					; FUNCTIONAL DESCRIPTION:
    400					;
    500					;	STOPIT exits to the MCR thus terminating the program if
    600					;	the system on which this task is running is not an
    700					;	RSX11S derivitive (DN20 or DN200).
    800					;
    900					; CALLING SEQUENCE:
   1000					;
   1100					;	CALL STOPIT
   1200					;
   1300					; INPUT PARAMETERS:
   1400					;
   1500					;	NONE
   1600					;
   1700					; IMPLICIT INPUTS:
   1800					;
   1900					;	GTBUF is the buffer where GTSK$ information is located.
   2000					;
   2100					; OUTPUT PARAMETERS:
   2200					;
   2300					;	NONE
   2400					;
   2500					; IMPLICIT OUTPUTS:
   2600					;
   2700					;	GTBUF is modified by the GTSK$ executive call.
   2800					;
   2900					; COMPLETION CODES:
   3000					;
   3100					;	NONE
   3200					;
   3300					; SIDE EFFECTS:
   3400					;
   3500					;	The task may exit to the monitor thus terminating the
   3600					;	program.
   3700					;
   3800					;--
   3900
   4000	000366					.PSECT	COMMND
   4100	000366				STOPIT:	GTSK$S	#GTBUF			;Get task information
   4200	000400					ERCALL	DSWERR			;If system goofed, ZAP!!!
   4300	000406	022767 	000002 	000034'		CMP	#SY$11S,GTBUF+G$$SYS	;Are we on RSX11S?
   4400	000414	001403 				BEQ	10$			;Yes, reject the command
   4500	000416					EXIT$S				;Exit to monitor
   4600	000424	062716 	000002 		10$:	ADD	#2,(SP)			;Reject transition
   4700	000430					RETURN				;and exit.
   4800					;
COMAND - DN200 LOCAL COMMAND PR	MACRO M1110  13-OCT-79 13:16  PAGE 11
TEMPLATE_EXAMPLE -

    100						.SBTTL	TEMPLATE_EXAMPLE -
    200					;++
    300					; FUNCTIONAL DESCRIPTION:
    400					;
    500					;
    600					; CALLING SEQUENCE:
    700					;
    800					;	NONE
    900					;
   1000					; INPUT PARAMETERS:
   1100					;
   1200					;	NONE
   1300					;
   1400					; IMPLICIT INPUTS:
   1500					;
   1600					;	NONE
   1700					;
   1800					; OUTPUT PARAMETERS:
   1900					;
   2000					;	NONE
   2100					;
   2200					; IMPLICIT OUTPUTS:
   2300					;
   2400					;	NONE
   2500					;
   2600					; COMPLETION CODES:
   2700					;
   2800					;	NONE
   2900					;
   3000					; SIDE EFFECTS:
   3100					;
   3200					;	NONE
   3300					;
   3400					;--
   3500
   3600
   3700
   3800		000001 				.END
COMAND - DN200 LOCAL COMMAND PR	MACRO M1110  13-OCT-79 13:16  PAGE 11-1
SYMBOL TABLE

CB0   = ****** GX	IO.WLB= ****** GX	NO.RTL= 000022   	N.RDE   000012   	STOPIT  000366R     003
CLRCMD  000356R     003	IS.DAO= 000002   	NO.TAS= 000000   	N.RDEC  000010   	STPCMD  000114R     004
CMDLNK= ****** GX	KWRTBL  000000RG    005	NO.TCL= 000017   	N.RFM   000006   	SY$IAS= 000003
COMAND  000000RG    003	LUNCTY= ****** GX	NO.TC1= 000005   	N.RGP   000010   	SY$11D= 000000
CTYEFN= ****** GX	MOD.H = ****** GX	NO.TLK= 000020   	N.RID   000034   	SY$11M= 000001
DSWERR= ****** GX	NE$ABO= 000046   	NR$IFC= 000030   	N.RIDC  000032   	SY$11S= 000002
EXI     000102R     004	NE$ABT= 000011   	NT.ABO= 000005   	N.RND   000000   	TYPHLP  000060RG    003
EXICMD  000100R     004	NE$ACC= 000042   	NT.ABT= 000004   	N.RNM   000016   	WBTSB = ****** GX
GTBUF   000000R     002	NE$ACT= 000044   	NT.CON= 000001   	N.RNMC  000014   	$ALPHA= 000322
G$$SYS= 000034   	NE$CDI= 000052   	NT.DSC= 000003   	N.ROT   000007   	$ANY  = 000320
G.TSDU= 000036   	NE$COM= 000047   	NT.INT= 000002   	N.RPS   000056   	$BLANK= 000306
G.TSFW= 000024   	NE$FCF= 000050   	NT.LOG= 000011   	N.RPSC  000054   	$DIGIT= 000324
G.TSGC= 000017   	NE$FMT= 000005   	NT.MOP= 000010   	N.RQL = 000110   	$DNUMB= 000314
G.TSMT= 000022   	NE$GEN= 000007   	N.CAC   000120   	N.RUS   000012   	$EDMSG= ****** GX
G.TSNL= 000020   	NE$ILS= 000043   	N.CACC  000116   	N.SDE   000042   	$EOS  = 000312
G.TSPC= 000016   	NE$IMG= 000053   	N.CBL = 000142   	N.SDEC  000040   	$EXIT = 000000
G.TSPN= 000004   	NE$MLB= 000006   	N.CDA   000142   	N.SEGZ  000002   	$LAMDA= 000300
G.TSPR= 000014   	NE$NOD= 000002   	N.CDAC  000140   	N.SFM   000036   	$NUMBR= 000302
G.TSRN= 000010   	NE$NSD= 000003   	N.CID   000064   	N.SGP   000040   	$RAD50= 000316
G.TSSY= 000034   	NE$RES= 000001   	N.CIDC  000062   	N.SND   000030   	$RONLY= 000001
G.TSTN= 000000   	NE$SSR= 000000   	N.CPS   000106   	N.SNM   000046   	$SAVAL= ****** GX
G.TSTS= 000032   	NE$SSS= 000045   	N.CPSC  000104   	N.SNMC  000044   	$STRNG= 000304
G.TSVA= 000026   	NE$STA= 000051   	N.CTL   000000   	N.SOT   000037   	$SUBXP= 000310
G.TSVL= 000030   	NE$TCN= 000040   	N.DDE   000010   	N.SUS   000042   	$$$ARG= 000002
HLP     000066R     004	NE$TCO= 000041   	N.DDEC  000006   	OPRCMD  000000RG    004	$$$FLG= 177777
HLPCMD  000064R     004	NE$TPA= 000010   	N.DFM   000004   	OUTBLK= ****** GX	$$$KEY= 000004
HLPEFN= ****** GX	NE$UOB= 000004   	N.DGP   000006   	RX$IAS= 000043   	$$$OST= 000044
HLPLEN= ****** GX	NNMERM= ****** GX	N.DNM   000014   	RX$11D= 000040   	$$$STA= 000000
HLPMSG= ****** GX	NNMERR  000252R     003	N.DNMC  000012   	RX$11M= 000041   	$$$TMP= 000023R     006
IE.NDA= 177662   	NNMLEN= ****** GX	N.DOT   000005   	RX$11S= 000042   	$$$0ST= 000000
IE.NNT= 177660   	NO.DTR= 000077   	N.DUS   000010   	SETCMD  000030R     004	.PSTCN= ****** GX
IE.NRJ= 177666   	NO.FAL= 000021   	N.RAC   000070   	SETHST  000140R     003	.PSTPT= ****** GX
IE.URJ= 177667   	NO.FA1= 000001   	N.RACC  000066   	START   000000R     004	.TPARS= ****** GX
INPMOD= ****** GX	NO.NCU= 000023

. ABS.	000142	   000
      	000000	   001
COMDAT	000040	   002
COMMND	000432	   003
$STATE	000124	   004
$KTAB 	000012	   005
$KSTR 	000030	   006
ERRORS DETECTED:  0

VIRTUAL MEMORY USED:  3828 WORDS  ( 15 PAGES)
DYNAMIC MEMORY:  4780 WORDS  ( 18 PAGES)
ELAPSED TIME:  00:01:45
COMAND,[135,30]COMAND/CR/-SP=[130,10]NETLIB/ML,[135,10]COMAND
COMAND     CREATED BY  MACRO  ON 13-OCT-79 AT 13:17	PAGE 1

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

CB0   	= ******  GX	 7-5200    
CLRCMD	  000356 R	 5-10900   #9-3900    
CMDLNK	= ******  GX	 7-6800    
COMAND	  000000 RG	#4-5400    
CTYEFN	= ******  GX	 8-3700    
DSWERR	= ******  GX	 6-4500     8-3700     10-4200   
EXI   	  000102 R	#5-9800     5-9850    
EXICMD	  000100 R	 5-5400    #5-9600    
GTBUF 	  000000 R	#3-3200     8-3700     10-4100    10-4300   
G$$SYS	= 000034	#3-2300     10-4300   
G.TSTN	= 000000	 10-4100   
HLP   	  000066 R	#5-8500     5-8550    
HLPCMD	  000064 R	 5-5300    #5-8300    
HLPEFN	= ******  GX	 6-4300    
HLPLEN	= ******  GX	 6-4300    
HLPMSG	= ******  GX	 6-4300    
INPMOD	= ******  GX	*7-7100    *9-4000    
IO.WLB	= ******  GX	 6-4300     8-3700    
KWRTBL	  000000 RG	 4-7200    #5-4000    
LUNCTY	= ******  GX	 6-4300     8-3700    
MOD.H 	= ******  GX	 7-7100     9-4000    
NNMERM	= ******  GX	 8-3700    
NNMERR	  000252 R	 5-8300    #8-3600    
NNMLEN	= ******  GX	 7-4900     7-5100     7-6100    
N.RND 	  000000	 7-5200    
OPRCMD	  000000 RG	#5-4000    
OUTBLK	= ******  GX	 8-3700    
SETCMD	  000030 R	 5-5200    #5-6300    
SETHST	  000140 R	 5-7300    #7-4500    
START 	  000000 R	 4-6900    #5-5000    
STOPIT	  000366 R	 5-11400   #10-4100   
STPCMD	  000114 R	 5-6300    #5-10900   
SY$IAS	= 000003	#3-2700    
SY$11D	= 000000	#3-2500    
SY$11M	= 000001	#3-2400    
SY$11S	= 000002	#3-2600     10-4300   
TYPHLP	  000060 RG	 5-9600    #6-4200    
WBTSB 	= ******  GX	 8-3700    
$ALPHA	= 000322	#5-4000    
$ANY  	= 000320	#5-4000     5-8600     5-9900    
$BLANK	= 000306	#5-4000     5-6700     5-7100    
$DIGIT	= 000324	#5-4000    
$DNUMB	= 000314	#5-4000    
$EDMSG	= ******  GX	 8-3700    
$EOS  	= 000312	#5-4000     5-7000     5-7350     5-9600     5-10900    5-11400   
$EXIT 	= 000000	#5-4000     5-5100     5-5200     5-5300     5-5400     5-6950     5-7200     5-7300     5-7350    
                         5-8600     5-9900     5-11200   
$LAMDA	= 000300	#5-4000     5-8300    
$NUMBR	= 000302	#5-4000    
$RAD50	= 000316	#5-4000    
$RONLY	= 000001	#5-3900     5-4000     5-4000     5-4000    
$SAVAL	= ******  GX	 4-5500     7-4600     8-3600    
COMAND     CREATED BY  MACRO  ON 13-OCT-79 AT 13:17	PAGE 2

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

$STRNG	= 000304	#5-4000     5-7300    
$SUBXP	= 000310	#5-4000     5-5200     5-5300     5-5400     5-6300    
$$$ARG	= 000002	#6-4300     6-4300    #6-4300     6-4300    #6-4300     6-4300    #6-4300     6-4300     6-4300    
                        #6-4300     6-4300     6-4300     6-4300     6-4300     6-4300     6-4300     6-4300     6-4300    
                         6-4300     6-4300    #6-4300     6-4300     6-4300     6-4300     6-4300     6-4300     6-4300    
                         6-4300     6-4300     6-4300     6-4300    #6-4300     6-4300     6-4300     6-4300     6-4300    
                         6-4300     6-4300     6-4300     6-4300     6-4300     6-4300    #8-3700     8-3700    #8-3700    
                         8-3700    #8-3700     8-3700    #8-3700     8-3700     8-3700    #8-3700     8-3700     8-3700    
                         8-3700     8-3700     8-3700     8-3700     8-3700     8-3700     8-3700     8-3700    #8-3700    
                         8-3700     8-3700     8-3700     8-3700     8-3700     8-3700     8-3700     8-3700     8-3700    
                         8-3700    #8-3700     8-3700     8-3700     8-3700     8-3700     8-3700     8-3700     8-3700    
                         8-3700     8-3700     8-3700    
$$$FLG	= 177777	#5-4000     5-5000    #5-5000     5-5000    #5-5000    #5-5000     5-5100    #5-5100     5-5100    
                        #5-5100     5-5100    #5-5100     5-5200     5-5200     5-5200     5-5200     5-5200     5-5200    
                        #5-5200     5-5200    #5-5200     5-5200    #5-5200     5-5300     5-5300     5-5300     5-5300    
                         5-5300     5-5300    #5-5300     5-5300    #5-5300     5-5300    #5-5300     5-5400     5-5400    
                         5-5400     5-5400     5-5400     5-5400    #5-5400     5-5400    #5-5400     5-5400    #5-5400    
                         5-6300    #5-6300     5-6300     5-6300     5-6300     5-6300     5-6300     5-6300    #5-6300    
                        #5-6300     5-6400    #5-6400     5-6500    #5-6500     5-6500     5-6500     5-6500     5-6500    
                         5-6500     5-6500     5-6500    #5-6500    #5-6500     5-6600    #5-6600     5-6700    #5-6700    
                         5-6700     5-6700     5-6700     5-6700     5-6700     5-6700     5-6700    #5-6700    #5-6700    
                         5-6800    #5-6800     5-6900    #5-6900     5-6900     5-6900     5-6900     5-6900     5-6900    
                         5-6900     5-6900    #5-6900    #5-6900     5-6950    #5-6950     5-6950    #5-6950     5-7000    
                         5-7000     5-7000     5-7000     5-7000     5-7000    #5-7000     5-7100    #5-7100     5-7100    
                         5-7100     5-7100     5-7100     5-7100     5-7100     5-7100    #5-7100    #5-7100     5-7200    
                        #5-7200     5-7200    #5-7200     5-7200    #5-7200     5-7300     5-7300     5-7300     5-7300    
                         5-7300     5-7300    #5-7300     5-7300    #5-7300     5-7350     5-7350     5-7350     5-7350    
                         5-7350     5-7350    #5-7350     5-7350    #5-7350     5-7350    #5-7350     5-8300    #5-8300    
                         5-8300     5-8300     5-8300     5-8300     5-8300     5-8300    #5-8300    #5-8300     5-8400    
                        #5-8400     5-8500    #5-8500     5-8500     5-8500     5-8500     5-8500     5-8500     5-8500    
                         5-8500    #5-8500    #5-8500     5-8550    #5-8550     5-8550    #5-8550     5-8600     5-8600    
                         5-8600     5-8600     5-8600     5-8600    #5-8600     5-8600    #5-8600     5-8600    #5-8600    
                         5-9600    #5-9600     5-9600     5-9600     5-9600     5-9600     5-9600     5-9600    #5-9600    
                        #5-9600     5-9700    #5-9700     5-9800    #5-9800     5-9800     5-9800     5-9800     5-9800    
                         5-9800     5-9800     5-9800    #5-9800    #5-9800     5-9850    #5-9850     5-9850    #5-9850    
                         5-9900     5-9900     5-9900     5-9900     5-9900     5-9900    #5-9900     5-9900    #5-9900    
                         5-9900    #5-9900     5-10900   #5-10900    5-10900    5-10900    5-10900    5-10900    5-10900   
                         5-10900   #5-10900   #5-10900    5-11000   #5-11000    5-11100   #5-11100    5-11100    5-11100   
                         5-11100    5-11100    5-11100    5-11100    5-11100   #5-11100   #5-11100    5-11200   #5-11200   
                         5-11200   #5-11200    5-11200   #5-11200    5-11400   #5-11400    5-11400    5-11400    5-11400   
                         5-11400    5-11400    5-11400   #5-11400   #5-11400   
$$$KEY	= 000004	#5-4000     5-6400    #5-6400     5-6400     5-6500     5-6800    #5-6800     5-6800     5-6900    
                         5-8400    #5-8400     5-8400     5-8500     5-9700    #5-9700     5-9700     5-9800     5-11000   
                        #5-11000    5-11000    5-11100   
$$$STA	= 000000 R	#5-5100     5-5200    #5-5200     5-5300    #5-5300     5-5400    #5-5400     5-6300    #5-6950    
                         5-7000    #5-7200     5-7300    #5-7300     5-7350    #5-7350     5-8300    #5-8550     5-8600    
                        #5-8600     5-9600    #5-9850     5-9900    #5-9900     5-10900   #5-11200    5-11400   
$$$TMP	= 000023 R	#5-6400     5-6400    #5-6800     5-6800    #5-8400     5-8400    #5-9700     5-9700    #5-11000   
                         5-11000   
.PSTCN	= ******  GX	 7-4700    
.PSTPT	= ******  GX	 7-5300    
.TPARS	= ******  GX	 4-7300    
COMAND     CREATED BY  MACRO  ON 13-OCT-79 AT 13:17	PAGE 3

MACRO CROSS REFERENCE                                   CREF         

MACRO NAME	REFERENCES

CALL  		#3-900      4-5500     4-7300     6-4500     7-4600     7-6800     8-3600     8-3700     8-3700     10-4200   
CTYWBT		#3-1772    #8-3700    
DIR$  		#6-4300    #6-4300    #8-3700    #8-3700    #10-4100   #10-4100   #10-4500   #10-4500   
EDIOUT		#3-1730     8-3700    
ERCALL		#3-1200     6-4500     8-3700     10-4200   
EXIT$S		#3-1000    #10-4500   
GTSK$S		#3-1000     10-4100   
ISTAT$		#3-900      5-4000    
MOV$  		#6-4300    #6-4300    #6-4300    #6-4300    #6-4300    #6-4300    #6-4300    #6-4300    #6-4300    #6-4300    
                #8-3700    #8-3700    #8-3700    #8-3700    #8-3700    #8-3700    #8-3700    #8-3700    #8-3700    #8-3700    
                #10-4100   #10-4100   
MTRAN$		#5-4000     5-5000     5-5100     5-5200     5-5300     5-5400     5-6300     5-6400     5-6500     5-6600    
                 5-6700     5-6800     5-6900     5-6950     5-7000     5-7100     5-7200     5-7300     5-7350     5-8300    
                 5-8400     5-8500     5-8550     5-8600     5-9600     5-9700     5-9800     5-9850     5-9900     5-10900   
                 5-11000    5-11100    5-11200    5-11400   
MVB$  		#6-4300    #6-4300    #8-3700    #8-3700    
NETDF$		#3-1000    #3-2100    
OFF$  		#10-4100   
QDPB$S		#6-4300    #6-4300    #8-3700    #8-3700    
QIOW$S		#3-1000     6-4300     8-3700    
RETURN		#3-900      4-7400     6-4700     7-7200     8-3800     9-4100     10-4700   
RVP$  		#6-4300    #6-4300    #6-4300    #6-4300    #8-3700    #8-3700    #8-3700    #8-3700    
STATE$		#3-900      5-5000     5-6300     5-6500     5-6700     5-6900     5-7100     5-8300     5-8500     5-9600    
                 5-9800     5-10900    5-11100    5-11400   
TRAN$ 		#3-900     #5-5100    #5-5200    #5-5300    #5-5400    #5-6400    #5-6600    #5-6800    #5-6950    #5-7000    
                #5-7200    #5-7300    #5-7350    #5-8400    #5-8550    #5-8600    #5-9700    #5-9850    #5-9900    #5-11000   
                #5-11200   
$$$ACT		#5-7200    #5-7300    #5-7350    #5-8300    #5-8600    #5-9600    #5-9900    #5-10900   #5-11200   #5-11400   
$$$EXT		#5-5100    #5-5200    #5-5200    #5-5300    #5-5300    #5-5400    #5-5400    #5-6300    
$$$TYP		#5-5100    #5-5200    #5-5200    #5-5300    #5-5300    #5-5400    #5-5400    #5-6300    #5-6400    #5-6500    
                #5-6600    #5-6700    #5-6800    #5-6900    #5-6950    #5-7000    #5-7000    #5-7100    #5-7200    #5-7300    
                #5-7300    #5-7350    #5-7350    #5-8300    #5-8400    #5-8500    #5-8550    #5-8600    #5-8600    #5-9600    
                #5-9700    #5-9800    #5-9850    #5-9900    #5-9900    #5-10900   #5-11000   #5-11100   #5-11200   #5-11400