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

Subversion Repositories open8_urisc

[/] [open8_urisc/] [trunk/] [gnu/] [binutils/] [gas/] [config/] [tc-m68851.h] - Blame information for rev 35

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 16 khays
/* This file is tc-m68851.h
2
 
3
   Copyright 1987, 1988, 1989, 1990, 1991, 1992, 2000, 2005, 2007
4
   Free Software Foundation, Inc.
5
 
6
   This file is part of GAS, the GNU Assembler.
7
 
8
   GAS is free software; you can redistribute it and/or modify
9
   it under the terms of the GNU General Public License as published by
10
   the Free Software Foundation; either version 3, or (at your option)
11
   any later version.
12
 
13
   GAS is distributed in the hope that it will be useful, but WITHOUT
14
   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
15
   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
16
   License for more details.
17
 
18
   You should have received a copy of the GNU General Public License
19
   along with GAS; see the file COPYING.  If not, write to the Free
20
   Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA
21
   02110-1301, USA.  */
22
 
23
#ifdef m68851
24
 
25
/*
26
  I didn't use much imagination in choosing the
27
  following codes, so many of them aren't very
28
  mnemonic. -rab
29
 
30
  P  pmmu register
31
  Possible values:
32
  000   TC      Translation Control reg
33
  100   CAL     Current Access Level
34
  101   VAL     Validate Access Level
35
  110   SCC     Stack Change Control
36
  111   AC      Access Control
37
 
38
  W  wide pmmu registers
39
  Possible values:
40
  001   DRP     Dma Root Pointer
41
  010   SRP     Supervisor Root Pointer
42
  011   CRP     Cpu Root Pointer
43
 
44
  f     function code register
45
 
46
  1     DFC
47
 
48
  V     VAL register only
49
 
50
  X     BADx, BACx
51
  100   BAD     Breakpoint Acknowledge Data
52
  101   BAC     Breakpoint Acknowledge Control
53
 
54
  Y     PSR
55
  Z     PCSR
56
 
57
  |     memory          (modes 2-6, 7.*)
58
 
59
  */
60
 
61
/*
62
 * these defines should be in m68k.c but
63
 * i put them here to keep all the m68851 stuff
64
 * together -rab
65
 * JF--Make sure these #s don't clash with the ones in m68k.c
66
 * That would be BAD.
67
 */
68
#define TC      (FPS+1)         /* 48 */
69
#define DRP     (TC+1)          /* 49 */
70
#define SRP     (DRP+1)         /* 50 */
71
#define CRP     (SRP+1)         /* 51 */
72
#define CAL     (CRP+1)         /* 52 */
73
#define VAL     (CAL+1)         /* 53 */
74
#define SCC     (VAL+1)         /* 54 */
75
#define AC      (SCC+1)         /* 55 */
76
#define BAD     (AC+1)          /* 56,57,58,59, 60,61,62,63 */
77
#define BAC     (BAD+8)         /* 64,65,66,67, 68,69,70,71 */
78
#define PSR     (BAC+8)         /* 72 */
79
#define PCSR    (PSR+1)         /* 73 */
80
 
81
/* name */      /* opcode */            /* match */             /* args */
82
 
