.TITLE WHOMM .IDENT /030679/ ; ; AUTHOR LEN MARCH 6, 1979 ; ;+ ; WHOMM - ; REPORT USERS OF TAPE DRIVE. ; GIVES TERMINAL NUMBER, UIC AND USER NAME. ;- .MCALL PRINT,QIOW$,DIR$,EXIT$S ; WRITE: QIOW$ IO.WVB,1,1,50,,,<0,0,0> ; INPUT: .ASCIZ "%NMM%O: ALLOCATED TO TT%O:, [%O,%O] %12A" ; AVMES: .BYTE 15 .BYTE 12 .ASCIZ "MM0: AVAILABLE" AVAML =.-AVMES ; OUTPUT: .BLKB 60. ; ; ATTRIBUTE'S ; MMU: .WORD 0 TTU: .WORD 0 GR: .WORD 0 OW: .WORD 0 USER: .WORD 0 ; START: ; ; CHECK DEVICE LOAD TABLE FOR MM ; TST .DLTNO BEQ NONE ; NO DEVICES LOADED MOV .DLTBA,R0 ; BASE ADDRESS MOV .DLTNO,R2 ; NO. OF DEVICES LOADED ; LOOP: CMP DV.DEV(R0),#"MM ; DEVICE TAPE ? BEQ MMFND ; YEP, MM FOUND ADD .DLTSZ,R0 ; POINT TO NEXT ENTRY SOB R2,LOOP ; NONE: PRINT #AVMES,#AVAML BR EXIT ; ; ; MMFND: MOVB DV.UNI(R0),MMU ; MM UNIT NUMBER MOV DV.UJN(R0),R0 ; JOB NODE MOV J.TA(R0),R0 ; TERMINAL NODE ADDRESS ; ; MOVE IN DEVICE TYPE AND UNIT # ; MOVB I.TT(R0),TTU ; TT UNIT NUMBER MOVB I.DU(R0),OW ; OWNER (UIC) MOVB I.DU+1(R0),GR ; GROUP NUMBER (UIC) ; ; MOVE IN USER NAME ; ADD #I.UN,R0 ; Finally, we find the user MOV R0,USER ; ADDRESS OF USER NAME ; ; SET UP FOR CALL TO $EDMSG ; MOV #OUTPUT,R0 MOV #INPUT,R1 MOV #MMU,R2 CALL $EDMSG ; ; TYPE IT ; PRINT #OUTPUT,R1 ; ; RETURN OK ; EXIT: EXIT$S .END START