.TITLE RUNTIM.MAC 81H03A 13-APR-81/03-AUG-81. ; AUTHOR: N. A. BOURGEOIS, JR. ; SYSTEMS ENGINEERING DIVISION 1738 ; SANDIA NATIONAL LABORATORIES ; PO BOX 5800 ; ALBUQUERQUE, NM 87185 ; 505-844-8088 ; AV 244-8088 ; ; THIS SOFTWARE IS ISSUED BY SANDIA NATIONAL LABORATORIES, ; OPERATED FOR THE UNITED STATES DEPARTMENT OF ENERGY BY ; SANDIA CORPORATION. ; ; NOTICE ; ; THIS SOFTWARE WAS 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 SPONSORED AND FUNDED BY: ; ; HEADQUARTERS, ESD / OCB / STOP 36 ; HANSCOM AIR FORCE BASE, MA 01731 ; ; .SBTTL **************** .SBTTL * * .SBTTL * UNCLASSIFIED * .SBTTL * * .SBTTL **************** .SBTTL DESCRIPTION 13-APR-81/16-JUN-81. ;THESE TWO SHARED RUN-TIME SYSTEM SUPPORT ROUTINES ARE CALLABLS BOTH AS ;FUNCTIONS AND SUBROUTINES. THIS MODULE IS A PART OF THE LIBRARY OF ;FORTRAN CALLABLE TSX/TSX-PLUS EMT ROUTINES. THE CODE IS REENTRANT. ;ASSOCIATE/DISASSOCIATE A RUN-TIME SYSTEM WITH A JOB. ; ;CALLING SEQUENCES: ; ; CALL IASRNT ( IRNTIM [ , IERR ] ) ; OR ; IERR = IASRNT ( IRNTIM ) ; ;WHERE: IRNTIM IS THE SIX CHARACTER RAD50 VALUE OF THE NAME OF THE ; SHARED RUN-TIME SYSTEM. WHEN EQUAL TO ZERO, CAUSES ; DISASSOCIATION FROM ALL SHARED RUN TIME SYSTEMS. ; ; IERR IS ONE OF THE FOLLOWING: ; ; 0 NO ERROR. ; 1 RUN-TIME SYSTEM NAME NOT RECOGNIZED. ;MAP A RUN-TIME SYSTEM INTO A JOB'S REGION. ; ;CALLING SEQUENCES: ; ; CALL MAPRNT ( IPAR , IOFFST , MAPSIZ [ , IERR ] ) ; OR ; IERR = MAPRNT ( IPAR, IOFFST , MAPSIZ ) ; ;WHERE: IPAR IS THE PAGE ADDRESS REGISTER (PAR) NUMBER TO BE USED TO ; ACCESS THE RUN-TIME SYSTEM. ; ; IOFFST IDENTIFIES WHICH PORTION OF THE RUN-TIME SYSTEM IS TO ; BE MAPPED INTO THE PAR REGION. ; ; MAPSIZ IS THE NUMBER OF 64-BYTE BLOCKS TO BE MAPPED. ; ; IERR IS ONE OF THE FOLLOWING: ; ; 0 NO ERROR. ; 1 THERE IS NO RUN-TIME SYSTEM ASSOCIATED WITH ; THIS JOB. .SBTTL DIRECTIVES 13-APR-81/03-AUG-81. .IDENT \81H03A\ ;TELL LINKER OUR VERSION .PSECT TSXLIB .SBTTL ASSIGNMENTS 13-APR-81/14-APR-81. ERRBYT =52 ;ERROR CODE LOCATION .SBTTL ENTRY POINTS 13-APR-81/. ;ASSOCIATE A RUN-TIME SYSTEM WITH A JOB. ; IASRNT::MOV #143 ,R1 ;EMT CODE CLR R2 ;EMT ID JSR PC ,DOIT ;ASSOCIATE THE SYSTEM RTS PC ;MAP A RUN-TIME SYSTEM INTO A JOB'S REGION. ; MAPRNT::MOV #143 ,R1 ;EMT CODE MOV #1 ,R2 ;EMT ID JSR PC ,DOIT1 ;MAP THE SYSTEM RTS PC .SBTTL SUPPORTING SUBROUTINES 13-APR-81/03-AUG-81. DOIT: MOV 2(R5) ,-(SP) ;PASS ARGUMENT 1 MOV R2 ,-(SP) ;LO BYTE = EMT ID 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$: CMP (SP)+ ,(SP)+ ;FIX THE STACK POINTER RTS PC DOIT1: MOV @6(R5) ,-(SP) ;PASS ARGUMENT 3 MOV @4(R5) ,-(SP) ;PASS ARGUMENT 2 MOV @2(R5) ,-(SP) ;PASS ARGUMENT 1 MOV R2 ,-(SP) ;LO BYTE = EMT ID 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 #4 ,(R5) ;SUBROUTINE ERROR RETURN? BNE 1$ ; NO MOV R0 ,@10(R5) ; YES 1$: ADD #10 ,SP ;FIX THE STACK POINTER RTS PC .SBTTL EDIT RECORD 13-APR-81/03-AUG-81. ;13-APR-81 ORIGINAL CREATION. ;14-APR-81 "ERRBYT" WAS 53. ;16-JUN-81 ADDED TO DESCRIPTION OF THE "IASRNT" ROUTINE. ;03-AUG-81 CORRECTED AN ADDRESSING ERROR IN THE "DOIT" SUPPORTING ; SUBROUTINE. .SBTTL END 13-APR-81/. .END