.TITLE MNTDEV.MAC 84j03a 13-APR-81/03-Oct-84. .ENABL LC ; AUTHOR: N. A. BOURGEOIS, JR. ; of ; NAB Software Services, Inc. ; PO Box 20009 ; Albuquerque, NM 87154 ; and ; SANDIA NATIONAL LABORATORIES ; PO BOX 5800 ; ALBUQUERQUE, NM 87185 .SBTTL EDIT RECORD 13-APR-81/03-Oct-84. ;13-APR-81 ORIGINAL CREATION. ;14-APR-81 "ERRBYT" WAS 53. ;16-JUN-81 ADDED NULL WORD AT END OF EMT BLOCK. ;27-JUL-81 CORRECTED ADDRESSING ERROR IN THE "DOIT" SUBROUTINE. ;26-FEB-82 ADDED IDENTIFICATION CODE. ;06-Jan-84 Maintenance assumed by NAB Software Services, Inc. ;03-Oct-84 Minor revision for V5.1. ; THIS SOFTWARE WAS ORIGINALLY ISSUED BY SANDIA NATIONAL ; LABORATORIES, OPERATED FOR THE UNITED STATES DEPARTMENT ; OF ENERGY BY SANDIA CORPORATION. ; ; NOTICE ; ; THIS SOFTWARE WAS ORIGINALLY SPONSORED BY THE UNITED ; STATES GOVERNMENT. NEITHER THE UNITED STATES GOVERNMENT ; NOR THE UNITED STATES DEPARTMENT OF ENERGY, NOR ANY OF ; THEIR EMPLOYEES, NOR ANY OF THEIR CONTRACTORS, ; SUBCONTRACTORS, OR THEIR EMPLOYEES MAKES ANY WARRANTY, ; EXPRESS OR IMPLIED, OR ASSUMES ANY LEGAL LIABILITY OR ; RESPONSIBILITY FOR THE ACCURACY, COMPLETENESS OR ; USEFULNESS OF ANY INFORMATION, APPARATUS, PRODUCT OR ; PROCESS DISCLOSED, OR REPRESENTS THAT ITS USE WOULD NOT ; INFRINGE PRIVATELY OWNED RIGHTS. ; ; THIS WORK WAS ORIGINALLY FUNDED BY: ; ; HEADQUARTERS, ESD / OCB / STOP 36 ; HANSCOM AIR FORCE BASE, MA 01731 .PAGE .SBTTL DESCRIPTION 13-APR-81/03-Oct-84. ;THESE TWO MOUNT/DISMOUNT SUPPORT ROUTINES ARE CALLABLE AS SUBROUTINES. ;ONE OF THEM IS ALSO CALLABLE AS A FUNCTION. THIS MODULE IS A PART OF ;THE LIBRARY OF FORTRAN CALLABLE TSX/TSX-PLUS EMT ROUTINES. ;MOUNT A FILE STRUCTURED DEVICE. ; ;CALLING SEQUENCES: ; ; CALL MOUNT ( IDVNAM [ , IERR ] ) ; OR ; IERR = MOUNT ( IDVNAM ) ; ; WHERE: IDVNAM IS THE RAD50 VALUE OF THE DEVICE NAME. ; ; IERR IS ONE OF THE FOLLOWING: ; ; 0 NO ERROR. ; 1 NO ROOM LEFT IN THE TABLE OF MOUNTED ; DEVICES. ;DISMOUNT A FILE STRUCTURED DEVICE. ; ;CALLING SEQUENCE: ; ; CALL DISMNT ( IDVNAM ) ; ; WHERE: IDVNAM IS THE RAD50 VALUE OF THE DEVICE NAME. ; ; IERR IS ONE OF THE FOLLOWING: ; ; 0 NO ERROR. ; 1 NO ROOM LEFT IN THE TABLE OF MOUNTED ; DEVICES. .PAGE .SBTTL DIRECTIVES 13-APR-81/03-Oct-84. .IDENT \84j03a\ ;TELL LINKER OUR VERSION .PSECT TSXLIB .GLOBL TSLBID .WORD TSLBID .DSABL GBL .SBTTL ASSIGNMENTS 13-APR-81/14-APR-81. ERRBYT = 52 ;ERROR CODE LOCATION .PAGE .SBTTL ENTRY POINTS 13-APR-81/. ;MOUNT A FILE STRUCTURED DEVICE. ; MOUNT:: MOV #134 ,R1 ;EMT CODE JSR PC ,DOIT ;MOUNT THE DEVICE RTS PC ;DISMOUNT A FILE STRUCTURED DEVICE. ; DISMNT::MOV #135 ,R1 ;EMT CODE JSR PC ,DOIT ;DISMOUNT THE DEVICE RTS PC .PAGE .SBTTL SUPPORTING SUBROUTINES 13-APR-81/27-JUL-81. DOIT: CLR -(SP) ;REQUIRES A NULL WORD MOV 2(R5) ,-(SP) ;PASS ARGUMENT 1 CLR -(SP) ;LO BYTE = 0 MOV SP ,R0 ;EMT POINTER MOVB R1 ,1(R0) ;HI BYTE = EMT CODE EMT 375 ;LET TSX DO IT CLR R0 ;GET THE MOVB @#ERRBYT,R0 ; ERROR CODE CMPB #2 ,(R5) ;SUBROUTINE ERROR RETURN? BNE 1$ ; NO MOV R0 ,@4(R5) ; YES 1$: ADD #6 ,SP ;FIX THE STACK POINTER RTS PC .SBTTL END 13-APR-81/. .END