1 /*
2 Copyright (c) 1990 The Regents of the University of California.
3 All rights reserved.
4 
5 Redistribution and use in source and binary forms are permitted
6 provided that the above copyright notice and this paragraph are
7 duplicated in all such forms and that any documentation,
8 and/or other materials related to such
9 distribution and use acknowledge that the software was developed
10 by the University of California, Berkeley.  The name of the
11 University may not be used to endorse or promote products derived
12 from this software without specific prior written permission.
13 THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
14 IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
15 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
16  */
17 
18 #define A0 r0
19 #define A0L r0l
20 #define A0H r0h
21 
22 #define A1 r1
23 #define A1L r1l
24 #define A1H r1h
25 
26 #define A2 r2
27 #define A2L r2l
28 #define A2H r2h
29 
30 #define A3 r3
31 #define A3L r3l
32 #define A3H r3h
33 
34 #define S0 r4
35 #define S0L r4l
36 #define S0H r4h
37 
38 #define S1 r5
39 #define S1L r5l
40 #define S1H r5h
41 
42 #define S2 r6
43 #define S2L r6l
44 #define S2H r6h
45 
46 #ifdef __H8300__
47 
48 #define MOVP	mov.w	/* pointers are 16 bits */
49 #define ADDP	add.w
50 #define CMPP	cmp.w
51 #define PUSHP	push
52 #define POPP	pop
53 
54 #define A0P	r0
55 #define A1P	r1
56 #define A2P	r2
57 #define A3P	r3
58 #define S0P	r4
59 #define S1P	r5
60 #define S2P	r6
61 
62 #endif /* __H8300__ */
63 
64 #ifdef __H8300H__
65 
66 #ifdef __NORMAL_MODE__
67 
68 #define MOVP	mov.w	/* pointers are 16 bits */
69 #define ADDP	add.w
70 #define CMPP	cmp.w
71 #define PUSHP	push
72 #define POPP	pop
73 
74 #define A0P	r0
75 #define A1P	r1
76 #define A2P	r2
77 #define A3P	r3
78 #define S0P	r4
79 #define S1P	r5
80 #define S2P	r6
81 
82 #else /* !__NORMAL_MODE__ */
83 
84 #define MOVP	mov.l	/* pointers are 32 bits */
85 #define ADDP	add.l
86 #define CMPP	cmp.l
87 #define PUSHP	push.l
88 #define POPP	pop.l
89 
90 #define A0P	er0
91 #define A1P	er1
92 #define A2P	er2
93 #define A3P	er3
94 #define S0P	er4
95 #define S1P	er5
96 #define S2P	er6
97 
98 #endif /* !__NORMAL_MODE__ */
99 
100 #define A0E	e0
101 #define A1E	e1
102 #define A2E	e2
103 #define A3E	e3
104 
105 #endif /* __H8300H__ */
106 
107 #if defined (__H8300S__) || defined (__H8300SX__)
108 
109 #ifdef __NORMAL_MODE__
110 
111 #define MOVP	mov.w	/* pointers are 16 bits */
112 #define ADDP	add.w
113 #define CMPP	cmp.w
114 #define PUSHP	push
115 #define POPP	pop
116 
117 #define A0P	r0
118 #define A1P	r1
119 #define A2P	r2
120 #define A3P	r3
121 #define S0P	r4
122 #define S1P	r5
123 #define S2P	r6
124 
125 #else /* !__NORMAL_MODE__ */
126 
127 #define MOVP	mov.l	/* pointers are 32 bits */
128 #define ADDP	add.l
129 #define CMPP	cmp.l
130 #define PUSHP	push.l
131 #define POPP	pop.l
132 
133 #define A0P	er0
134 #define A1P	er1
135 #define A2P	er2
136 #define A3P	er3
137 #define S0P	er4
138 #define S1P	er5
139 #define S2P	er6
140 
141 #endif /* !__NORMAL_MODE__ */
142 
143 #define A0E	e0
144 #define A1E	e1
145 #define A2E	e2
146 #define A3E	e3
147 
148 
149 #ifdef __NORMAL_MODE__
150 #define LEN(X) X
151 #else
152 #define LEN(X) e##X
153 #endif
154 #endif /* __H8300S__ */
155