• Keine Ergebnisse gefunden

Interface Conventions

Im Dokument HAL/S COMPILER SYSTEM SPECIFICATION (Seite 124-130)

6.2 Basics and Conventions .1 Origin and Format

6.2.4 Register Conventions in Runtime Library Routines .1 General Purpose Registers R0-R7

6.2.4.3 Interface Conventions

In addition to the parameter passing conventions summarized in general form in the previous two sections and given in detail in the individual library routine descriptions, the compiler has information defining the linkage conventions and register usage for each routine.

R1-R3, R5-R7 : free use;

R4 : return address during calling and exiting intrinsics, otherwise free use;

R0 : stack base;

Parameters : Intrinsics: any or all of R1, R2, R3, R5, R6, R7 can be used for parameter passing.

Procedures: any or all of R2, R4, R5, R6, R7 can be used for parameter passing.

This section contains that information in a list formatted in four columns as follows:

Any modifications to compiler or library should be made carefully so as to maintain this interface properly.

NAME The primary or secondary entry point name.

CALL TYPE Either PROCEDURE or INTRINSIC to distinguish between routines which must be called via the SCAL instruction and those that must be called using BAL.

BANK0 YES indicates that the routine will always reside in Sector 0 of the GPC and may therefore always be called directly (no ZCON needed). NO indicates that the routine may reside in a sector other than 0 and must therefore be called via a long indirect address constant (ZCON).

Registers assumed to be modified

A list of registers which the compiler assumes to be modified across a call to the routine. Any registers not listed may be assumed to remain unmodified and therefore to maintain their previous contents. Underlined registers are not actually modified by the RTL routine, but the compiler still assumes that they are.

ROUTINE CALL TYPE BANK0 REGISTERS ASSUMED TO BE MODIFIED 1 ACOS PROCEDURE NO F0, F1, F2, F3, F4, F5

7 BIN PROCEDURE NO F0, F1

8 BOUT PROCEDURE NO F0, F1

9 BTOC INTRINSIC NO R1, R2, R3, R4, R5, R6, R7 10 CAS INTRINSIC NO R1, R2, R3, R4, R5

11 CASP INTRINSIC NO R1, R2, R3, R4, R5, R6 12 CASPV INTRINSIC NO R1, R2, R3, R4, R5, R6

13 CASR PROCEDURE NO NONE

14 CASRP PROCEDURE NO NONE

15 CASRPV PROCEDURE NO NONE

16 CASRV PROCEDURE NO NONE

17 CASV INTRINSIC NO R1, R2, R3, R4, R5,

18 CAT INTRINSIC NO R1, R2, R3, R4, R5, R6, R7, F0, F1 19 CATV INTRINSIC NO R1, R2, R3, R4, R5, R6, R7, F0, F1 20 CEIL INTRINSIC YES R4, R5, F0, F1

21 CIN PROCEDURE NO NONE

22 CINDEX PROCEDURE NO R5, F0, F1, F2, F3, F4, F5

23 CINP PROCEDURE NO F0, F1

24 CLJSTV PROCEDURE NO F0, F1 25 COLUMN PROCEDURE NO F0, F1

26 COS INTRINSIC NO R2, R3, R4, , F0, F1, F2, F3, F4, F5 27 COSH PROCEDURE NO F0, F1, F2, F3, F4, F5

28 COUT PROCEDURE NO NONE

29 COUTP PROCEDURE NO NONE

30 CPAS PROCEDURE NO F0, F1

31 CPASP PROCEDURE NO F0, F1 32 CPASR PROCEDURE NO F0, F1 33 CPASRP PROCEDURE NO F0, F1

ROUTINE CALL TYPE BANK0 REGISTERS ASSUMED TO BE MODIFIED 34 CPR INTRINSIC NO R2, R3, R4, R5, R6

35 CPRA PROCEDURE NO NONE

36 CPRC INTRINSIC NO R2, R3, R4, R5, R6 37 CPSLD PROCEDURE NO R5, F0, F1

