Trailing-Edge
-
PDP-10 Archives
-
BB-H311B-RM
-
rsx20f-swskit/listings/klring.l91
There are 3 other files named klring.l91 in the archive. Click here to see a list.
KLRING -- KLINIK REQUEST TASK MACRO M1110 15-OCT-79 11:33
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 15-OCT-79 11:33 PAGE 2
1 .TITLE KLRING -- KLINIK REQUEST TASK
2 .SBTTL KLRING -- KLINIK REQUEST TASK
3 .LIST MEB
4 .NLIST CND
5
7 .IDENT "A01020"
9
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 15-OCT-79 11:33 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 15-OCT-79 11:33 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 15-OCT-79 11:33 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 15-OCT-79 11:33 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 15-OCT-79 11:33 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 15-OCT-79 11:33 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 15-OCT-79 11:33 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 15-OCT-79 11:33 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 15-OCT-79 11:33 PAGE 4-2
KLRING -- (CTY INPUT SUROUTINES)
403 ;
KLRING -- KLINIK REQUEST TASK MACRO M1110 15-OCT-79 11:33 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 15-OCT-79 11:33 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 15-OCT-79 11:33 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 15-OCT-79 11:33 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 15-OCT-79 11:33 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:
529 002464 015 012 113 .ASCIZ <15><12>/KLR -- KLINIK LINE CONNECTED TO TOPS-10/<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 061 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 15-OCT-79 11:33 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 15-OCT-79 11:33 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 15-OCT-79 11:33 PAGE 6-4
SYMBOL TABLE
ATTCTR 002220R IO.WLB= ****** GX M.KTEF= 000002 RQKLD 002264R $RX11 = 000001
A.LULU= 000002 KLCLS 000102R M.KTMG= 000004 R$$11D= 000001 $TOP10= 000001
A.LUNA= 000004 KLDIE 000170R M.KTUN= 000006 R.QSGC= 000015 $T1091= 000001
A.LUNU= 000006 KLLOG 001162R OPMMSG 003121R R.QSPC= 000014 $$ = 000067
BC.HDS= ****** GX KLLOG1 001200R PRBOTH 001604R R.QSPN= 000006 $$$ARG= 000011
CKCAR 002062R KLNPTR= ****** GX PRCTY 001616R R.QSPR= 000012 $$$OST= 000016
CLSMS 002540R KLRING 000000RG PRKLC 002026R R.QSTN= 000002 $$$T1 = 000000
CNRMSG 002355R KLTMO 000124R PRKLN 002020R STSW1 = ****** GX .COMEF= ****** GX
CNXMSG 002464R KLXIT 000156R PRKLW 002046R TIMST 002222R .DAY = ****** GX
CTY 002232R KMEMSG 002644R PRKL0 001774R TMOMS 002764R .FEMOD= ****** GX
CTYDB 002242R K.LBPW= ****** GX PRKL1 002040R TTYEXP= ****** GX .KLNFD= ****** GX
CTYPTR= ****** GX K.LCON= ****** GX PRMMSG 003134R TT.CRW= ****** GX .KLNFT= ****** GX
DL.CAR= ****** GX K.LLTO= ****** GX PS = ****** GX TT.CTY= ****** GX .KLNMD= ****** GX
DL.DEN= ****** GX K.LRAC= ****** GX PSWMS 002607R TT.RIP= ****** GX .KLNPW= ****** GX
DL.DTR= ****** GX K.LRNG= ****** GX PWD 002224R VLMSG 002302R .KLNSW= ****** GX
DL.REN= ****** GX K.LRRJ= ****** GX Q.IOAE= 000012 $CD11 = 000001 .KLNTD= ****** GX
DL.RTS= ****** GX LOGBFE= 001272R Q.IOEF= 000006 $DBDTE= 000001 .KLNTT= ****** GX
DL.XEN= ****** GX LOGBUF 001256R Q.IOFN= 000002 $DH11 = 000001 .MON = ****** GX
DRPMS 003055R L$$P20= 000002 Q.IOLU= 000004 $DTE = 000001 .SSM = ****** GX
DV.LOG= ****** GX MKTDPB 001150R Q.IOPL= 000014 $FE = 000001 .STTYD= ****** GX
D$$H11= 000010 MNMMSG 003151R Q.IOPR= 000007 $F11 = 000001 .TTP11= ****** GX
D.CKLN= ****** GX MODMSG 002624R Q.IOSB= 000010 $LP20 = 000001 .YEAR = ****** GX
EF.PR1= ****** GX MODTBL 002212R RDKLN 001272R $RP04 = 000001 ..STIN= ****** GX
INVMS 002726R M.KTAE= 000010 RDKLN1 001304R
. ABS. 000000 000
003170 001
ERRORS DETECTED: 0
VIRTUAL MEMORY USED: 2824 WORDS ( 12 PAGES)
DYNAMIC MEMORY: 3724 WORDS ( 14 PAGES)
ELAPSED TIME: 00:00:46
[54,10]KLRING,[54,20]KLRING/-SP/CR=[20,30]RSXFC/PA:1,[54,30]KLRING
KLRING CREATED BY MACRO ON 15-OCT-79 AT 11:33 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 15-OCT-79 AT 11:33 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 = 000001 2-6 6-528
$TOP20 = ****** 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 15-OCT-79 AT 11:33 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 15-OCT-79 AT 11:33 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