Google
 

Trailing-Edge - PDP-10 Archives - bb-x141b-bb - klring.l20
There are 3 other files named klring.l20 in the archive. Click here to see a list.
KLRING -- KLINIK REQUEST TASK	MACRO M1113  03-APR-86 18:06
TABLE OF CONTENTS

     3-    2	KLRING -- KLINIK REQUEST TASK
     4-   45	KLRING -- (INITIALIZATION)
     5-  306	KLRING -- (CTY INPUT SUROUTINES)
     6-  406	KLRING -- (CTY/TTY OUTPUT ROUTINES)
     7-  500	KLRING -- (LOCAL DATA)
KLRING -- KLINIK REQUEST TASK	MACRO M1113  03-APR-86 18:06  PAGE 2


      1						.TITLE	KLRING -- KLINIK REQUEST TASK
      2						.SBTTL	KLRING -- KLINIK REQUEST TASK
      3						.LIST MEB
      4						.NLIST CND
      5
      9
     11						.IDENT	"B14230"
     13
     14					;
     15					;                             COPYRIGHT (C) 1975, 1978, 1985 BY
     16					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
     17					;			ALL RIGHTS RESERVED.
     18					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
     19					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
     20					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
     21					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
     22					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
     23					;
     24					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
     25					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
     26					;       CORPORATION.
     27					;
     28					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
     29					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
     30					;
     31					;
     32					;		VERSION: V14-23
     33					;
     34					;		AUTHOR:	R. MCLEAN
     35					;
     36					;		DATE: 19 MAY 76
     37					;
     38					;	MODIFICATIONS:
     39					;
     40					;	NO.	DATE		PROGRAMMER	PURPOSE
     41					;	---	----		----------	-------
     42					;	001	07-FEB-77	R. BELANGER	ADD NEW KLINIK FEATURES
     43					;  TCO 4.1.1105	11-MAR-80	R. BELANGER	CHANGE "EF.PR1" RECOGNITION
KLRING -- KLINIK REQUEST TASK	MACRO M1113  03-APR-86 18:06  PAGE 3
KLRING -- (INITIALIZATION)

     45						.SBTTL	KLRING -- (INITIALIZATION)
     46					;+
     47					;	THIS MODULE IS REQUESTED BY THE TELETYPE DRIVER WHEN THE
     48					;	KLINIK LINE RINGS.  IT HAS THE RESPONSIBILITY TO CHECK THE
     49					;	TIME OF DAY AND COMPARE IT WITH THE PERMITTED TIMES FOR
     50					;	KLINIK TO BE ENABLED.
     51					;	IT ALSO HAS THE RESPONSIBILITY TO CHECK THE PASSWORD AND
     52					;	IF IT IS CORRECT IT WILL THEN CONNECT THE DL11E TO THE
     53					;	TELETYPE INTERRUPT VECTORS AND KLINIK WILL BE ENABLED.
     54					;
     55					;	THIS TASK WILL TIME OUT IF MORE THAN TWO MINUTES HAS
     56					;	PASSED WITHOUT GETTING THE PASSWORD CORRECT.
     57					;
     58					;-
     59					;
     60						.MCALL	QIOW$,ALUN$,DIR$,EXIT$S,WSIG$S,CALL,RETURN
     61						.MCALL	RQST$,WTSE$S,CLEF$S,MRKT$,.ENB6,.INH6
     62
     63						.ENABL	LSB
     64	000000				KLRING::
     65	000000					DIR$	#CTY		; GET MAIN CONSOLE
	000000	012746 	002230'			MOV	#CTY,-(SP)
	000004	104375 				EMT	375
     66	000006					CLEF$S	#5.		; RESET TIME OUT EVENT FLAG
	000006	012746 	000005 			MOV	#5.,-(SP)
	000012	012746 				MOV	(PC)+,-(SP)
	000014	   037 	   002 			.BYTE	31.,2
	000016	104375 				EMT	375
     67	000020	016705 	000000G			MOV	KLNPTR,R5	; +++001 AND GET KLINIK LINE POINTERS.
     68	000024	016504 	000000G			MOV	TTYEXP(R5),R4	; +++001 EXTERNAL PAGE ADDRESS TO R4
     69	000030					.INH6			; +++001 DISALLOW INTERRUPTS
	000030	013746 	000000G			MOV	@#PS,-(SP)
	000034	112737 	000300 	000000G		MOVB	#300,@#PS
     70	000042	042714 	000000C			BIC	#DL.DEN!DL.REN,(R4) ;;; +++001 DISABLE THIS LINE
     71	000046	042764 	000000G	000004 		BIC	#DL.XEN,4(R4)	;;; +++001 SO
     72	000054	005065 	000000G			CLR	TTYEXP(R5)	;;; +++001 SO EXEC CAN'T MEDDLE
     73	000060					.ENB6			;;; +++001 ENABLE INTERRUPTS
	000060	012637 	000000G			MOV	(SP)+,@#PS
     74	000064	105767 	000000G			TSTB	.KLNMD+0	; +++001 IS KLINIK ENABLED AT ALL??
     75	000070	001404 				BEQ	KLCLS		; +++001 NO -- SAY SO AND EXIT
     76	000072	002460 				BLT	20$		; +++001 YES -- JUST CHECK WINDOW IF USER
     77	000074	105767 	000000G			TSTB	.KLNPW		; +++001 REMOTE -- IS THERE A PASSWORD ?
     78	000100	001055 				BNE	20$		; +++001 YES -- CHECK THE WINDOW OUT
     79	000102				KLCLS:				; +++001 HERE IF WINDOW CLOSED OR NO PASSWORD
     80	000102	012700 	000004 			MOV	#4,R0		; +++001 PACKET LENGTH TO R0
     81	000106	012701 				MOV	(PC)+,R1	; +++001 MESSAGE TO R1
     82	000110	   000G	   000G			.BYTE	K.LRNG,K.LRRJ	; +++001 RING REJECTED
     83	000112					CALL	KLLOG		; +++001 LOG IT
	000112	004767 	001044 			JSR	PC,KLLOG
     84	000116	012702 	002536'			MOV	#CLSMS,R2	; +++001 MESSAGE POINTER TO R2
     85	000122	000415 				BR	KLXIT		; +++001 PRINT AND EXIT
     86						;
     87	000124				KLTMO:
     88	000124	012700 	000004 			MOV	#4,R0		; +++001 PACKET LENGTH TO R0
     89	000130	012701 	000005 			MOV	#^D5,R1		; +++001 MAX ATTEMPT COUNT TO R1
     90	000134	166701 	002056 			SUB	ATTCTR,R1	; +++001 COMPUTE TOTAL ATTEMPTS
     91	000140	000301 				SWAB	R1		; +++001 SWAP THE BYTES
