Trailing-Edge
-
PDP-10 Archives
-
BB-P363B-SM_1985
-
mcb/blis16/b16ftn.lst
There are no other files named b16ftn.lst in the archive.
B16FTN BLISS-16 FORTRAN LINKAGE SUPPORT DNMAC X24.07-563 25-JAN-83 17:02 PAGE 1
B16FTN.MAC 25-JAN-83 17:02
1 .TITLE B16FTN BLISS-16 FORTRAN LINKAGE SUPPORT
2 .IDENT /2.3/
3 ;
4 ; COPYRIGHT (C) 1979, 1980, 1981, 1982
5 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASSACHUSETTS 01754
6 ;
7 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A
8 ; SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE INCLU-
9 ; SION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE, OR ANY
10 ; OTHER COPIES THEREOF, MAY NOT BE PROVIDED OR OTHERWISE MADE
11 ; AVAILABLE TO ANY TOHER PERSON EXCEPT FOR USE ON SUCH SYSTEM
12 ; AND TO ONE WHO AGREES TO THESE LICENSE TERMS. TITLE TO AND
13 ; OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN IN DEC.
14 ;
15 ; THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
16 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
17 ; EQUIPMENT CORPORATION.
18 ;
19 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF
20 ; ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
21 ;
22 ;++
23 ; FACILITY:
24 ; BLISS-16 OBJECT TIME SYSTEM (OTS)
25 ;
26 ; ABSTRACT:
27 ; THIS IS A BLISS-16 SUPPORTING ROUTINE FOR FORTRAN INTERFACE
28 ;
29 ; ENVIRONMENT:
30 ; PDP-11 OR COMPATIBILITY MODE OF THE VAX, EIS AND NOEIS
31 ;
32 ; AUTHOR: BOSE S. GHANTA CREATION DATE: 22-FEB-79
33 ;
34 ; MODIFIED BY:
35 ;
36 ; 1. 14-FEB-80 DGF NOW CONFORMS TO SOFTWARE STANDARDS.
37 ;
38 ; 2. 14-MAR-80 DL CORRECT DISCUSSION TO REFLECT REALITY,
39 ; ALSO, CALL $SAVE5 NOT $SAV5.
40 ;
41 ; 3. 5-DEC-80 DGF FIX PSECT ATTRIBUTES
42 ;--
43 ; DISCUSSION:
44 ;
45 ; WHEN ROUTINE CROUT CALLS FORTRAN LINKAGE ROUTINE FROUT WITH ARGUMENTS
46 ; ARG1,ARG2,...ARGN THE ARGUMENTS ARE PUSHED ONTO THE STACK FROM RIGHT
47 ; TO LEFT, THEN THE NUMBER OF ARGUMENTS IS PUSHED (LOW BYTE HAS THE COUNT
48 ; AND THE HIGH BYTE IS UNDEFINED). THEN THE ADDRESS OF THE ROUTINE TO BE
49 ; CALLED IS PUSHED. FINALLY, THIS OTS ROUTINE IS CALLED WHICH SAVES ALL
50 ; OF THE REGISTERS, ESTABLISHES AN ARGUMENT POINTER IN R5, AND JUMPS TO
51 ; THE FORTRAN ROUTINE FROUT. SEE THE NOTES BELOW DESCRIBING STACK HANDLING
52 ; AND THE RETURN SEQUENCE.
53 ;
54 ;
55 ; THE STACK AT ENTRY TO $CALL: THE STACK AFTER THE CALL TO $SAVE5
56 ; ------------ -------------
B16FTN BLISS-16 FORTRAN LINKAGE SUPPORT DNMAC X24.07-563 25-JAN-83 17:02 PAGE 1-1
B16FTN.MAC 25-JAN-83 17:02
57 ; ! ARG N ! ! ARG N !
58 ; ------------ -------------
59 ; ! ARG N-1 ! ! ARG N-1 !
60 ; ------------ -------------
61 ; . .
62 ; . .
63 ; ------------ -------------
64 ; ! ARG 1 ! ! ARG 1 !
65 ; ------------ -------------
66 ; ! ? ! NUM ! 20(SP): ! ? ! NUM !<== NUMBER OF ARGS (LOW BYTE)
67 ; ------------ -------------
68 ; ! #FROUT ! 16(SP): ! #FROUT !<== FORTRAN ROUTINE'S ADDRESS
69 ; ------------ -------------
70 ; ! CROUT+MM !<== RETURN POINT IN CALLER
71 ; -------------
72 ; ! R1 !
73 ; -------------
74 ; ! R2 !
75 ; -------------
76 ; ! R3 !
77 ; -------------
78 ; ! R4 !
79 ; -------------
80 ; ! R5 !
81 ; -------------
82 ; (SP): ! $SAVE5+NN ! <== CO-RETURN PC TO $SAVE5
83 ; -------------
84 ;
85 ;
86 ;
87 ; NOTE THAT SINCE $SAVE5 IS A CO-ROUTINE (SEE B16SAV.MAC) THE CALLED
88 ; FORTRAN ROUTINE (FROUT) RETURNS TO $SAVE5+NN WHICH RESTORES THE REGISTERS
89 ; AND RETURNS TO THE CALLING ROUTINE (CROUT).
90 ;
B16FTN BLISS-16 FORTRAN LINKAGE SUPPORT DNMAC X24.07-563 25-JAN-83 17:02 PAGE 2
B16FTN.MAC 25-JAN-83 17:02
91 000000 R0=%0
92 000001 R1=%1
93 000002 R2=%2
94 000003 R3=%3
95 000004 R4=%4
96 000005 R5=%5
97 000006 SP=%6
98 000007 PC=%7
99
100 000000' .PSECT BL$COD,RO,I,LCL,CON
101
102 000000' 004167 000000G $CALL: JSR R1,$SAVE5 ; FORTRAN ROUTINES MAY CLOBBER REGISTERS
103 000004' 010605 MOV SP,R5
104 000006' 062705 000020 ADD #20,R5 ; ESTABLISH ARGUMENT POINTER
105 000012' 000176 000016 JMP @16(SP) ; GO TO THE FORTRAN ROUTINE
106
107 .GLOBL $SAVE5
108 .GLOBL $CALL
109 000001 .END
B16FTN BLISS-16 FORTRAN LINKAGE SUPPORT DNMAC X24.07-563 25-JAN-83 17:02 PAGE 3
B16FTN.MAC 25-JAN-83 17:02 SYMBOL TABLE
$CALL 000000RG 002 $SAVE5= ****** G . = 000016R 002
. ABS. 000000 000 CON RW ABS LCL I
000000 001 CON RW ABS LCL I
BL$COD 000016 002 CON RO REL LCL I
ERRORS DETECTED: 0
DEFAULT GLOBALS GENERATED: 0
B16FTN,B16FTN=B16FTN
RUN-TIME: .3 .2 0 SECONDS
RUN-TIME RATIO: 7/1=7.8
CORE USED: 4K (7 PAGES)