.MCALL .MODULE .MODULE CALL$F,VERSION=02,COMMENT=,IDENT=NO,LIB=YES ; Copyright (c) 1998 by Mentec, Inc., Nashua, NH. ; All rights reserved ; ; This software is furnished under a license for use only on a ; single computer system and may be copied only with the ; inclusion of the above copyright notice. This software, or ; any other copies thereof, may not be provided or otherwise ; made available to any other person except for use on such ; system and to one who agrees to these license terms. Title ; to and ownership of the software shall at all times remain ; in Mentec, Inc. ; ; The information in this document is subject to change without ; notice and should not be construed as a commitment by Digital ; Equipment Corporation, or Mentec, Inc. ; ; Digital and Mentec assume no responsibility for the use or ; reliability of its software on equipment which is not supplied ; by Digital or Mentec, and listed in the Software Product ; Description. .SBTTL CALL$F - Routine to call FORTRAN style subroutines ; ; CALL CALL$F ; ; This routine is used to call FORTRAN style functions ; and preserve R1 -- R4 across the call. ; ;Inputs: ;R5 points to arg list ;R0 points to routine to call ; ;Outputs: ;R0 as returned by subroutine ;R1-R4 saved ;R5 undefined ; NO ERRORS ARE POSSIBLE ; ; except as defined by the called routine ; ;JFW 9-Jan-85 ; .PSECT SYS$I .GLOBL $SYSLB CALL$F:: MOV R4,-(SP) ;Save all but R0 and R5 MOV R3,-(SP) MOV R2,-(SP) MOV R1,-(SP) CALL @R0 ;Call routine MOV (SP)+,R1 ;Restore all but R5 and R0 MOV (SP)+,R2 MOV (SP)+,R3 MOV (SP)+,R4 RETURN ;And done .END