38 CPSLDP PROCEDURE NO R5, F0, F1 39 CPSST PROCEDURE NO R5, F0, F1 40 CPSSTP PROCEDURE NO R5, F0, F1 41 CRJSTV PROCEDURE NO F0, F1

42 CSHAPQ PROCEDURE NO F0, F1, F2, F3, F4, F5 43 CSLD PROCEDURE NO R5, F0, F1

44 CSLDP PROCEDURE NO R5, F0, F1 45 CSST PROCEDURE NO R5, F0, F1 46 CSSTP PROCEDURE NO R5, F0, F1

47 CSTR PROCEDURE NO NONE

48 CSTRUC INTRINSIC NO R2, R3, R4, R5, R6 49 CTOB PROCEDURE NO R5, F0, F1

50 CTOD PROCEDURE NO F0, F1, F2, F3, F4, F5 51 CTOE PROCEDURE NO F0, F1, F2, F3, F4, F5 52 CTOH PROCEDURE NO R5, F0, F1

53 CTOI PROCEDURE NO R5, F0, F1 54 CTOK PROCEDURE NO R5, F0, F1 55 CTOO PROCEDURE NO R5, F0, F1 56 CTOX PROCEDURE NO R5, F0, F1 57 CTRIMV PROCEDURE NO F0, F1

58 DACOS PROCEDURE NO F0, F1, F2, F3, F4, F5, F6, F7 59 DACOSH PROCEDURE NO F0, F1, F2, F3, F4, F5

60 DASIN PROCEDURE NO F0, F1, F2, F3, F4, F5 61 DASINH PROCEDURE NO F0, F1, F2, F3, F4, F5 62 DATAN PROCEDURE NO F0, F1, F2, F3, F4, F5 63 DATANH PROCEDURE NO F0, F1, F2, F3, F4, F5 64 DATAN2 PROCEDURE NO F0, F1, F2, F3, F4, F5 65 DCEIL INTRINSIC YES R4, R5, F0, F1

66 DCOS PROCEDURE NO F0, F1, F2, F3, F4, F5, F6 67 DCOSH PROCEDURE NO F0, F1, F2, F3, F4, F5 68 DEXP PROCEDURE NO F0, F1, F2, F3

69 DFLOOR INTRINSIC YES R4, R5, F0, F1

70 DIN PROCEDURE NO F0, F1

71 DLOG PROCEDURE NO F0, F1, F2, F3, F4, F5 72 DMAX INTRINSIC NO R2, R4, R5, F0, F1 73 DMDVAL PROCEDURE NO F0, F1, F2, F3, F4, F5 74 DMIN INTRINSIC NO R2, R4, R5, F0, F1

75 DMOD INTRINSIC NO R4, F0, F1, F2, F3, F4, F5, F6, F7

76 DOUT PROCEDURE NO F0, F1

77 DPROD INTRINSIC NO R2, R4, R5, F0, F1 78 DPWRD PROCEDURE NO F0, F1, F2, F3, F4, F5 79 DPWRH PROCEDURE NO F0, F1, F2, F3

80 DPWRI PROCEDURE NO F0, F1, F2, F3 81 DROUND INTRINSIC YES R4, R5, F0, F1

82 DSIN PROCEDURE NO F0, F1, F2, F3, F4, F5, F5 83 DSINH PROCEDURE NO F0, F1, F2, F3, F4, F5

84 DSLD PROCEDURE NO R5

85 DSNCS PROCEDURE NO F0, F1, F2, F3, F4, F5, F6 86 DSQRT PROCEDURE NO F0, F1, F2, F3, F4, F5

87 DSST PROCEDURE NO NONE

88 DSUM INTRINSIC NO R2, R4, R5, F0, F1 89 DTAN PROCEDURE NO F0, F1, F2, F3, F4, F5

ROUTINE CALL TYPE BANK0 REGISTERS ASSUMED TO BE MODIFIED 90 DTANH PROCEDURE NO F0, F1, F2, F3, F4, F5

