Google
 

Trailing-Edge - PDP-10 Archives - BB-J710A-BM - tools/nrt20/nrt20.lst
There are no other files named nrt20.lst in the archive.
NRT20 - Program to permit logins to remote network host	MACRO %53A(1152) 15:52 14-Feb-80 Page 2
NRT20	MAC	11-Jan-80 15:58	

     1						TITLE	NRT20 - Program to permit logins to remote network host
     2
     3
     4
     5
     6					;COPYRIGHT (C) 1979 BY
     7					;DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
     8					;
     9					;
    10					;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
    11					;ONLY  IN  ACCORDANCE  WITH  THE  TERMS  OF  SUCH LICENSE AND WITH THE
    12					;INCLUSION OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY  OTHER
    13					;COPIES THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY
    14					;OTHER PERSON.  NO TITLE TO AND OWNERSHIP OF THE  SOFTWARE  IS  HEREBY
    15					;TRANSFERRED.
    16					;
    17					;
    18					;THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT  NOTICE
    19					;AND  SHOULD  NOT  BE  CONSTRUED  AS A COMMITMENT BY DIGITAL EQUIPMENT
    20					;CORPORATION.
    21					;
    22					;DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY  OF  ITS
    23					;SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL.
    24
NRT20 - Program to permit logins to remote network host	MACRO %53A(1152) 15:52 14-Feb-80 Page 3
NRT20	MAC	11-Jan-80 15:58	

    25
    26						SALL			; Keep listing uncluttered, no macro expansion
    27						SEARCH	MONSYM,MACSYM,CMD ; Universals to search
    28						.REQUIRE SYS:MACREL,SYS:CMD ; Make LINK load these automatically
    29					;
    30					; This program will allow a user to login in to a remote system in a
    31					; DECnet network from a TOPS-20 host system. It demonstrates use of the
    32					; TOPS-20 DECnet functionality in a program which performs a real function.
    33					; The remote system must provide a program which acts as a server to
    34					; this program. The NRTSRV program is an example of a program written for
    35					; TOPS-20 which will perform that function on that system. Programs for
    36					; other systems must perform functionally similar to NRTSRV. 
    37					;
    38
NRT20 - Program to permit logins to remote network host	MACRO %53A(1152) 15:52 14-Feb-80 Page 4
NRT20	MAC	11-Jan-80 15:58		DECLARED SYMBOLS

    39						SUBTTL	DECLARED SYMBOLS
    40
    41			000001			T1==1			; AC definitions
    42			000002			T2==2
    43			000003			T3==3
    44			000004			T4==4
    45			000016			CX==16
    46			000017			P==17
    47
    48			000020			NPDL==20		; Size of pushdown list
    49			000050			INSIZ==50		; Terminal input buffer size, in words
    50			000310			MAXINP==INSIZ*5		; Maximum number of terminal input characters
    51			100000			DBUFFR==100000		; Data buffer on page 100
    52
NRT20 - Program to permit logins to remote network host	MACRO %53A(1152) 15:52 14-Feb-80 Page 5
NRT20	MAC	11-Jan-80 15:58		IMPURE STORAGE

    53						SUBTTL	IMPURE STORAGE
    54
    55	000000'				STIMSK:	BLOCK 1			; Terminal interrupt word mask for STIW 
    56	000001'				LOCAL:	BLOCK 2			; Local node name
    57	000003'				DCNJFN:	BLOCK 1			; JFN of logical link to NRTSRV server
    58	000004'				INSTR:	BLOCK INSIZ		; Terminal input stream buffer
    59	000054'				SAVACE:	BLOCK 4			; Register save area for AC's 1 - 4
    60	000060'				NAME:	BLOCK 10		; File spec name of logical link to NRTSRV
    61	000070'				FORK:	BLOCK 1			; Handle of inferior process to read from TTY
    62	000071'	777777	777777		VIRGIN:	EXP -1			; Flag to indicate fresh start, initially -1
    63	000072'				PC:	BLOCK 3			; Storage for PC on interrupts
    64	000075'	000000	000072'		LEVTAB:	PC			; Software interrupt level table
    65	000076'	000000	000073'			PC+1
    66	000077'	000000	000074'			PC+2
    67	000100'	000000	000000		CHNTAB:	0			; Software interrupt channel table
    68	000101'	000001	001203'			1,,ESC			; Panic character (default ^Y)
    69	000102'	000000	000000			0
    70	000103'				PDL:	BLOCK NPDL		; Pushdown list (STACK)
    71
    72	000505'	000000	000000		CMDSTG				; Command parser storage (from CMDS)
    73	000506'	000000	000000
    74
NRT20 - Program to permit logins to remote network host	MACRO %53A(1152) 15:52 14-Feb-80 Page 6
NRT20	MAC	11-Jan-80 15:58		START  -  Start of NRT20 program

    75						SUBTTL	START  -  Start of NRT20 program
    76
    77	000707'	104 00 0 00 000147 	START:	RESET			; Intialize ourself
    78	000710'	200 17 0 00 001351'		MOVE P,[IOWD NPDL,PDL]	; and set up pushdown list
    79	000711'	350 00 0 00 000071'		AOS VIRGIN		; Bump count of times we come through here
    80	000712'	260 17 0 00 000000*		CALL CMDINI		; Initialize command parser
    81	000713'	205 01 0 00 400000 		MOVX T1,CR%MAP		; Create process to read from TTY
    82	000714'	402 00 0 00 000002 		SETZM T2
    83	000715'	104 00 0 00 000152 		CFORK			; Make the process, same address map
    84						 JRST [	JSHLT			; on error... halt and allow continue
    85	000716'	254 00 0 00 001352'			JRST START]
    86	000717'	202 01 0 00 000070'		MOVEM T1,FORK		; Save the process handle obtained
    87	000720'	201 01 0 00 400000 		MOVEI T1,.FHSLF		; Our process handle
    88	000721'	104 00 0 00 000150 		RPCAP			; Get our capabilities
    89	000722'	661 03 0 00 400000 		TXO T3,SC%CTC		; allow ^C trapping for job
    90	000723'	104 00 0 00 000151 		EPCAP			; Enable new set of capabilities
    91	000724'	200 02 0 00 001354'		MOVE T2,[LEVTAB,,CHNTAB] ; Address of software interrupt system tables
    92	000725'	104 00 0 00 000125 		SIR			; Give them to monitor
    93	000726'	205 02 0 00 200000 		MOVX T2,1B1		; Channel number
    94	000727'	104 00 0 00 000131 		AIC			; Activate software interrupt channels
    95	000730'	104 00 0 00 000126 		EIR			; Enable software interrupt system
    96	000731'	260 17 0 00 001057'		CALL ALLON		; Turn on all TTY interrupts
    97	000732'	260 17 0 00 001067'		CALL PRESCN		; Prescan EXEC line for host name...
    98	000733'	254 00 0 00 000757'		 JRST PREHST		; Got it - skip the prompting
    99	000734'	254 00 0 00 000735'		JRST ESCHAR		; Otherwise get it now
   100
