Google
 

Trailing-Edge - PDP-10 Archives - BB-H311B-RM - rsx20f-swskit/listings/klring.l20
There are 3 other files named klring.l20 in the archive. Click here to see a list.
KLRING -- KLINIK REQUEST TASK	MACRO M1110  12-OCT-79 11:23
TABLE OF CONTENTS

     3-    2	KLRING -- KLINIK REQUEST TASK
     4-   44	KLRING -- (INITIALIZATION)
     5-  305	KLRING -- (CTY INPUT SUROUTINES)
     6-  405	KLRING -- (CTY/TTY OUTPUT ROUTINES)
     7-  499	KLRING -- (LOCAL DATA)
KLRING -- KLINIK REQUEST TASK	MACRO M1110  12-OCT-79 11:23  PAGE 2


      1						.TITLE	KLRING -- KLINIK REQUEST TASK
      2						.SBTTL	KLRING -- KLINIK REQUEST TASK
      3						.LIST MEB
      4						.NLIST CND
      5
      9
     11						.IDENT	"B01020"
     13
     14					;
     15					;                             COPYRIGHT (C) 1975, 1978 BY
     16					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
     17					;
     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: V010A
     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
KLRING -- KLINIK REQUEST TASK	MACRO M1110  12-OCT-79 11:23  PAGE 3
KLRING -- (INITIALIZATION)

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

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

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

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

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

    279
    280	001162				KLLOG:
    281	001162	010046 				MOV	R0,-(SP)	; +++001 SAVE PACKET LENGTH
    282	001164	012700 	001256'			MOV	#LOGBUF,R0	; +++001 BUFFER POINTER TO R0
    283	001170	012620 				MOV	(SP)+,(R0)+	; +++001 SET THE PACKET LENGTH
    284	001172	005720 				TST	(R0)+		; +++001 GET OVER THE LOG FLAG
    285	001174	010110 				MOV	R1,(R0)		; +++001 SET THE MESSAGE
    286	001176	024040 				CMP	-(R0),-(R0)	; +++001 BACK UP TO HEADER
    287	001200				KLLOG1:
    288	001200	032767 	000000G	000002G		BIT	#EF.PR1,.COMEF+2 ; +++001 CAN WE DO THIS??
    289	001206	001422 				BEQ	90$		; +++001 NO -- QUIT NOW
    290	001210					CLEF$S	#2		; +++001 YES -- CLEAR EVENT FLAG
	001210	012746 	000002 			MOV	#2,-(SP)
	001214	012746 				MOV	(PC)+,-(SP)
	001216	   037 	   002 			.BYTE	31.,2
	001220	104375 				EMT	375
    291	001222	012701 	100000G			MOV	#BC.HDS+100000,R1 ; +++001 FUNCTION CODE TO R1
    292	001226	012702 	000002 			MOV	#2,R2		; +++001 EVENT FLAG 2
    293	001232	012703 	000000G			MOV	#D.CKLN,R3	; +++001 DEVICE CODE TO R3
    294	001236					CALL	..STIN
	001236	004767 	000000G			JSR	PC,..STIN
    295	001242					WTSE$S	#2		; +++001 WAIT FOR IT
	001242	012746 	000002 			MOV	#2,-(SP)
	001246	012746 				MOV	(PC)+,-(SP)
	001250	   051 	   002 			.BYTE	41.,2
	001252	104375 				EMT	375
    296	001254				90$:
    297	001254					RETURN			; +++001 TO CALLER
	001254	000207 				RTS	PC
    298
    299	001256				LOGBUF:
    300	001256	000000 				.WORD	0
    301	001260	000000G				.WORD	DV.LOG
    302	001262	000000 	000000 	000000 		.WORD	0,0,0,0
	001270	000000
    303		001272'			LOGBFE=.