83
{"pbac",        one(0xf0c7),            one(0xffbf),            "Bc"},
84
{"pbacw",       one(0xf087),            one(0xffbf),            "Bc"},
85
{"pbas",        one(0xf0c6),            one(0xffbf),            "Bc"},
86
{"pbasw",       one(0xf086),            one(0xffbf),            "Bc"},
87
{"pbbc",        one(0xf0c1),            one(0xffbf),            "Bc"},
88
{"pbbcw",       one(0xf081),            one(0xffbf),            "Bc"},
89
{"pbbs",        one(0xf0c0),            one(0xffbf),            "Bc"},
90
{"pbbsw",       one(0xf080),            one(0xffbf),            "Bc"},
91
{"pbcc",        one(0xf0cf),            one(0xffbf),            "Bc"},
92
{"pbccw",       one(0xf08f),            one(0xffbf),            "Bc"},
93
{"pbcs",        one(0xf0ce),            one(0xffbf),            "Bc"},
94
{"pbcsw",       one(0xf08e),            one(0xffbf),            "Bc"},
95
{"pbgc",        one(0xf0cd),            one(0xffbf),            "Bc"},
96
{"pbgcw",       one(0xf08d),            one(0xffbf),            "Bc"},
97
{"pbgs",        one(0xf0cc),            one(0xffbf),            "Bc"},
98
{"pbgsw",       one(0xf08c),            one(0xffbf),            "Bc"},
99
{"pbic",        one(0xf0cb),            one(0xffbf),            "Bc"},
100
{"pbicw",       one(0xf08b),            one(0xffbf),            "Bc"},
101
{"pbis",        one(0xf0ca),            one(0xffbf),            "Bc"},
102
{"pbisw",       one(0xf08a),            one(0xffbf),            "Bc"},
103
{"pblc",        one(0xf0c3),            one(0xffbf),            "Bc"},
104
{"pblcw",       one(0xf083),            one(0xffbf),            "Bc"},
105
{"pbls",        one(0xf0c2),            one(0xffbf),            "Bc"},
106
{"pblsw",       one(0xf082),            one(0xffbf),            "Bc"},
107
{"pbsc",        one(0xf0c5),            one(0xffbf),            "Bc"},
108
{"pbscw",       one(0xf085),            one(0xffbf),            "Bc"},
109
{"pbss",        one(0xf0c4),            one(0xffbf),            "Bc"},
110
{"pbssw",       one(0xf084),            one(0xffbf),            "Bc"},
111
{"pbwc",        one(0xf0c9),            one(0xffbf),            "Bc"},
112
{"pbwcw",       one(0xf089),            one(0xffbf),            "Bc"},
113
{"pbws",        one(0xf0c8),            one(0xffbf),            "Bc"},
114
{"pbwsw",       one(0xf088),            one(0xffbf),            "Bc"},
115
 
116
{"pdbac",       two(0xf048, 0x0007),    two(0xfff8, 0xffff),    "DsBw"},
117
{"pdbas",       two(0xf048, 0x0006),    two(0xfff8, 0xffff),    "DsBw"},
118
{"pdbbc",       two(0xf048, 0x0001),    two(0xfff8, 0xffff),    "DsBw"},
119
{"pdbbs",       two(0xf048, 0x0000),    two(0xfff8, 0xffff),    "DsBw"},
120
{"pdbcc",       two(0xf048, 0x000f),    two(0xfff8, 0xffff),    "DsBw"},
121
{"pdbcs",       two(0xf048, 0x000e),    two(0xfff8, 0xffff),    "DsBw"},
122
{"pdbgc",       two(0xf048, 0x000d),    two(0xfff8, 0xffff),    "DsBw"},
123
{"pdbgs",       two(0xf048, 0x000c),    two(0xfff8, 0xffff),    "DsBw"},
124
{"pdbic",       two(0xf048, 0x000b),    two(0xfff8, 0xffff),    "DsBw"},
125
{"pdbis",       two(0xf048, 0x000a),    two(0xfff8, 0xffff),    "DsBw"},
126
{"pdblc",       two(0xf048, 0x0003),    two(0xfff8, 0xffff),    "DsBw"},
127
{"pdbls",       two(0xf048, 0x0002),    two(0xfff8, 0xffff),    "DsBw"},
128
{"pdbsc",       two(0xf048, 0x0005),    two(0xfff8, 0xffff),    "DsBw"},
129
{"pdbss",       two(0xf048, 0x0004),    two(0xfff8, 0xffff),    "DsBw"},
130
{"pdbwc",       two(0xf048, 0x0009),    two(0xfff8, 0xffff),    "DsBw"},
131
{"pdbws",       two(0xf048, 0x0008),    two(0xfff8, 0xffff),    "DsBw"},
132
 
133
{"pflusha",     two(0xf000, 0x2400),    two(0xffff, 0xffff),    "" },
134
 
135
{"pflush",      two(0xf000, 0x3010),    two(0xffc0, 0xfe10),    "T3T9" },
136
{"pflush",      two(0xf000, 0x3810),    two(0xffc0, 0xfe10),    "T3T9&s" },
137
{"pflush",      two(0xf000, 0x3008),    two(0xffc0, 0xfe18),    "D3T9" },
138
{"pflush",      two(0xf000, 0x3808),    two(0xffc0, 0xfe18),    "D3T9&s" },
139
{"pflush",      two(0xf000, 0x3000),    two(0xffc0, 0xfe1e),    "f3T9" },
140
{"pflush",      two(0xf000, 0x3800),    two(0xffc0, 0xfe1e),    "f3T9&s" },
141
 