KLRING -- KLINIK REQUEST TASK	MACRO M1113  03-APR-86 18:06  PAGE 3-1
KLRING -- (INITIALIZATION)

     92	000142	152701 	000000G			BISB	#K.LLTO,R1	; +++001 LOGON TIMEOUT
     93	000146					CALL	KLLOG		; +++001 LOG IT
	000146	004767 	001010 			JSR	PC,KLLOG
     94	000152	012702 	002762'			MOV	#TMOMS,R2	; +++001 LOGON TIMEOUT
     95	000156				KLXIT:
     96	000156	112767 	000004 	000001G		MOVB	#4,.KLNSW+1	; +++001 FLAG A DISCONNECT
     97	000164					CALL	PRBOTH		; +++001 TELL BOTH TERMINALS
	000164	004767 	001412 			JSR	PC,PRBOTH
     98	000170				KLDIE:
     99	000170					.INH6			; +++001 DISALLOW INTERRUPTS
	000170	013746 	000000G			MOV	@#PS,-(SP)
	000174	112737 	000300 	000000G		MOVB	#300,@#PS
    100	000202	105067 	000000G			CLRB	.KLNSW+0	;;; +++001 MAKE SURE KLINIK IS DISABLED
    101	000206	010465 	000000G			MOV	R4,TTYEXP(R5)	;;; +++001 RETURN THE LINE TO EXEC
    102	000212					.ENB6			;;; +++001 ALLOW INTERRUPTS
	000212	012637 	000000G			MOV	(SP)+,@#PS
    103	000216					DIR$	#RQKLD		; +++001 REQUEST KLDISC
	000216	012746 	002262'			MOV	#RQKLD,-(SP)
	000222	104375 				EMT	375
    104	000224				15$:
    105	000224					EXIT$S			; AND QUIT
	000224	012746 				MOV	(PC)+,-(SP)
	000226	   063 	   001 			.BYTE	51.,1
	000230	104375 				EMT	375
    106	000232	000000 				HALT			; HELP!
    107
    108	000234				20$:
    109	000234	016703 	000000G			MOV	.YEAR,R3	; +++001 CURRENT YEAR TO R3
    110	000240	162703 	003554 			SUB	#^D1900,R3	; +++001 MINUS 1900.
    111	000244	116702 	000000G			MOVB	.MON,R2		; +++001 CURRENT MONTH TO R2
    112	000250	005202 				INC	R2		; +++001 ADJUST IT
    113	000252	116701 	000000G			MOVB	.DAY,R1		; +++001 CURRENT DAY TO R1
    114	000256	005201 				INC	R1		; +++001 ADJUST IT
    115	000260	012700 	000000G			MOV	#.KLNFD,R0	; +++001 OPEN DATE POINTER TO R0
    116	000264	122003 				CMPB	(R0)+,R3	; +++001 OPEN YEAR BEFORE CURRENT YEAR??
    117	000266	101305 				BHI	KLCLS		; +++001 YES -- WINDOW IS CLOSED
    118	000270	103412 				BLO	25$		; +++001 NO -- WE ARE INSIDE OPEN DATE
    119	000272	122002 				CMPB	(R0)+,R2	; +++001 OPEN MONTH BEFORE CURRENT MONTH??
    120	000274	101302 				BHI	KLCLS		; +++001 YES -- WINDOW IS CLOSED
    121	000276	103407 				BLO	25$		; +++001 NO -- WE ARE INSIDE OPEN DATE
    122	000300	122001 				CMPB	(R0)+,R1	; +++001 OPEN DAY BEFORE CURRENT DAY??
    123	000302	101277 				BHI	KLCLS		; +++001 YES -- WINDOW IS CLOSED
    124	000304	103404 				BLO	25$		; +++001 NO -- WE ARE INSIDE OPEN DATE
    125	000306	026767 	000000G	000000G		CMP	.KLNFT,.SSM	; +++001 OPEN TIME BEFORE CURRENT TIME??
    126	000314	101272 				BHI	KLCLS		; +++001 YES -- WINDOW IS CLOSED
    127	000316				25$:
    128	000316	012700 	000000G			MOV	#.KLNTD,R0	; +++001 CLOSE DATE POINTER TO R0
    129	000322	122003 				CMPB	(R0)+,R3	; +++001 CLOSE YEAR AFTER CURRENT YEAR??
    130	000324	103666 				BLO	KLCLS		; +++001 NO -- WINDOW IS CLOSED
    131	000326	101012 				BHI	30$		; +++001 YES -- WE ARE INSIDE CLOSE DATE
    132	000330	122002 				CMPB	(R0)+,R2	; +++001 CLOSE MONTH AFTER CURRENT MONTH??
    133	000332	103663 				BLO	KLCLS		; +++001 NO -- WINDOW IS CLOSED
    134	000334	101007 				BHI	30$		; +++001 YES -- WE ARE INSIDE CLOSE DATE
    135	000336	122001 				CMPB	(R0)+,R1	; +++001 CLOSE DAY AFTER CURRENT DAY??
    136	000340	103660 				BLO	KLCLS		; +++001 NO -- WINDOW IS CLOSED
    137	000342	101004 				BHI	30$		; +++001 YES -- WE ARE INSIDE CLOSE DATE
    138	000344	026767 	000000G	000000G		CMP	.KLNTT,.SSM	; +++001 CLOSE TIME AFTER CURRENT TIME??
KLRING -- KLINIK REQUEST TASK	MACRO M1113  03-APR-86 18:06  PAGE 3-2
KLRING -- (INITIALIZATION)

    139	000352	103653 				BLO	KLCLS		; +++001 NO -- WINDOW IS CLOSED
    140	000354				30$:
    141	000354	012700 	000004 			MOV	#4,R0		; +++001 PACKET LENGTH TO R0
    142	000360	012701 				MOV	(PC)+,R1	; +++001 MESSAGE TO R1
    143	000362	   000G	   000G			.BYTE	K.LRNG,K.LRAC	; +++001 RING ACCEPTED
    144	000364					CALL	KLLOG		; +++001 LOG IT
	000364	004767 	000572 			JSR	PC,KLLOG
    145	000370	105767 	000000G			TSTB	.KLNMD+0	; +++001 DATE OK -- WHICH MODE??
    146	000374	002524 				BLT	70$		; +++001 FINISH UP AND EXIT IF USER
    147	000376				350$:				; +++001 HERE IF REMOTE KLINIK MODE
    148	000376	012702 	002300'			MOV	#VLMSG,R2	; SOMEONE IS HERE, OPERATOR !
    149	000402					CALL	PRBOTH		; +++001 TELL BOTH TERMINALS
	000402	004767 	001174 			JSR	PC,PRBOTH
    150	000406	016767 	000000G	001604 		MOV	.SSM,TIMST	; +++001 SAVE STARTING TIME
    151	000414	062767 	000074 	001576 		ADD	#^D60,TIMST	; +++001 TIME OUT ON PASSWORDS
    152	000422	012767 	000005 	001566 		MOV	#^D5,ATTCTR	; +++001 ALLOW 5 ATTEMPTS
    153	000430	000452 				BR	500$		; +++001 GO READ THE PASSWORD
    154						;
    155	000432				400$:				; +++001 HERE IF PASSWORD DOES NOT MATCH
    156	000432	005367 	001560 			DEC	ATTCTR		; +++001 COUNT THIS BAD TRY
    157	000436	012701 	000005 			MOV	#^D5,R1		; +++001 MAX ATTEMPT COUNT TO R1
    158	000442	166701 	001550 			SUB	ATTCTR,R1	; +++001 COMPUTE TOTAL ATTEMPTS
    159	000446	000301 				SWAB	R1		; +++001 SWAP THE BYTES
    160	000450	152701 	000000G			BISB	#K.LBPW,R1	; +++001 BAD PASSWORD
    161	000454	012700 	001270'			MOV	#LOGBFE,R0	; +++001 BUFFER POINTER TO R0
    162	000460	012702 	002230'			MOV	#PWD+6,R2	; +++001 PASSWORD POINTER TO R2
    163	000464	014240 				MOV	-(R2),-(R0)	; +++001 LOAD THE PASSWORD
    164	000466	014240 				MOV	-(R2),-(R0)	; +++001
    165	000470	014240 				MOV	-(R2),-(R0)	; +++001
    166	000472	010140 				MOV	R1,-(R0)	; +++001 LOAD THE MESSAGE
    167	000474	005740 				TST	-(R0)		; +++001 BACK OVER THE LOG FLAG
    168	000476	012740 	000012 			MOV	#12,-(R0)	; +++001 SET THE BUFFER LENGTH
    169	000502					CALL	KLLOG1		; +++001 LOG IT
	000502	004767 	000472 			JSR	PC,KLLOG1
    170	000506	012702 	002724'			MOV	#INVMS,R2	; +++001 INVALID PASSWORD
    171	000512					CALL	PRKLN		; +++001 TELL KLINIK LINE HE ERRED
	000512	004767 	001300 			JSR	PC,PRKLN
    172	000516	005767 	001474 			TST	ATTCTR		; +++001 CAN WE TRY AGAIN??
    173	000522	001002 				BNE	430$		; +++001 YES -- GO ON
    174	000524				425$:
    175	000524	000167 	177374 			JMP	KLTMO		; +++001 BLEW IT IF .EQ. 0
    176						;
    177	000530				430$:
    178	000530	012700 	000012 			MOV	#^D10,R0	; +++001 LOOP COUNT TO R0
    179	000534				450$:
    180	000534					DIR$	#MKTDPB		; +++001 SLEEP FOR A WHILE
	000534	012746 	001150'			MOV	#MKTDPB,-(SP)
	000540	104375 				EMT	375
    181	000542					WTSE$S	#5.		; +++001 ZZZZZZ....
	000542	012746 	000005 			MOV	#5.,-(SP)
	000546	012746 				MOV	(PC)+,-(SP)
	000550	   051 	   002 			.BYTE	41.,2
	000552	104375 				EMT	375
    182	000554	077011 				SOB	R0,450$		; +++001 LOOP TILL DONE
    183	000556				500$:
    184	000556	012703 	002230'			MOV	#PWD+6,R3	; SET UP ADDRESS OF PASSWORD BUFFER
    185	000562	005043 				CLR	-(R3)