KLRING -- KLINIK REQUEST TASK	MACRO M1110  12-OCT-79 11:23  PAGE 4
KLRING -- (CTY INPUT SUROUTINES)

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

    357	001420	122700 	000177 			CMPB	#177,R0		; +++001 NO -- RUBOUT
    358	001424	001746 				BEQ	15$		; +++001 YES -- GO PROCESS
    359	001426	122700 	000140 			CMPB	#140,R0		; UPPER CASE ?
    360	001432	003002 				BGT	45$		; +++001 YES -- STORE IT
    361	001434	162700 	000040 			SUB	#40,R0		; +++001 NO -- CONVERT TO UPPER CASE
    362	001440				45$:
    363	001440	110023 				MOVB	R0,(R3)+	; STORE CHARACTER
    364	001442	005767 	000552 			TST	ATTCTR		; +++001 ECHO ??
    365	001446	001017 				BNE	55$		; +++001 NO -- GO ON
    366	001450				50$:
    367	001450					CALL	PRKLC		; +++001 YES -- ECHO IT
	001450	004767 	000352 			JSR	PC,PRKLC
    368	001454	122700 	000015 			CMPB	#15,R0		; +++001 WAS IT A <CR>??
    369	001460	001012 				BNE	55$		; +++001 NO -- GO ON
    370	001462	112700 	000012 			MOVB	#12,R0		; +++001 YES DO <LF> AS WELL
    371	001466					CALL	PRKLC		; +++001 SO
	001466	004767 	000334 			JSR	PC,PRKLC
    372	001472	005000 				CLR	R0		; +++001 AND TWO NULLS
    373	001474					CALL	PRKLC		; +++001
	001474	004767 	000326 			JSR	PC,PRKLC
    374	001500					CALL	PRKLC		; +++001
	001500	004767 	000322 			JSR	PC,PRKLC
    375	001504	000403 				BR	60$		; +++001 EXIT
    376						;
    377	001506				55$:
    378	001506	005301 				DEC	R1		; +++001 COUNT THE CHARACTER
    379	001510	001401 				BEQ	60$		; +++001 LAST ONE IF .EQ. 0
    380	001512	000674 				BR	RDKLN1		; +++001 GO ON IF NOT
    381						;
    382	001514				60$:
    383	001514	000241 				CLC			; +++001 YES -- CLEAR CC-C TO SAY OK
    384	001516				65$:
    385	001516	012603 				MOV	(SP)+,R3	; +++001 RESTORE BUFFER POINTER
    386	001520					RETURN			; +++001 RETURN
	001520	000207 				RTS	PC
    387	001522				35$:				; +++001 HERE TO PROCESS CTRL-U
    388	001522	112700 	000136 			MOVB	#'^,R0		; +++001 UP-ARROW
    389	001526					CALL	PRKLC		; +++001 PRINT IT
	001526	004767 	000274 			JSR	PC,PRKLC
    390	001532	112700 	000125 			MOVB	#'U,R0		; +++001 "U"
    391	001536					CALL	PRKLC		; +++001 PRINT IT
	001536	004767 	000264 			JSR	PC,PRKLC
    392	001542				40$:
    393	001542	112700 	000015 			MOVB	#15,R0		; +++001 <CR>
    394	001546					CALL	PRKLC		; +++001 PRINT IT
	001546	004767 	000254 			JSR	PC,PRKLC
    395	001552	112700 	000012 			MOVB	#12,R0		; +++001 <LF>
    396	001556					CALL	PRKLC		; +++001 PRINT IT
	001556	004767 	000244 			JSR	PC,PRKLC
    397	001562	005000 				CLR	R0		; +++001 SEND TWO NULLS
    398	001564					CALL	PRKLC		; +++001
	001564	004767 	000236 			JSR	PC,PRKLC
    399	001570					CALL	PRKLC		; +++001
	001570	004767 	000232 			JSR	PC,PRKLC
    400	001574	012701 	000006 			MOV	#6,R1		; +++001 RESET CHARACTER COUNT
    401	001600	011603 				MOV	(SP),R3		; +++001 RESTORE BUFFER POINTER
    402	001602	000640 				BR	RDKLN1		; +++001 AND START OVER
KLRING -- KLINIK REQUEST TASK	MACRO M1110  12-OCT-79 11:23  PAGE 4-2
KLRING -- (CTY INPUT SUROUTINES)

    403						;
