1 #ifndef HUDSON_MACROS_LOADED
2 #define HUDSON_MACROS_LOADED 1
5 * VID: [T1.2] PT: [Fri Apr 21 16:47:16 1995] SF: [macros.h]
6 * TI: [/sae_users/cruz/bin/vice -iplatform.s -l// -p# -DEB164 -h -m -aeb164 ]
9 *****************************************************************************
11 ** Copyright © 1993, 1994 *
12 ** by Digital Equipment Corporation, Maynard, Massachusetts. *
14 ** All Rights Reserved *
16 ** Permission is hereby granted to use, copy, modify and distribute *
17 ** this software and its documentation, in both source code and *
18 ** object code form, and without fee, for the purpose of distribution *
19 ** of this software or modifications of this software within products *
20 ** incorporating an integrated circuit implementing Digital's AXP *
21 ** architecture, regardless of the source of such integrated circuit, *
22 ** provided that the above copyright notice and this permission notice *
23 ** appear in all copies, and that the name of Digital Equipment *
24 ** Corporation not be used in advertising or publicity pertaining to *
25 ** distribution of the document or software without specific, written *
26 ** prior permission. *
28 ** Digital Equipment Corporation disclaims all warranties and/or *
29 ** guarantees with regard to this software, including all implied *
30 ** warranties of fitness for a particular purpose and merchantability, *
31 ** and makes no representations regarding the use of, or the results *
32 ** of the use of, the software and documentation in terms of correctness, *
33 ** accuracy, reliability, currentness or otherwise; and you rely on *
34 ** the software, documentation and results solely at your own risk. *
36 ** AXP is a trademark of Digital Equipment Corporation. *
38 *****************************************************************************
42 ** DECchip 21164 PALcode
48 ** MODULE DESCRIPTION:
50 ** DECchip 21164 PALcode macro definitions
54 ** CREATION DATE: 29-Nov-1993
56 ** $Id: fromHudsonMacros.h,v 1.1.1.1 1997/10/30 23:27:19 verghese Exp $
58 ** MODIFICATION HISTORY:
60 ** $Log: fromHudsonMacros.h,v $
61 ** Revision 1.1.1.1 1997/10/30 23:27:19 verghese
64 ** Revision 1.1 1995/11/18 01:46:23 boyle
67 ** Revision 1.5 1994/07/08 17:03:12 samberg
68 ** Changes to support platform specific additions
70 ** Revision 1.4 1994/05/20 19:24:19 ericr
71 ** Moved STALL macro from osfpal.s to here
74 ** Revision 1.3 1994/05/20 18:08:14 ericr
75 ** Changed line comments to C++ style comment character
77 ** Revision 1.2 1994/02/28 18:45:51 ericr
78 ** Fixed EGORE related bugs
80 ** Revision 1.1 1993/12/16 21:55:05 eric
94 ** Align code on an 8K byte page boundary.
101 ** Align code on a 32 byte block boundary.
104 #define ALIGN_BLOCK \
108 ** Align code on a quadword boundary.
111 #define ALIGN_BRANCH \
115 ** Hardware vectors go in .text 0 sub-segment.
118 #define HDW_VECTOR(offset) \
122 ** Privileged CALL_PAL functions are in .text 1 sub-segment.
125 #define CALL_PAL_PRIV(vector) \
126 . = (PAL_CALL_PAL_PRIV_ENTRY+(vector<<6))
129 ** Unprivileged CALL_PAL functions are in .text 1 sub-segment,
130 ** the privileged bit is removed from these vectors.
133 #define CALL_PAL_UNPRIV(vector) \
134 . = (PAL_CALL_PAL_UNPRIV_ENTRY+((vector&0x3F)<<6))
137 ** Implements a load "immediate" longword function
139 #define LDLI(reg,val) \
140 ldah reg, ((val+0x8000) >> 16)(zero); \
141 lda reg, (val&0xffff)(reg)