OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [newlib/] [newlib/] [libc/] [machine/] [hppa/] [pcc_prefix.s] - Rev 1765

Compare with Previous | Blame | View Log

;
;  (c) Copyright 1986 HEWLETT-PACKARD COMPANY
;
;  To anyone who acknowledges that this file is provided "AS IS"
;  without any express or implied warranty:
;      permission to use, copy, modify, and distribute this file
;  for any purpose is hereby granted without fee, provided that
;  the above copyright notice and this notice appears in all
;  copies, and that the name of Hewlett-Packard Company not be
;  used in advertising or publicity pertaining to distribution
;  of the software without specific, written prior permission.
;  Hewlett-Packard Company makes no representations about the
;  suitability of this software for any purpose.
;
 
; Standard Hardware Register Definitions for Use with Assembler
; version A.08.06
;	- fr16-31 added at Utah
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
; Hardware General Registers
r0: .equ	0
 
r1: .equ	1
 
r2: .equ	2
 
r3: .equ	3
 
r4: .equ	4
 
r5: .equ	5
 
r6: .equ	6
 
r7: .equ	7
 
r8: .equ	8
 
r9: .equ	9
 
r10: .equ	10
 
r11: .equ	11
 
r12: .equ	12
 
r13: .equ	13
 
r14: .equ	14
 
r15: .equ	15
 
r16: .equ	16
 
r17: .equ	17
 
r18: .equ	18
 
r19: .equ	19
 
r20: .equ	20
 
r21: .equ	21
 
r22: .equ	22
 
r23: .equ	23
 
r24: .equ	24
 
r25: .equ	25
 
r26: .equ	26
 
r27: .equ	27
 
r28: .equ	28
 
r29: .equ	29
 
r30: .equ	30
 
r31: .equ	31
 
; Hardware Space Registers
sr0: .equ	0
 
sr1: .equ	1
 
sr2: .equ	2
 
sr3: .equ	3
 
sr4: .equ	4
 
sr5: .equ	5
 
sr6: .equ	6
 
sr7: .equ	7
 
; Hardware Floating Point Registers
fr0: .equ	0
 
fr1: .equ	1
 
fr2: .equ	2
 
fr3: .equ	3
 
fr4: .equ	4
 
fr5: .equ	5
 
fr6: .equ	6
 
fr7: .equ	7
 
fr8: .equ	8
 
fr9: .equ	9
 
fr10: .equ	10
 
fr11: .equ	11
 
fr12: .equ	12
 
fr13: .equ	13
 
fr14: .equ	14
 
fr15: .equ	15
 
fr16: .equ	16
 
fr17: .equ	17
 
fr18: .equ	18
 
fr19: .equ	19
 
fr20: .equ	20
 
fr21: .equ	21
 
fr22: .equ	22
 
fr23: .equ	23
 
fr24: .equ	24
 
fr25: .equ	25
 
fr26: .equ	26
 
fr27: .equ	27
 
fr28: .equ	28
 
fr29: .equ	29
 
fr30: .equ	30
 
fr31: .equ	31
 
; Hardware Control Registers
cr0: .equ	0
 
rctr: .equ	0			; Recovery Counter Register
 
 
cr8: .equ	8			; Protection ID 1
 
pidr1: .equ	8
 
 
cr9: .equ	9			; Protection ID 2
 
pidr2: .equ	9
 
 
cr10: .equ	10
 
ccr: .equ	10			; Coprocessor Confiquration Register
 
 
cr11: .equ	11
 
sar: .equ	11			; Shift Amount Register
 
 
cr12: .equ	12
 
pidr3: .equ	12			; Protection ID 3
 
 
cr13: .equ	13
 
pidr4: .equ	13			; Protection ID 4
 
 
cr14: .equ	14
 
iva: .equ	14			; Interrupt Vector Address
 
 
cr15: .equ	15
 
eiem: .equ	15			; External Interrupt Enable Mask
 
 
cr16: .equ	16
 
itmr: .equ	16			; Interval Timer
 
 
cr17: .equ	17
 
pcsq: .equ	17			; Program Counter Space queue
 
 
cr18: .equ	18
 
pcoq: .equ	18			; Program Counter Offset queue
 
 
cr19: .equ	19
 
iir: .equ	19			; Interruption Instruction Register
 
 
cr20: .equ	20
 
isr: .equ	20			; Interruption Space Register
 
 
cr21: .equ	21
 
ior: .equ	21			; Interruption Offset Register
 
 
cr22: .equ	22
 
ipsw: .equ	22			; Interrpution Processor Status Word
 
 
cr23: .equ	23
 
eirr: .equ	23			; External Interrupt Request
 
 
cr24: .equ	24
 
ppda: .equ	24			; Physcial Page Directory Address
 
tr0: .equ	24			; Temporary register 0
 
 
cr25: .equ	25
 
hta: .equ	25			; Hash Table Address
 
tr1: .equ	25			; Temporary register 1
 
 
cr26: .equ	26
 
tr2: .equ	26			; Temporary register 2
 
 
cr27: .equ	27
 
tr3: .equ	27			; Temporary register 3
 
 
cr28: .equ	28
 
tr4: .equ	28			; Temporary register 4
 
 
cr29: .equ	29
 
tr5: .equ	29			; Temporary register 5
 
 
cr30: .equ	30
 
tr6: .equ	30			; Temporary register 6
 
 
cr31: .equ	31
 