NRT20 - Program to permit logins to remote network host	MACRO %53A(1152) 15:52 14-Feb-80 Page 7
NRT20	MAC	11-Jan-80 15:58		ESCHAR - Obtain the escape character user wants to use

   101						SUBTTL	ESCHAR - Obtain the escape character user wants to use
   102
   103	000735'	561 01 0 00 001355'	ESCHAR:	PROMPT <Escape character(^Y):> ; Put out prompt to users terminal
   104	000736'	260 17 0 00 000000*
   105	000737'	201 01 0 00 001373'		MOVEI T1,[FLDDB. (.CMTXT,CM%SDH,,<Character for interrupting connection>,<>)]
   106	000740'	260 17 0 00 000000*		CALL CFIELD		; Read the escape character
   107	000741'	135 01 0 00 001377'		LDB T1,[POINT 7,ATMBUF,6] ; Get character itself
   108	000742'	303 01 0 00 000032 		CAILE T1,.TICCZ		; Is it a valid character? (^A to ^Z)
   109						 JRST [	HRROI T1,[ASCIZ /Invalid character/] ; No, tell user
   110							ESOUT
   111	000743'	254 00 0 00 001404'			JRST ESCHAR]	; and try again
   112	000744'	211 02 0 01 000000 		MOVNI T2,0(T1)		; Save the character
   113	000745'	507 00 0 00 000001 		HRLS T1			; Character value is terminal code
   114	000746'	541 01 0 00 000001 		HRRI T1,1		; Channel number
   115	000747'	104 00 0 00 000137 		ATI			; Assign terminal code to software interrupt channel
   116	000750'	205 01 0 00 400000 		MOVX T1,1B0		; Get a bit
   117	000751'	242 01 0 02 000000 		LSH T1,0(T2)		; Make terminal interrupt word mask for character
   118	000752'	660 01 0 00 000020 		TXO T1,1B<.TICTI>	; Allow typein
   119	000753'	202 01 0 00 000000'		MOVEM T1,STIMSK		; Save for use later
   120	000754'	254 00 0 00 000755'		JRST HSTNAM		; Get the host name
   121
NRT20 - Program to permit logins to remote network host	MACRO %53A(1152) 15:52 14-Feb-80 Page 8
NRT20	MAC	11-Jan-80 15:58		HSTNAM - Get the host name user wants to login on

   122						SUBTTL	HSTNAM - Get the host name user wants to login on
   123
   124	000755'	561 01 0 00 001407'	HSTNAM:	PROMPT <Host name: >	; Put out prompt to users terminal
   125	000756'	260 17 0 00 000736*
   126	000757'	201 01 0 00 001420'	PREHST:	MOVEI T1,[FLDDB. (.CMTXT,CM%SDH,,<Name of system to connect to>)]
   127	000760'	260 17 0 00 000740*		CALL CFIELD		; Read host name
   128	000761'	561 01 0 00 000004'		HRROI T1,INSTR		; Pointer to destination buffer
   129	000762'	561 02 0 00 000304'		HRROI T2,ATMBUF		; Pointer to source buffer
   130	000763'	201 03 0 00 000000 		MOVEI T3,0		; An ASCIZ string
   131	000764'	104 00 0 00 000053 		SOUT			; Copy the host name
   132	000765'	205 01 0 00 774000 		MOVX T1,177B6		; See if real host name given
   133	000766'	616 01 0 00 000004'		TDNN T1,INSTR		; Was one?
   134						JRST [	HRROI T1,[ASCIZ /
   135					[CONNECTING TO LOCAL HOST- /]		; No, tell user what's happening
   136							PSOUT
   137							MOVEI T1,.NDGLN		; Function code to get local node name
   138							MOVEI T2,T3
   139							HRROI T3,INSTR
   140							NODE			; Obtain local node name
   141							HRROI T1,INSTR
   142							PSOUT			; Output to user's TTY
   143							HRROI T1,[ASCIZ /]
   144					/]
   145							PSOUT			; Finish the message nicely
   146	000767'	254 00 0 00 001432'			JRST .+1]
   147	000770'	254 00 0 00 000771'		JRST SETTMD		; Have name. Now set TTY modes
   148
