USE MACRO M1200 25-OCT-82 14:56 PAGE 2 1 .TITLE USE 2 .ENABL LC 3 .Ident /X01.05/ 4 .Nlist BEX 5 .Nlist ME 6 ;USE.MAC - Program to display the top CPU users on VT52 or VT100... 7 ; 8 ; T. Miles, 24-Sep-82 9 ; TRIUMF 10 ; 4004 Wesbrook Mall 11 ; Vancouver, B.C. 12 ; CANADA, V6T 1W5 13 ; 14 000001 EFN =1 ; Local Event Flag 15 000012 RATE =10. ; Seconds per Scan 16 000010 SIZE =8. ; Number of Tasks displayed 17 000001 TILUN =1 ; Terminal Lun 18 ; 19 ; Layout of Info Block 20 ; 21 000000 I.UIC =.-. ; UIC of Task 22 000002 I.NAM =I.UIC+2 ; RAD50 Task Name 23 000006 I.CPU =I.NAM+4 ; CPU use (ticks) 24 000010 I.LEN =I.CPU+2 ; Length of Entry 25 ; 26 ; System Directives 27 ; 28 .MCALL ALTP$,DIR$,EXIT$S,GTIM$C,MRKT$C,QIOW$C,QIOW$S,WTSE$C 29 ; 30 ; System Definitions 31 ; 32 .MCALL HDRDF$,PCBDF$,TCBDF$ 33 ; 34 000000 HDRDF$ ; Define header Offsets 35 000000 PCBDF$ ; Define partition Offsets 36 000000 TCBDF$ ; Define task Offsets 37 ; 38 ; Macro to generate spaces 39 ; 40 .MACRO .PAD X 41 .REPT X 42 .BYTE 40 43 .ENDR 44 .ENDM 45 ; 46 000000 004767 000022 USE:: CALL INIT ; Print Mask, Initialize 47 ; 48 000004 004767 000066 LOOP: CALL RESET ; Zero Histogram, init TIMER 49 ; 50 000010 004767 000204 CALL TICK ; Update Histogram 51 ; 52 000014 004767 000432 CALL SORT ; Sort Histogram 53 ; 54 000020 004767 000556 CALL DISPLY ; Output Histogram 55 ; 56 000024 000767 BR LOOP ; ...and go again 57 ; USE MACRO M1200 25-OCT-82 14:56 PAGE 2-1 58 000026 004767 001250 INIT: CALL VT52 ; Become VT52 59 000032 004767 001122 CALL POS ; Position Cursor 60 000036 001 001 .BYTE 1,1 ; ...home 61 000040 004767 001104 CALL CLR ; Clear Screen to End 62 000044 QIOW$C IO.ATA,TILUN,,,,,AST 63 000052 113767 000000G 000032' MOVB @#$SYSID,ID ; Install System I.D. 64 000060 113767 000001G 000033' MOVB @#$SYSID+1,ID+1 ; ...continue 65 000066 QIOW$C IO.WVB,TILUN,EFN,,,, 66 000074 000207 RTS PC ; ...and return 67 ; 68 000076 RESET: GTIM$C TIMBUF ; Get the Time 69 000104 004767 001050 CALL POS ; Position the Cursor 70 000110 002 043 .BYTE 2,43 ; ...under the title 71 000112 012700 000000' MOV #BUFFER,R0 ; R0 --> Line Buffer 72 000116 012701 000226' MOV #TIMBUF+G.TIHR,R1 73 000122 012702 000003 MOV #3.,R2 ; Format control 74 000126 004767 000000G CALL $TIM ; ...for Convert 75 000132 004767 001070 CALL PRINT ; Print the Line 76 ; 77 000136 012767 001130 000240' MOV #RATE*60.,TIMER ; Reload timer 78 000144 012700 000120' MOV #IBLK,R0 ; R0 --> Info Block 79 ; 80 000150 005060 000000 10$: CLR I.UIC(R0) ; Clear Task UIC 81 000154 005060 000002 CLR I.NAM(R0) ; Clear Task Name 82 000160 005060 000004 CLR I.NAM+2(R0) ; ...continue 83 000164 005060 000006 CLR I.CPU(R0) ; ...and CPU 84 000170 062700 000010 ADD #I.LEN,R0 ; Point to next 85 000174 022700 000220' CMP #IBLK+,R0 86 000200 101363 BHI 10$ ; ...more to do 87 ; 88 000202 012767 000372 000012' MOV #250.,PRI+A.LTPR; Raise priority 89 000210 DIR$ #PRI ; ...to limit 90 000216 000207 RTS PC ; ...and return 91 ; 92 000220 TICK: MRKT$C EFN,1,1 ; Set flag in one tick 93 000226 WTSE$C EFN ; ...and wait for it 94 000234 012700 000120' MOV #IBLK,R0 ; R0 --> Info Block 95 000240 013701 000000G MOV @#$ACTHD,R1 ; R1 --> Active Table 96 000244 104376 EMT 376 ; Go to System State 97 000246 000252' .WORD 10$ ; ...where to continue 98 000250 000411 BR 20$ ;; System State 99 000252 005367 000240' 10$: DEC TIMER ; Indicate Event 100 000256 001360 BNE TICK ; ...continue if more 101 000260 005067 000012' CLR PRI+A.LTPR ; Else lower priority 102 000264 DIR$ #PRI ; ...to kosher level 103 000272 000207 RTS PC ; ...and return 104 ; 105 000274 032761 100700 000032 20$: BIT #TS.OUT!TS.EXE!TS.CKP!TS.CKR,T.STAT(R1) 106 000302 001012 BNE 30$ ;; ...task not runnable 107 000304 032761 000025 000034 BIT #T2.SPN!T2.STP!T2.WFR,T.ST2(R1) 108 000312 001006 BNE 30$ ;; ...task is blocked 109 000314 023701 000000G CMP @#$SIGFL,R1 ;; ...sig. event wait 110 000320 001403 BEQ 30$ ;; ...yes, not runnable 111 000322 023701 000000G CMP @#$TKTCB,R1 ;; ...bypass our task 112 000326 001014 BNE 60$ ;; ...not our task 113 000330 016101 000052 30$: MOV T.ACTL(R1),R1 ;; ...R1 --> Next TCB 114 000334 001357 BNE 20$ ;; ...and continue USE MACRO M1200 25-OCT-82 14:56 PAGE 2-2 115 ; 116 000336 012701 177772' MOV #NULL-T.NAM,R1 ;; Hack for V4.0 117 000342 000406 BR 60$ ;; ...continue 118 ; 119 000344 000207 40$: RTS PC ;; ...common return 120 ; 121 000346 062700 000010 50$: ADD #I.LEN,R0 ;; ...R0 --> Next Info Block 122 000352 022700 000220' CMP #IBLK+,R0 123 000356 101772 BLOS 40$ ;; ...more than SIZE tasks 124 ; 125 000360 005760 000006 60$: TST I.CPU(R0) ;; Entry in Use? 126 000364 001017 BNE 70$ ;; ...yes, skip 127 000366 016160 000010 000004 MOV T.NAM+2(R1),I.NAM+2(R0) 128 000374 016160 000006 000002 MOV T.NAM(R1),I.NAM(R0) 129 000402 001410 BEQ 70$ ;; ...idle task 130 ; 131 000404 016102 000046 MOV T.PCB(R1),R2 ;; R2 --> PCB 132 000410 001405 BEQ 70$ ;; ...oops 133 000412 016202 000000G MOV P.HDR(R2),R2 ;; R2 --> HDR 134 000416 016260 000010 000000 MOV H.CUIC(R2),I.UIC(R0) 135 ; 136 000424 026061 000002 000006 70$: CMP I.NAM(R0),T.NAM(R1) 137 000432 001345 BNE 50$ ;; ...not this task 138 000434 026061 000004 000010 CMP I.NAM+2(R0),T.NAM+2(R1) 139 000442 001341 BNE 50$ ;; ...not this task 140 000444 005260 000006 INC I.CPU(R0) ;; Else Bump CPU count 141 000450 000735 BR 40$ ;; ...and exit 142 ; 143 000452 012700 000120' SORT: MOV #IBLK,R0 ; R0 --> Info Block 144 ; 145 000456 026060 000016 000006 10$: CMP I.CPU+I.LEN(R0),I.CPU(R0) 146 000464 101403 BLOS 20$ ; ...order correct 147 ; 148 000466 004767 000016 CALL 30$ ; Else Swap the Order 149 000472 000767 BR SORT ; ...and retry 150 ; 151 000474 062700 000010 20$: ADD #I.LEN,R0 ; R0 --> Next Entry 152 000500 022700 000210' CMP #IBLK+>,R0 153 000504 101364 BHI 10$ ; ...more to do 154 000506 000207 RTS PC ; Else return 155 ; 156 000510 016046 000000 30$: MOV I.UIC(R0),-(SP) 157 000514 016046 000002 MOV I.NAM(R0),-(SP) 158 000520 016046 000004 MOV I.NAM+2(R0),-(SP) 159 000524 016046 000006 MOV I.CPU(R0),-(SP) 160 ; 161 000530 016060 000010 000000 MOV I.UIC+I.LEN(R0),I.UIC(R0) 162 000536 016060 000012 000002 MOV I.NAM+I.LEN(R0),I.NAM(R0) 163 000544 016060 000014 000004 MOV I.NAM+2+I.LEN(R0),I.NAM+2(R0) 164 000552 016060 000016 000006 MOV I.CPU+I.LEN(R0),I.CPU(R0) 165 ; 166 000560 012660 000016 MOV (SP)+,I.CPU+I.LEN(R0) 167 000564 012660 000014 MOV (SP)+,I.NAM+2+I.LEN(R0) 168 000570 012660 000012 MOV (SP)+,I.NAM+I.LEN(R0) 169 000574 012660 000010 MOV (SP)+,I.UIC+I.LEN(R0) 170 000600 000207 RTS PC 171 ; USE MACRO M1200 25-OCT-82 14:56 PAGE 2-3 172 000602 004767 000352 DISPLY: CALL POS ; Position Cursor 173 000606 006 001 .BYTE 6,1 ; ...to start of area 174 000610 012705 000120' MOV #IBLK,R5 ; R5 --> Name Block 175 ; 176 000614 004767 000026 10$: CALL DLINE ; Display current Line 177 000620 062705 000010 ADD #I.LEN,R5 ; R5 --> Next Entry 178 000624 022705 000220' CMP #IBLK+,R5 179 000630 101405 BLOS 20$ ; ...all done 180 000632 005765 000006 TST I.CPU(R5) ; Out of tasks? 181 000636 001366 BNE 10$ ; ...no, continue 182 000640 004767 000304 CALL CLR ; Else Clear to End 183 ; 184 000644 000207 20$: RTS PC ; ...and return 185 ; 186 000646 012700 000000' DLINE: MOV #BUFFER,R0 ; R0 --> Line Buffer 187 000652 112720 000015 MOVB #15,(R0)+ ; Begin with Carriage 188 000656 112720 000012 MOVB #12,(R0)+ ; ...return/line feed 189 ; 190 000662 012720 055440 MOV #" [,(R0)+ ; ...square bracket 191 000666 116501 000001 MOVB I.UIC+1(R5),R1 ; Get UIC 192 000672 052702 177777 BIS #-1,R2 ; ...leading zeros 193 000676 004767 000000G CALL $CBTMG ; ...now in Ascii 194 000702 112720 000054 MOVB #',,(R0)+ ; ...and comma 195 000706 116501 000000 MOVB I.UIC(R5),R1 ; Do second half 196 000712 052702 177777 BIS #-1,R2 ; ...leading zeros 197 000716 004767 000000G CALL $CBTMG ; ...now in Ascii 198 000722 112720 000135 MOVB #'],(R0)+ ; ...square bracket 199 000726 012720 020040 MOV #" ,(R0)+ ; Pad... 200 ; 201 000732 016501 000002 MOV I.NAM(R5),R1 ; Get RAD50 Task Name 202 000736 001007 BNE 10$ ; ...exists 203 000740 012720 044452 MOV #"*I,(R0)+ ; Else force 204 000744 012720 046104 MOV #"DL,(R0)+ ; ...this 205 000750 012720 025105 MOV #"E*,(R0)+ ; ...name 206 000754 000406 BR 20$ ; ...and continue 207 000756 004767 000000G 10$: CALL $C5TA ; Convert to Ascii 208 000762 016501 000004 MOV I.NAM+2(R5),R1 ; ...get 2nd half 209 000766 004767 000000G CALL $C5TA ; ...and continue 210 000772 112720 000040 20$: MOVB #' ,(R0)+ ; Pad... 211 ; 212 000776 005002 CLR R2 ; Set up 213 001000 016503 000006 MOV I.CPU(R5),R3 ; ...to calculate 214 001004 070327 000144 MUL #100.,R3 ; ...percent 215 001010 071227 001130 DIV #RATE*60.,R2 ; ...of total CPU 216 001014 010246 MOV R2,-(SP) ; Save a copy 217 001016 010201 MOV R2,R1 ; ...move into R1 218 001020 012702 017012 MOV #017012,R2 ; ...conversion flag 219 001024 004767 000000G CALL $CBTA ; Print Percentage 220 001030 012720 020045 MOV #"% ,(R0)+ ; ...percent 221 001034 112720 000072 MOVB #':,(R0)+ ; ...and fence 222 ; 223 001040 012701 000001 MOV #1,R1 ; R1 = Bar Graph Percentage 224 001044 012602 MOV (SP)+,R2 ; R2 = Real Percentage 225 001046 001412 BEQ 50$ ; ...none 226 ; 227 001050 020201 30$: CMP R2,R1 ; This much CPU used? 228 001052 103405 BLO 40$ ; ...no USE MACRO M1200 25-OCT-82 14:56 PAGE 2-4 229 001054 112720 000075 MOVB #'=,(R0)+ ; Else indicate 230 001060 062701 000002 ADD #2,R1 ; Add 2% to Bar Graph Percentage 231 001064 000771 BR 30$ ; ...and continue 232 ; 233 001066 112760 000076 177777 40$: MOVB #'>,-1(R0) ; Insert Pointer 234 ; 235 001074 116720 000016' 50$: MOVB STRDEL,(R0)+ ; Setup for Delete 236 001100 116720 000017' MOVB STRDEL+1,(R0)+ ; ...to end of line 237 ; 238 001104 112720 000015 MOVB #15,(R0)+ ; Carriage return 239 001110 112720 000012 MOVB #12,(R0)+ ; ...Line Feed 240 001114 004767 000106 CALL PRINT ; ...and print the line 241 001120 000207 RTS PC ; ...then return 242 ; 243 001122 AST: WTSE$C EFN ; Wait for it... 244 001130 004767 000024 CALL POS ; Position Cursor 245 001134 026 001 .BYTE 22.,1 ; ...near end of screen 246 001136 004767 000150 CALL VT100 ; Become VT100 247 001142 EXIT$S ; ...and quit 248 ; 249 001150 CLR: QIOW$C IO.WVB,TILUN,EFN,,,, 250 001156 000207 RTS PC ; ...for VT100 251 ; 252 001160 012700 000000' POS: MOV #BUFFER,R0 ; R0 --> Ascii String 253 001164 011603 MOV (SP),R3 ; R3 --> Byte String 254 001166 062716 000002 ADD #2,(SP) ; ...skip argument 255 001172 005001 CLR R1 ; Do this for fun 256 001174 016720 000020' MOV STRPOS,(R0)+ ; ...for VT52 257 001200 112301 MOVB (R3)+,R1 ; Get First Byte 258 001202 062701 000037 ADD #37,R1 ; ...add offset 259 001206 110120 MOVB R1,(R0)+ ; ...store line 260 001210 112301 MOVB (R3)+,R1 ; Get Second Byte 261 001212 062701 000037 ADD #37,R1 ; ...add offset 262 001216 110120 MOVB R1,(R0)+ ; ...store column 263 001220 004767 000002 CALL PRINT ; Print the String 264 001224 000207 RTS PC ; ...and return 265 ; 266 001226 162700 000000' PRINT: SUB #BUFFER,R0 ; R0 = Length of String 267 001232 QIOW$S #IO.WVB,#TILUN,#EFN,,,,<#BUFFER,R0> 268 001300 000207 RTS PC ; ...and return 269 ; 270 001302 VT52: QIOW$C IO.WVB,TILUN,EFN,,,, 271 001310 000207 RTS PC ; ...become VT52 272 ; 273 001312 VT100: QIOW$C IO.WVB,TILUN,EFN,,,, 274 001320 000207 RTS PC ; ...become VT100 275 ; 276 ; Pure Data Area - Tidy ... 277 ; 278 000000 .PSECT TIDY,D,RO,CON 279 ; 280 000000 000000 032126 NULL: .WORD 0,"V4 ; Null Task Name 281 000004 PRI: ALTP$ ; Alter Priority 282 000014 033 112 STRCLR: .BYTE 33,'J ; Clear to End of Screen 283 000016 033 113 STRDEL: .BYTE 33,'K ; Clear to End of Line 284 000020 033 131 STRPOS: .BYTE 33,'Y ; Position Cursor 285 000022 033 133 077 VT52S: .BYTE 33,'[,'?,'2,'l,0; Become VT52 USE MACRO M1200 25-OCT-82 14:56 PAGE 2-5 286 000030 033 074 033 VT100S: .BYTE 33,'<,33,'\ ; Become VT100 287 ; 288 ; Impure Data Area - Grotty ... 289 ; 290 000000 .PSECT GROTTY,RW,D,CON 291 ; 292 000000 HEADER: .PAD 15. 293 000017 122 123 130 .ASCII /RSX-11M BL/ 294 000032 ID: .BLKB 2. 295 000034 .PAD 7. 296 000043 124 157 160 .ASCII /Top Cpu Tasks/ 297 000060 .PAD 10. 298 000072 124 056 040 .ASCII /T. M./<15><12><12><12> 299 000103 .PAD 24. 300 000133 060 045 .ASCII /0%/ 301 000135 .PAD 22. 302 000163 065 060 045 .ASCII /50%/ 303 000166 .PAD 22. 304 000214 061 060 060 .ASCII /100%/<15><12> 305 000222 .PAD 24. 306 000252 072 .ASCII /:/ 307 000253 .PAD 24. 308 000303 072 .ASCII /:/ 309 000304 .PAD 24. 310 000334 072 015 012 .ASCII /:/<15><12> 311 000337 HLEN =.-HEADER 312 ; 313 000000' .=HEADER ; This is definitely not kosher... 314 ; 315 000000 000120' BUFFER: .=.+80. ; ...space for Line Buffer 316 000120 000220' IBLK: .=.+ ; ...space for Info Block 317 000220 000240' TIMBUF: .=.+16. ; ...space for Time Directive 318 000240 000242' TIMER: .=.+2. ; ...space for Event Counter 319 ; 320 000000' .END USE USE MACRO M1200 25-OCT-82 14:56 PAGE 2-6 SYMBOL TABLE AST 001122R H.HDLN 000002 PS.FXD= 004000 TS.CKR= 000100 T2.TIO= 001000 AS.DEL= 000010 H.IPC 000016 PS.LIO= 001000 TS.EXE= 100000 T2.WFR= 000001 AS.EXT= 000004 H.IPS 000014 PS.NSF= 000400 TS.MSG= 020000 T3.ACP= 100000 AS.RED= 000001 H.ISP 000020 PS.OUT= 100000 TS.NRP= 010000 T3.CAL= 000100 AS.WRT= 000002 H.LUN 000076 PS.PER= 002000 TS.OUT= 000400 T3.CLI= 001000 A.IOC 000003 H.NLUN 000074 PS.PIC= 000100 TS.RDN= 040000 T3.MCR= 004000 A.LGTH= 000014 H.NML 000061 PS.SYS= 000040 TS.RUN= 004000 T3.NET= 000020 A.LTPR= 000006 H.ODVA 000022 P.BLKS 000016 T.ACTL 000052 T3.NSD= 000200 A.LTTN= 000002 H.ODVL 000024 P.BUSY 000024 T.ASTL 000016 T3.PMD= 040000 A.MPCT 000011 H.OVLY 000054 P.HDR = ****** GX T.ATT 000056 T3.PRV= 010000 A.PCB 000012 H.PFVA 000032 P.IOC 000003 T.CPCB 000004 T3.REM= 020000 A.PCBL 000000 H.RCVA 000036 P.LNK 000000 T.DPRI 000040 T3.ROV= 000040 A.PRI 000002 H.RRVA 000062 P.MAIN 000012 T.EFLG 000022 T3.RST= 000400 A.STAT 000010 H.SPRI 000060 P.NAM 000004 T.IOC 000003 T3.SLV= 002000 A.TCB 000004 H.TKVA 000026 P.OWN 000026 T.LBN 000041 USE 000000RG A.TCBL 000006 H.TKVL 000030 P.PRI 000002 T.LDV 000044 VT100 001312R BUFFER 000000R 004 H.VEXT 000056 P.REL 000014 T.LNK 000000 VT100S 000030R 003 CLR 001150R H.WND 000044 P.SIZE 000016 T.MXSZ 000050 VT52 001302R DISPLY 000602R IBLK 000120R 004 P.STAT 000030 T.NAM 000006 VT52S 000022R 003 DLINE 000646R ID 000032R 004 P.SUB 000010 T.OFF 000062 W.BATT 000006 EFN = 000001 INIT 000026R P.SWSZ 000022 T.PCB 000046 W.BFPD 000014 G.TIBA= 000002 IO.ATA= ****** GX P.TCB 000026 T.PRI 000002 W.BHVR 000004 G.TICP= 000016 IO.WVB= ****** GX P.WAIT 000020 T.RCVL 000012 W.BLGH 000020 G.TICT= 000014 I.CPU = 000006 Q.IOAE= 000012 T.RRFL 000066 W.BLPD 000016 G.TIDA= 000004 I.LEN = 000010 Q.IOEF= 000006 T.SAST 000054 W.BLVR 000002 G.TIHR= 000006 I.NAM = 000002 Q.IOFN= 000002 T.SRCT 000065 W.BNPD 000015 G.TIMI= 000010 I.UIC = 000000 Q.IOLU= 000004 T.STAT 000032 W.BOFF 000012 G.TIMO= 000002 LOOP 000004R Q.IOPL= 000014 T.ST2 000034 W.BPCB 000000 G.TISC= 000012 M.KTAE= 000010 Q.IOPR= 000007 T.ST3 000036 W.BSIZ 000010 G.TIYR= 000000 M.KTEF= 000002 Q.IOSB= 000010 T.TCBL 000030 W.TSEF= 000002 HEADER 000000R 004 M.KTMG= 000004 RATE = 000012 T.UCB 000026 $ACTHD= ****** GX HLEN = 000337 M.KTUN= 000006 RESET 000076R T2.ABO= 000100 $CBTA = ****** GX H.CSP 000000 NULL 000000R 003 SIZE = 000010 T2.AST= 100000 $CBTMG= ****** GX H.CUIC 000010 POS 001160R SORT 000452R T2.CAF= 000400 $C5TA = ****** GX H.DSW 000046 PRI 000004R 003 STRCLR 000014R 003 T2.CHK= 020000 $SIGFL= ****** GX H.DUIC 000012 PRINT 001226R STRDEL 000016R 003 T2.CKD= 010000 $SYSID= ****** GX H.EFLM 000004 PS.APR= 000007 STRPOS 000020R 003 T2.DST= 040000 $TIM = ****** GX H.EFSV 000040 PS.CHK= 010000 TICK 000220R T2.FXD= 002000 $TKTCB= ****** GX H.FCS 000050 PS.CKP= 040000 TILUN = 000001 T2.HLT= 000200 $$$ = 000166R 002 H.FORT 000052 PS.CKR= 020000 TIMBUF 000220R 004 T2.SEF= 004000 $$$ARG= 000002 H.FPSA 000042 PS.COM= 000200 TIMER 000240R 004 T2.SPN= 000004 $$$OST= 000010 H.FPVA 000034 PS.DEL= 000010 TS.BLK= 170700 T2.STP= 000020 $$$T1 = 000000 H.GARD 000072 PS.DRV= 000020 TS.CKP= 000200 . ABS. 000102 000 001322 001 $DPB$$ 000216 002 TIDY 000034 003 GROTTY 000337 004 ERRORS DETECTED: 0 VIRTUAL MEMORY USED: 10383 WORDS ( 41 PAGES) DYNAMIC MEMORY: 19748 WORDS ( 75 PAGES) ELAPSED TIME: 00:00:58 USE,USE/CR/-SP=EXEMC.MLB/ML,USE USE CREATED BY MACRO ON 25-OCT-82 AT 14:56 PAGE 1 SYMBOL CROSS REFERENCE CREF V01 SYMBOL VALUE REFERENCES AST 001122 R 2-62 #2-243 A.LTPR = 000006 *2-88 *2-101 A.LTTN = 000002 2-281 BUFFER 000000 R 2-71 2-186 2-252 2-266 2-267 #2-315 CLR 001150 R 2-61 2-182 #2-249 DISPLY 000602 R 2-54 #2-172 DLINE 000646 R 2-176 #2-186 EFN = 000001 #2-14 2-65 2-92 2-93 2-243 2-249 2-267 2-270 2-273 G.TIBA = 000002 2-68 G.TIHR = 000006 2-72 HEADER 000000 R 2-65 #2-292 2-311 2-313 HLEN = 000337 2-65 #2-311 H.CUIC 000010 2-134 IBLK 000120 R 2-78 2-85 2-94 2-122 2-143 2-152 2-174 2-178 #2-316 ID 000032 R *2-63 *2-64 #2-294 INIT 000026 R 2-46 #2-58 IO.ATA = ****** GX 2-62 IO.WVB = ****** GX 2-65 2-249 2-267 2-270 2-273 I.CPU = 000006 #2-23 2-24 *2-83 2-125 *2-140 2-145 2-145 2-159 2-164 *2-164 *2-166 2-180 2-213 I.LEN = 000010 #2-24 2-84 2-85 2-121 2-122 2-145 2-151 2-152 2-161 2-162 2-163 2-164 *2-166 *2-167 *2-168 *2-169 2-177 2-178 2-316 I.NAM = 000002 #2-22 2-23 *2-81 *2-82 *2-127 *2-128 2-136 2-138 2-157 2-158 2-162 *2-162 2-163 *2-163 *2-167 *2-168 2-201 2-208 I.UIC = 000000 #2-21 2-22 *2-80 *2-134 2-156 2-161 *2-161 *2-169 2-191 2-195 LOOP 000004 R #2-48 2-56 M.KTEF = 000002 2-92 NULL 000000 R 2-116 #2-280 POS 001160 R 2-59 2-69 2-172 2-244 #2-252 PRI 000004 R *2-88 2-89 *2-101 2-102 #2-281 PRINT 001226 R 2-75 2-240 2-263 #2-266 P.HDR = ****** GX 2-133 Q.IOFN = 000002 2-62 2-65 2-249 2-270 2-273 RATE = 000012 #2-15 2-77 2-215 RESET 000076 R 2-48 #2-68 SIZE = 000010 #2-16 2-85 2-122 2-152 2-178 2-316 SORT 000452 R 2-52 #2-143 2-149 STRCLR 000014 R 2-249 #2-282 STRDEL 000016 R 2-235 2-236 #2-283 STRPOS 000020 R 2-256 #2-284 TICK 000220 R 2-50 #2-92 2-100 TILUN = 000001 #2-17 2-62 2-65 2-249 2-267 2-270 2-273 TIMBUF 000220 R 2-68 2-72 #2-317 TIMER 000240 R *2-77 *2-99 #2-318 TS.CKP = 000200 2-105 TS.CKR = 000100 2-105 TS.EXE = 100000 2-105 TS.OUT = 000400 2-105 T.ACTL 000052 2-113 T.NAM 000006 2-116 2-127 2-128 2-136 2-138 USE CREATED BY MACRO ON 25-OCT-82 AT 14:56 PAGE 2 SYMBOL CROSS REFERENCE CREF V01 SYMBOL VALUE REFERENCES T.PCB 000046 2-131 T.STAT 000032 2-105 T.ST2 000034 2-107 T2.SPN = 000004 2-107 T2.STP = 000020 2-107 T2.WFR = 000001 2-107 USE 000000 RG #2-46 2-320 VT100 001312 R 2-246 #2-273 VT100S 000030 R 2-273 #2-286 VT52 001302 R 2-58 #2-270 VT52S 000022 R 2-270 #2-285 W.TSEF = 000002 2-93 2-243 $ACTHD = ****** GX 2-95 $CBTA = ****** GX 2-219 $CBTMG = ****** GX 2-193 2-197 $C5TA = ****** GX 2-207 2-209 $SIGFL = ****** GX 2-109 $SYSID = ****** GX 2-63 2-64 $TIM = ****** GX 2-74 $TKTCB = ****** GX 2-111 $$$ = 000166 R #2-62 2-62 #2-65 2-65 #2-68 2-68 #2-92 2-92 #2-93 2-93 #2-243 2-243 #2-249 2-249 #2-270 2-270 #2-273 2-273 $$$ARG = 000002 #2-62 2-62 #2-62 2-62 2-62 #2-65 2-65 #2-65 2-65 #2-65 2-65 #2-65 2-65 2-65 #2-249 2-249 #2-249 2-249 #2-249 2-249 2-249 #2-267 2-267 #2-267 2-267 #2-267 2-267 2-267 #2-267 2-267 2-267 2-267 2-267 2-267 2-267 2-267 2-267 2-267 2-267 #2-267 2-267 2-267 2-267 2-267 2-267 2-267 2-267 2-267 2-267 2-267 #2-267 2-267 2-267 2-267 2-267 2-267 2-267 2-267 2-267 2-267 2-267 #2-270 2-270 #2-270 2-270 #2-270 2-270 2-270 #2-273 2-273 #2-273 2-273 #2-273 2-273 2-273 $$$GLB = ****** 2-62 2-62 2-65 2-65 2-68 2-68 2-92 2-92 2-93 2-93 2-243 2-243 2-249 2-249 2-270 2-270 2-273 2-273 2-281 $$$T1 = 000000 #2-281 2-281 USE CREATED BY MACRO ON 25-OCT-82 AT 14:56 PAGE 3 MACRO CROSS REFERENCE CREF V01 MACRO NAME REFERENCES ALTP$ #2-28 2-281 DIR$ #2-28 #2-62 2-62 #2-65 2-65 #2-68 2-68 2-89 #2-92 2-92 #2-93 2-93 2-102 #2-243 2-243 #2-247 2-247 #2-249 2-249 #2-267 2-267 #2-270 2-270 #2-273 2-273 EXIT$S #2-28 2-247 GTIM$ #2-68 2-68 GTIM$C #2-28 2-68 HDRDF$ #2-32 2-34 MOV$ #2-267 2-267 2-267 #2-267 2-267 2-267 #2-267 2-267 2-267 MRKT$ #2-92 2-92 MRKT$C #2-28 2-92 MVB$ #2-267 2-267 OFF$ #2-62 #2-65 #2-68 #2-92 #2-93 #2-243 #2-249 #2-270 #2-273 #2-281 PCBDF$ #2-32 2-35 QDPB$ #2-62 2-62 #2-65 2-65 #2-249 2-249 #2-270 2-270 #2-273 2-273 QDPB$S #2-267 2-267 QIOW$C #2-28 2-62 2-65 2-249 2-270 2-273 QIOW$S #2-28 2-267 RVP$ #2-267 2-267 2-267 2-267 R50$ #2-281 2-281 TCBDF$ #2-32 2-36 WTSE$ #2-93 2-93 #2-243 2-243 WTSE$C #2-28 2-93 2-243 .PAD #2-40 2-292 2-295 2-297 2-299 2-301 2-303 2-305 2-307 2-309