142
{"pflushs",     two(0xf000, 0x3410),    two(0xfff8, 0xfe10),    "T3T9" },
143
{"pflushs",     two(0xf000, 0x3c00),    two(0xfff8, 0xfe00),    "T3T9&s" },
144
{"pflushs",     two(0xf000, 0x3408),    two(0xfff8, 0xfe18),    "D3T9" },
145
{"pflushs",     two(0xf000, 0x3c08),    two(0xfff8, 0xfe18),    "D3T9&s" },
146
{"pflushs",     two(0xf000, 0x3400),    two(0xfff8, 0xfe1e),    "f3T9" },
147
{"pflushs",     two(0xf000, 0x3c00),    two(0xfff8, 0xfe1e),    "f3T9&s"},
148
 
149
{"pflushr",     two(0xf000, 0xa000),    two(0xffc0, 0xffff),    "|s" },
150
 
151
{"ploadr",      two(0xf000, 0x2210),    two(0xffc0, 0xfff0),    "T3&s" },
152
{"ploadr",      two(0xf000, 0x2208),    two(0xffc0, 0xfff8),    "D3&s" },
153
{"ploadr",      two(0xf000, 0x2200),    two(0xffc0, 0xfffe),    "f3&s" },
154
{"ploadw",      two(0xf000, 0x2010),    two(0xffc0, 0xfff0),    "T3&s" },
155
{"ploadw",      two(0xf000, 0x2008),    two(0xffc0, 0xfff8),    "D3&s" },
156
{"ploadw",      two(0xf000, 0x2000),    two(0xffc0, 0xfffe),    "f3&s" },
157
 
158
    /* TC, CRP, DRP, SRP, CAL, VAL, SCC, AC */
159
{"pmove",       two(0xf000, 0x4000),    two(0xffc0, 0xe3ff),    "*sP8" },
160
{"pmove",       two(0xf000, 0x4200),    two(0xffc0, 0xe3ff),    "P8%s" },
161
{"pmove",       two(0xf000, 0x4000),    two(0xffc0, 0xe3ff),    "|sW8" },
162
{"pmove",       two(0xf000, 0x4200),    two(0xffc0, 0xe3ff),    "W8~s" },
163
 
164
    /* BADx, BACx */
165
{"pmove",       two(0xf000, 0x6200),    two(0xffc0, 0xe3e3),    "*sX3" },
166
{"pmove",       two(0xf000, 0x6000),    two(0xffc0, 0xe3e3),    "X3%s" },
167
 
168
    /* PSR, PCSR */
169
    /* {"pmove",        two(0xf000, 0x6100),    two(oxffc0, oxffff),    "*sZ8" }, */
170
{"pmove",       two(0xf000, 0x6000),    two(0xffc0, 0xffff),    "*sY8" },
171
{"pmove",       two(0xf000, 0x6200),    two(0xffc0, 0xffff),    "Y8%s" },
172
{"pmove",       two(0xf000, 0x6600),    two(0xffc0, 0xffff),    "Z8%s" },
173
 
174
{"prestore",    one(0xf140),            one(0xffc0),            "&s"},
175
{"prestore",    one(0xf158),            one(0xfff8),            "+s"},
176
{"psave",       one(0xf100),            one(0xffc0),            "&s"},
177
{"psave",       one(0xf100),            one(0xffc0),            "+s"},
178
 