NRT20 - Program to permit logins to remote network host	MACRO %53A(1152) 15:52 14-Feb-80 Page 9
NRT20	MAC	11-Jan-80 15:58		SETTMD - Set TTY modes

   149						SUBTTL	SETTMD - Set TTY modes
   150
   151	000771'	201 01 0 00 000100 	SETTMD:	MOVEI T1,.PRIIN		; Primary input
   152	000772'	104 00 0 00 000107 		RFMOD			; Get current JFN mode word
   153	000773'	660 02 0 00 170000 		TXO T2,TT%WAK		; Wake on all
   154	000774'	620 02 0 00 004300 		TXZ T2,TT%ECO!TT%DAM	; Echoes off and binary data mode
   155	000775'	104 00 0 00 000110 		SFMOD			; Set new JFN mode word
   156	000776'	201 01 0 00 777773 		MOVX T1,.FHJOB		; Set terminal interrupt word for entire job
   157	000777'	200 02 0 00 000000'		MOVE T2,STIMSK		; Get terminal interrupt word saved earlier
   158	001000'	104 00 0 00 000174 		STIW			; Set it to allow only panic interrupts
   159	001001'	561 01 0 00 000060'		HRROI T1,NAME		; Build network file spec to NRTSRV
   160	001002'	561 02 0 00 001445'		HRROI T2,[ASCIZ /DCN:/]	; The DECnet device for making connection
   161	001003'	402 00 0 00 000003 		SETZM T3
   162	001004'	104 00 0 00 000053 		SOUT
   163	001005'	561 02 0 00 000004'		HRROI T2,INSTR		; The node name to connect to
   164	001006'	104 00 0 00 000053 		SOUT
   165	001007'	561 02 0 00 001446'		HRROI T2,[ASCIZ /-200/]	; NRTSRV's object type
   166	001010'	104 00 0 00 000053 		SOUT
   167	001011'	205 01 0 00 000001 		MOVX T1,GJ%SHT		; Do a short form GTJFN
   168	001012'	561 02 0 00 000060'		HRROI T2,NAME		; Using the spec just built
   169	001013'	104 00 0 00 000020 		GTJFN			; Get DCN connection
   170						 JRST [	JSERR			; If error, tell user
   171							CALL ALLON		; Reset TTY to normal mode
   172	001014'	254 00 0 00 001447'			JRST HSTNAM]		; And go back to get host name
   173	001015'	202 01 0 00 000003'		MOVEM T1,DCNJFN		; Save JFN for the connection
   174	001016'	201 01 0 00 000101 		MOVEI T1,.PRIOU		; Check if parity OK on this TTY
   175	001017'	104 00 0 00 000145 		GDSTS			; Get device status
   176						ERJMP [SETZM T2			; If error, set all status off
   177	001020'	320 16 0 00 001452'			JRST .+1]		; And continue along
   178	001021'	200 01 0 00 000003'		MOVE T1,DCNJFN		; Restore the JFN for network connection
   179	001022'	602 02 0 00 000001 		TXNE T2,GD%PAR		; Does terminal allow parity?
   180	001023'	334 02 0 00 001454'		SKIPA T2,[FLD(^D8,OF%BSZ)!OF%RD!OF%WR] ; Yes, 8 bit bytes and read/write access
   181	001024'	200 02 0 00 001455'		MOVE T2,[FLD(^D7,OF%BSZ)!OF%RD!OF%WR] ; No, then 7 bit bytes and read/write access
   182	001025'	104 00 0 00 000021 		OPENF			; Open the network connection
   183						 ERJMP [JSERR			; If failed, tell user
   184							MOVE T1,DCNJFN		; And release the JFN
   185							RLJFN
   186							 JFCL
   187							CALL ALLON		; Reset TTY to normal mode
   188	001026'	320 16 0 00 001456'			JRST HSTNAM]		; And go back to get host name
   189	001027'	200 01 0 00 000070'		MOVE T1,FORK		; Restore the process handle obtained
   190	001030'	201 02 0 00 001245'		MOVEI T2,DOINP0		; The start address
   191	001031'	104 00 0 00 000157 		SFORK			; Start the process to read input from TTY
   192						 ERJMP [RESET			; If failed, reset ourself
   193							JSHLT			; Tell user and halt
   194	001032'	320 16 0 00 001464'			JRST START]		; Go back to beginning if continued
   195	001033'	254 00 0 00 001034'		JRST GOTDA1		; Connection now opened. Wait for input
   196
NRT20 - Program to permit logins to remote network host	MACRO %53A(1152) 15:52 14-Feb-80 Page 10
NRT20	MAC	11-Jan-80 15:58		GOTDA1 - Read data from network connection

   197						SUBTTL	GOTDA1 - Read data from network connection
   198
   199	001034'	200 01 0 00 000003'	GOTDA1:	MOVE T1,DCNJFN		; Get the network connection JFN
   200	001035'	200 02 0 00 001467'		MOVE T2,[POINT ^D8,DBUFFR] ; Pointer to buffer
   201	001036'	211 03 0 00 000001 		MOVNI T3,1		; One byte only
   202	001037'	104 00 0 00 000052 		SIN			; Read from logical link
   203	001040'	320 16 0 00 001151'		 ERJMP BADCON			; If error, connection broken
   204	001041'	200 03 0 00 000002 		MOVE T3,T2		; Save byte pointer
   205	001042'	104 00 0 00 000102 		SIBE			; Any more data to read now ?
   206	001043'	334 00 0 00 000000 		 SKIPA				; Yes, read the rest
   207						JRST [	SETZM T4	; No, then go type what there is to user
   208	001044'	254 00 0 00 001470'			JRST GOTDAX]
   209	001045'	250 02 0 00 000003 		EXCH T2,T3		; Restore byte pointer
   210	001046'	200 04 0 00 000003 		MOVE T4,T3		; Save count
   211	001047'	213 00 0 00 000003 		MOVNS T3		; Read the exact number available
   212	001050'	104 00 0 00 000052 		SIN			; Read remaining bytes
   213	001051'	320 16 0 00 001151'		 ERJMP BADCON			; If error, connection broken
   214
   215	001052'	201 01 0 00 000101 	GOTDAX:	MOVEI T1,.PRIOU		; Output to users terminal
   216	001053'	200 02 0 00 001467'		MOVE T2,[POINT ^D8,DBUFFR] ; Pointer to data from remote host
   217	001054'	211 03 0 04 000001 		MOVNI T3,1(T4)		; Output count
   218	001055'	104 00 0 00 000053 		SOUT			; Type data on users terminal
   219	001056'	254 00 0 00 001034'		JRST GOTDA1		; And continue
   220
NRT20 - Program to permit logins to remote network host	MACRO %53A(1152) 15:52 14-Feb-80 Page 11
NRT20	MAC	11-Jan-80 15:58		ALLON - Restore echoing and interrupts on terminal

   221						SUBTTL	ALLON - Restore echoing and interrupts on terminal
   222
   223	001057'	201 01 0 00 777773 	ALLON:	MOVX T1,.FHJOB		; Set terminal interrupt word for entire job
   224	001060'	476 00 0 00 000002 		SETOM T2		; Terminal interrupt word mask for all codes
   225	001061'	104 00 0 00 000174 		STIW			; Set terminal interrupt word
   226	001062'	201 01 0 00 000100 		MOVEI T1,.PRIIN		; Primary input
   227	001063'	104 00 0 00 000107 		RFMOD			; Read JFN mode word
   228	001064'	660 02 0 00 004300 		TXO T2,TT%ECO!TT%DAM	; Echo on, ASCII data mode, output translation disabled
   229	001065'	104 00 0 00 000110 		SFMOD			; Set new JFN mode word
   230	001066'	263 17 0 00 000000 		RET			; Done, return to caller
   231
