source: trunk/libs/newlib/src/newlib/libc/machine/hppa/pcc_prefix.s @ 444

Last change on this file since 444 was 444, checked in by satin@…, 6 years ago

add newlib,libalmos-mkh, restructure shared_syscalls.h and mini-libc

File size: 7.1 KB
Line 
1;
2;  (c) Copyright 1986 HEWLETT-PACKARD COMPANY
3;
4;  To anyone who acknowledges that this file is provided "AS IS"
5;  without any express or implied warranty:
6;      permission to use, copy, modify, and distribute this file
7;  for any purpose is hereby granted without fee, provided that
8;  the above copyright notice and this notice appears in all
9;  copies, and that the name of Hewlett-Packard Company not be
10;  used in advertising or publicity pertaining to distribution
11;  of the software without specific, written prior permission.
12;  Hewlett-Packard Company makes no representations about the
13;  suitability of this software for any purpose.
14;
15
16; Standard Hardware Register Definitions for Use with Assembler
17; version A.08.06
18;       - fr16-31 added at Utah
19;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
20; Hardware General Registers
21r0: .equ        0
22
23r1: .equ        1
24
25r2: .equ        2
26
27r3: .equ        3
28
29r4: .equ        4
30
31r5: .equ        5
32
33r6: .equ        6
34
35r7: .equ        7
36
37r8: .equ        8
38
39r9: .equ        9
40
41r10: .equ       10
42
43r11: .equ       11
44
45r12: .equ       12
46
47r13: .equ       13
48
49r14: .equ       14
50
51r15: .equ       15
52
53r16: .equ       16
54
55r17: .equ       17
56
57r18: .equ       18
58
59r19: .equ       19
60
61r20: .equ       20
62
63r21: .equ       21
64
65r22: .equ       22
66
67r23: .equ       23
68
69r24: .equ       24
70
71r25: .equ       25
72
73r26: .equ       26
74
75r27: .equ       27
76
77r28: .equ       28
78
79r29: .equ       29
80
81r30: .equ       30
82
83r31: .equ       31
84
85; Hardware Space Registers
86sr0: .equ       0
87
88sr1: .equ       1
89
90sr2: .equ       2
91
92sr3: .equ       3
93
94sr4: .equ       4
95
96sr5: .equ       5
97
98sr6: .equ       6
99
100sr7: .equ       7
101
102; Hardware Floating Point Registers
103fr0: .equ       0
104
105fr1: .equ       1
106
107fr2: .equ       2
108
109fr3: .equ       3
110
111fr4: .equ       4
112
113fr5: .equ       5
114
115fr6: .equ       6
116
117fr7: .equ       7
118
119fr8: .equ       8
120
121fr9: .equ       9
122
123fr10: .equ      10
124
125fr11: .equ      11
126
127fr12: .equ      12
128
129fr13: .equ      13
130
131fr14: .equ      14
132
133fr15: .equ      15
134
135fr16: .equ      16
136
137fr17: .equ      17
138
139fr18: .equ      18
140
141fr19: .equ      19
142
143fr20: .equ      20
144
145fr21: .equ      21
146
147fr22: .equ      22
148
149fr23: .equ      23
150
151fr24: .equ      24
152
153fr25: .equ      25
154
155fr26: .equ      26
156
157fr27: .equ      27
158
159fr28: .equ      28
160
161fr29: .equ      29
162
163fr30: .equ      30
164
165fr31: .equ      31
166
167; Hardware Control Registers
168cr0: .equ       0
169
170rctr: .equ      0                       ; Recovery Counter Register
171
172
173cr8: .equ       8                       ; Protection ID 1
174
175pidr1: .equ     8
176
177
178cr9: .equ       9                       ; Protection ID 2
179
180pidr2: .equ     9
181
182
183cr10: .equ      10
184
185ccr: .equ       10                      ; Coprocessor Confiquration Register
186
187
188cr11: .equ      11
189
190sar: .equ       11                      ; Shift Amount Register
191
192
193cr12: .equ      12
194
195pidr3: .equ     12                      ; Protection ID 3
196
197
198cr13: .equ      13
199
200pidr4: .equ     13                      ; Protection ID 4
201
202
203cr14: .equ      14
204
205iva: .equ       14                      ; Interrupt Vector Address
206
207
208cr15: .equ      15
209
210eiem: .equ      15                      ; External Interrupt Enable Mask
211
212
213cr16: .equ      16
214
215itmr: .equ      16                      ; Interval Timer
216
217
218cr17: .equ      17
219
220pcsq: .equ      17                      ; Program Counter Space queue
221
222
223cr18: .equ      18
224
225pcoq: .equ      18                      ; Program Counter Offset queue
226
227
228cr19: .equ      19
229
230iir: .equ       19                      ; Interruption Instruction Register
231
232
233cr20: .equ      20
234
235isr: .equ       20                      ; Interruption Space Register
236
237
238cr21: .equ      21
239
240ior: .equ       21                      ; Interruption Offset Register
241
242
243cr22: .equ      22
244
245ipsw: .equ      22                      ; Interrpution Processor Status Word
246
247
248cr23: .equ      23
249
250eirr: .equ      23                      ; External Interrupt Request
251
252
253cr24: .equ      24
254
255ppda: .equ      24                      ; Physcial Page Directory Address
256
257tr0: .equ       24                      ; Temporary register 0
258
259
260cr25: .equ      25
261
262hta: .equ       25                      ; Hash Table Address
263
264tr1: .equ       25                      ; Temporary register 1
265
266
267cr26: .equ      26
268
269tr2: .equ       26                      ; Temporary register 2
270
271
272cr27: .equ      27
273
274tr3: .equ       27                      ; Temporary register 3
275
276
277cr28: .equ      28
278
279tr4: .equ       28                      ; Temporary register 4
280
281
282cr29: .equ      29
283
284tr5: .equ       29                      ; Temporary register 5
285
286
287cr30: .equ      30
288
289tr6: .equ       30                      ; Temporary register 6
290
291
292cr31: .equ      31
293
294tr7: .equ       31                      ; Temporary register 7
295
296;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
297; Procedure Call Convention                                                  ~
298; Register Definitions for Use with Assembler                                ~
299; version A.08.06
300;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
301; Software Architecture General Registers
302rp: .equ    r2  ; return pointer
303
304mrp: .equ       r31     ; millicode return pointer
305
306ret0: .equ    r28       ; return value
307
308ret1: .equ    r29       ; return value (high part of double)
309
310sl: .equ    r29 ; static link
311
312sp: .equ        r30     ; stack pointer
313
314dp: .equ        r27     ; data pointer
315
316arg0: .equ      r26     ; argument
317
318arg1: .equ      r25     ; argument or high part of double argument
319
320arg2: .equ      r24     ; argument
321
322arg3: .equ      r23     ; argument or high part of double argument
323
324;_____________________________________________________________________________
325; Software Architecture Space Registers
326;               sr0     ; return link form BLE
327sret: .equ      sr1     ; return value
328
329sarg: .equ      sr1     ; argument
330
331;               sr4     ; PC SPACE tracker
332;               sr5     ; process private data
333;_____________________________________________________________________________
334; Software Architecture Pseudo Registers
335previous_sp: .equ       64      ; old stack pointer (locates previous frame)
336
337#if 0
338;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
339;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
340; Standard space and subspace definitions.  version A.08.06
341; These are generally suitable for programs on HP_UX and HPE.
342; Statements commented out are used when building such things as operating
343; system kernels.
344;;;;;;;;;;;;;;;;
345        .SPACE  $TEXT$,         SPNUM=0,SORT=8
346;       .subspa $FIRST$,        QUAD=0,ALIGN=2048,ACCESS=0x2c,SORT=4,FIRST
347;       .subspa $REAL$,         QUAD=0,ALIGN=8,ACCESS=0x2c,SORT=4,FIRST,LOCK
348        .subspa $MILLICODE$,    QUAD=0,ALIGN=8,ACCESS=0x2c,SORT=8
349        .subspa $LIT$,          QUAD=0,ALIGN=8,ACCESS=0x2c,SORT=16
350        .subspa $CODE$,         QUAD=0,ALIGN=8,ACCESS=0x2c,SORT=24
351;       .subspa $UNWIND$,       QUAD=0,ALIGN=4,ACCESS=0x2c,SORT=64
352;       .subspa $RECOVER$,      QUAD=0,ALIGN=4,ACCESS=0x2c,SORT=80
353;       .subspa $RESERVED$,     QUAD=0,ALIGN=8,ACCESS=0x73,SORT=82
354;       .subspa $GATE$,         QUAD=0,ALIGN=8,ACCESS=0x4c,SORT=84,CODE_ONLY
355; Additional code subspaces should have ALIGN=8 for an interspace BV
356; and should have SORT=24.
357; 
358; For an incomplete executable (program bound to shared libraries), 
359; sort keys $GLOBAL$ -1 and $GLOBAL$ -2 are reserved for the $DLT$ 
360; and $PLT$ subspaces respectively.
361;;;;;;;;;;;;;;;
362        .SPACE $PRIVATE$,       SPNUM=1,PRIVATE,SORT=16
363        .subspa $GLOBAL$,       QUAD=1,ALIGN=8,ACCESS=0x1f,SORT=40
364        .import $global$
365        .subspa $SHORTDATA$,    QUAD=1,ALIGN=8,ACCESS=0x1f,SORT=24
366        .subspa $DATA$,         QUAD=1,ALIGN=8,ACCESS=0x1f,SORT=16
367        .subspa $PFA_COUNTER$,  QUAD=1,ALIGN=4,ACCESS=0x1f,SORT=8
368        .subspa $SHORTBSS$,     QUAD=1,ALIGN=8,ACCESS=0x1f,SORT=80,ZERO
369        .subspa $BSS$,          QUAD=1,ALIGN=8,ACCESS=0x1f,SORT=82,ZERO
370;       .subspa $PCB$,          QUAD=1,ALIGN=8,ACCESS=0x10,SORT=82
371;       .subspa $STACK$,        QUAD=1,ALIGN=8,ACCESS=0x1f,SORT=82
372;       .subspa $HEAP$,         QUAD=1,ALIGN=8,ACCESS=0x1f,SORT=82
373;;;;;;;;;;;;;;;;
374;       .SPACE  $PFA$,          SPNUM=0,PRIVATE,UNLOADABLE,SORT=64
375;       .subspa $PFA_ADDRESS$,  ALIGN=4,ACCESS=0x2c,UNLOADABLE
376;;;;;;;;;;;;;;;;
377;       .SPACE  $DEBUG$,        SPNUM=2,PRIVATE,UNLOADABLE,SORT=80
378;       .subspa $HEADER$,       ALIGN=4,ACCESS=0,UNLOADABLE,FIRST
379;       .subspa $GNTT$,         ALIGN=4,ACCESS=0,UNLOADABLE
380;       .subspa $LNTT$,         ALIGN=4,ACCESS=0,UNLOADABLE
381;       .subspa $SLT$,          ALIGN=4,ACCESS=0,UNLOADABLE
382;       .subspa $VT$,           ALIGN=4,ACCESS=0,UNLOADABLE
383
384; To satisfy the copyright terms each .o will have a reference
385; the the actual copyright.  This will force the actual copyright
386; message to be brought in from libgloss/hp-milli.s
387        .space $PRIVATE$
388        .subspa $DATA$
389#else
390        .data
391#endif
392        .import ___hp_free_copyright,data
393L$copyright .word ___hp_free_copyright
Note: See TracBrowser for help on using the repository browser.