179
{"psac",        two(0xf040, 0x0007),    two(0xffc0, 0xffff),    "@s"},
180
{"psas",        two(0xf040, 0x0006),    two(0xffc0, 0xffff),    "@s"},
181
{"psbc",        two(0xf040, 0x0001),    two(0xffc0, 0xffff),    "@s"},
182
{"psbs",        two(0xf040, 0x0000),    two(0xffc0, 0xffff),    "@s"},
183
{"pscc",        two(0xf040, 0x000f),    two(0xffc0, 0xffff),    "@s"},
184
{"pscs",        two(0xf040, 0x000e),    two(0xffc0, 0xffff),    "@s"},
185
{"psgc",        two(0xf040, 0x000d),    two(0xffc0, 0xffff),    "@s"},
186
{"psgs",        two(0xf040, 0x000c),    two(0xffc0, 0xffff),    "@s"},
187
{"psic",        two(0xf040, 0x000b),    two(0xffc0, 0xffff),    "@s"},
188
{"psis",        two(0xf040, 0x000a),    two(0xffc0, 0xffff),    "@s"},
189
{"pslc",        two(0xf040, 0x0003),    two(0xffc0, 0xffff),    "@s"},
190
{"psls",        two(0xf040, 0x0002),    two(0xffc0, 0xffff),    "@s"},
191
{"pssc",        two(0xf040, 0x0005),    two(0xffc0, 0xffff),    "@s"},
192
{"psss",        two(0xf040, 0x0004),    two(0xffc0, 0xffff),    "@s"},
193
{"pswc",        two(0xf040, 0x0009),    two(0xffc0, 0xffff),    "@s"},
194
{"psws",        two(0xf040, 0x0008),    two(0xffc0, 0xffff),    "@s"},
195
 
196
{"ptestr",      two(0xf000, 0x8210),    two(0xffc0, 0xe3f0),    "T3&sQ8" },
197
{"ptestr",      two(0xf000, 0x8310),    two(0xffc0, 0xe310),    "T3&sQ8A9" },
198
{"ptestr",      two(0xf000, 0x8208),    two(0xffc0, 0xe3f8),    "D3&sQ8" },
199
{"ptestr",      two(0xf000, 0x8308),    two(0xffc0, 0xe318),    "D3&sQ8A9" },
200
{"ptestr",      two(0xf000, 0x8200),    two(0xffc0, 0xe3fe),    "f3&sQ8" },
201
{"ptestr",      two(0xf000, 0x8300),    two(0xffc0, 0xe31e),    "f3&sQ8A9" },
202
 
203
{"ptestw",      two(0xf000, 0x8010),    two(0xffc0, 0xe3f0),    "T3&sQ8" },
204
{"ptestw",      two(0xf000, 0x8110),    two(0xffc0, 0xe310),    "T3&sQ8A9" },
205
{"ptestw",      two(0xf000, 0x8008),    two(0xffc0, 0xe3f8),    "D3&sQ8" },
206
{"ptestw",      two(0xf000, 0x8108),    two(0xffc0, 0xe318),    "D3&sQ8A9" },
207
{"ptestw",      two(0xf000, 0x8000),    two(0xffc0, 0xe3fe),    "f3&sQ8" },
208
{"ptestw",      two(0xf000, 0x8100),    two(0xffc0, 0xe31e),    "f3&sQ8A9" },
209
 
210
{"ptrapacw",    two(0xf07a, 0x0007),    two(0xffff, 0xffff),    "#w"},
211
{"ptrapacl",    two(0xf07b, 0x0007),    two(0xffff, 0xffff),    "#l"},
212
{"ptrapac",     two(0xf07c, 0x0007),    two(0xffff, 0xffff),    ""},
213
 
214
{"ptrapasw",    two(0xf07a, 0x0006),    two(0xffff, 0xffff),    "#w"},
215
{"ptrapasl",    two(0xf07b, 0x0006),    two(0xffff, 0xffff),    "#l"},
216
{"ptrapas",     two(0xf07c, 0x0006),    two(0xffff, 0xffff),    ""},
217
 
218
{"ptrapbcw",    two(0xf07a, 0x0001),    two(0xffff, 0xffff),    "#w"},
219
{"ptrapbcl",    two(0xf07b, 0x0001),    two(0xffff, 0xffff),    "#l"},
220
{"ptrapbc",     two(0xf07c, 0x0001),    two(0xffff, 0xffff),    ""},
221
 
222
{"ptrapbsw",    two(0xf07a, 0x0000),    two(0xffff, 0xffff),    "#w"},
223
{"ptrapbsl",    two(0xf07b, 0x0000),    two(0xffff, 0xffff),    "#l"},
224
{"ptrapbs",     two(0xf07c, 0x0000),    two(0xffff, 0xffff),    ""},
225
 
226
{"ptrapccw",    two(0xf07a, 0x000f),    two(0xffff, 0xffff),    "#w"},
227
{"ptrapccl",    two(0xf07b, 0x000f),    two(0xffff, 0xffff),    "#l"},
228
{"ptrapcc",     two(0xf07c, 0x000f),    two(0xffff, 0xffff),    ""},
229
 