KLRING -- KLINIK REQUEST TASK	MACRO M1110  12-OCT-79 11:23  PAGE 5
KLRING -- (CTY/TTY OUTPUT ROUTINES)

    405						.SBTTL	KLRING -- (CTY/TTY OUTPUT ROUTINES)
    406
    407	001604				PRBOTH:
    408	001604	010246 				MOV	R2,-(SP)	; +++001 SAVE MESSAGE POINTER
    409	001606					CALL	PRCTY		; +++001 SEND IT TO THE CTY
	001606	004767 	000004 			JSR	PC,PRCTY
    410	001612	012602 				MOV	(SP)+,R2	; +++001 RETREIVE MESSAGE POINTER
    411	001614	000501 				BR	PRKLN		; +++001 SEND IT TO KLINIK
    412						;
    413	001616				PRCTY:
    414	001616	005767 	000000G			TST	.TTP11		; IS CTY DOING PDP-11 I/O??
    415	001622	001015 				BNE	90$		; YES -- DO A BREAKTHROUGH WRITE
    416	001624	010200 				MOV	R2,R0		; COPY STRING POINTER
    417	001626				10$:
    418	001626	105720 				TSTB	(R0)+		; FIND END OF STRING
    419	001630	001376 				BNE	10$
    420	001632	005300 				DEC	R0		; BACK UP ONE CHAR
    421	001634	160200 				SUB	R2,R0		; AND FIGURE LENGTH.
    422	001636	010267 	000414 			MOV	R2,CTYDB+Q.IOPL+0 ;SET UP ADDRESS
    423	001642	010067 	000412 			MOV	R0,CTYDB+Q.IOPL+2 ;AND LENGTH,
    424	001646					DIR$	#CTYDB		; SEND THE MESSAGE.
	001646	012746 	002242'			MOV	#CTYDB,-(SP)
	001652	104375 				EMT	375
    425	001654					RETURN			; +++001 EXIT
	001654	000207 				RTS	PC
    426	001656				90$:
    427	001656	010446 				MOV	R4,-(SP)	; +++001 SAVE R4
    428	001660	010546 				MOV	R5,-(SP)	; +++001 AND R5
    429	001662	016705 	000000G			MOV	CTYPTR,R5	; +++001 POINT TO THE CTY
    430	001666	016504 	000000G			MOV	TTYEXP(R5),R4	; +++001 I/O PAGE POINTER TO R4
    431	001672					.INH6			; +++001 DISALLOW INTERRUPTS
	001672	013746 	000000G			MOV	@#PS,-(SP)
	001676	112737 	000300 	000000G		MOVB	#300,@#PS
    432	001704	042714 	000000G			BIC	#DL.REN,(R4)	;;;+++001 DISABLE THE LINE
    433	001710	042764 	000000G	000004 		BIC	#DL.XEN,4(R4)	;;; +++001 SO
    434	001716	005065 	000000G			CLR	TTYEXP(R5)	;;; +++001 NO EXEC MEDDLING
    435	001722					.ENB6			;;; +++001 ALLOW INTERRUPTS
	001722	012637 	000000G			MOV	(SP)+,@#PS
    436	001726					CALL	PRKLN		; +++001 FORCE THE MESSAGE
	001726	004767 	000066 			JSR	PC,PRKLN
    437	001732					.INH6			; +++001 DISALLOW INTERRUPTS
	001732	013746 	000000G			MOV	@#PS,-(SP)
	001736	112737 	000300 	000000G		MOVB	#300,@#PS
    438	001744	010465 	000000G			MOV	R4,TTYEXP(R5)	;;; +++001 RETURN LINE TO THE EXEC
    439	001750	052714 	000000G			BIS	#DL.REN,(R4)	;;; +++001 ENABLE THE LINE
    440	001754	052764 	000000G	000004 		BIS	#DL.XEN,4(R4)	;;; +++001 SO
    441	001762					.ENB6			;;; +++001 ALLOW INTERRUPTS
	001762	012637 	000000G			MOV	(SP)+,@#PS
    442	001766	012605 				MOV	(SP)+,R5	; +++001 RESTORE R5
    443	001770	012604 				MOV	(SP)+,R4	; +++001 AND R4
    444	001772					RETURN
	001772	000207 				RTS	PC
    445
    446	001774				PRKL0:
    447	001774					CALL	PRKLC		; SEND THE CHARACTER.
	001774	004767 	000026 			JSR	PC,PRKLC
    448	002000	122700 	000012 			CMPB	#12,R0		; IF CHARACTER WAS LF,
KLRING -- KLINIK REQUEST TASK	MACRO M1110  12-OCT-79 11:23  PAGE 5-1
KLRING -- (CTY/TTY OUTPUT ROUTINES)

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

    487	002150	042765 	000000C	000000G		BIC	#TT.CRW!TT.RIP,STSW1(R5) ; +++001 NO LONGER IN CARRIER WAIT
    488	002156	012702 	003055'			MOV	#DRPMS,R2	; +++001 FAILED -- MESSAGE POINTER TO R2
    489	002162					CALL	PRCTY		; +++001 TELL ONLY LOCAL CTY
	002162	004767 	177430 			JSR	PC,PRCTY
    490	002166	112767 	000002 	000001G		MOVB	#2,.KLNSW+1	; +++001 FLAG THE CARRIER DROP
    491	002174	000167 	175770 			JMP	KLDIE		; +++001 EXIT TO HANG UP
    492						;
    493	002200				20$:
    494	002200	042765 	000000C	000000G		BIC	#TT.CRW!TT.RIP,STSW1(R5) ; +++001 NO LONGER IN CARRIER WAIT
    495	002206	012600 				MOV	(SP)+,R0	; +++001 RESTORE R0
    496	002210				30$:
    497	002210					RETURN
	002210	000207 				RTS	PC