KLRING -- KLINIK REQUEST TASK	MACRO M1113  03-APR-86 18:06  PAGE 3-3
KLRING -- (INITIALIZATION)

    186	000564	005043 				CLR	-(R3)
    187	000566	005043 				CLR	-(R3)
    188	000570	005764 	000002 			TST	2(R4)		; CLEAR OUT INPUT BUFFER
    189	000574	062767 	000074 	001416 		ADD	#60.,TIMST	; +++001 TIMEOUT ON PASSWORD
    190	000602	012702 	002605'			MOV	#PSWMS,R2	; SET UP MESSAGE ADDRESS
    191	000606					CALL	PRKLN		; PRINT MESSAGE
	000606	004767 	001204 			JSR	PC,PRKLN
    192	000612					CALL	RDKLN		; +++001 READ PASSWORD FROM KLINIK LINE
	000612	004767 	000452 			JSR	PC,RDKLN
    193	000616	103744 				BCS	430$		; +++001 TIMED OUT IF CC-C IS SET
    194	000620				60$:
    195	000620	022367 	000000G			CMP	(R3)+,.KLNPW	; COMPARE PASSWORD
    196	000624	001302 				BNE	400$		; NO -- INVALID
    197	000626	022367 	000002G			CMP	(R3)+,.KLNPW+2	; CHECK SECOND HALF
    198	000632	001277 				BNE	400$		; INVALID PASSWORD
    199	000634	021367 	000004G			CMP	(R3),.KLNPW+4
    200	000640	001274 				BNE	400$
    201	000642	005067 	001350 			CLR	ATTCTR		; +++001 CLEAR THE ATTEMPT COUNTER/FLAG
    202	000646				70$:
    203	000646	116700 	000000G			MOVB	.KLNMD+0,R0	; +++001 GET THE KLINIK MODE
    204	000652	002434 				BLT	80$		; +++001 GO ON IF USER
    205	000654				71$:
    206	000654	012703 	002230'			MOV	#PWD+6,R3	; +++001 POINT TO THE BUFFER
    207	000660	005043 				CLR	-(R3)		; +++001 CLEAR IT
    208	000662	005043 				CLR	-(R3)		; +++001
    209	000664	005043 				CLR	-(R3)		; +++001
    210	000666	012702 	002622'			MOV	#MODMSG,R2	; +++001 MODE PROMPT
    211	000672					CALL	PRKLN		; +++001 TO KLINIK LINE
	000672	004767 	001120 			JSR	PC,PRKLN
    212	000676					CALL	RDKLN		; +++001 READ THE RESPONSE
	000676	004767 	000366 			JSR	PC,RDKLN
    213	000702	103406 				BCS	72$		; +++001 ERROR -- TRY AGAIN
    214	000704	022713 	051525 			CMP	#"US,(R3)	; +++001 "USER"??
    215	000710	001410 				BEQ	73$		; +++001 YES -- GO ON
    216	000712	022713 	042522 			CMP	#"RE,(R3)	; +++001 NO -- "REMOTE"??
    217	000716	001410 				BEQ	74$		; +++001 YES -- GO ON
    218	000720				72$:
    219	000720	012702 	002642'			MOV	#KMEMSG,R2	; +++001 ERROR MESSAGE
    220	000724					CALL	PRKLN		; +++001 PRINT IT
	000724	004767 	001066 			JSR	PC,PRKLN
    221	000730	000751 				BR	71$		; +++001 AND TRY AGAIN
    222						;
    223	000732				73$:
    224	000732	012700 	177777 			MOV	#-1,R0		; +++001 SET USER FLAG
    225	000736	000402 				BR	80$		; +++001 SO
    226						;
    227	000740				74$:
    228	000740	012700 	000001 			MOV	#1,R0		; +++001 SET REMOTE FLAG
    229	000744				80$:
    230	000744	010046 				MOV	R0,-(SP)	; +++001 SAVE THE KLINIK MODE
    231	000746	002424 				BLT	82$		; +++001 GO ON IF USER
    232	000750				81$:
    233	000750	012702 	002353'			MOV	#CNRMSG,R2	; +++001 CONNECTED TO RSX20F
    234	000754					CALL	PRBOTH		; +++001 TELL BOTH
	000754	004767 	000622 			JSR	PC,PRBOTH
    235	000760	116702 	000001G			MOVB	.KLNMD+1,R2	; +++001 CONSOLE MODE LIMIT TO R2
    236	000764	010267 	000000G			MOV	R2,.FEMOD	; +++001 TO SYSTEM LIMIT
KLRING -- KLINIK REQUEST TASK	MACRO M1113  03-APR-86 18:06  PAGE 3-4
KLRING -- (INITIALIZATION)

    237	000770	010246 				MOV	R2,-(SP)	; +++001 SAVE IT
    238	000772	006216 				ASR	(SP)		; +++001 COMPUTE THE LOG PARAMETER
    239	000774	005216 				INC	(SP)		; +++001
    240	000776	006216 				ASR	(SP)		; +++001
    241	001000	005216 				INC	(SP)		; +++001
    242	001002	005202 				INC	R2		; +++001 FUDGE FACTOR
    243	001004	006202 				ASR	R2		; +++001 FLUSH LOW BITS
    244	001006	006202 				ASR	R2		; +++001
    245	001010	006302 				ASL	R2		; +++001 MAKE A WORD INDEX
    246	001012	016202 	002210'			MOV	MODTBL(R2),R2	; +++001 MODE TYPE TO R2
    247	001016	000403 				BR	83$		; +++001 PRINT AND EXIT
    248						;
    249	001020				82$:
    250	001020	011646 				MOV	(SP),-(SP)	; +++001 CONSOLE MODE IS KLINIK MODE
    251	001022	012702 	002462'			MOV	#CNXMSG,R2	; +++001 CONNECTED TO TOPS-XX
    252	001026				83$:
    253	001026					CALL	PRBOTH		; +++001 TELL BOTH TERMINALS
	001026	004767 	000550 			JSR	PC,PRBOTH
    254	001032					.INH6			; +++001 DISALLOW INTERRUPTS
	001032	013746 	000000G			MOV	@#PS,-(SP)
	001036	112737 	000300 	000000G		MOVB	#300,@#PS
    255	001044	005067 	000000G			CLR	.KLNSW		;;; +++001 CLEAR ANY JUNK
    256	001050	116667 	000004 	000000G		MOVB	4(SP),.KLNSW+0	;;; +++001 AND DECLARE THE KLINIK LINE ENABLED
    257	001056	100403 				BMI	84$		;;; +++001 GO ON IF USER
    258	001060	052765 	000000G	000000G		BIS	#TT.CTY,STSW1(R5) ;;; +++001 DECLARE THIS LINE A CTY
    259	001066				84$:
    260	001066	010465 	000000G			MOV	R4,TTYEXP(R5)	;;; +++001 GIVE THE LINE BACK TO THE EXEC
    261	001072	052714 	000000C			BIS	#DL.REN!DL.DEN!DL.RTS!DL.DTR,(R4) ;;; +++001 ENABLE THE INTERRUPT FOR KLINIK LINE
    262	001076	052764 	000000G	000004 		BIS	#DL.XEN,4(R4)	;;; +++001 SO
    263	001104					.ENB6			;;; +++001 ALLOW INTERRUPTS
	001104	012637 	000000G			MOV	(SP)+,@#PS
    264	001110	005001 				CLR	R1		; +++001 CLEAR R1
    265	001112	152601 				BISB	(SP)+,R1	; +++001 SET THE MODE
    266	001114	000301 				SWAB	R1		; +++001 SWAP THE BYTES
    267	001116	152701 	000000G			BISB	#K.LCON,R1	; +++001 CONNECT MESSAGE
    268	001122	012700 	000004 			MOV	#4,R0		; +++001 PACKET LENGTH TO R0
    269	001126					CALL	KLLOG		; +++001 LOG IT
	001126	004767 	000030 			JSR	PC,KLLOG
    270	001132	005726 				TST	(SP)+		; +++001 CLEAR STACK
    271	001134	100002 				BPL	90$		; +++001 EXIT IF REMOTE
    272	001136					CALL	.STTYD		; +++001 USER -- GIVE RING INTERRUPT
	001136	004767 	000000G			JSR	PC,.STTYD
    273	001142				90$:				; +++001
    274	001142					EXIT$S			; +++001 EXIT
	001142	012746 				MOV	(PC)+,-(SP)
	001144	   063 	   001 			.BYTE	51.,1
	001146	104375 				EMT	375
    275						;
    276	001150				MKTDPB:
    277	001150					MRKT$	5.,60.,0,0
	001150	   027 	   005 			.BYTE	23.,5
	001152	000005 				.WORD	5.
	001154	000074 				.WORD	60.
	001156	000000 				.WORD	0
	001160	000000 				.WORD	0
    278
    279						.DSABL	LSB