NRT20 - Program to permit logins to remote network host	MACRO %53A(1152) 15:52 14-Feb-80 Page 12
NRT20	MAC	11-Jan-80 15:58		PRESCN - Prescan EXEC command for host name

   232						SUBTTL	PRESCN - Prescan EXEC command for host name
   233
   234	001067'	332 00 0 00 000071'	PRESCN:	SKIPE	VIRGIN		; Starting out fresh?
   235	001070'	254 00 0 00 000000*		RETSKP			; No..., so return +2 to force prompt
   236	001071'	201 01 0 00 000000 		MOVEI	T1,.RSINI	; Make rescan buffer available 
   237	001072'	104 00 0 00 000500 		RSCAN			; as command line to process reading from CTTY
   238	001073'	320 16 0 00 001145'		 ERJMP PRESC1
   239	001074'	201 01 0 00 000001 		MOVX	T1,.RSCNT	; Get count of characters 
   240	001075'	104 00 0 00 000500 		RSCAN			; in rescan buffer
   241	001076'	320 16 0 00 001145'		 ERJMP PRESC1
   242	001077'	322 01 0 00 001472'		JUMPE	T1,[RETSKP]	; None there, so must prompt
   243	001100'	201 01 0 00 000100 		MOVEI	T1,.PRIIN	; Primary input
   244	001101'	104 00 0 00 000050 		BIN			; Read a character
   245	001102'	302 02 0 00 000122 		CAIE	T2,"R"		; RUN or R (program name can't start with "R")
   246	001103'	306 02 0 00 000162 		CAIN	T2,"r"		; Check lowercase also
   247	001104'	254 00 0 00 001141'		JRST PRESC0		; Yes, no prescanning, go eat rest of line
   248	001105'	302 02 0 00 000040 	PRES1:	CAIE	T2," "		; Have we hit a space yet?
   249	001106'	306 02 0 00 000011 		CAIN	T2,"	"	; Also accept a tab
   250	001107'	254 00 0 00 001114'		JRST	PRES2		; Yes, read the node name
   251	001110'	306 02 0 00 000012 		CAIN	T2,.CHLFD	; Have we hit EOL yet?
   252	001111'	254 00 0 00 001070*		RETSKP			; Yes, no node name, skip return to prompt
   253	001112'	104 00 0 00 000050 		BIN			; Read the next character
   254	001113'	254 00 0 00 001105'		JRST	PRES1		; And loop to test
   255	001114'	205 01 0 00 000031 	PRES2:	MOVSI	T1,.TICCY	; Default to ^Y for interrupt character
   256	001115'	541 01 0 00 000001 		HRRI	T1,1		; And use channel one
   257	001116'	104 00 0 00 000137 		ATI			; Assign terminal code to interrupt channel
   258	001117'	205 01 0 00 400000 		MOVX	T1,1B0		; Get a hi order bit
   259	001120'	242 01 0 00 777747 		LSH	T1,-.TICCY	; Shift bit by value of ^Y code
   260	001121'	660 01 0 00 000020 		TXO	T1,1B<.TICTI>	; Allow typein
   261	001122'	202 01 0 00 000000'		MOVEM	T1,STIMSK	; Save for use later
   262	001123'	561 01 0 00 001473'		TMSG	<[Type ^Y to return to node > ; Tell user how to get back
   263	001124'	104 00 0 00 000076 
   264	001125'	201 01 0 00 000001 		MOVX T1,.NDGLN
   265	001126'	201 02 0 00 000003 		MOVX T2,T3
   266	001127'	200 03 0 00 001501'		MOVE T3,[POINT 7,LOCAL]
   267	001130'	104 00 0 00 000567 		NODE			; And name of local node
   268	001131'	255 00 0 00 000000 		 JFCL
   269	001132'	561 01 0 00 000001'		HRROI T1,LOCAL
   270	001133'	104 00 0 00 000076 		PSOUT
   271						TMSG	<]
   272	001134'	561 01 0 00 001431'	>				; Finish off nicely
   273	001135'	104 00 0 00 000076 
   274	001136'	561 01 0 00 001374'		PROMPT	<>		; Null prompt
   275	001137'	260 17 0 00 000756*
   276	001140'	263 17 0 00 000000 		RET			; Done, return no skip to not prompt
   277
   278					;HERE TO FLUSH REST OF EXEC COMMAND LINE
   279
   280	001141'	104 00 0 00 000050 	PRESC0:	BIN			; Get next byte
   281	001142'	302 02 0 00 000012 		CAIE T2,.CHLFD		; The end of line?
   282	001143'	254 00 0 00 001141'		JRST PRESC0		; No, Try again
   283	001144'	254 00 0 00 001111*		RETSKP			; Yes, return +2 to prompt for node
   284
   285					;Here if rescan attempt does not succeed
   286
NRT20 - Program to permit logins to remote network host	MACRO %53A(1152) 15:52 14-Feb-80 Page 12-1
NRT20	MAC	11-Jan-80 15:58		PRESCN - Prescan EXEC command for host name

   287	001145'	561 01 0 00 001502'	PRESC1:	HRROI T1,[ASCIZ/Unexpected error in scanning command line/] ; If error,
   288	001146'	104 00 0 00 000313 		ESOUT			; tell user
   289	001147'	104 00 0 00 000170 		HALTF			; and halt
   290	001150'	254 00 0 00 000707'		JRST START		; Start over if continued...
   291
NRT20 - Program to permit logins to remote network host	MACRO %53A(1152) 15:52 14-Feb-80 Page 13
NRT20	MAC	11-Jan-80 15:58		BADCON - Handle a broken network connection

   292						SUBTTL BADCON - Handle a broken network connection
   293
   294	001151'	104 00 0 00 000141 	BADCON:	CIS			; Prevent further interruption
   295	001152'	260 17 0 00 001057'		CALL ALLON		; Restore TTY modes
   296	001153'	200 01 0 00 000070'		MOVE T1,FORK		; Restore the process handle
   297	001154'	104 00 0 00 000153 		KFORK			; Kill the terminal input process
   298						HRROI T1,[ASCIZ /
   299	001155'	561 01 0 00 001513'	?Connection broken. Reason: /]	; Tell user bad news
   300	001156'	104 00 0 00 000076 		PSOUT
   301	001157'	200 01 0 00 000003'		MOVE T1,DCNJFN		; Restore network connection JFN
   302	001160'	201 02 0 00 000025 		MOVEI T2,.MORLS		; Get current link status
   303	001161'	104 00 0 00 000077 		MTOPR
   304	001162'	550 02 0 00 000003 		HRRZ T2,T3		; Get DECnet error reason code
   305	001163'	201 01 0 00 000101 		MOVEI T1,.PRIOU		; Output to users terminal
   306	001164'	201 03 0 00 000012 		MOVEI T3,12		; In decimal
   307	001165'	104 00 0 00 000224 		NOUT			; Type it
   308	001166'	255 00 0 00 000000 		 JFCL
   309	001167'	307 02 0 00 000062 		CAIG T2,MAXMSG		; Know about this error?
   310	001170'	336 01 0 02 001267'		SKIPN T1,MSGTBL(T2)	; Yes, have one to type?
   311	001171'	334 00 0 00 000000 		SKIPA			; No
   312	001172'	104 00 0 00 000076 		PSOUT			; Yes, type it then
   313						HRROI T1,[ASCIZ /
   314	001173'	561 01 0 00 001522'	/]
   315	001174'	104 00 0 00 000076 		PSOUT			; Pretty it
   316	001175'	200 01 0 00 000003'		MOVE T1,DCNJFN		; Get the JFN for the link
   317	001176'	661 01 0 00 004000 		TXO T1,CZ%ABT		; Abort any operations
   318	001177'	104 00 0 00 000022 		CLOSF			; Close it
   319						 ERJMP [JSERR			;If fails tell why
   320	001200'	320 16 0 00 001523'			JRST .+1]
   321	001201'	104 00 0 00 000170 		HALTF			; Halt here
   322	001202'	254 00 0 00 000707'		JRST START		; And start at beginning if continued
   323