KLRING -- KLINIK REQUEST TASK	MACRO M1110  12-OCT-79 11:23  PAGE 6
KLRING -- (LOCAL DATA)

    499						.SBTTL	KLRING -- (LOCAL DATA)
    500
    501					;
    502					; DATA AREAS
    503					;
    504	002212				MODTBL:
    505	002212	003121'				.WORD	OPMMSG		; +++001
    506	002214	003134'				.WORD	PRMMSG		; +++001
    507	002216	003151'				.WORD	MNMMSG		; +++001
    508	002220				ATTCTR:
    509	002220	000000 				.WORD	0		; +++001 ATTEMPT COUNTER
    510	002222				TIMST:
    511	002222	000000 				.WORD	0		; TIMEOUT COUNTER
    512
    513	002224				PWD:
    514	002224	000000 	000000 	000000 		.WORD	0,0,0		; PASSWORD
    515
    516	002232				CTY:
    517	002232					ALUN$	1,TT,0
	002232	   007 	   004 			.BYTE	7,4
	002234	000001 				.WORD	1
	002236	   124 				.ASCII	/T/
	002237	   124 				.ASCII	/T/
	002240	000000 				.WORD	0
    518	002242				CTYDB:
    519	002242					QIOW$	IO.WLB,1,1,,,,<0,0,0>
	002242	   003 	   011 			.BYTE	3,$$$ARG
	002244	000000G				.WORD	IO.WLB
	002246	000001 				.WORD	1
	002250	   001 	   000 			.BYTE	1,
	002252	000000 				.WORD
	002254	000000 				.WORD
	002256	000000 				.WORD	0
	002260	000000 				.WORD	0
	002262	000000 				.WORD	0
    520	002264				RQKLD:
    521	002264					RQST$	KLDISC,,10	; +++001
	002264	   013 	   007 			.BYTE	11.,7
	002266	043244 	035473 			.RAD50	/KLDISC/
	002272	000000 	000000 			.WORD	0,0
	002276	000010 				.WORD	10
	002300	   000 	   000 			.BYTE	,
    522	002302				VLMSG:
    523	002302	   015 	   012 	   113 		.ASCIZ	<15><12>/KLR -- KLINIK RING - VALIDATING ACCESS/<15><12>
	002305	   114 	   122 	   040
	002310	   055 	   055 	   040
	002313	   113 	   114 	   111
	002316	   116 	   111 	   113
	002321	   040 	   122 	   111
	002324	   116 	   107 	   040
	002327	   055 	   040 	   126
	002332	   101 	   114 	   111
	002335	   104 	   101 	   124
	002340	   111 	   116 	   107
	002343	   040 	   101 	   103
	002346	   103 	   105 	   123
	002351	   123 	   015 	   012
KLRING -- KLINIK REQUEST TASK	MACRO M1110  12-OCT-79 11:23  PAGE 6-1
KLRING -- (LOCAL DATA)

	002354	   000
    524	002355				CNRMSG:
    525	002355	   015 	   012 	   113 		.ASCII	<15><12>/KLR -- KLINIK LINE CONNECTED TO RSX20F/<15><12>
	002360	   114 	   122 	   040
	002363	   055 	   055 	   040
	002366	   113 	   114 	   111
	002371	   116 	   111 	   113
	002374	   040 	   114 	   111
	002377	   116 	   105 	   040
	002402	   103 	   117 	   116
	002405	   116 	   105 	   103
	002410	   124 	   105 	   104
	002413	   040 	   124 	   117
	002416	   040 	   122 	   123
	002421	   130 	   062 	   060
	002424	   106 	   015 	   012
    526	002427	   113 	   114 	   122 		.ASCIZ	/KLR -- CONSOLE MODE LIMIT:  /
	002432	   040 	   055 	   055
	002435	   040 	   103 	   117
	002440	   116 	   123 	   117
	002443	   114 	   105 	   040
	002446	   115 	   117 	   104
	002451	   105 	   040 	   114
	002454	   111 	   115 	   111
	002457	   124 	   072 	   040
	002462	   040 	   000
    527	002464				CNXMSG:
    532	002464	   015 	   012 	   113 		.ASCIZ	<15><12>/KLR -- KLINIK LINE CONNECTED TO TOPS-20/<15><12>
	002467	   114 	   122 	   040
	002472	   055 	   055 	   040
	002475	   113 	   114 	   111
	002500	   116 	   111 	   113
	002503	   040 	   114 	   111
	002506	   116 	   105 	   040
	002511	   103 	   117 	   116
	002514	   116 	   105 	   103
	002517	   124 	   105 	   104
	002522	   040 	   124 	   117
	002525	   040 	   124 	   117
	002530	   120 	   123 	   055
	002533	   062 	   060 	   015
	002536	   012 	   000
    534	002540				CLSMS:
    535	002540	   015 	   012 	   113 		.ASCIZ	<15><12>/KLR -- KLINIK RING - WINDOW CLOSED/<15><12>
	002543	   114 	   122 	   040
	002546	   055 	   055 	   040
	002551	   113 	   114 	   111
	002554	   116 	   111 	   113
	002557	   040 	   122 	   111
	002562	   116 	   107 	   040
	002565	   055 	   040 	   127
	002570	   111 	   116 	   104
	002573	   117 	   127 	   040
	002576	   103 	   114 	   117
	002601	   123 	   105 	   104
	002604	   015 	   012 	   000
    536	002607				PSWMS:
