.TITLE PRFANL.MAC 87c26a 14-APR-81/26-Mar-87. .ENABL LC ; Author: N. A. Bourgeois, Jr. ; NAB Software Services, Inc. ; PO Box 20009 ; Albuquerque, NM 87154 ; The code and information in this software is subject to ; change without notice and should not be construed as a ; commitment by NAB Software Services, Inc. NAB Software ; Services,Inc. assumes no responsibility for any errors ; that may appear in this software. ; ; ; NOTICE ; ; This software is sponsored by NAB Software Services, Inc. ; Neither NAB Software Services, Inc., 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 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 .SBTTL EDIT RECORD 14-APR-81/26-Mar-87. ;16-APR-81 ORIGINAL CREATION. ;16-JUN-81 REVISED SUBROUTINE, "DOIT2". ;03-AUG-81 REVISED ERROR RETURN CODING IN THE SUPPORTING SUBROUTINES. ;26-FEB-82 ADDED IDENTIFICATION CODE. ;06-Jan-84 Maintenance assumed by NAB Software Services, Inc. ;03-Oct-84 Minor revision for V5.1. ;26-Mar-87 Revised for V6.2. Added NAB Software disclaimer. .PAGE .SBTTL DESCRIPTION 14-APR-81/03-Oct-84. ;THESE FOUR PERFORMANCE ANALYSIS SUPPORT ROUTINES ARE CALLABLE AS ;SUBROUTINES. THREE OF THEM ARE ALSO CALLABLE AS FUNCTIONS. THIS ;MODULE IS A PART OF THE LIBRARY OF FORTRAN CALLABLE TSX/TSX-PLUS ;EMT ROUTINES. ;INITIALIZE A PERFORMANCE ANALYSIS. ; ;CALLING SEQUENCES: ; ; CALL INITPA ( IBSADR , ITPADR , ICLSZ , IFLAG [ , IERR ] ) ; OR ; IERR = INITPA ( IBSADR , ITPADR , ICLSZ , IFLAG ) ; ; WHERE: IBSADR IS THE BASE ADDRESS OF THE REGION TO BE ; MONITORED. ; ; ITPADR IS THE TOP ADDRESS OF THE REGION TO BE ; MONITORED. ; ; ICLSZ IS THE NUMBER OF BYTES TO GROUP IN EACH ; HISTOGRAM CELL. ; ; IFLAG IS ONE OR MORE OF THE FOLLOWING: ; ; 0 DO NOT INCLUDE I/O WAIT TIME. ; 1 INCLUDE I/O WAIT TIME. ; ; IERR IS NEGATIVE OR ONE OF THE FOLLOWING: ; ; 0 PERFORMANCE ANALYSIS IS ALREADY IN ; USE. ; 1 PERFORMANCE ANALYSIS FEATURE IS NOT ; INCLUDED IN THIS VERSION OF TSX-PLUS. ;START A PERFORMANCE ANALYSIS. ; ;CALLING SEQUENCES: ; ; CALL ISTPA [ IERR ] ; OR ; IERR = ISTPA () ; ; WHERE: IERR IS NEGATIVE OR AS FOLLOWS: ; ; 0 PERFORMANCE ALALYSIS HAS NOT BEEN ; INITIALIZED. ;STOP A PERFORMANCE ANALYSIS. ; ;CALLING SEQUENCES: ; ; CALL ISPPA [ IERR ] ; OR ; IERR = ISPPA () ; ; WHERE: IERR IS NEGATIVE OR AS FOLLOWS: ; ; 0 PERFORMANCE ANALYSIS HAS NOT BEEN ; INITIALIZED. ;TERMINATE A PERFORMANCE ANALYSIS. ; ;CALLING SEQUENCE: ; ; CALL TERMPA ( IPARBF , IHSTBF , IHBSIZ [ , IERR ] ) ; ; WHERE: IPARBF IS A FOUR ELEMENT PARAMETER BUFFER AS FOLLOWS: ; ; 1 BASE ADDRESS OF MONITORED REGION. ; 2 TOP ADDRESS OF MONITORED REGION. ; 3 NUMBER OF BYTES PER HISTOGRAM CELL. ; 4 CONTROL AND STATUS FLAG WITH BIT ; ASSIGNMENTS AS FOLLOWS: ; ; 1 I/O WAIT WAS INCLUDED. ; 100000 SOME HISTOGRAM CELL ; OVERFLOWED. ; ; IHSTBF IS THE HISTOGRAM BUFFER. ; ; IHBSIZ IS THE NUMBER OF ELEMENTS OR CELLS IN THE ; HISTOGRAM BUFFER. ; ; IERR IS NEGATIVE OR ONE OF THE FOLLOWING: ; ; 0 THIS JOB HAS NOT DONE A PERFORMANCE ; ANALYSIS. ; 1 HISTOGRAM BUFFER AREA TOO SMALL. .PAGE .SBTTL DIRECTIVES 14-APR-81/26-Mar-87. .IDENT \87c26a\ ;TELL LINKER OUR VERSION .PSECT TSXLIB .GLOBL TSLBID .WORD TSLBID .DSABL GBL .SBTTL ASSIGNMENTS 14-APR-81/03-AUG-81. ERRBYT = 52 ;ERROR CODE LOCATION NOERR = -1 ;RETURN CODE FOR NO ERROR .PAGE .SBTTL ENTRY POINTS 14-APR-81/. ;INITIALIZE A PERFORMANCE ANALYSIS. ; INITPA::MOV #136 ,R1 ;EMT CODE CLR R2 ;EMT ID JSR PC ,DOIT ;INITIALIZE IT RTS PC ;START A PERFORMANCE ANALYSIS. ; ISTPA:: MOV #136 ,R1 ;EMT CODE MOV #1 ,R2 ;EMT ID JSR PC ,DOIT1 ;START IT RTS PC ;STOP A PERFORMANCE ANALYSIS. ; ISPPA:: MOV #136 ,R1 ;EMT CODE MOV #2 ,R2 ;EMT ID JSR PC ,DOIT1 ;STOP IT RTS PC ;TERMINATE A PERFORMANCE ANALYSIS. ; TERMPA::MOV #136 ,R1 ;EMT CODE MOV #3 ,R2 ;EMT ID JSR PC ,DOIT2 ;TERMINATE IT RTS PC .PAGE .SBTTL SUPPORTING SUBROUTINES 14-APR-81/03-AUG-81. DOIT: MOV @10(R5) ,-(SP) ;PASS ARGUMENT 4 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 MOV #NOERR ,R1 ;NO ERROR CODE EMT 375 ;LET TSX DO IT BCC 1$ ; IF NO ERROR CLR R1 ; IF ERROR MOVB @#ERRBYT,R1 ; GET CODE 1$: CMPB #5 ,(R5) ;SUBROUTINE ERROR RETURN? BNE 2$ ; NO MOV R1 ,@12(R5) ; YES 2$: MOV R1 ,R0 ;FUNCTION ERROR RETURN ADD #12 ,SP ;FIX THE STACK POINTER RTS PC DOIT1: MOV R2 ,-(SP) ;LO BYTE = EMT ID MOV SP ,R0 ;EMT POINTER MOVB R1 ,1(R0) ;HI BYTE = EMT CODE MOV #NOERR ,R1 ;NO ERROR CODE EMT 375 ;LET TSX DO IT BCC 1$ ; IF NO ERROR CLR R1 ; IF ERROR MOVB @#ERRBYT,R1 ; GET CODE 1$: CMPB #1 ,(R5) ;SUBROUTINE ERROR RETURN? BNE 2$ ; NO MOV R1 ,@2(R5) ; YES 2$: MOV R1 ,R0 ;FUNCTION ERROR RETURN TST (SP)+ ;FIX THE STACK POINTER RTS PC DOIT2: MOV @6(R5) ,-(SP) ;PASS ARGUMENT 3 MOV 4(R5) ,-(SP) ;SA FOR ARGUMENT 2 MOV 2(R5) ,-(SP) ;SA FOR 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 BCC 1$ ; IF NO ERROR CLR R0 ; IF ERROR MOVB @#ERRBYT,R0 ; GET CODE 1$: CMPB #4 ,(R5) ;SUBROUTINE ERROR RETURN? BNE 2$ ; NO MOV R0 ,@10(R5) ; YES 2$: ADD #10 ,SP ;FIX THE STACK POINTER RTS PC .SBTTL END 14-APR-81/. .END