91 DTOC PROCEDURE NO F0, F1, F2, F3, F4, F5 92 DTOH INTRINSIC YES R4, R5, F0, F1

93 DTOI INTRINSIC YES R4, R5, F0, F1 94 DTRUNC INTRINSIC YES R4, R5, F0, F1

95 EATAN2 PROCEDURE NO F0, F1, F2, F3, F4, F5

96 EIN PROCEDURE NO F0, F1

97 EMAX INTRINSIC NO R2, R4, R5, F0, F1 98 EMIN INTRINSIC NO R2, R4, R5, F0, F1

99 EMOD INTRINSIC NO R4, F0, F1, F2, F3, F4, F5

100 EOUT PROCEDURE NO F0,F1

101 EPROD INTRINSIC NO R2, R4, R5, F0, F1 102 EPWR3 PROCEDURE NO F0, F1, F2, F3, F4, F5 103 EPWRH PROCEDURE NO F0, F1, F2, F3

104 EPWRI PROCEDURE NO F0, F1, F2, F3 105 ESUM INTRINSIC NO R2, R4, R5, F0, F1 106 ETOC PROCEDURE NO F0, F1, F2, F3, F4, F5 107 ETOH INTRINSIC YES R4, R5, F0, F1

108 ETOI INTRINSIC YES R4, R5, F0, F1 109 EXP PROCEDURE NO F0, F1, F2, F3 110 FLOOR INLINE YES N/A (RTL not used) 111 GTBYTE INTRINSIC NO R2, R4, R5, F0, F1

112 HIN PROCEDURE NO F0, F1

113 HMAX INTRINSIC NO R2, R4, R5, R6 114 HMIN INTRINSIC NO R2, R4, R5, R6 115 HMOD INTRINSIC NO R2, R4, R5, R6, R7 116 HOUT PROCEDURE NO F0, F1

117 HPROD INTRINSIC NO R2, R4, R5, R6

118 HPWRH PROCEDURE NO R5

119 HREM INTRINSIC NO R2, R4, R5, R6, R7 120 HSUM INTRINSIC NO R2, R4, R5, R6

121 HTOC PROCEDURE NO NONE

122 IIN PROCEDURE NO F0, F1

123 IMAX INTRINSIC NO R2, R4, R5, R6 124 IMIN INTRINSIC NO R2, R4, R5, R6 125 IMOD INTRINSIC NO R2, R4, R5, R6, R7 126 IOINIT PROCEDURE NO F0, F1

127 IOUT PROCEDURE NO F0, F1

128 IPROD INTRINSIC NO R2, R4, R5, R6, R7

129 IPWRH PROCEDURE NO R5

130 IPWRI PROCEDURE NO R5

131 IREM INTRINSIC NO R2, R4, R5, R6, R7 132 ISUM INTRINSIC NO R2, R4, R5, R6

133 ITOC PROCEDURE NO NONE

134 ITOD INTRINSIC YES R4, R5, F0, F1 135 ITOE INTRINSIC YES R4, R5, F0, F1

136 KTOC INTRINSIC NO R1, R2, R3, R4, R5, R6, R7, F0, F1 137 LINE PROCEDURE NO F0, F1

138 LOG PROCEDURE NO F0, F1, F2, F3, F4, F5 139 MMRDNP PROCEDURE NO NONE

140 MMRSNP PROCEDURE NO NONE 141 MMWDNP PROCEDURE NO F0, F1 142 MMWSNP PROCEDURE NO F0, F1

143 MM0DNP INTRINSIC NO R1, R3, R4, R5, R6, R7, F0, F1 144 MM0SNP INTRINSIC NO R1, R3, R4, R5, R6, R7, F0, F1

145 MM1DNP INTRINSIC NO R1, R2, R3, R4, R5, R6, R7, F0, F1, F2, F3

ROUTINE CALL TYPE BANK0 REGISTERS ASSUMED TO BE MODIFIED

152 MM11S3 INTRINSIC NO R1, R2, R4, R5, F0, F1, F2, F3 153 MM12DN PROCEDURE NO F0, F1, F2, F3, F4, F5