KLRING -- KLINIK REQUEST TASK	MACRO M1110  12-OCT-79 11:23  PAGE 6-2
KLRING -- (LOCAL DATA)

    537	002607	   015 	   012 	   120 		.ASCIZ	<15><12>/PASSWORD: /
	002612	   101 	   123 	   123
	002615	   127 	   117 	   122
	002620	   104 	   072 	   040
	002623	   000
    538	002624				MODMSG:
    539	002624	   015 	   012 	   113 		.ASCIZ	<15><12>/KLINIK MODE: /
	002627	   114 	   111 	   116
	002632	   111 	   113 	   040
	002635	   115 	   117 	   104
	002640	   105 	   072 	   040
	002643	   000
    540	002644				KMEMSG:
    541	002644	   015 	   012 	   113 		.ASCIZ <15><12>/KLR -- MODE MUST BE EITHER "REMOTE" OR "USER"/<15><12>
	002647	   114 	   122 	   040
	002652	   055 	   055 	   040
	002655	   115 	   117 	   104
	002660	   105 	   040 	   115
	002663	   125 	   123 	   124
	002666	   040 	   102 	   105
	002671	   040 	   105 	   111
	002674	   124 	   110 	   105
	002677	   122 	   040 	   042
	002702	   122 	   105 	   115
	002705	   117 	   124 	   105
	002710	   042 	   040 	   117
	002713	   122 	   040 	   042
	002716	   125 	   123 	   105
	002721	   122 	   042 	   015
	002724	   012 	   000
    542	002726				INVMS:
    543	002726	   015 	   012 	   113 		.ASCIZ	<15><12>/KLR -- INCORRECT PASSWORD/<15><12>
	002731	   114 	   122 	   040
	002734	   055 	   055 	   040
	002737	   111 	   116 	   103
	002742	   117 	   122 	   122
	002745	   105 	   103 	   124
	002750	   040 	   120 	   101
	002753	   123 	   123 	   127
	002756	   117 	   122 	   104
	002761	   015 	   012 	   000
    544	002764				TMOMS:
    545	002764	   015 	   012 	   113 		.ASCII	<15><12>/KLR -- KLINIK LOGON TIMEOUT - /<15><12>
	002767	   114 	   122 	   040
	002772	   055 	   055 	   040
	002775	   113 	   114 	   111
	003000	   116 	   111 	   113
	003003	   040 	   114 	   117
	003006	   107 	   117 	   116
	003011	   040 	   124 	   111
	003014	   115 	   105 	   117
	003017	   125 	   124 	   040
	003022	   055 	   040 	   015
	003025	   012
    546	003026	   113 	   114 	   122 		.ASCIZ	/KLR -- LOGON ABORTED/<15><12>
	003031	   040 	   055 	   055
	003034	   040 	   114 	   117
KLRING -- KLINIK REQUEST TASK	MACRO M1110  12-OCT-79 11:23  PAGE 6-3
KLRING -- (LOCAL DATA)

	003037	   107 	   117 	   116
	003042	   040 	   101 	   102
	003045	   117 	   122 	   124
	003050	   105 	   104 	   015
	003053	   012 	   000
    547	003055				DRPMS:
    548	003055	   015 	   012 	   113 		.ASCIZ	<15><12>/KLR -- KLINIK LINE CARRIER DROP/<15><12>
	003060	   114 	   122 	   040
	003063	   055 	   055 	   040
	003066	   113 	   114 	   111
	003071	   116 	   111 	   113
	003074	   040 	   114 	   111
	003077	   116 	   105 	   040
	003102	   103 	   101 	   122
	003105	   122 	   111 	   105
	003110	   122 	   040 	   104
	003113	   122 	   117 	   120
	003116	   015 	   012 	   000
    549	003121				OPMMSG:
    550	003121	   117 	   120 	   105 		.ASCIZ	/OPERATOR/<15><12>
	003124	   122 	   101 	   124
	003127	   117 	   122 	   015
	003132	   012 	   000
    551	003134				PRMMSG:
    552	003134	   120 	   122 	   117 		.ASCIZ	/PROGRAMMER/<15><12>
	003137	   107 	   122 	   101
	003142	   115 	   115 	   105
	003145	   122 	   015 	   012
	003150	   000
    553	003151				MNMMSG:
    554	003151	   115 	   101 	   111 		.ASCIZ	/MAINTENANCE/<15><12>
	003154	   116 	   124 	   105
	003157	   116 	   101 	   116
	003162	   103 	   105 	   015
	003165	   012 	   000
    555						.EVEN
    556		000000'				.END	KLRING
KLRING -- KLINIK REQUEST TASK	MACRO M1110  12-OCT-79 11:23  PAGE 6-4
SYMBOL TABLE

