.TITLE DEVICE OWNER TASK .IDENT /V01.1A/ .MCALL EXIT$S,DIR$,QIOW$,QIOW$S CR= 15 LF= 12 TAB= 11 COLON= 72 BLANK= 40 TILUN= 1 TIFLG= 20. TIPRI= 100. TTHEAD: QIOW$ IO.WVB,TILUN,TIFLG,TIPRI,,, TTWRIT: QIOW$ IO.WVB,TILUN,TIFLG,TIPRI,,, TTWR: QIOW$ IO.WVB,TILUN,TIFLG,TIPRI,,, .NLIST BEX HEADER: .ASCII /DEVICE//TERMINAL//USER NAME/ .ASCII /======//========//=========/ HD.SZ=.-HEADER .EVEN .LIST BEX BUF: DEVICE: .BLKB 3 .BYTE COLON .BYTE TAB B.SIZ=.-BUF .EVEN TERM: .BLKB 6 T: .BYTE TAB,TAB .EVEN USER: .BLKB 12. .EVEN BUF.SZ=.-BUF .EVEN .PAGE START: DIR$ #TTHEAD ;PRINT OUT HEADER MOV .DVTRM,R2 ;START ADDR OF REMOVABLE DEV MOV .DVTEND,R3 ;END OF TABLE 1$: CMP R2,R3 ;THRU TABLE YET? BHIS 6$ ;YES BITB #DF.SY,D.FL(R2) ;THIS A SYSTEM DEVICE? BNE 5$ ;YES MOV D.PU(R2),R4 ;GET PUD ADDRESS BEQ 5$ ;BR IF NONE MOV U.DN(R4),DEVICE ;GET ASCII DEVICE NAME MOVB U.UN(R4),DEVICE+2 ;GET UNIT NUMBER BISB #60,DEVICE+2 ;MAKE IT ASCII TSTB D.FL(R2) ;DEVICE ALLOCATED SOME WAY BEQ 4$ ;NOPE BITB #DF.EX!DF.SX,D.FL(R2) ;EXCLUSIVE SOME WAY? BEQ 4$ ;NOPE MOV D.EX(R2),R4 ;GET EXCLUSIVE UTN ADDRESS MOV I.UN(R4),USER MOV I.UN+2(R4),USER+2 MOV I.UN+4(R4),USER+4 MOV I.UN+6(R4),USER+6 MOV I.UN+10(R4),USER+10 MOV I.UN+12(R4),USER+12 MOV I.DN(R4),TERM ;LOAD TERMINAL TYPE MOVB I.TT(R4),R1 ;GET BINARY UNIT NUMBER MOV R2,-(SP) ;SAVE R2 CLR R2 ;SET FLAG FOR ZERO SUPPRESS MOV #TERM+2,R0 ;GET ADDRESS OF BUFFER CALL $CBOMG ;CONVERT TO ASCII MOVB #COLON,(R0)+ ;PUT IN COLON MOV (SP)+,R2 ;RESTORE R2 2$: CMP R0,#T ;BLANK FILL BHIS 3$ ;... MOVB #BLANK,(R0)+ ;... BR 2$ ;... 3$: DIR$ #TTWRIT BR 5$ ; 4$: DIR$ #TTWR ;WRITE SHORT STRING 5$: ADD .DTESZ,R2 ;BUMP THRU TABLE BR 1$ ; 6$: EXIT$S ; .END START