NRT20 - Program to permit logins to remote network host	MACRO %53A(1152) 15:52 14-Feb-80 Page 14
NRT20	MAC	11-Jan-80 15:58		ESC - Handle input of panic escape character from terminal

   324						SUBTTL	ESC - Handle input of panic escape character from terminal
   325
   326					;
   327					; Note: This routine runs at software interrupt level when the user
   328					;	types the specifed escape character. It resets the terminal
   329					;	to its normal mode and halts, thus causing the EXEC to regain
   330					;	control. If the EXEC CONTINUE command is issued data will be
   331					;	again directed to the remote host.
   332					;
   333
   334	001203'	124 01 0 00 000054'	ESC:	DMOVEM T1,SAVACE	; Save AC's we're going to use
   335	001204'	124 03 0 00 000056'		DMOVEM T3,SAVACE+2
   336	001205'	200 01 0 00 000070'		MOVE T1,FORK		; Restore process handle
   337	001206'	104 00 0 00 000154 		FFORK			; Freeze the terminal input process
   338	001207'	201 01 0 00 000101 		MOVEI T1,.PRIOU		; Users terminal
   339	001210'	104 00 0 00 000107 		RFMOD			; Get current TTY modes
   340	001211'	261 17 0 00 000002 		PUSH P,T2		; Save them
   341	001212'	660 02 0 00 000300 		TXO T2,TT%DAM		; ASCII data mode, output translation disabled
   342	001213'	104 00 0 00 000110 		SFMOD			; Set new JFN mode word
   343	001214'	104 00 0 00 000101 		CFOBF			; Flush any pending terminal output
   344	001215'	201 01 0 00 000100 		MOVEI T1,.PRIIN		; Users terminal
   345	001216'	104 00 0 00 000100 		CFIBF			; Flush terminal type ahead
   346						HRROI T1,[ASCIZ /
   347	001217'	561 01 0 00 001525'	[Connection broken, back at node /] ; Tell user he's now talking to us
   348	001220'	104 00 0 00 000076 		PSOUT
   349	001221'	201 01 0 00 000001 		MOVX T1,.NDGLN
   350	001222'	201 02 0 00 000003 		MOVX T2,T3
   351	001223'	200 03 0 00 001501'		MOVE T3,[POINT 7,LOCAL]
   352	001224'	104 00 0 00 000567 		NODE			; Get our node name
   353	001225'	255 00 0 00 000000 		 JFCL
   354	001226'	561 01 0 00 000001'		HRROI T1,LOCAL
   355	001227'	104 00 0 00 000076 		PSOUT			; Type node name to user
   356						HRROI T1,[ASCIZ/,
   357					Type CONTINUE to resume connection]
   358	001230'	561 01 0 00 001535'	/]				; Let him know how to restart
   359	001231'	104 00 0 00 000076 		PSOUT
   360	001232'	104 00 0 00 000170 		HALTF			; Halt here until continued
   361						HRROI T1,[ASCIZ/%Reconnecting to remote node...
   362	001233'	561 01 0 00 001546'	/]				; Let user know we are restarting
   363	001234'	104 00 0 00 000076 		PSOUT
   364	001235'	201 01 0 00 000101 		MOVEI T1,.PRIOU		; Users terminal
   365	001236'	262 17 0 00 000002 		POP P,T2		; Desired TTY modes
   366	001237'	104 00 0 00 000110 		SFMOD			; Set new JFN mode word
   367	001240'	200 01 0 00 000070'		MOVE T1,FORK		; Restore process handle
   368	001241'	104 00 0 00 000155 		RFORK			; Resume the terminal input process
   369	001242'	120 01 0 00 000054'		DMOVE T1,SAVACE		; Restore the AC's
   370	001243'	120 03 0 00 000056'		DMOVE T3,SAVACE+2
   371	001244'	104 00 0 00 000136 		DEBRK			; And finish interrupt processing
   372
NRT20 - Program to permit logins to remote network host	MACRO %53A(1152) 15:52 14-Feb-80 Page 15
NRT20	MAC	11-Jan-80 15:58		DOINP0 - Read terminal input and send to remote host

   373						SUBTTL	DOINP0 - Read terminal input and send to remote host
   374
   375					;
   376					; Note: This routine runs as a separate process to read characters
   377					;	from the users terminal and send them to the NRTSRV server
   378					;	which is running on the remote host system
   379					;
   380
   381	001245'	201 04 0 00 000310 	DOINP0:	MOVEI T4,MAXINP		; Maximum input characters
   382	001246'	200 03 0 00 001555'		MOVE T3,[POINT 7,INSTR]	; Where they are going
   383	001247'	201 01 0 00 000100 		MOVEI T1,.PRIIN		; Primary input
   384	001250'	104 00 0 00 000050 		BIN			; Wait for a byte
   385	001251'	254 00 0 00 001256'		JRST DOIN0		; Got one, go handle it...
   386
   387	001252'	104 00 0 00 000102 	DOINP:	SIBE			; Any bytes?
   388	001253'	334 00 0 00 000000 		 SKIPA			; Yes
   389	001254'	254 00 0 00 001260'		JRST EMPTY		; No
   390	001255'	104 00 0 00 000050 		BIN			; Get another byte
   391	001256'	136 02 0 00 000003 	DOIN0:	IDPB T2,T3		; Stash it in input stream buffer
   392	001257'	367 04 0 00 001252'		SOJG T4,DOINP		; Do it all
   393	001260'	211 03 0 00 000310 	EMPTY:	MOVNI T3,MAXINP		; Maximum characters
   394	001261'	270 03 0 00 000004 		ADD T3,T4		; Compute number to send
   395	001262'	322 03 0 00 001245'		JUMPE T3,DOINP0		; If none, go wait
   396	001263'	200 01 0 00 000003'		MOVE T1,DCNJFN		; The network JFN
   397	001264'	561 02 0 00 000004'		HRROI T2,INSTR		; Pointer to input stream buffer
   398	001265'	104 00 0 00 000532 		SOUTR			; Send this buffer to remote NRTSRV
   399	001266'	254 00 0 00 001245'		JRST DOINP0		; And continue
   400