KLRING -- KLINIK REQUEST TASK	MACRO M1113  03-APR-86 18:06  PAGE 3-5
KLRING -- (INITIALIZATION)

    280
    281	001162				KLLOG:
    282	001162	010046 				MOV	R0,-(SP)	; +++001 SAVE PACKET LENGTH
    283	001164	012700 	001254'			MOV	#LOGBUF,R0	; +++001 BUFFER POINTER TO R0
    284	001170	012620 				MOV	(SP)+,(R0)+	; +++001 SET THE PACKET LENGTH
    285	001172	005720 				TST	(R0)+		; +++001 GET OVER THE LOG FLAG
    286	001174	010110 				MOV	R1,(R0)		; +++001 SET THE MESSAGE
    287	001176	024040 				CMP	-(R0),-(R0)	; +++001 BACK UP TO HEADER
    288	001200				KLLOG1:
    289	001200	005767 	000002G			TST	.COMEF+2	; [4.1.1105]1 CAN WE DO THIS??
    290	001204	100022 				BPL	90$		; [4.1.1105] NO -- QUIT NOW
    291	001206					CLEF$S	#2		; +++001 YES -- CLEAR EVENT FLAG
	001206	012746 	000002 			MOV	#2,-(SP)
	001212	012746 				MOV	(PC)+,-(SP)
	001214	   037 	   002 			.BYTE	31.,2
	001216	104375 				EMT	375
    292	001220	012701 	100000G			MOV	#BC.HDS+100000,R1 ; +++001 FUNCTION CODE TO R1
    293	001224	012702 	000002 			MOV	#2,R2		; +++001 EVENT FLAG 2
    294	001230	012703 	000000G			MOV	#D.CKLN,R3	; +++001 DEVICE CODE TO R3
    295	001234					CALL	..STIN
	001234	004767 	000000G			JSR	PC,..STIN
    296	001240					WTSE$S	#2		; +++001 WAIT FOR IT
	001240	012746 	000002 			MOV	#2,-(SP)
	001244	012746 				MOV	(PC)+,-(SP)
	001246	   051 	   002 			.BYTE	41.,2
	001250	104375 				EMT	375
    297	001252				90$:
    298	001252					RETURN			; +++001 TO CALLER
	001252	000207 				RTS	PC
    299
    300	001254				LOGBUF:
    301	001254	000000 				.WORD	0
    302	001256	000000G				.WORD	DV.LOG
    303	001260	000000 	000000 	000000 		.WORD	0,0,0,0
	001266	000000
    304		001270'			LOGBFE=.
KLRING -- KLINIK REQUEST TASK	MACRO M1113  03-APR-86 18:06  PAGE 4
KLRING -- (CTY INPUT SUROUTINES)

    306						.SBTTL	KLRING -- (CTY INPUT SUROUTINES)
    307
    308					; THIS SUBROUTINE PROCESSES UP TO SIX CHARACTERS OF INPUT FROM THE KLINIK LINE
    309					;
    310					; ENTER WITH:
    311					;
    312					;	R3 -- POINTING TO BUFFER
    313					;	ATTCTR .NE. 0 TO ECHO INPUT AND PROCESS RUBOUTS
    314					;
    315					; EXIT WITH:
    316					;
    317					;	R3 -- POINTING TO BUFFER
    318					;	CC-C SET IF PASSWORD TIME OUT OCCURRED
    319					;
    320	001270				RDKLN:				; +++001 HERE TO READ INPUT FROM KLINIK
    321	001270	010346 				MOV	R3,-(SP)	; +++001 SAVE THE BUFFER POINTER
    322	001272	012701 	000006 			MOV	#6,R1		; +++001 SET UP THE CHARACTER COUNT
    323	001276	105764 	000002 			TSTB	2(R4)		; +++001 FLUSH TYPEAHEAD
    324	001302				RDKLN1:
    325	001302	105714 				TSTB	(R4)		; CHECK FOR CHARACTER
    326	001304	100432 				BMI	30$		; FOUND SOMETHING
    327	001306					CALL	CKCAR		; DIE IF NO CARRIER
	001306	004767 	000546 			JSR	PC,CKCAR
    328	001312	005767 	000700 			TST	ATTCTR		; +++001 WORRY ABOUT TIMEOUTS??
    329	001316	001404 				BEQ	10$		; +++001 NO -- GO ON
    330	001320	026767 	000000G	000672 		CMP	.SSM,TIMST	; +++001 YES -- HAS THE TIME EXPIRED??
    331	001326	101017 				BHI	25$		; +++001 YES -- BETTER QUIT NOW
    332	001330				10$:
    333	001330					WSIG$S			; NO -- WAIT FOR A SIG EVENT
	001330	012746 				MOV	(PC)+,-(SP)
	001332	   061 	   001 			.BYTE	49.,1
	001334	104375 				EMT	375
    334	001336	000761 				BR	RDKLN1		; +++001 CHECK FOR CHARACTER AGAIN
    335						;
    336	001340				15$:
    337	001340	114300 				MOVB	-(R3),R0	; +++001 PROCESS RUBOUT
    338	001342	005767 	000650 			TST	ATTCTR		; +++001 ECHO IT?
    339	001346	001002 				BNE	20$		; +++001 NO -- GO ON
    340	001350					CALL	PRKLC		; +++001 YES -- SO DO IT
	001350	004767 	000450 			JSR	PC,PRKLC
    341	001354				20$:
    342	001354	005201 				INC	R1
    343	001356	022701 	000006 			CMP	#6,R1		; TOO FAR ?
    344	001362	002347 				BGE	RDKLN1		; +++001 NO -- CONTINUE
    345	001364	000465 				BR	40$		; +++001 YES -- RESET AND RESTART
    346						;
    347	001366				25$:
    348	001366	000261 				SEC			; +++001 SET CC-C TO FLAG TIMEOUT
    349	001370	000451 				BR	65$		; +++001 AND EXIT
    350						;
    351	001372				30$:
    352	001372	116400 	000002 			MOVB	2(R4),R0	; PICK UP THE CHARACTER
    353	001376	042700 	177600 			BIC	#^C177,R0	; MASK OFF PARITY
    354	001402	122700 	000025 			CMPB	#'U-100,R0	; IS IT ^U?
    355	001406	001444 				BEQ	35$		; +++001 YES -- RESTART
    356	001410	122700 	000015 			CMPB	#15,R0		;  +++001 NO -- IS IT CR?
    357	001414	001414 				BEQ	50$		; +++001 YES -- FOUND PASSWORD
KLRING -- KLINIK REQUEST TASK	MACRO M1113  03-APR-86 18:06  PAGE 4-1
KLRING -- (CTY INPUT SUROUTINES)

    358	001416	122700 	000177 			CMPB	#177,R0		; +++001 NO -- RUBOUT
    359	001422	001746 				BEQ	15$		; +++001 YES -- GO PROCESS
    360	001424	122700 	000140 			CMPB	#140,R0		; UPPER CASE ?
    361	001430	003002 				BGT	45$		; +++001 YES -- STORE IT
    362	001432	162700 	000040 			SUB	#40,R0		; +++001 NO -- CONVERT TO UPPER CASE
    363	001436				45$:
    364	001436	110023 				MOVB	R0,(R3)+	; STORE CHARACTER
    365	001440	005767 	000552 			TST	ATTCTR		; +++001 ECHO ??
    366	001444	001017 				BNE	55$		; +++001 NO -- GO ON
    367	001446				50$:
    368	001446					CALL	PRKLC		; +++001 YES -- ECHO IT
	001446	004767 	000352 			JSR	PC,PRKLC
    369	001452	122700 	000015 			CMPB	#15,R0		; +++001 WAS IT A <CR>??
    370	001456	001012 				BNE	55$		; +++001 NO -- GO ON
    371	001460	112700 	000012 			MOVB	#12,R0		; +++001 YES DO <LF> AS WELL
    372	001464					CALL	PRKLC		; +++001 SO
	001464	004767 	000334 			JSR	PC,PRKLC
    373	001470	005000 				CLR	R0		; +++001 AND TWO NULLS
    374	001472					CALL	PRKLC		; +++001
	001472	004767 	000326 			JSR	PC,PRKLC
    375	001476					CALL	PRKLC		; +++001
	001476	004767 	000322 			JSR	PC,PRKLC
    376	001502	000403 				BR	60$		; +++001 EXIT
    377						;
    378	001504				55$:
    379	001504	005301 				DEC	R1		; +++001 COUNT THE CHARACTER
    380	001506	001401 				BEQ	60$		; +++001 LAST ONE IF .EQ. 0
    381	001510	000674 				BR	RDKLN1		; +++001 GO ON IF NOT
    382						;
    383	001512				60$:
    384	001512	000241 				CLC			; +++001 YES -- CLEAR CC-C TO SAY OK
    385	001514				65$:
    386	001514	012603 				MOV	(SP)+,R3	; +++001 RESTORE BUFFER POINTER
    387	001516					RETURN			; +++001 RETURN
	001516	000207 				RTS	PC
    388	001520				35$:				; +++001 HERE TO PROCESS CTRL-U
    389	001520	112700 	000136 			MOVB	#'^,R0		; +++001 UP-ARROW
    390	001524					CALL	PRKLC		; +++001 PRINT IT
	001524	004767 	000274 			JSR	PC,PRKLC
    391	001530	112700 	000125 			MOVB	#'U,R0		; +++001 "U"
    392	001534					CALL	PRKLC		; +++001 PRINT IT
	001534	004767 	000264 			JSR	PC,PRKLC
    393	001540				40$:
    394	001540	112700 	000015 			MOVB	#15,R0		; +++001 <CR>
    395	001544					CALL	PRKLC		; +++001 PRINT IT
	001544	004767 	000254 			JSR	PC,PRKLC
    396	001550	112700 	000012 			MOVB	#12,R0		; +++001 <LF>
    397	001554					CALL	PRKLC		; +++001 PRINT IT
	001554	004767 	000244 			JSR	PC,PRKLC
    398	001560	005000 				CLR	R0		; +++001 SEND TWO NULLS
    399	001562					CALL	PRKLC		; +++001
	001562	004767 	000236 			JSR	PC,PRKLC
    400	001566					CALL	PRKLC		; +++001
	001566	004767 	000232 			JSR	PC,PRKLC
    401	001572	012701 	000006 			MOV	#6,R1		; +++001 RESET CHARACTER COUNT
    402	001576	011603 				MOV	(SP),R3		; +++001 RESTORE BUFFER POINTER
    403	001600	000640 				BR	RDKLN1		; +++001 AND START OVER