154 MM12D3 PROCEDURE NO F0, F1, F2, F3, F4, F5 155 MM12SN PROCEDURE NO F0, F1, F2, F3, F4, F5 156 MM12S3 PROCEDURE NO F0, F1, F2, F3, F4, F5 157 MM13DN INTRINSIC NO R2, R4, R5, R6, F0, F1 158 MM13D3 INTRINSIC NO R2, R4, F0, F1

159 MM13SN INTRINSIC NO R2, R4, R5, R6, F0, F1 160 MM13S3 INTRINSIC NO R2, R4, F0, F1

161 MM14DN PROCEDURE NO F0, F1, F2, F3, F4, F5 162 MM14D3 PROCEDURE NO F0, F1, F2, F3, F4, F5 163 MM14SN PROCEDURE NO F0, F1, F2, F3, F4, F5 164 MM14S3 PROCEDURE NO F0, F1, F2, F3, F4, F5

165 MM15DN INTRINSIC NO R1, R4, R5, R6, R7, F0, F1, F2, F3 166 MM15SN INTRINSIC NO R1, R4, R5, R6, R7, F0, F1, F2, F3 167 MM17DN PROCEDURE NO F0, F1, F2, F3, F4, F5

168 MM17D3 PROCEDURE NO F0, F1, F2, F3, F4, F5 169 MM17SN PROCEDURE NO F0, F1, F2, F3, F4, F5 170 MM17S3 PROCEDURE NO F0, F1, F2, F3, F4, F5

171 MM6DN INTRINSIC NO R1, R2, R3, R4, R5, R6, R7, F0, F1, F2, F3, F4, F5 172 MM6D3 INTRINSIC NO R1, R2, R3, R4, R5, R6, R7, F0, F1, F2, F3, F4, F5 173 MM6SN INTRINSIC NO R1, R2, R3, R4, R5, R6, R7, F0, F1, F2, F3, F4, F5 174 MM6S3 INTRINSIC NO R1, R2, R3, R4, R5, R6, R7, F0, F1, F2, F3, F4, F5 175 MR0DNP PROCEDURE NO F0, F1

176 MR0SNP PROCEDURE NO F0, F1 177 MR1DNP PROCEDURE NO F0, F1 178 MR1SNP PROCEDURE NO F0, F1 179 MR1TNP PROCEDURE NO F0, F1 180 MR1WNP PROCEDURE NO F0, F1

181 MSTR PROCEDURE NO NONE

182 NOT USED 188 OUTER1 PROCEDURE NO F0, F1

189 PAGE PROCEDURE NO F0, F1 190 QSHAPQ PROCEDURE NO F0, F1

191 RANDG PROCEDURE NO F0, F1, F2, F3 192 RANDOM PROCEDURE NO F0, F1, F2, F3 193 ROUND INTRINSIC YES R4, R5, F0, F1

194 SIN INTRINSIC NO R2, R3, R4, F0, F1, F2, F3, F4, F5 195 SINH PROCEDURE NO F0, F1, F2, F3, F4, F5

196 SKIP PROCEDURE NO F0, F1

197 SNCS INTRINSIC NO R2, R3, R4, F0, F1, F2, F3, F4, F5 198 SQRT INTRINSIC NO R1, R4, R5, R6, R7, F0, F1, F2, F3 199 STBYTE INTRINSIC NO R1, R4, R5, F0, F1

200 TAB PROCEDURE NO F0, F1

201 TAN PROCEDURE NO F0, F1, F2, F3, F4, F5

ROUTINE CALL TYPE BANK0 REGISTERS ASSUMED TO BE MODIFIED 202 TANH PROCEDURE NO F0, F1, F2, F3, F4, F5

203 TRUNC INTRINSIC YES R4, R5, F0, F1

204 VM6DN INTRINSIC NO R1, R2, R3, R4, R5, R6, R7, F0, F1, F2, F3, F4, F5