NRT20 - Program to permit logins to remote network host	MACRO %53A(1152) 15:52 14-Feb-80 Page 16
NRT20	MAC	11-Jan-80 15:58		MSGTBL - Table of DECnet disconnect/abort reason text

   401						SUBTTL MSGTBL - Table of DECnet disconnect/abort reason text
   402
   403					;
   404					; This table is used by the BADCON routine to provide an english
   405					; text translation for the DECnet error codes which indicate why
   406					; the network logical link connection was broken
   407					;
   408
   409					;MACRO TO MAKE ENTRIES IN NSP ERROR TABLE
   410
   411			000062			MAXMSG==^D50		; Maximum number of NSP error messages
   412
   413					DEFINE NSPERR (CODE,TEXT,BASE<MSGTBL>),<
   414						.ORG BASE+CODE
   415						POINT 7,[ASCIZ\: TEXT\]
   416						.ORG
   417					>
   418	001267'				MSGTBL:				;DECNET ERROR TEXT TABLE
   419
   420					REPEAT MAXMSG,<POINT 7,[ASCIZ\: Undefined NSP error\]> ;MAKE TABLE SPACE
   421	001267'	44 07 0 00 001556'
   422	001270'	44 07 0 00 001556'
   423	001271'	44 07 0 00 001556'
   424	001272'	44 07 0 00 001556'
   425	001273'	44 07 0 00 001556'
   426	001274'	44 07 0 00 001556'
   427	001275'	44 07 0 00 001556'
   428	001276'	44 07 0 00 001556'
   429	001277'	44 07 0 00 001556'
   430	001300'	44 07 0 00 001556'
   431	001301'	44 07 0 00 001556'
   432	001302'	44 07 0 00 001556'
   433	001303'	44 07 0 00 001556'
   434	001304'	44 07 0 00 001556'
   435	001305'	44 07 0 00 001556'
   436	001306'	44 07 0 00 001556'
   437	001307'	44 07 0 00 001556'
   438	001310'	44 07 0 00 001556'
   439	001311'	44 07 0 00 001556'
   440	001312'	44 07 0 00 001556'
   441	001313'	44 07 0 00 001556'
   442	001314'	44 07 0 00 001556'
   443	001315'	44 07 0 00 001556'
   444	001316'	44 07 0 00 001556'
   445	001317'	44 07 0 00 001556'
   446	001320'	44 07 0 00 001556'
   447	001321'	44 07 0 00 001556'
   448	001322'	44 07 0 00 001556'
   449	001323'	44 07 0 00 001556'
   450	001324'	44 07 0 00 001556'
   451	001325'	44 07 0 00 001556'
   452	001326'	44 07 0 00 001556'
   453	001327'	44 07 0 00 001556'
   454	001330'	44 07 0 00 001556'
   455	001331'	44 07 0 00 001556'
NRT20 - Program to permit logins to remote network host	MACRO %53A(1152) 15:52 14-Feb-80 Page 16-1
NRT20	MAC	11-Jan-80 15:58		MSGTBL - Table of DECnet disconnect/abort reason text

   456	001332'	44 07 0 00 001556'
   457	001333'	44 07 0 00 001556'
   458	001334'	44 07 0 00 001556'
   459	001335'	44 07 0 00 001556'
   460	001336'	44 07 0 00 001556'
   461	001337'	44 07 0 00 001556'
   462	001340'	44 07 0 00 001556'
   463	001341'	44 07 0 00 001556'
   464	001342'	44 07 0 00 001556'
   465	001343'	44 07 0 00 001556'
   466	001344'	44 07 0 00 001556'
   467	001345'	44 07 0 00 001556'
   468	001346'	44 07 0 00 001556'
   469	001347'	44 07 0 00 001556'
   470	001350'	44 07 0 00 001556'
   471									; & UNDEFINED ENTRIES
   472
   473	001267'	44 07 0 00 001563'		NSPERR (.DCX0,<No special error>)
   474	001270'	44 07 0 00 001567'		NSPERR (.DCX1,<Resource allocation failure>)
   475	001271'	44 07 0 00 001575'		NSPERR (.DCX2,<Destination node does not exist>)
   476	001272'	44 07 0 00 001604'		NSPERR (.DCX3,<Node shutting down>)
   477	001273'	44 07 0 00 001611'		NSPERR (.DCX4,<Destination NRT process does not exist>)
   478	001274'	44 07 0 00 001622'		NSPERR (.DCX5,<Invalid name field>)
   479	001300'	44 07 0 00 001627'		NSPERR (.DCX9,<NRT server aborted link>)
   480	001302'	44 07 0 00 001635'		NSPERR (.DCX11,<Undefined error>)
   481	001314'	44 07 0 00 001641'		NSPERR (.DCX21,<CI with illegal destination address>)
   482	001317'	44 07 0 00 001651'		NSPERR (.DCX24,<Flow control violation>)
   483	001327'	44 07 0 00 001656'		NSPERR (.DCX32,<Too many connections to node>)
   484	001330'	44 07 0 00 001665'		NSPERR (.DCX33,<Too many connections to destination NRT process>)
   485	001331'	44 07 0 00 001677'		NSPERR (.DCX34,<Access not permitted>)
   486	001332'	44 07 0 00 001704'		NSPERR (.DCX35,<Logical link services mismatch>)
   487	001333'	44 07 0 00 001713'		NSPERR (.DCX36,<Invalid account>)
   488	001334'	44 07 0 00 001717'		NSPERR (.DCX37,<Segment size too small>)
   489	001335'	44 07 0 00 001724'		NSPERR (.DCX38,<Process aborted>)
   490	001336'	44 07 0 00 001730'		NSPERR (.DCX39,<No path to destination node>)
   491	001337'	44 07 0 00 001736'		NSPERR (.DCX40,<Link aborted due to data loss>)
   492	001340'	44 07 0 00 001745'		NSPERR (.DCX41,<Destination logical link address does not exist>)
   493	001341'	44 07 0 00 001757'		NSPERR (.DCX42,<Confirmation of disconnect initiate>)
   494	001342'	44 07 0 00 001767'		NSPERR (.DCX43,<Image data field too long>)
   495
   496
   497			000707'			END START

NO ERRORS DETECTED

PROGRAM BREAK IS 001775
CPU TIME USED 00:04.472