KLRING -- KLINIK REQUEST TASK	MACRO M1113  03-APR-86 18:06  PAGE 4-2
KLRING -- (CTY INPUT SUROUTINES)

    404						;
KLRING -- KLINIK REQUEST TASK	MACRO M1113  03-APR-86 18:06  PAGE 5
KLRING -- (CTY/TTY OUTPUT ROUTINES)

    406						.SBTTL	KLRING -- (CTY/TTY OUTPUT ROUTINES)
    407
    408	001602				PRBOTH:
    409	001602	010246 				MOV	R2,-(SP)	; +++001 SAVE MESSAGE POINTER
    410	001604					CALL	PRCTY		; +++001 SEND IT TO THE CTY
	001604	004767 	000004 			JSR	PC,PRCTY
    411	001610	012602 				MOV	(SP)+,R2	; +++001 RETREIVE MESSAGE POINTER
    412	001612	000501 				BR	PRKLN		; +++001 SEND IT TO KLINIK
    413						;
    414	001614				PRCTY:
    415	001614	005767 	000000G			TST	.TTP11		; IS CTY DOING PDP-11 I/O??
    416	001620	001015 				BNE	90$		; YES -- DO A BREAKTHROUGH WRITE
    417	001622	010200 				MOV	R2,R0		; COPY STRING POINTER
    418	001624				10$:
    419	001624	105720 				TSTB	(R0)+		; FIND END OF STRING
    420	001626	001376 				BNE	10$
    421	001630	005300 				DEC	R0		; BACK UP ONE CHAR
    422	001632	160200 				SUB	R2,R0		; AND FIGURE LENGTH.
    423	001634	010267 	000414 			MOV	R2,CTYDB+Q.IOPL+0 ;SET UP ADDRESS
    424	001640	010067 	000412 			MOV	R0,CTYDB+Q.IOPL+2 ;AND LENGTH,
    425	001644					DIR$	#CTYDB		; SEND THE MESSAGE.
	001644	012746 	002240'			MOV	#CTYDB,-(SP)
	001650	104375 				EMT	375
    426	001652					RETURN			; +++001 EXIT
	001652	000207 				RTS	PC
    427	001654				90$:
    428	001654	010446 				MOV	R4,-(SP)	; +++001 SAVE R4
    429	001656	010546 				MOV	R5,-(SP)	; +++001 AND R5
    430	001660	016705 	000000G			MOV	CTYPTR,R5	; +++001 POINT TO THE CTY
    431	001664	016504 	000000G			MOV	TTYEXP(R5),R4	; +++001 I/O PAGE POINTER TO R4
    432	001670					.INH6			; +++001 DISALLOW INTERRUPTS
	001670	013746 	000000G			MOV	@#PS,-(SP)
	001674	112737 	000300 	000000G		MOVB	#300,@#PS
    433	001702	042714 	000000G			BIC	#DL.REN,(R4)	;;;+++001 DISABLE THE LINE
    434	001706	042764 	000000G	000004 		BIC	#DL.XEN,4(R4)	;;; +++001 SO
    435	001714	005065 	000000G			CLR	TTYEXP(R5)	;;; +++001 NO EXEC MEDDLING
    436	001720					.ENB6			;;; +++001 ALLOW INTERRUPTS
	001720	012637 	000000G			MOV	(SP)+,@#PS
    437	001724					CALL	PRKLN		; +++001 FORCE THE MESSAGE
	001724	004767 	000066 			JSR	PC,PRKLN
    438	001730					.INH6			; +++001 DISALLOW INTERRUPTS
	001730	013746 	000000G			MOV	@#PS,-(SP)
	001734	112737 	000300 	000000G		MOVB	#300,@#PS
    439	001742	010465 	000000G			MOV	R4,TTYEXP(R5)	;;; +++001 RETURN LINE TO THE EXEC
    440	001746	052714 	000000G			BIS	#DL.REN,(R4)	;;; +++001 ENABLE THE LINE
    441	001752	052764 	000000G	000004 		BIS	#DL.XEN,4(R4)	;;; +++001 SO
    442	001760					.ENB6			;;; +++001 ALLOW INTERRUPTS
	001760	012637 	000000G			MOV	(SP)+,@#PS
    443	001764	012605 				MOV	(SP)+,R5	; +++001 RESTORE R5
    444	001766	012604 				MOV	(SP)+,R4	; +++001 AND R4
    445	001770					RETURN
	001770	000207 				RTS	PC
    446
    447	001772				PRKL0:
    448	001772					CALL	PRKLC		; SEND THE CHARACTER.
	001772	004767 	000026 			JSR	PC,PRKLC
    449	001776	122700 	000012 			CMPB	#12,R0		; IF CHARACTER WAS LF,
KLRING -- KLINIK REQUEST TASK	MACRO M1113  03-APR-86 18:06  PAGE 5-1
KLRING -- (CTY/TTY OUTPUT ROUTINES)

    450	002002	001005 				BNE	PRKLN		; THEN
    451	002004	005000 				CLR	R0		; SEND TWO NULLS.
    452	002006					CALL	PRKLC
	002006	004767 	000012 			JSR	PC,PRKLC
    453	002012					CALL	PRKLC
	002012	004767 	000006 			JSR	PC,PRKLC
    454	002016				PRKLN:
    455	002016	112200 				MOVB	(R2)+,R0	; GET NEXT CHARACTER
    456	002020	001364 				BNE	PRKL0
    457	002022	000410 				BR	PRKLW		; +++001 ELSE LET PRINTER SETTLE AND EXIT
    458						;
    459
    460	002024				PRKLC:
    461	002024					CALL	PRKLW		; MAKE SURE PRINTER IS READY
	002024	004767 	000014 			JSR	PC,PRKLW
    462	002030	110064 	000006 			MOVB	R0,6(R4)	; AND SEND THE CHARACTER.
    463	002034					RETURN			; ALL FINISHED
	002034	000207 				RTS	PC
    464
    465	002036				PRKL1:
    466	002036					WSIG$S			; WAIT A TICK OR SO.
	002036	012746 				MOV	(PC)+,-(SP)
	002040	   061 	   001 			.BYTE	49.,1
	002042	104375 				EMT	375
    467	002044				PRKLW:
    468	002044					CALL	CKCAR		; LET'S HOPE CARRIER IS STILL THERE ...
	002044	004767 	000010 			JSR	PC,CKCAR
    469	002050	105764 	000004 			TSTB	4(R4)		; IS PRINTER WAITING FOR CHAR ?
    470	002054	100370 				BPL	PRKL1		; STILL BUSY - WAIT SOME MORE.
    471	002056					RETURN			; ALL READY !
	002056	000207 				RTS	PC
    472
    473	002060				CKCAR:
    474	002060	026705 	000000G			CMP	CTYPTR,R5	; +++001 IS THIS THE CTY??
    475	002064	001450 				BEQ	30$		; +++001 YES -- GO ON
    476	002066	032714 	000000G			BIT	#DL.CAR,(R4)	; +++001 NO -- IS THE CARRIER STILL THERE ?
    477	002072	001045 				BNE	30$		; +++001 YES -- EXIT
    478	002074	010046 				MOV	R0,-(SP)	; +++001 NO -- SAVE R0
    479	002076	012700 	000024 			MOV	#^D20,R0	; +++001 DO THIS TWENTY TIMES
    480	002102				10$:
    481	002102					DIR$	#MKTDPB		; +++001 WAIT A WHILE
	002102	012746 	001150'			MOV	#MKTDPB,-(SP)
	002106	104375 				EMT	375
    482	002110					WTSE$S	#5.		; +++001 SO
	002110	012746 	000005 			MOV	#5.,-(SP)
	002114	012746 				MOV	(PC)+,-(SP)
	002116	   051 	   002 			.BYTE	41.,2
	002120	104375 				EMT	375
    483	002122					CLEF$S	#5.		; +++001 CLEAR THE FLAG
	002122	012746 	000005 			MOV	#5.,-(SP)
	002126	012746 				MOV	(PC)+,-(SP)
	002130	   037 	   002 			.BYTE	31.,2
	002132	104375 				EMT	375
    484	002134	032714 	000000G			BIT	#DL.CAR,(R4)	; +++001 CARRIER THERE YET??
    485	002140	001016 				BNE	20$		; +++001 YES -- EXIT
    486	002142	077021 				SOB	R0,10$		; +++001 NO -- TRY AGAIN
    487	002144	012600 				MOV	(SP)+,R0	; +++001 RESTORE R0