ATTCTR  002220R  	IO.WLB= ****** GX	M.KTEF= 000002   	RDKLN1  001304R  	$RP04 = 000001
A.LULU= 000002   	KLCLS   000102R  	M.KTMG= 000004   	RQKLD   002264R  	$RX11 = 000001
A.LUNA= 000004   	KLDIE   000170R  	M.KTUN= 000006   	R$$11D= 000001   	$TOP20= 000001
A.LUNU= 000006   	KLLOG   001162R  	OPMMSG  003121R  	R.QSGC= 000015   	$$    = 000067
BC.HDS= ****** GX	KLLOG1  001200R  	PRBOTH  001604R  	R.QSPC= 000014   	$$$ARG= 000011
CKCAR   002062R  	KLNPTR= ****** GX	PRCTY   001616R  	R.QSPN= 000006   	$$$OST= 000016
CLSMS   002540R  	KLRING  000000RG 	PRKLC   002026R  	R.QSPR= 000012   	$$$T1 = 000000
CNRMSG  002355R  	KLTMO   000124R  	PRKLN   002020R  	R.QSTN= 000002   	.COMEF= ****** GX
CNXMSG  002464R  	KLXIT   000156R  	PRKLW   002046R  	STSW1 = ****** GX	.DAY  = ****** GX
CTY     002232R  	KMEMSG  002644R  	PRKL0   001774R  	TIMST   002222R  	.FEMOD= ****** GX
CTYDB   002242R  	K.LBPW= ****** GX	PRKL1   002040R  	TMOMS   002764R  	.KLNFD= ****** GX
CTYPTR= ****** GX	K.LCON= ****** GX	PRMMSG  003134R  	TTYEXP= ****** GX	.KLNFT= ****** GX
DL.CAR= ****** GX	K.LLTO= ****** GX	PS    = ****** GX	TT.CRW= ****** GX	.KLNMD= ****** GX
DL.DEN= ****** GX	K.LRAC= ****** GX	PSWMS   002607R  	TT.CTY= ****** GX	.KLNPW= ****** GX
DL.DTR= ****** GX	K.LRNG= ****** GX	PWD     002224R  	TT.RIP= ****** GX	.KLNSW= ****** GX
DL.REN= ****** GX	K.LRRJ= ****** GX	Q.IOAE= 000012   	VLMSG   002302R  	.KLNTD= ****** GX
DL.RTS= ****** GX	LOGBFE= 001272R  	Q.IOEF= 000006   	$CD11 = 000001   	.KLNTT= ****** GX
DL.XEN= ****** GX	LOGBUF  001256R  	Q.IOFN= 000002   	$DBDTE= 000001   	.MON  = ****** GX
DRPMS   003055R  	L$$P20= 000002   	Q.IOLU= 000004   	$DH11 = 000001   	.SSM  = ****** GX
DV.LOG= ****** GX	MKTDPB  001150R  	Q.IOPL= 000014   	$DTE  = 000001   	.STTYD= ****** GX
D$$H11= 000010   	MNMMSG  003151R  	Q.IOPR= 000007   	$FE   = 000001   	.TTP11= ****** GX
D.CKLN= ****** GX	MODMSG  002624R  	Q.IOSB= 000010   	$F11  = 000001   	.YEAR = ****** GX
EF.PR1= ****** GX	MODTBL  002212R  	RDKLN   001272R  	$LP20 = 000001   	..STIN= ****** GX
INVMS   002726R  	M.KTAE= 000010

. ABS.	000000	   000
      	003170	   001
ERRORS DETECTED:  0

VIRTUAL MEMORY USED:  2824 WORDS  ( 12 PAGES)
DYNAMIC MEMORY:  3724 WORDS  ( 14 PAGES)
ELAPSED TIME:  00:01:01
[54,10]KLRING,[54,20]KLRING/-SP/CR=[20,30]RSXFC/PA:1,[54,30]KLRING
KLRING     CREATED BY  MACRO  ON 12-OCT-79 AT 11:23	PAGE 1

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

ATTCTR	  002220 R	 3-89      *3-151     *3-155      3-157      3-171     *3-200      4-327      4-337      4-364     
                        #6-508     
A.LULU	= 000002	#6-517     
A.LUNA	= 000004	#6-517     
A.LUNU	= 000006	#6-517     
BC.HDS	= ******  GX	 3-291     
CKCAR 	  002062 R	 4-326      4-326      5-467      5-467     #5-472     
CLSMS 	  002540 R	 3-83      #6-534     
CNRMSG	  002355 R	 3-232     #6-524     
CNXMSG	  002464 R	 3-250     #6-527     
CTY   	  002232 R	 3-64      #6-516     
CTYDB 	  002242 R	*5-422     *5-423      5-424     #6-518     
CTYPTR	= ******  GX	 5-429      5-473     
DL.CAR	= ******  GX	 5-475      5-483     
DL.DEN	= ******  GX	 3-69       3-260     
DL.DTR	= ******  GX	 3-260     
DL.REN	= ******  GX	 3-69       3-260      5-432      5-439     
DL.RTS	= ******  GX	 3-260     
DL.XEN	= ******  GX	 3-70       3-261      5-433      5-440     
DRPMS 	  003055 R	 5-488     #6-547     
DV.LOG	= ******  GX	 3-301     
D.CKLN	= ******  GX	 3-293     
EF.PR1	= ******  GX	 3-288     
INVMS 	  002726 R	 3-169     #6-542     
IO.WLB	= ******  GX	 6-519     
KLCLS 	  000102 R	 3-74      #3-78       3-116      3-119      3-122      3-125      3-129      3-132      3-135     
                         3-138     