tr7: .equ	31			; Temporary register 7
 
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
; Procedure Call Convention                                                  ~
; Register Definitions for Use with Assembler                                ~
; version A.08.06
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
; Software Architecture General Registers
rp: .equ    r2	; return pointer
 
mrp: .equ	r31	; millicode return pointer
 
ret0: .equ    r28	; return value
 
ret1: .equ    r29	; return value (high part of double)
 
sl: .equ    r29	; static link
 
sp: .equ 	r30	; stack pointer
 
dp: .equ	r27	; data pointer
 
arg0: .equ	r26	; argument
 
arg1: .equ	r25	; argument or high part of double argument
 
arg2: .equ	r24	; argument
 
arg3: .equ	r23	; argument or high part of double argument
 
;_____________________________________________________________________________
; Software Architecture Space Registers
;		sr0	; return link form BLE
sret: .equ	sr1	; return value
 
sarg: .equ	sr1	; argument
 
;		sr4	; PC SPACE tracker
;		sr5	; process private data
;_____________________________________________________________________________
; Software Architecture Pseudo Registers
previous_sp: .equ	64	; old stack pointer (locates previous frame)
 
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
; Standard space and subspace definitions.  version A.08.06
; These are generally suitable for programs on HP_UX and HPE.
; Statements commented out are used when building such things as operating
; system kernels.
;;;;;;;;;;;;;;;;
	.SPACE	$TEXT$,		SPNUM=0,SORT=8
;	.subspa $FIRST$,	QUAD=0,ALIGN=2048,ACCESS=0x2c,SORT=4,FIRST
;	.subspa $REAL$,		QUAD=0,ALIGN=8,ACCESS=0x2c,SORT=4,FIRST,LOCK
	.subspa $MILLICODE$,	QUAD=0,ALIGN=8,ACCESS=0x2c,SORT=8
	.subspa $LIT$,		QUAD=0,ALIGN=8,ACCESS=0x2c,SORT=16
	.subspa $CODE$,		QUAD=0,ALIGN=8,ACCESS=0x2c,SORT=24
;	.subspa $UNWIND$,	QUAD=0,ALIGN=4,ACCESS=0x2c,SORT=64
;	.subspa $RECOVER$,	QUAD=0,ALIGN=4,ACCESS=0x2c,SORT=80
;	.subspa $RESERVED$,	QUAD=0,ALIGN=8,ACCESS=0x73,SORT=82
;	.subspa $GATE$,		QUAD=0,ALIGN=8,ACCESS=0x4c,SORT=84,CODE_ONLY
; Additional code subspaces should have ALIGN=8 for an interspace BV
; and should have SORT=24.
; 
; For an incomplete executable (program bound to shared libraries), 
; sort keys $GLOBAL$ -1 and $GLOBAL$ -2 are reserved for the $DLT$ 
; and $PLT$ subspaces respectively. 
;;;;;;;;;;;;;;;
	.SPACE $PRIVATE$,	SPNUM=1,PRIVATE,SORT=16
	.subspa $GLOBAL$,	QUAD=1,ALIGN=8,ACCESS=0x1f,SORT=40
	.import $global$
	.subspa $SHORTDATA$,	QUAD=1,ALIGN=8,ACCESS=0x1f,SORT=24
	.subspa $DATA$,		QUAD=1,ALIGN=8,ACCESS=0x1f,SORT=16
	.subspa $PFA_COUNTER$,	QUAD=1,ALIGN=4,ACCESS=0x1f,SORT=8
	.subspa $SHORTBSS$,     QUAD=1,ALIGN=8,ACCESS=0x1f,SORT=80,ZERO
	.subspa $BSS$,		QUAD=1,ALIGN=8,ACCESS=0x1f,SORT=82,ZERO
;	.subspa $PCB$,		QUAD=1,ALIGN=8,ACCESS=0x10,SORT=82
;	.subspa	$STACK$,	QUAD=1,ALIGN=8,ACCESS=0x1f,SORT=82
;	.subspa	$HEAP$,		QUAD=1,ALIGN=8,ACCESS=0x1f,SORT=82
;;;;;;;;;;;;;;;;
;	.SPACE	$PFA$,		SPNUM=0,PRIVATE,UNLOADABLE,SORT=64
;	.subspa	$PFA_ADDRESS$,	ALIGN=4,ACCESS=0x2c,UNLOADABLE
;;;;;;;;;;;;;;;;
;	.SPACE	$DEBUG$,	SPNUM=2,PRIVATE,UNLOADABLE,SORT=80
;	.subspa $HEADER$,	ALIGN=4,ACCESS=0,UNLOADABLE,FIRST
;	.subspa	$GNTT$,		ALIGN=4,ACCESS=0,UNLOADABLE
;	.subspa $LNTT$,		ALIGN=4,ACCESS=0,UNLOADABLE
;	.subspa	$SLT$,		ALIGN=4,ACCESS=0,UNLOADABLE
;	.subspa $VT$,		ALIGN=4,ACCESS=0,UNLOADABLE
 
; To satisfy the copyright terms each .o will have a reference
; the the actual copyright.  This will force the actual copyright
; message to be brought in from libgloss/hp-milli.s
        .space $PRIVATE$
        .subspa $DATA$
        .import ___hp_free_copyright,data
L$copyright .word ___hp_free_copyright
 

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.