KLRING -- KLINIK REQUEST TASK	MACRO M1113  03-APR-86 18:06  PAGE 5-2
KLRING -- (CTY/TTY OUTPUT ROUTINES)

    488	002146	042765 	000000C	000000G		BIC	#TT.CRW!TT.RIP,STSW1(R5) ; +++001 NO LONGER IN CARRIER WAIT
    489	002154	012702 	003053'			MOV	#DRPMS,R2	; +++001 FAILED -- MESSAGE POINTER TO R2
    490	002160					CALL	PRCTY		; +++001 TELL ONLY LOCAL CTY
	002160	004767 	177430 			JSR	PC,PRCTY
    491	002164	112767 	000002 	000001G		MOVB	#2,.KLNSW+1	; +++001 FLAG THE CARRIER DROP
    492	002172	000167 	175772 			JMP	KLDIE		; +++001 EXIT TO HANG UP
    493						;
    494	002176				20$:
    495	002176	042765 	000000C	000000G		BIC	#TT.CRW!TT.RIP,STSW1(R5) ; +++001 NO LONGER IN CARRIER WAIT
    496	002204	012600 				MOV	(SP)+,R0	; +++001 RESTORE R0
    497	002206				30$:
    498	002206					RETURN
	002206	000207 				RTS	PC
KLRING -- KLINIK REQUEST TASK	MACRO M1113  03-APR-86 18:06  PAGE 6
KLRING -- (LOCAL DATA)

    500						.SBTTL	KLRING -- (LOCAL DATA)
    501
    502					;
    503					; DATA AREAS
    504					;
    505	002210				MODTBL:
    506	002210	003117'				.WORD	OPMMSG		; +++001
    507	002212	003132'				.WORD	PRMMSG		; +++001
    508	002214	003147'				.WORD	MNMMSG		; +++001
    509	002216				ATTCTR:
    510	002216	000000 				.WORD	0		; +++001 ATTEMPT COUNTER
    511	002220				TIMST:
    512	002220	000000 				.WORD	0		; TIMEOUT COUNTER
    513
    514	002222				PWD:
    515	002222	000000 	000000 	000000 		.WORD	0,0,0		; PASSWORD
    516
    517	002230				CTY:
    518	002230					ALUN$	1,TT,0
	002230	   007 	   004 			.BYTE	7,4
	002232	000001 				.WORD	1
	002234	   124 				.ASCII	/T/
	002235	   124 				.ASCII	/T/
	002236	000000 				.WORD	0
    519	002240				CTYDB:
    520	002240					QIOW$	IO.WLB,1,1,,,,<0,0,0>
	002240	   003 	   011 			.BYTE	3,$$$ARG
	002242	000000G				.WORD	IO.WLB
	002244	000001 				.WORD	1
	002246	   001 	   000 			.BYTE	1,
	002250	000000 				.WORD
	002252	000000 				.WORD
	002254	000000 				.WORD	0
	002256	000000 				.WORD	0
	002260	000000 				.WORD	0
    521	002262				RQKLD:
    522	002262					RQST$	KLDISC,,10	; +++001
	002262	   013 	   007 			.BYTE	11.,7
	002264	043244 	035473 			.RAD50	/KLDISC/
	002270	000000 	000000 			.WORD	0,0
	002274	000010 				.WORD	10
	002276	   000 	   000 			.BYTE	,
    523	002300				VLMSG:
    524	002300	   015 	   012 	   113 		.ASCIZ	<15><12>/KLR -- KLINIK RING - VALIDATING ACCESS/<15><12>
	002303	   114 	   122 	   040
	002306	   055 	   055 	   040
	002311	   113 	   114 	   111
	002314	   116 	   111 	   113
	002317	   040 	   122 	   111
	002322	   116 	   107 	   040
	002325	   055 	   040 	   126
	002330	   101 	   114 	   111
	002333	   104 	   101 	   124
	002336	   111 	   116 	   107
	002341	   040 	   101 	   103
	002344	   103 	   105 	   123
	002347	   123 	   015 	   012
KLRING -- KLINIK REQUEST TASK	MACRO M1113  03-APR-86 18:06  PAGE 6-1
KLRING -- (LOCAL DATA)

	002352	   000
    525	002353				CNRMSG:
    526	002353	   015 	   012 	   113 		.ASCII	<15><12>/KLR -- KLINIK LINE CONNECTED TO RSX20F/<15><12>
	002356	   114 	   122 	   040
	002361	   055 	   055 	   040
	002364	   113 	   114 	   111
	002367	   116 	   111 	   113
	002372	   040 	   114 	   111
	002375	   116 	   105 	   040
	002400	   103 	   117 	   116
	002403	   116 	   105 	   103
	002406	   124 	   105 	   104
	002411	   040 	   124 	   117
	002414	   040 	   122 	   123
	002417	   130 	   062 	   060
	002422	   106 	   015 	   012
    527	002425	   113 	   114 	   122 		.ASCIZ	/KLR -- CONSOLE MODE LIMIT:  /
	002430	   040 	   055 	   055
	002433	   040 	   103 	   117
	002436	   116 	   123 	   117
	002441	   114 	   105 	   040
	002444	   115 	   117 	   104
	002447	   105 	   040 	   114
	002452	   111 	   115 	   111
	002455	   124 	   072 	   040
	002460	   040 	   000
    528	002462				CNXMSG:
    533	002462	   015 	   012 	   113 		.ASCIZ	<15><12>/KLR -- KLINIK LINE CONNECTED TO TOPS-20/<15><12>
	002465	   114 	   122 	   040
	002470	   055 	   055 	   040
	002473	   113 	   114 	   111
	002476	   116 	   111 	   113
	002501	   040 	   114 	   111
	002504	   116 	   105 	   040
	002507	   103 	   117 	   116
	002512	   116 	   105 	   103
	002515	   124 	   105 	   104
	002520	   040 	   124 	   117
	002523	   040 	   124 	   117
	002526	   120 	   123 	   055
	002531	   062 	   060 	   015
	002534	   012 	   000
    535	002536				CLSMS:
    536	002536	   015 	   012 	   113 		.ASCIZ	<15><12>/KLR -- KLINIK RING - WINDOW CLOSED/<15><12>
	002541	   114 	   122 	   040
	002544	   055 	   055 	   040
	002547	   113 	   114 	   111
	002552	   116 	   111 	   113
	002555	   040 	   122 	   111
	002560	   116 	   107 	   040
	002563	   055 	   040 	   127
	002566	   111 	   116 	   104
	002571	   117 	   127 	   040
	002574	   103 	   114 	   117
	002577	   123 	   105 	   104
	002602	   015 	   012 	   000
    537	002605				PSWMS:
KLRING -- KLINIK REQUEST TASK	MACRO M1113  03-APR-86 18:06  PAGE 6-2
KLRING -- (LOCAL DATA)

    538	002605	   015 	   012 	   120 		.ASCIZ	<15><12>/PASSWORD: /
	002610	   101 	   123 	   123
	002613	   127 	   117 	   122
	002616	   104 	   072 	   040
	002621	   000
    539	002622				MODMSG:
    540	002622	   015 	   012 	   113 		.ASCIZ	<15><12>/KLINIK MODE: /
	002625	   114 	   111 	   116
	002630	   111 	   113 	   040
	002633	   115 	   117 	   104
	002636	   105 	   072 	   040
	002641	   000
    541	002642				KMEMSG:
    542	002642	   015 	   012 	   113 		.ASCIZ <15><12>/KLR -- MODE MUST BE EITHER "REMOTE" OR "USER"/<15><12>
	002645	   114 	   122 	   040
	002650	   055 	   055 	   040
	002653	   115 	   117 	   104
	002656	   105 	   040 	   115
	002661	   125 	   123 	   124
	002664	   040 	   102 	   105
	002667	   040 	   105 	   111
	002672	   124 	   110 	   105
	002675	   122 	   040 	   042
	002700	   122 	   105 	   115
	002703	   117 	   124 	   105
	002706	   042 	   040 	   117
	002711	   122 	   040 	   042
	002714	   125 	   123 	   105
	002717	   122 	   042 	   015
	002722	   012 	   000
    543	002724				INVMS:
    544	002724	   015 	   012 	   113 		.ASCIZ	<15><12>/KLR -- INCORRECT PASSWORD/<15><12>
	002727	   114 	   122 	   040
	002732	   055 	   055 	   040
	002735	   111 	   116 	   103
	002740	   117 	   122 	   122
	002743	   105 	   103 	   124
	002746	   040 	   120 	   101
	002751	   123 	   123 	   127
	002754	   117 	   122 	   104
	002757	   015 	   012 	   000
    545	002762				TMOMS:
    546	002762	   015 	   012 	   113 		.ASCII	<15><12>/KLR -- KLINIK LOGON TIMEOUT - /<15><12>
	002765	   114 	   122 	   040
	002770	   055 	   055 	   040
	002773	   113 	   114 	   111
	002776	   116 	   111 	   113
	003001	   040 	   114 	   117
	003004	   107 	   117 	   116
	003007	   040 	   124 	   111
	003012	   115 	   105 	   117
	003015	   125 	   124 	   040
	003020	   055 	   040 	   015
	003023	   012
    547	003024	   113 	   114 	   122 		.ASCIZ	/KLR -- LOGON ABORTED/<15><12>
	003027	   040 	   055 	   055
	003032	   040 	   114 	   117