230
{"ptrapcsw",    two(0xf07a, 0x000e),    two(0xffff, 0xffff),    "#w"},
231
{"ptrapcsl",    two(0xf07b, 0x000e),    two(0xffff, 0xffff),    "#l"},
232
{"ptrapcs",     two(0xf07c, 0x000e),    two(0xffff, 0xffff),    ""},
233
 
234
{"ptrapgcw",    two(0xf07a, 0x000d),    two(0xffff, 0xffff),    "#w"},
235
{"ptrapgcl",    two(0xf07b, 0x000d),    two(0xffff, 0xffff),    "#l"},
236
{"ptrapgc",     two(0xf07c, 0x000d),    two(0xffff, 0xffff),    ""},
237
 
238
{"ptrapgsw",    two(0xf07a, 0x000c),    two(0xffff, 0xffff),    "#w"},
239
{"ptrapgsl",    two(0xf07b, 0x000c),    two(0xffff, 0xffff),    "#l"},
240
{"ptrapgs",     two(0xf07c, 0x000c),    two(0xffff, 0xffff),    ""},
241
 
242
{"ptrapicw",    two(0xf07a, 0x000b),    two(0xffff, 0xffff),    "#w"},
243
{"ptrapicl",    two(0xf07b, 0x000b),    two(0xffff, 0xffff),    "#l"},
244
{"ptrapic",     two(0xf07c, 0x000b),    two(0xffff, 0xffff),    ""},
245
 
246
{"ptrapisw",    two(0xf07a, 0x000a),    two(0xffff, 0xffff),    "#w"},
247
{"ptrapisl",    two(0xf07b, 0x000a),    two(0xffff, 0xffff),    "#l"},
248
{"ptrapis",     two(0xf07c, 0x000a),    two(0xffff, 0xffff),    ""},
249
 
250
{"ptraplcw",    two(0xf07a, 0x0003),    two(0xffff, 0xffff),    "#w"},
251
{"ptraplcl",    two(0xf07b, 0x0003),    two(0xffff, 0xffff),    "#l"},
252
{"ptraplc",     two(0xf07c, 0x0003),    two(0xffff, 0xffff),    ""},
253
 
254
{"ptraplsw",    two(0xf07a, 0x0002),    two(0xffff, 0xffff),    "#w"},
255
{"ptraplsl",    two(0xf07b, 0x0002),    two(0xffff, 0xffff),    "#l"},
256
{"ptrapls",     two(0xf07c, 0x0002),    two(0xffff, 0xffff),    ""},
257
 
258
{"ptrapscw",    two(0xf07a, 0x0005),    two(0xffff, 0xffff),    "#w"},
259
{"ptrapscl",    two(0xf07b, 0x0005),    two(0xffff, 0xffff),    "#l"},
260
{"ptrapsc",     two(0xf07c, 0x0005),    two(0xffff, 0xffff),    ""},
261
 
262
{"ptrapssw",    two(0xf07a, 0x0004),    two(0xffff, 0xffff),    "#w"},
263
{"ptrapssl",    two(0xf07b, 0x0004),    two(0xffff, 0xffff),    "#l"},
264
{"ptrapss",     two(0xf07c, 0x0004),    two(0xffff, 0xffff),    ""},
265
 
266
{"ptrapwcw",    two(0xf07a, 0x0009),    two(0xffff, 0xffff),    "#w"},
267
{"ptrapwcl",    two(0xf07b, 0x0009),    two(0xffff, 0xffff),    "#l"},
268
{"ptrapwc",     two(0xf07c, 0x0009),    two(0xffff, 0xffff),    ""},
269
 
270
{"ptrapwsw",    two(0xf07a, 0x0008),    two(0xffff, 0xffff),    "#w"},
271
{"ptrapwsl",    two(0xf07b, 0x0008),    two(0xffff, 0xffff),    "#l"},
272
{"ptrapws",     two(0xf07c, 0x0008),    two(0xffff, 0xffff),    ""},
273
 
274
{"pvalid",      two(0xf000, 0x2800),    two(0xffc0, 0xffff),    "Vs&s"},
275
{"pvalid",      two(0xf000, 0x2c00),    two(0xffc0, 0xfff8),    "A3&s" },
276
 
277
#endif /* m68851 */

powered by: WebSVN 2.1.0

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