~ubuntu-branches/ubuntu/utopic/binutils-arm64-cross/utopic

« back to all changes in this revision

Viewing changes to binutils-2.23.52.20130611/gas/config/tc-m68851.h

  • Committer: Package Import Robot
  • Author(s): Matthias Klose
  • Date: 2013-06-20 17:38:09 UTC
  • Revision ID: package-import@ubuntu.com-20130620173809-app8lzgvymy5fg6c
Tags: 0.7
Build-depend on binutils-source (>= 2.23.52.20130620-1~).

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* 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
  0     SFC
 
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 */