KLRING -- KLINIK REQUEST TASK	MACRO M1113  03-APR-86 18:06  PAGE 6-3
KLRING -- (LOCAL DATA)

	003035	   107 	   117 	   116
	003040	   040 	   101 	   102
	003043	   117 	   122 	   124
	003046	   105 	   104 	   015
	003051	   012 	   000
    548	003053				DRPMS:
    549	003053	   015 	   012 	   113 		.ASCIZ	<15><12>/KLR -- KLINIK LINE CARRIER DROP/<15><12>
	003056	   114 	   122 	   040
	003061	   055 	   055 	   040
	003064	   113 	   114 	   111
	003067	   116 	   111 	   113
	003072	   040 	   114 	   111
	003075	   116 	   105 	   040
	003100	   103 	   101 	   122
	003103	   122 	   111 	   105
	003106	   122 	   040 	   104
	003111	   122 	   117 	   120
	003114	   015 	   012 	   000
    550	003117				OPMMSG:
    551	003117	   117 	   120 	   105 		.ASCIZ	/OPERATOR/<15><12>
	003122	   122 	   101 	   124
	003125	   117 	   122 	   015
	003130	   012 	   000
    552	003132				PRMMSG:
    553	003132	   120 	   122 	   117 		.ASCIZ	/PROGRAMMER/<15><12>
	003135	   107 	   122 	   101
	003140	   115 	   115 	   105
	003143	   122 	   015 	   012
	003146	   000
    554	003147				MNMMSG:
    555	003147	   115 	   101 	   111 		.ASCIZ	/MAINTENANCE/<15><12>
	003152	   116 	   124 	   105
	003155	   116 	   101 	   116
	003160	   103 	   105 	   015
	003163	   012 	   000
    556						.EVEN
    557		000000'				.END	KLRING
KLRING -- KLINIK REQUEST TASK	MACRO M1113  03-APR-86 18:06  PAGE 6-4
SYMBOL TABLE

ATTCTR  002216R  	KLCLS   000102R  	M.KTEF= 000002   	RDKLN1  001302R  	$RP04 = 000001
A.LULU= 000002   	KLDIE   000170R  	M.KTMG= 000004   	RQKLD   002262R  	$RX11 = 000001
A.LUNA= 000004   	KLLOG   001162R  	M.KTUN= 000006   	R$$11D= 000001   	$TOP20= 000001
A.LUNU= 000006   	KLLOG1  001200R  	OPMMSG  003117R  	R.QSGC= 000015   	$$    = 000067
BC.HDS= ****** GX	KLNPTR= ****** GX	PRBOTH  001602R  	R.QSPC= 000014   	$$$ARG= 000011
CKCAR   002060R  	KLRING  000000RG 	PRCTY   001614R  	R.QSPN= 000006   	$$$OST= 000016
CLSMS   002536R  	KLTMO   000124R  	PRKLC   002024R  	R.QSPR= 000012   	$$$T1 = 000000
CNRMSG  002353R  	KLXIT   000156R  	PRKLN   002016R  	R.QSTN= 000002   	.COMEF= ****** GX
CNXMSG  002462R  	KMEMSG  002642R  	PRKLW   002044R  	STSW1 = ****** GX	.DAY  = ****** GX
CTY     002230R  	K.LBPW= ****** GX	PRKL0   001772R  	TIMST   002220R  	.FEMOD= ****** GX
CTYDB   002240R  	K.LCON= ****** GX	PRKL1   002036R  	TMOMS   002762R  	.KLNFD= ****** GX
CTYPTR= ****** GX	K.LLTO= ****** GX	PRMMSG  003132R  	TTYEXP= ****** GX	.KLNFT= ****** GX
DL.CAR= ****** GX	K.LRAC= ****** GX	PS    = ****** GX	TT.CRW= ****** GX	.KLNMD= ****** GX
DL.DEN= ****** GX	K.LRNG= ****** GX	PSWMS   002605R  	TT.CTY= ****** GX	.KLNPW= ****** GX
DL.DTR= ****** GX	K.LRRJ= ****** GX	PWD     002222R  	TT.RIP= ****** GX	.KLNSW= ****** GX
DL.REN= ****** GX	LOGBFE= 001270R  	Q.IOAE= 000012   	VLMSG   002300R  	.KLNTD= ****** GX
DL.RTS= ****** GX	LOGBUF  001254R  	Q.IOEF= 000006   	$CD11 = 000001   	.KLNTT= ****** GX
DL.XEN= ****** GX	L$$P20= 000002   	Q.IOFN= 000002   	$DBDTE= 000001   	.MON  = ****** GX
DRPMS   003053R  	MKTDPB  001150R  	Q.IOLU= 000004   	$DH11 = 000001   	.SSM  = ****** GX
DV.LOG= ****** GX	MNMMSG  003147R  	Q.IOPL= 000014   	$DTE  = 000001   	.STTYD= ****** GX
D$$H11= 000010   	MODMSG  002622R  	Q.IOPR= 000007   	$FE   = 000001   	.TTP11= ****** GX
D.CKLN= ****** GX	MODTBL  002210R  	Q.IOSB= 000010   	$F11  = 000001   	.YEAR = ****** GX
INVMS   002724R  	M.KTAE= 000010   	RDKLN   001270R  	$LP20 = 000001   	..STIN= ****** GX
IO.WLB= ****** GX

. ABS.	000000	   000
      	003166	   001
ERRORS DETECTED:  0

VIRTUAL MEMORY USED:  2815 WORDS  ( 11 PAGES)
DYNAMIC MEMORY:  3566 WORDS  ( 13 PAGES)
ELAPSED TIME:  00:00:28
[54,10]KLRING,[54,20]KLRING/-SP/CR=[20,30]RSXFC/PA:1,[54,30]KLRING
KLRING     CREATED BY  MACRO  ON 3-APR-86 AT 18:06	PAGE 1

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

ATTCTR	  002216 R	 3-90      *3-152     *3-156      3-158      3-172     *3-201      4-328      4-338      4-365     
                        #6-509     
A.LULU	= 000002	#6-518     
A.LUNA	= 000004	#6-518     
A.LUNU	= 000006	#6-518     
BC.HDS	= ******  GX	 3-292     
CKCAR 	  002060 R	 4-327      4-327      5-468      5-468     #5-473     
CLSMS 	  002536 R	 3-84      #6-535     
CNRMSG	  002353 R	 3-233     #6-525     
CNXMSG	  002462 R	 3-251     #6-528     
CTY   	  002230 R	 3-65      #6-517     
CTYDB 	  002240 R	*5-423     *5-424      5-425     #6-519     
CTYPTR	= ******  GX	 5-430      5-474     
DL.CAR	= ******  GX	 5-476      5-484     
DL.DEN	= ******  GX	 3-70       3-261     
DL.DTR	= ******  GX	 3-261     
DL.REN	= ******  GX	 3-70       3-261      5-433      5-440     
DL.RTS	= ******  GX	 3-261     
DL.XEN	= ******  GX	 3-71       3-262      5-434      5-441     
DRPMS 	  003053 R	 5-489     #6-548     
DV.LOG	= ******  GX	 3-302     
D.CKLN	= ******  GX	 3-294     
INVMS 	  002724 R	 3-170     #6-543     
IO.WLB	= ******  GX	 6-520     
KLCLS 	  000102 R	 3-75      #3-79       3-117      3-120      3-123      3-126      3-130      3-133      3-136     
                         3-139     
KLDIE 	  000170 R	#3-98       5-492     
KLLOG 	  001162 R	 3-83       3-83       3-93       3-93       3-144      3-144      3-269      3-269     #3-281     
KLLOG1	  001200 R	 3-169      3-169     #3-288     
KLNPTR	= ******  GX	 3-67      
KLRING	  000000 RG	#3-64       6-557     
KLTMO 	  000124 R	#3-87       3-175     
KLXIT 	  000156 R	 3-85      #3-95      
KMEMSG	  002642 R	 3-219     #6-541     
K.LBPW	= ******  GX	 3-160     
K.LCON	= ******  GX	 3-267     
K.LLTO	= ******  GX	 3-92      
K.LRAC	= ******  GX	 3-143     
K.LRNG	= ******  GX	 3-82       3-143     
K.LRRJ	= ******  GX	 3-82      
LOGBFE	= 001270 R	 3-161     #3-304     
LOGBUF	  001254 R	 3-283     #3-300     
MKTDPB	  001150 R	 3-180     #3-276      5-481     
MNMMSG	  003147 R	 6-508     #6-554     
MODMSG	  002622 R	 3-210     #6-539     
MODTBL	  002210 R	 3-246     #6-505     
M.KTAE	= 000010	#3-277     
M.KTEF	= 000002	#3-277     
M.KTMG	= 000004	#3-277     
M.KTUN	= 000006	#3-277     
OPMMSG	  003117 R	 6-506     #6-550     
PRBOTH	  001602 R	 3-97       3-97       3-149      3-149      3-234      3-234      3-253      3-253     #5-408     
KLRING     CREATED BY  MACRO  ON 3-APR-86 AT 18:06	PAGE 2

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

