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