71P CORE USED
NRT20 - Program to permit logins to remote network host	MACRO %53A(1152) 15:52 14-Feb-80 Page S-1
NRT20	MAC	11-Jan-80 15:58		SYMBOL TABLE

A		000001		HSTNAM		000755'		T1		000001	spd	
AIC	104000	000131	int	INSIZ		000050	spd	T2		000002	spd	
ALLON		001057'		INSTR		000004'		T3		000003	spd	
ATI	104000	000137	int	JSERR	000000000000#	pol	T4		000004	spd	
ATMBLN		000141	sin	JSERR0		000000	ext	TT%DAM		000300	sin	
ATMBUF		000304'	int	JSHLT	000000000000#	pol	TT%ECO		004000	sin	
BADCON		001151'		JSHLT0		000000	ext	TT%WAK		170000	sin	
BIN	104000	000050	int	KFORK	104000	000153	int	VIRGIN		000071'		
CALL	260740	000000		LEVTAB		000075'		..XX	017005	000000	spd	
CFIBF	104000	000100	int	LOCAL		000001'		.AC1		000001	spd	
CFIELD		000760'	ext	MAXINP		000310	spd	.CHLFD		000012	sin	
CFOBF	104000	000101	int	MAXMSG		000062	spd	.CMTXT		000017	sin	
CFORK	104000	000152	int	MSGTBL		001267'		.DCX0		000000	sin	
CHNTAB		000100'		MTOPR	104000	000077	int	.DCX1		000001	sin	
CIS	104000	000141	int	NAME		000060'		.DCX11		000013	sin	
CJFNBK		000465'	int	NODE	104000	000567	int	.DCX2		000002	sin	
CJFNLN		000020	sin	NOUT	104000	000224	int	.DCX21		000025	sin	
CLOSF	104000	000022	int	NPDL		000020	spd	.DCX24		000030	sin	
CM%DPP	000002	000000	sin	OF%BSZ	770000	000000	sin	.DCX3		000003	sin	
CM%FNC	777000	000000	sin	OF%RD		200000	sin	.DCX32		000040	sin	
CM%HPP	000004	000000	sin	OF%WR		100000	sin	.DCX33		000041	sin	
CM%SDH	000001	000000	sin	OPENF	104000	000021	int	.DCX34		000042	sin	
CMDACS		000264'	int	P		000017	spd	.DCX35		000043	sin	
CMDBLN		000141	sin	PC		000072'		.DCX36		000044	sin	
CMDBUF		000123'	int	PDL		000103'		.DCX37		000045	sin	
CMDFRM		000506'	int	PREHST		000757'		.DCX38		000046	sin	
CMDINI		000712'	ext	PRES1		001105'		.DCX39		000047	sin	
CMDPDL		000507'	int	PRES2		001114'		.DCX4		000004	sin	
CMDPLN		000200	sin	PRESC0		001141'		.DCX40		000050	sin	
CR%MAP	400000	000000	sin	PRESC1		001145'		.DCX41		000051	sin	
CX		000016	spd	PRESCN		001067'		.DCX42		000052	sin	
CZ%ABT	004000	000000	sin	PSOUT	104000	000076	int	.DCX43		000053	sin	
DBUFFR		100000	spd	REPARA		000505'	int	.DCX5		000005	sin	
DCNJFN		000003'		RESET	104000	000147	int	.DCX9		000011	sin	
DEBRK	104000	000136	int	RET	263740	000000		.FHJOB		777773	sin	
DOIN0		001256'		RFMOD	104000	000107	int	.FHSLF		400000	sin	
DOINP		001252'		RFORK	104000	000155	int	.MORLS		000025	sin	
DOINP0		001245'		RLJFN	104000	000023	int	.NDGLN		000001	sin	
DPROMP		001137'	ext	RPCAP	104000	000150	int	.PRIIN		000100	sin	
EIR	104000	000126	int	RSCAN	104000	000500	int	.PRIOU		000101	sin	
EMPTY		001260'		RSKP		001472'	ext	.RSCNT		000001	sin	
EPCAP	104000	000151	int	SAVACE		000054'		.RSINI		000000	sin	
ERJMP	320700	000000	int	SBK		000445'	int	.TICCY		000031	sin	
ESC		001203'		SC%CTC	400000	000000	sin	.TICCZ		000032	sin	
ESCHAR		000735'		SETTMD		000771'		.TICTI		000037	sin	
ESOUT	104000	000313	int	SFMOD	104000	000110	int	
FFORK	104000	000154	int	SFORK	104000	000157	int	
FORK		000070'		SIBE	104000	000102	int	
GD%PAR		000001	sin	SIN	104000	000052	int	
GDSTS	104000	000145	int	SIR	104000	000125	int	
GJ%SHT	000001	000000	sin	SOUT	104000	000053	int	
GOTDA1		001034'		SOUTR	104000	000532	int	
GOTDAX		001052'		START		000707'		
GTJFN	104000	000020	int	STIMSK		000000'		
HALTF	104000	000170	int	STIW	104000	000174	int	
A	   103	   124	   274
ALLON	    96	   171	   187	   223#	   295
ATMBLN	    72#	    72
ATMBUF	    72#	   107	   129
BADCON	   203	   213	   294#
CFIELD	   106	   127
CHNTAB	    67#	    91
CJFNBK	    72#
CJFNLN	    72#	    72
CM%DPP	   105
CM%FNC	   105	   126
CM%HPP	   105	   126
CM%SDH	   105	   126
CMDACS	    72#
CMDBLN	    72#	    72
CMDBUF	    72#
CMDFRM	    73#
CMDINI	    80
CMDPDL	    74#
CMDPLN	    74#	    74
CR%MAP	    81
CX	    45#
CZ%ABT	   317
DBUFFR	    51#	   200	   216
DCNJFN	    57#	   173	   178	   184	   199	   301	   316	   396
DOIN0	   385	   391#
DOINP	   387#	   392
DOINP0	   190	   381#	   395	   399
DPROMP	   104	   125	   275
EMPTY	   389	   393#
ESC	    68	   334#
ESCHAR	    99	   103#	   111
FORK	    61#	    86	   189	   296	   336	   367
GD%PAR	   179
GJ%SHT	   167
GOTDA1	   195	   199#	   219
GOTDAX	   208	   215#
HSTNAM	   120	   124#	   172	   188
INSIZ	    49#	    50	    58
INSTR	    58#	   128	   133	   139	   141	   163	   382	   397
JSERR	   170	   183	   319
JSHLT	    84	   193
LEVTAB	    64#	    91
LOCAL	    56#	   266	   269	   351	   354
MAXINP	    50#	   381	   393
MAXMSG	   309	   411#	   420
MSGTBL	   310	   418#	   473	   474	   475	   476	   477	   478	   479	   480	   481	   482	   483	   484
	   485	   486	   487	   488	   489	   490	   491	   492	   493	   494