KLDIE 	  000170 R	#3-97       5-491     
KLLOG 	  001162 R	 3-82       3-82       3-92       3-92       3-143      3-143      3-268      3-268     #3-280     
KLLOG1	  001200 R	 3-168      3-168     #3-287     
KLNPTR	= ******  GX	 3-66      
KLRING	  000000 RG	#3-63       6-556     
KLTMO 	  000124 R	#3-86       3-174     
KLXIT 	  000156 R	 3-84      #3-94      
KMEMSG	  002644 R	 3-218     #6-540     
K.LBPW	= ******  GX	 3-159     
K.LCON	= ******  GX	 3-266     
K.LLTO	= ******  GX	 3-91      
K.LRAC	= ******  GX	 3-142     
K.LRNG	= ******  GX	 3-81       3-142     
K.LRRJ	= ******  GX	 3-81      
LOGBFE	= 001272 R	 3-160     #3-303     
LOGBUF	  001256 R	 3-282     #3-299     
MKTDPB	  001150 R	 3-179     #3-275      5-480     
MNMMSG	  003151 R	 6-507     #6-553     
MODMSG	  002624 R	 3-209     #6-538     
MODTBL	  002212 R	 3-245     #6-504     
M.KTAE	= 000010	#3-276     
M.KTEF	= 000002	#3-276     
M.KTMG	= 000004	#3-276     
M.KTUN	= 000006	#3-276     
OPMMSG	  003121 R	 6-505     #6-549     
KLRING     CREATED BY  MACRO  ON 12-OCT-79 AT 11:23	PAGE 2

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

PRBOTH	  001604 R	 3-96       3-96       3-148      3-148      3-233      3-233      3-252      3-252     #5-407     
PRCTY 	  001616 R	 5-409      5-409     #5-413      5-489      5-489     
PRKLC 	  002026 R	 4-339      4-339      4-367      4-367      4-371      4-371      4-373      4-373      4-374     
                         4-374      4-389      4-389      4-391      4-391      4-394      4-394      4-396      4-396     
                         4-398      4-398      4-399      4-399      5-447      5-447      5-451      5-451      5-452     
                         5-452     #5-459     
PRKLN 	  002020 R	 3-170      3-170      3-190      3-190      3-210      3-210      3-219      3-219      5-411     
                         5-436      5-436      5-449     #5-453     
PRKLW 	  002046 R	 5-456      5-460      5-460     #5-466     
PRKL0 	  001774 R	#5-446      5-455     
PRKL1 	  002040 R	#5-464      5-469     
PRMMSG	  003134 R	 6-506     #6-551     
PS    	= ******  GX	 3-68       3-68       3-72       3-98       3-98       3-101      3-253      3-253      3-262     
                         5-431      5-431      5-435      5-437      5-437      5-441     
PSWMS 	  002607 R	 3-189     #6-536     
PWD   	  002224 R	 3-161      3-183      3-205     #6-513     
Q.IOAE	= 000012	#6-519     
Q.IOEF	= 000006	#6-519     
Q.IOFN	= 000002	#6-519     
Q.IOLU	= 000004	#6-519     
Q.IOPL	= 000014	*5-422     *5-423     #6-519     
Q.IOPR	= 000007	#6-519     
Q.IOSB	= 000010	#6-519     
RDKLN 	  001272 R	 3-191      3-191      3-211      3-211     #4-319     
RDKLN1	  001304 R	#4-323      4-333      4-343      4-380      4-402     
RQKLD 	  002264 R	 3-102     #6-520     
R.QSGC	= 000015	#6-521     
R.QSPC	= 000014	#6-521     
R.QSPN	= 000006	#6-521     
R.QSPR	= 000012	#6-521     
R.QSTN	= 000002	#6-521     
STSW1 	= ******  GX	*3-257     *5-487     *5-494     
TIMST 	  002222 R	*3-149     *3-150     *3-188      4-329     #6-510     
TMOMS 	  002764 R	 3-93      #6-544     
TTYEXP	= ******  GX	 3-67      *3-71      *3-100     *3-259      5-430     *5-434     *5-438     
TT.CRW	= ******  GX	 5-487      5-494     
TT.CTY	= ******  GX	 3-257     
TT.RIP	= ******  GX	 5-487      5-494     
VLMSG 	  002302 R	 3-147     #6-522     
$TOP10	= ******	 2-6        6-528     
$TOP20	= 000001	 2-10       6-531     
$$    	= 000067	#3-82       3-82      #3-92       3-92      #3-96       3-96      #3-143      3-143     #3-148     
                         3-148     #3-168      3-168     #3-170      3-170     #3-190      3-190     #3-191      3-191     
                        #3-210      3-210     #3-211      3-211     #3-219      3-219     #3-233      3-233     #3-252     
                         3-252     #3-268      3-268     #3-271      3-271     #3-294      3-294     #4-326      4-326     
                        #4-339      4-339     #4-367      4-367     #4-371      4-371     #4-373      4-373     #4-374     
                         4-374     #4-389      4-389     #4-391      4-391     #4-394      4-394     #4-396      4-396     
                        #4-398      4-398     #4-399      4-399     #5-409      5-409     #5-436      5-436     #5-447     
                         5-447     #5-451      5-451     #5-452      5-452     #5-460      5-460     #5-467      5-467     
                        #5-489      5-489     