212 VR0DN PROCEDURE NO F0, F1 213 VR0DNP PROCEDURE NO F0, F1 214 VR0SN PROCEDURE NO F0, F1 215 VR0SNP PROCEDURE NO F0, F1 216 VR1DN PROCEDURE NO F0, F1 217 VR1DNP PROCEDURE NO F0, F1 218 VR1SN PROCEDURE NO F0, F1 219 VR1SNP PROCEDURE NO F0, F1 220 VR1TN PROCEDURE NO F0, F1 221 VR1TNP PROCEDURE NO F0, F1 222 VR1WN PROCEDURE NO F0, F1 223 VR1WNP PROCEDURE NO F0, F1

224 VV0DN INTRINSIC NO R1, R4, R5, F0, F1 225 VV0DNP INTRINSIC NO R1, R4, R5, R7, F0, F1 226 VV0SN INTRINSIC NO R1, R4, R5, F0

227 VV0SNP INTRINSIC NO R1, R4, R5, R7, F0, F1 228 VV1DN INTRINSIC NO R1, R2, R4, R5, F0, F1

229 VV1DNP INTRINSIC NO R1, R2, R4, R5, R6, R7, F0, F1 230 VV1D3 INTRINSIC NO R1, R2, R4, F0, F1, F2, F3, F4, F5 231 VV1D3P INTRINSIC NO R1, R2, R4, R5, R6, R7, F0, F1 232 VV1SN INTRINSIC NO R1, R2, R4, R5, F0, F1

233 VV1SNP INTRINSIC NO R1, R2, R4, R5, R6, R7, F0, F1 234 VV1S3 INTRINSIC NO R1, R2, R4, F0, F1, F2, F3, F4, F5 235 VV1S3P INTRINSIC NO R1, R2, R4, R5, R6, R7, F0, F1 236 VV1TN INTRINSIC NO R1, R2, R4, R5, F0, F1

237 VV1TNP INTRINSIC NO R1, R2, R4, R5, R6, R7, F0, F1 238 VV1T3 INTRINSIC NO R1, R2, R4, F0, F1, F2, F3, F4, F5 239 VV1T3P INTRINSIC NO R1, R2, R4, R5, R6, R7, F0, F1 240 VV1WN INTRINSIC NO R1, R2, R4, R5, F0, F1

241 VV1WNP INTRINSIC NO R1, R2, R4, R5, R6, R7, F0, F1 242 VV1W3 INTRINSIC NO R1, R2, R4, F0, F1

243 VV1W3P INTRINSIC NO R1, R2, R4, R5, R6, R7, F0, F1 244 VV10DN PROCEDURE NO F0, F1, F2, F3, F4, F5

245 VV10D3 PROCEDURE NO F0, F1, F2, F3, F4, F5 246 VV10SN PROCEDURE NO F0, F1, F2, F3, F4, F5 247 VV10S3 PROCEDURE NO F0, F1, F2, F3, F4, F5 248 VV2DN INTRINSIC NO R1, R2, R3, R4, R5, F0, F1

249 VV2D3 INTRINSIC NO R1, R2, R3, R4, F0, F1, F2, F3, F4, F5 250 VV2SN INTRINSIC NO R1, R2, R3, R4, R5, F0, F1

251 VV2S3 INTRINSIC NO R1, R2, R3, R4, F0, F1, F2, F3, F4, F5 252 VV3DN INTRINSIC NO R1, R2, R3, R4, R5, F0, F1

253 VV3D3 INTRINSIC NO R1, R2, R3, R4, F0, F1 254 VV3SN INTRINSIC NO R1, R2, R3, R4, R5, F0, F1

255 VV3S3 INTRINSIC NO R1, R2, R3, R4, F0, F1, F2, F3, F4, F5 256 VV4DN INTRINSIC NO R1, R2, R4, R5, F0, F1, F2, F3

257 VV4D3 INTRINSIC NO R1, R2, R4, F0, F1, F2, F3

6.2.5 Referencing Conventions

Im Dokument HAL/S COMPILER SYSTEM SPECIFICATION (Seite 124-130)