NAME	    60#	   159	   168
NPDL	    48#	    70	    78
OF%BSZ	   180	   181
OF%RD	   180	   181
OF%WR	   180	   181
P	    46#	    78	   340	   365
PC	    63#	    64	    65	    66
PDL	    70#	    78
PREHST	    98	   126#
PRES1	   248#	   254
PRES2	   250	   255#
PRESC0	   247	   280#	   282
PRESC1	   238	   241	   287#
PRESCN	    97	   234#
REPARA	    72#
RSKP	   235	   242	   252	   283
SAVACE	    59#	   334	   335	   369	   370
SBK	    72#
SC%CTC	    89
SETTMD	   147	   151#
START	    77#	    85	   194	   290	   322	   497
STIMSK	    55#	   119	   157	   261
T1	    41#	    81	    86	    87	   105	   107	   108	   109	   112	   113	   114	   116	   117	   118
	   119	   126	   128	   132	   133	   134	   137	   141	   143	   151	   156	   159	   167	   173
	   174	   178	   184	   189	   199	   215	   223	   226	   236	   239	   242	   243	   255	   256
	   258	   259	   260	   261	   264	   269	   287	   296	   298	   301	   305	   310	   313	   316
	   317	   334	   336	   338	   344	   346	   349	   354	   356	   361	   364	   367	   369	   383
	   396
T2	    42#	    82	    91	    93	   112	   117	   129	   138	   153	   154	   157	   160	   163	   165
	   168	   176	   179	   180	   181	   190	   200	   204	   209	   216	   224	   228	   245	   246
	   248	   249	   251	   265	   281	   302	   304	   309	   310	   340	   341	   350	   365	   391
	   397
T3	    43#	    89	   130	   138	   139	   161	   201	   204	   209	   210	   211	   217	   265	   266
	   304	   306	   335	   350	   351	   370	   382	   391	   393	   394	   395
T4	    44#	   207	   210	   217	   381	   392	   394
TT%DAM	   154	   228	   341
TT%ECO	   154	   228
TT%WAK	   153
VIRGIN	    62#	    79	   234
..MX1	    81#	    81	    82	    93#	    93	    94	   116#	   116	   117	   132#	   132	   133	   156#	   156
	   157	   167#	   167	   168	   223#	   223	   224	   239#	   239	   240	   258#	   258	   259	   264#
	   264	   265	   265#	   266	   349#	   349	   350	   350#	   351
..MX2	    81#	    81	    82	    93#	    93	    94	   116#	   116	   117	   132#	   132	   133	   156#	   157
	   167#	   167	   168	   223#	   224	   239#	   240	   258#	   258	   259	   264#	   265	   265#	   266
	   349#	   350	   350#	   351
..TX1	    89#	    89	    90	   118#	   118	   119	   153#	   153	   154	   154#	   155	   179#	   179	   180
	   228#	   228	   229	   260#	   260	   261	   317#	   317	   318	   341#	   341	   342
..TX2	    89#	    89	    90	   118#	   119	   153#	   154	   154#	   155	   179#	   180	   228#	   229	   260#
	   261	   317#	   317	   318	   341#	   342
..XX	   105#	   105	   126#	   126
.AC1	   262	   272
.CHLFD	   251	   281
.CMTXT	   105	   126
.DCX0	   473
.DCX1	   474
.DCX11	   480
.DCX2	   475
.DCX21	   481
.DCX24	   482
.DCX3	   476
.DCX32	   483
.DCX33	   484
.DCX34	   485
.DCX35	   486
.DCX36	   487
.DCX37	   488
.DCX38	   489
.DCX39	   490
.DCX4	   477
.DCX40	   491
.DCX41	   492
.DCX42	   493
.DCX43	   494
.DCX5	   478
.DCX9	   479
.FHJOB	   156	   223
.FHSLF	    87
.MORLS	   302
.NDGLN	   137	   264	   349
.PRIIN	   151	   226	   243	   344	   383
.PRIOU	   174	   215	   305	   338	   364
.PSECT	    81	    82	    89	    90	    93	    94	   116	   117	   118	   119	   132	   133	   153	   154
	   155	   156	   157	   167	   168	   179	   180	   223	   224	   228	   229	   239	   240	   258
	   259	   260	   261	   264	   265	   266	   317	   318	   341	   342	   349	   350	   351
.RSCNT	   239
.RSINI	   236
.TICCY	   255	   259
.TICCZ	   108
.TICTI	   118	   260
AIC	    94
ATI	   115	   257
BIN	   244	   253	   280	   384	   390
CALL	    80	    96	    97	   104	   106	   125	   127	   171	   187	   275	   295
CFIBF	   345
CFOBF	   343
CFORK	    83
CIS	   294
CLOSF	   318
CMDSTG	    72
DEBRK	   371
EIR	    95
EPCAP	    90
ERJMP	   176	   183	   192	   203	   213	   238	   241	   319
ESOUT	   110	   288
FFORK	   337
FLD	   105	   126	   180	   181
FLDDB.	   105	   126
GDSTS	   175
GTJFN	   169
HALTF	   289	   321	   360
KFORK	   297
MOVX	    81	    93	   116	   132	   156	   167	   223	   239	   258	   264	   265	   349	   350
MTOPR	   303
NODE	   140	   267	   352
NOUT	   307
NSPERR	   413#	   473	   474	   475	   476	   477	   478	   479	   480	   481	   482	   483	   484	   485
	   486	   487	   488	   489	   490	   491	   492	   493	   494
OPENF	   182
POS	   105	   126	   180	   181
PROMPT	   103	   124	   274
PSOUT	   136	   142	   145	   263	   270	   273	   300	   312	   315	   348	   355	   359	   363
RESET	    77	   192
RET	   230	   276
RETSKP	   235	   242	   252	   283
RFMOD	   152	   227	   339
RFORK	   368
RLJFN	   185
RPCAP	    88
RSCAN	   237	   240
SFMOD	   155	   229	   342	   366
SFORK	   191
SIBE	   205	   387
SIN	   202	   212
SIR	    92
SOUT	   131	   162	   164	   166	   218
SOUTR	   398
STIW	   158	   225
TMSG	   262	   271
TXNE	   179
TXO	    89	   118	   153	   228	   260	   317	   341
TXZ	   154
..TX	    89	   118	   153	   154	   179	   228	   260	   317	   341