PRCTY 	  001614 R	 5-410      5-410     #5-414      5-490      5-490     
PRKLC 	  002024 R	 4-340      4-340      4-368      4-368      4-372      4-372      4-374      4-374      4-375     
                         4-375      4-390      4-390      4-392      4-392      4-395      4-395      4-397      4-397     
                         4-399      4-399      4-400      4-400      5-448      5-448      5-452      5-452      5-453     
                         5-453     #5-460     
PRKLN 	  002016 R	 3-171      3-171      3-191      3-191      3-211      3-211      3-220      3-220      5-412     
                         5-437      5-437      5-450     #5-454     
PRKLW 	  002044 R	 5-457      5-461      5-461     #5-467     
PRKL0 	  001772 R	#5-447      5-456     
PRKL1 	  002036 R	#5-465      5-470     
PRMMSG	  003132 R	 6-507     #6-552     
PS    	= ******  GX	 3-69      *3-69      *3-73       3-99      *3-99      *3-102      3-254     *3-254     *3-263     
                         5-432     *5-432     *5-436      5-438     *5-438     *5-442     
PSWMS 	  002605 R	 3-190     #6-537     
PWD   	  002222 R	 3-162      3-184      3-206     #6-514     
Q.IOAE	= 000012	#6-520     
Q.IOEF	= 000006	#6-520     
Q.IOFN	= 000002	#6-520     
Q.IOLU	= 000004	#6-520     
Q.IOPL	= 000014	*5-423     *5-424     #6-520     
Q.IOPR	= 000007	#6-520     
Q.IOSB	= 000010	#6-520     
RDKLN 	  001270 R	 3-192      3-192      3-212      3-212     #4-320     
RDKLN1	  001302 R	#4-324      4-334      4-344      4-381      4-403     
RQKLD 	  002262 R	 3-103     #6-521     
R.QSGC	= 000015	#6-522     
R.QSPC	= 000014	#6-522     
R.QSPN	= 000006	#6-522     
R.QSPR	= 000012	#6-522     
R.QSTN	= 000002	#6-522     
STSW1 	= ******  GX	*3-258     *5-488     *5-495     
TIMST 	  002220 R	*3-150     *3-151     *3-189      4-330     #6-511     
TMOMS 	  002762 R	 3-94      #6-545     
TTYEXP	= ******  GX	 3-68      *3-72      *3-101     *3-260      5-431     *5-435     *5-439     
TT.CRW	= ******  GX	 5-488      5-495     
TT.CTY	= ******  GX	 3-258     
TT.RIP	= ******  GX	 5-488      5-495     
VLMSG 	  002300 R	 3-148     #6-523     
$TOP10	= ******	 2-6        6-529     
$TOP20	= 000001	 2-10       6-532     
$$    	= 000067	#3-83       3-83      #3-93       3-93      #3-97       3-97      #3-144      3-144     #3-149     
                         3-149     #3-169      3-169     #3-171      3-171     #3-191      3-191     #3-192      3-192     
                        #3-211      3-211     #3-212      3-212     #3-220      3-220     #3-234      3-234     #3-253     
                         3-253     #3-269      3-269     #3-272      3-272     #3-295      3-295     #4-327      4-327     
                        #4-340      4-340     #4-368      4-368     #4-372      4-372     #4-374      4-374     #4-375     
                         4-375     #4-390      4-390     #4-392      4-392     #4-395      4-395     #4-397      4-397     
                        #4-399      4-399     #4-400      4-400     #5-410      5-410     #5-437      5-437     #5-448     
                         5-448     #5-452      5-452     #5-453      5-453     #5-461      5-461     #5-468      5-468     
                        #5-490      5-490     
$$$ARG	= 000011	#6-518      6-518     #6-518      6-518     #6-518      6-518     #6-520      6-520     #6-520     
                         6-520     #6-520      6-520     #6-520      6-520     
$$$GLB	= ******	 3-277      3-277      3-277      3-277      3-277      6-518      6-518      6-518      6-518     
KLRING     CREATED BY  MACRO  ON 3-APR-86 AT 18:06	PAGE 3

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

                         6-520      6-520      6-520      6-520      6-520      6-520      6-520      6-520      6-522     
                         6-522      6-522      6-522      6-522      6-522     
$$$OST	= 000016	#3-277      3-277      3-277     #3-277      3-277      3-277     #3-277      3-277      3-277     
                        #3-277      3-277      3-277     #3-277     #6-518      6-518      6-518     #6-518      6-518     
                         6-518     #6-518      6-518      6-518     #6-518     #6-520      6-520      6-520     #6-520     
                         6-520      6-520     #6-520      6-520      6-520     #6-520      6-520      6-520     #6-520     
                         6-520      6-520     #6-520      6-520      6-520     #6-520      6-520     #6-522      6-522     
                         6-522     #6-522      6-522      6-522     #6-522      6-522      6-522     #6-522      6-522     
                         6-522     #6-522      6-522      6-522     #6-522     
$$$T1 	= 000000	#6-518      6-518      6-518     #6-518      6-518      6-518     #6-518      6-518      6-518     
                        #6-522      6-522      6-522      6-522     #6-522      6-522     
.COMEF	= ******  GX	 3-289     
.DAY  	= ******  GX	 3-113     
.FEMOD	= ******  GX	*3-236     
.KLNFD	= ******  GX	 3-115     
.KLNFT	= ******  GX	 3-125     
.KLNMD	= ******  GX	 3-74       3-145      3-203      3-235     
.KLNPW	= ******  GX	 3-77       3-195      3-197      3-199     
.KLNSW	= ******  GX	*3-96      *3-100     *3-255     *3-256     *5-491     
.KLNTD	= ******  GX	 3-128     
.KLNTT	= ******  GX	 3-138     
.MON  	= ******  GX	 3-111     
.SSM  	= ******  GX	 3-125      3-138      3-150      4-330     
.STTYD	= ******  GX	 3-272      3-272     
.TTP11	= ******  GX	 5-415     
.YEAR 	= ******  GX	 3-109     
..STIN	= ******  GX	 3-295      3-295     
KLRING     CREATED BY  MACRO  ON 3-APR-86 AT 18:06	PAGE 4

MACRO CROSS REFERENCE                                   CREF         

MACRO NAME	REFERENCES

ALUN$ 		#3-60      #6-518     
CALL  		#3-60      #3-83      #3-93      #3-97      #3-144     #3-149     #3-169     #3-171     #3-191     #3-192     
                #3-211     #3-212     #3-220     #3-234     #3-253     #3-269     #3-272     #3-295     #4-327     #4-340     
                #4-368     #4-372     #4-374     #4-375     #4-390     #4-392     #4-395     #4-397     #4-399     #4-400     
                #5-410     #5-437     #5-448     #5-452     #5-453     #5-461     #5-468     #5-490     
CLEF$S		#3-61      #3-66      #3-291     #5-483     
DIR$  		#3-60      #3-65      #3-66      #3-66      #3-103     #3-105     #3-105     #3-180     #3-181     #3-181     
                #3-274     #3-274     #3-291     #3-291     #3-296     #3-296     #4-333     #4-333     #5-425     #5-466     
                #5-466     #5-481     #5-482     #5-482     #5-483     #5-483     
ERR$  		#3-65      #3-66      #3-103     #3-105     #3-180     #3-181     #3-274     #3-291     #3-296     #4-333     
                #5-425     #5-466     #5-481     #5-482     #5-483     
EXIT$S		#3-60      #3-105     #3-274     
MOV$  		#3-66       3-66      #3-181      3-181     #3-291      3-291     #3-296      3-296     #5-482      5-482     
                #5-483      5-483     
MRKT$ 		#3-61       3-277     
NBL$  		#6-518      6-518     
OFF$  		#3-277      3-277      3-277      3-277      3-277      3-277     #6-518      6-518      6-518      6-518     
                 6-518     #6-520      6-520      6-520      6-520      6-520      6-520      6-520      6-520      6-520     
                #6-522      6-522      6-522      6-522      6-522      6-522      6-522     
QDPB$ 		#6-520      6-520     
QIOW$ 		#3-60       6-520     
RETURN		#3-60       3-298      4-387      5-426      5-445      5-463      5-471      5-498     
RQST$ 		#3-61       6-522     
R50$  		#6-522      6-522      6-522     
WSIG$S		#3-60      #4-333     #5-466     
WTSE$S		#3-61      #3-181     #3-296     #5-482     
.ENB6 		#3-61       3-73       3-102      3-263      5-436      5-442     
.INH6 		#3-61       3-69       3-99       3-254      5-432      5-438