$$$ARG	= 000011	#6-517      6-517     #6-517      6-517     #6-517      6-517     #6-519      6-519     #6-519     
                         6-519     #6-519      6-519     #6-519      6-519     
KLRING     CREATED BY  MACRO  ON 12-OCT-79 AT 11:23	PAGE 3

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

$$$GLB	= ******	 3-276      3-276      3-276      3-276      3-276      6-517      6-517      6-517      6-517     
                         6-519      6-519      6-519      6-519      6-519      6-519      6-519      6-519      6-521     
                         6-521      6-521      6-521      6-521      6-521     
$$$OST	= 000016	#3-276      3-276      3-276     #3-276      3-276      3-276     #3-276      3-276      3-276     
                        #3-276      3-276      3-276     #3-276     #6-517      6-517      6-517     #6-517      6-517     
                         6-517     #6-517      6-517      6-517     #6-517     #6-519      6-519      6-519     #6-519     
                         6-519      6-519     #6-519      6-519      6-519     #6-519      6-519      6-519     #6-519     
                         6-519      6-519     #6-519      6-519      6-519     #6-519      6-519     #6-521      6-521     
                         6-521     #6-521      6-521      6-521     #6-521      6-521      6-521     #6-521      6-521     
                         6-521     #6-521      6-521      6-521     #6-521     
$$$T1 	= 000000	#6-517      6-517      6-517     #6-517      6-517      6-517     #6-517      6-517      6-517     
                        #6-521      6-521      6-521      6-521     #6-521      6-521     
.COMEF	= ******  GX	 3-288     
.DAY  	= ******  GX	 3-112     
.FEMOD	= ******  GX	*3-235     
.KLNFD	= ******  GX	 3-114     
.KLNFT	= ******  GX	 3-124     
.KLNMD	= ******  GX	 3-73       3-144      3-202      3-234     
.KLNPW	= ******  GX	 3-76       3-194      3-196      3-198     
.KLNSW	= ******  GX	*3-95      *3-99      *3-254     *3-255     *5-490     
.KLNTD	= ******  GX	 3-127     
.KLNTT	= ******  GX	 3-137     
.MON  	= ******  GX	 3-110     
.SSM  	= ******  GX	 3-124      3-137      3-149      4-329     
.STTYD	= ******  GX	 3-271      3-271     
.TTP11	= ******  GX	 5-414     
.YEAR 	= ******  GX	 3-108     
..STIN	= ******  GX	 3-294      3-294     
KLRING     CREATED BY  MACRO  ON 12-OCT-79 AT 11:23	PAGE 4

MACRO CROSS REFERENCE                                   CREF         

MACRO NAME	REFERENCES

ALUN$ 		#3-59      #6-517     
CALL  		#3-59      #3-82      #3-92      #3-96      #3-143     #3-148     #3-168     #3-170     #3-190     #3-191     
                #3-210     #3-211     #3-219     #3-233     #3-252     #3-268     #3-271     #3-294     #4-326     #4-339     
                #4-367     #4-371     #4-373     #4-374     #4-389     #4-391     #4-394     #4-396     #4-398     #4-399     
                #5-409     #5-436     #5-447     #5-451     #5-452     #5-460     #5-467     #5-489     
CLEF$S		#3-60      #3-65      #3-290     #5-482     
DIR$  		#3-59      #3-64      #3-65      #3-65      #3-102     #3-104     #3-104     #3-179     #3-180     #3-180     
                #3-273     #3-273     #3-290     #3-290     #3-295     #3-295     #4-332     #4-332     #5-424     #5-465     
                #5-465     #5-480     #5-481     #5-481     #5-482     #5-482     
ERR$  		#3-64      #3-65      #3-102     #3-104     #3-179     #3-180     #3-273     #3-290     #3-295     #4-332     
                #5-424     #5-465     #5-480     #5-481     #5-482     
EXIT$S		#3-59      #3-104     #3-273     
MOV$  		#3-65       3-65      #3-180      3-180     #3-290      3-290     #3-295      3-295     #5-481      5-481     
                #5-482      5-482     
MRKT$ 		#3-60       3-276     
NBL$  		#6-517      6-517     
OFF$  		#3-276      3-276      3-276      3-276      3-276      3-276     #6-517      6-517      6-517      6-517     
                 6-517     #6-519      6-519      6-519      6-519      6-519      6-519      6-519      6-519      6-519     
                #6-521      6-521      6-521      6-521      6-521      6-521      6-521     
QDPB$ 		#6-519      6-519     
QIOW$ 		#3-59       6-519     
RETURN		#3-59       3-297      4-386      5-425      5-444      5-462      5-470      5-497     
RQST$ 		#3-60       6-521     
R50$  		#6-521      6-521      6-521     
WSIG$S		#3-59      #4-332     #5-465     
WTSE$S		#3-60      #3-180     #3-295     #5-481     
.ENB6 		#3-60       3-72       3-101      3-262      5-435      5-441     
.INH6 		#3-60       3-68       3-98       3-253      5-431      5-437