Pristine Ack-5.5
[Ack-5.5.git] / mach / m68k2 / as / mach3.c
1 /* $Id: mach3.c,v 2.6 1994/06/24 13:02:49 ceriel Exp $ */
2 /*
3  * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
4  * See the copyright notice in the ACK home directory, in the file "Copyright".
5  */
6 /* @(#)mach3.c  1.4 */
7 /*
8  * Motorola 68000/68010 keywords
9  */
10
11 0,      EXTERN,         0,              ".globl",
12
13 0,      SIZE,           SIZE_B,         ".b",
14 0,      SIZE,           SIZE_W,         ".w",
15 0,      SIZE,           SIZE_L,         ".l",
16
17 0,      DREG,           00,             "d0",
18 0,      DREG,           01,             "d1",
19 0,      DREG,           02,             "d2",
20 0,      DREG,           03,             "d3",
21 0,      DREG,           04,             "d4",
22 0,      DREG,           05,             "d5",
23 0,      DREG,           06,             "d6",
24 0,      DREG,           07,             "d7",
25
26 0,      AREG,           00,             "a0",
27 0,      AREG,           01,             "a1",
28 0,      AREG,           02,             "a2",
29 0,      AREG,           03,             "a3",
30 0,      AREG,           04,             "a4",
31 0,      AREG,           05,             "a5",
32 0,      AREG,           06,             "a6",
33 0,      AREG,           07,             "a7",
34 0,      AREG,           07,             "sp",
35
36 0,      PC,             8,              "pc",
37
38 0,      MODEL,          0,              ".68000",
39 0,      MODEL,          1,              ".68010",
40
41 0,      CREG,           04001,          "vbr",
42 0,      CREG,           0,              "sfc",
43 0,      CREG,           00001,          "dfc",
44
45 0,      SPEC,           075,            "usp",
46 0,      SPEC,           076,            "ccr",
47 0,      SPEC,           077,            "sr",
48
49 0,      ABCD,           0140400,        "abcd",
50 0,      ABCD,           0100400,        "sbcd",
51
52 0,      ADDX,           0150400,        "addx",
53 0,      ADDX,           0110400,        "subx",
54
55 0,      ADD,            0153300,        "add",
56 0,      ADD,            0112700,        "sub",
57
58 0,      AND,            0141000,        "and",
59 0,      AND,            0135000,        "eor",
60 0,      AND,            0100000,        "or",
61
62 0,      BITOP,          0000,           "btst",
63 0,      BITOP,          0100,           "bchg",
64 0,      BITOP,          0200,           "bclr",
65 0,      BITOP,          0300,           "bset",
66
67 0,      SHIFT,          0160340,        "asr",
68 0,      SHIFT,          0160740,        "asl",
69 0,      SHIFT,          0161350,        "lsr",
70 0,      SHIFT,          0161750,        "lsl",
71 0,      SHIFT,          0162360,        "roxr",
72 0,      SHIFT,          0162760,        "roxl",
73 0,      SHIFT,          0163370,        "ror",
74 0,      SHIFT,          0163770,        "rol",
75
76 0,      SZ_EA,          041000|DTA|ALT, "clr",
77 0,      SZ_EA,          042000|DTA|ALT, "neg",
78 0,      SZ_EA,          040000|DTA|ALT, "negx",
79 0,      SZ_EA,          043000|DTA|ALT, "not",
80 0,      SZ_EA,          045000|DTA|ALT, "tst",
81
82 0,      OP_EA,          044000|DTA|ALT, "nbcd",
83 0,      OP_EA,          045300|DTA|ALT, "tas",
84 0,      OP_EA,          047200|CTR,     "jsr",
85 0,      OP_EA,          047300|CTR,     "jmp",
86 0,      OP_EA,          044100|CTR,     "pea",
87
88 0,      OP_EA,          050300,         "st",
89 0,      OP_EA,          050700,         "sf",
90 0,      OP_EA,          051300,         "shi",
91 0,      OP_EA,          051700,         "sls",
92 0,      OP_EA,          052300,         "scc",
93 0,      OP_EA,          052700,         "scs",
94 0,      OP_EA,          053300,         "sne",
95 0,      OP_EA,          053700,         "seq",
96 0,      OP_EA,          054300,         "svc",
97 0,      OP_EA,          054700,         "svs",
98 0,      OP_EA,          055300,         "spl",
99 0,      OP_EA,          055700,         "smi",
100 0,      OP_EA,          056300,         "sge",
101 0,      OP_EA,          056700,         "slt",
102 0,      OP_EA,          057300,         "sgt",
103 0,      OP_EA,          057700,         "sle",
104
105 0,      OP_NOOP,        047160,         "reset",
106 0,      OP_NOOP,        047161,         "nop",
107 0,      OP_NOOP,        047163,         "rte",
108 0,      OP_NOOP,        047165,         "rts",
109 0,      OP_NOOP,        047166,         "trapv",
110 0,      OP_NOOP,        047167,         "rtr",
111 0,      OP_NOOP,        045374,         "illegal",
112
113 0,      OP_EA_D,        040600,         "chk",
114 0,      OP_EA_D,        0100300,        "divu",
115 0,      OP_EA_D,        0100700,        "divs",
116 0,      OP_EA_D,        0140300,        "mulu",
117 0,      OP_EA_D,        0140700,        "muls",
118
119 0,      BR,             060000,         "bra",
120 0,      BR,             060400,         "bsr",
121 0,      BR,             061000,         "bhi",
122 0,      BR,             061400,         "bls",
123 0,      BR,             062000,         "bcc",
124 0,      BR,             062400,         "bcs",
125 0,      BR,             063000,         "bne",
126 0,      BR,             063400,         "beq",
127 0,      BR,             064000,         "bvc",
128 0,      BR,             064400,         "bvs",
129 0,      BR,             065000,         "bpl",
130 0,      BR,             065400,         "bmi",
131 0,      BR,             066000,         "bge",
132 0,      BR,             066400,         "blt",
133 0,      BR,             067000,         "bgt",
134 0,      BR,             067400,         "ble",
135
136 0,      DBR,            050310,         "dbt",
137 0,      DBR,            050710,         "dbf",
138 0,      DBR,            050710,         "dbra",
139 0,      DBR,            051310,         "dbhi",
140 0,      DBR,            051710,         "dbls",
141 0,      DBR,            052310,         "dbcc",
142 0,      DBR,            052710,         "dbcs",
143 0,      DBR,            053310,         "dbne",
144 0,      DBR,            053710,         "dbeq",
145 0,      DBR,            054310,         "dbvc",
146 0,      DBR,            054710,         "dbvs",
147 0,      DBR,            055310,         "dbpl",
148 0,      DBR,            055710,         "dbmi",
149 0,      DBR,            056310,         "dbge",
150 0,      DBR,            056710,         "dblt",
151 0,      DBR,            057310,         "dbgt",
152 0,      DBR,            057710,         "dble",
153
154 0,      CMP,            0,              "cmp",
155
156 0,      MOVE,           0,              "move",
157 0,      MOVEP,          0,              "movep",
158 0,      MOVEM,          0,              "movem",
159 0,      MOVES,          0,              "moves",
160 0,      MOVEC,          0,              "movec",
161
162 0,      SWAP,           0,              "swap",
163
164 0,      LINK,           0,              "link",
165
166 0,      UNLK,           0,              "unlk",
167
168 0,      TRAP,           0,              "trap",
169
170 0,      STOP,           047162,         "stop",
171
172 0,      EXG,            0,              "exg",
173
174 0,      OP_EXT,         0,              "ext",
175
176 0,      LEA,            0,              "lea",
177
178 0,      RTD,            0,              "rtd",
179
180 /* floating point coprocessor ... */
181
182 0,      FSIZE,          FSIZE_S,        ".s",
183 0,      FSIZE,          FSIZE_X,        ".x",
184 0,      FSIZE,          FSIZE_P,        ".p",
185 0,      FSIZE,          FSIZE_D,        ".d",
186
187 0,      FPREG,          0,              "fp0",
188 0,      FPREG,          1,              "fp1",
189 0,      FPREG,          2,              "fp2",
190 0,      FPREG,          3,              "fp3",
191 0,      FPREG,          4,              "fp4",
192 0,      FPREG,          5,              "fp5",
193 0,      FPREG,          6,              "fp6",
194 0,      FPREG,          7,              "fp7",
195
196 0,      FPCR,           1,              "fpiar",
197 0,      FPCR,           2,              "fpsr",
198 0,      FPCR,           4,              "fpcr",
199
200 0,      FMOVE,          0,              "fmove",
201 0,      FMOVECR,        0,              "fmovecr",
202 0,      FMOVEM,         0,              "fmovem",
203
204 0,      FDYADIC,        042,            "fadd",
205 0,      FDYADIC,        070,            "fcmp",
206 0,      FDYADIC,        040,            "fdiv",
207 0,      FDYADIC,        041,            "fmod",
208 0,      FDYADIC,        043,            "fmul",
209 0,      FDYADIC,        045,            "frem",
210 0,      FDYADIC,        046,            "fscale",
211 0,      FDYADIC,        044,            "fsgldiv",
212 0,      FDYADIC,        047,            "fsglmul",
213 0,      FDYADIC,        050,            "fsub",
214
215 0,      FMONADIC,       030,            "fabs",
216 0,      FMONADIC,       034,            "facos",
217 0,      FMONADIC,       014,            "fasin",
218 0,      FMONADIC,       012,            "fatan",
219 0,      FMONADIC,       015,            "fatanh",
220 0,      FMONADIC,       035,            "fcos",
221 0,      FMONADIC,       031,            "fcosh",
222 0,      FMONADIC,       020,            "fetox",
223 0,      FMONADIC,       010,            "fetoxm1",
224 0,      FMONADIC,       036,            "fgetexp",
225 0,      FMONADIC,       037,            "fgetman",
226 0,      FMONADIC,       001,            "fint",
227 0,      FMONADIC,       003,            "fintrz",
228 0,      FMONADIC,       024,            "flogn",
229 0,      FMONADIC,       006,            "flognp1",
230 0,      FMONADIC,       025,            "flog10",
231 0,      FMONADIC,       026,            "flog2",
232 0,      FMONADIC,       032,            "fneg",
233 0,      FMONADIC,       016,            "fsin",
234 0,      FMONADIC,       002,            "fsinh",
235 0,      FMONADIC,       004,            "fsqrt",
236 0,      FMONADIC,       017,            "ftan",
237 0,      FMONADIC,       011,            "ftanh",
238 0,      FMONADIC,       022,            "ftentox",
239 0,      FMONADIC,       021,            "ftwotox",
240
241 0,      FSINCOS,        060,            "fsincos",
242
243 0,      FBCC,           001,            "fbeq",
244 0,      FBCC,           016,            "fbne",
245 0,      FBCC,           022,            "fbgt",
246 0,      FBCC,           035,            "fbngt",
247 0,      FBCC,           023,            "fbge",
248 0,      FBCC,           034,            "fbnge",
249 0,      FBCC,           024,            "fblt",
250 0,      FBCC,           033,            "fbnlt",
251 0,      FBCC,           025,            "fble",
252 0,      FBCC,           032,            "fbnle",
253 0,      FBCC,           026,            "fbgl",
254 0,      FBCC,           031,            "fbngl",
255 0,      FBCC,           027,            "fbgle",
256 0,      FBCC,           030,            "fbngle",
257 0,      FBCC,           002,            "fbogt",
258 0,      FBCC,           015,            "fbule",
259 0,      FBCC,           003,            "fboge",
260 0,      FBCC,           014,            "fbult",
261 0,      FBCC,           004,            "fbolt",
262 0,      FBCC,           013,            "fbuge",
263 0,      FBCC,           005,            "fbole",
264 0,      FBCC,           012,            "fbugt",
265 0,      FBCC,           006,            "fbogl",
266 0,      FBCC,           011,            "fbueq",
267 0,      FBCC,           007,            "fbor",
268 0,      FBCC,           010,            "fbun",
269 0,      FBCC,           000,            "fbf",
270 0,      FBCC,           017,            "fbt",
271 0,      FBCC,           020,            "fbsf",
272 0,      FBCC,           037,            "fbst",
273 0,      FBCC,           021,            "fbseq",
274 0,      FBCC,           036,            "fbsne",
275
276 0,      FDBCC,          001,            "fdbeq",
277 0,      FDBCC,          016,            "fdbne",
278 0,      FDBCC,          022,            "fdbgt",
279 0,      FDBCC,          035,            "fdbngt",
280 0,      FDBCC,          023,            "fdbge",
281 0,      FDBCC,          034,            "fdbnge",
282 0,      FDBCC,          024,            "fdblt",
283 0,      FDBCC,          033,            "fdbnlt",
284 0,      FDBCC,          025,            "fdble",
285 0,      FDBCC,          032,            "fdbnle",
286 0,      FDBCC,          026,            "fdbgl",
287 0,      FDBCC,          031,            "fdbngl",
288 0,      FDBCC,          027,            "fdbgle",
289 0,      FDBCC,          030,            "fdbngle",
290 0,      FDBCC,          002,            "fdbogt",
291 0,      FDBCC,          015,            "fdbule",
292 0,      FDBCC,          003,            "fdboge",
293 0,      FDBCC,          014,            "fdbult",
294 0,      FDBCC,          004,            "fdbolt",
295 0,      FDBCC,          013,            "fdbuge",
296 0,      FDBCC,          005,            "fdbole",
297 0,      FDBCC,          012,            "fdbugt",
298 0,      FDBCC,          006,            "fdbogl",
299 0,      FDBCC,          011,            "fdbueq",
300 0,      FDBCC,          007,            "fdbor",
301 0,      FDBCC,          010,            "fdbun",
302 0,      FDBCC,          000,            "fdbf",
303 0,      FDBCC,          017,            "fdbt",
304 0,      FDBCC,          020,            "fdbsf",
305 0,      FDBCC,          037,            "fdbst",
306 0,      FDBCC,          021,            "fdbseq",
307 0,      FDBCC,          036,            "fdbsne",
308
309 0,      FNOP,           0,              "fnop",
310
311 0,      FSCC,           001,            "fseq",
312 0,      FSCC,           016,            "fsne",
313 0,      FSCC,           022,            "fsgt",
314 0,      FSCC,           035,            "fsngt",
315 0,      FSCC,           023,            "fsge",
316 0,      FSCC,           034,            "fsnge",
317 0,      FSCC,           024,            "fslt",
318 0,      FSCC,           033,            "fsnlt",
319 0,      FSCC,           025,            "fsle",
320 0,      FSCC,           032,            "fsnle",
321 0,      FSCC,           026,            "fsgl",
322 0,      FSCC,           031,            "fsngl",
323 0,      FSCC,           027,            "fsgle",
324 0,      FSCC,           030,            "fsngle",
325 0,      FSCC,           002,            "fsogt",
326 0,      FSCC,           015,            "fsule",
327 0,      FSCC,           003,            "fsoge",
328 0,      FSCC,           014,            "fsult",
329 0,      FSCC,           004,            "fsolt",
330 0,      FSCC,           013,            "fsuge",
331 0,      FSCC,           005,            "fsole",
332 0,      FSCC,           012,            "fsugt",
333 0,      FSCC,           006,            "fsogl",
334 0,      FSCC,           011,            "fsueq",
335 0,      FSCC,           007,            "fsor",
336 0,      FSCC,           010,            "fsun",
337 0,      FSCC,           000,            "fsf",
338 0,      FSCC,           017,            "fst",
339 0,      FSCC,           020,            "fssf",
340 0,      FSCC,           037,            "fsst",
341 0,      FSCC,           021,            "fsseq",
342 0,      FSCC,           036,            "fssne",
343
344 0,      FTST,           0,              "ftst",
345
346 0,      FSAVRES,        MEM|ALT|0430,   "fsave",
347 0,      FSAVRES,        MEM|0540,       "frestore",
348
349 0,      FTRAPCC,        001,            "ftrapeq",
350 0,      FTRAPCC,        016,            "ftrapne",
351 0,      FTRAPCC,        022,            "ftrapgt",
352 0,      FTRAPCC,        035,            "ftrapngt",
353 0,      FTRAPCC,        023,            "ftrapge",
354 0,      FTRAPCC,        034,            "ftrapnge",
355 0,      FTRAPCC,        024,            "ftraplt",
356 0,      FTRAPCC,        033,            "ftrapnlt",
357 0,      FTRAPCC,        025,            "ftraple",
358 0,      FTRAPCC,        032,            "ftrapnle",
359 0,      FTRAPCC,        026,            "ftrapgl",
360 0,      FTRAPCC,        031,            "ftrapngl",
361 0,      FTRAPCC,        027,            "ftrapgle",
362 0,      FTRAPCC,        030,            "ftrapngle",
363 0,      FTRAPCC,        002,            "ftrapogt",
364 0,      FTRAPCC,        015,            "ftrapule",
365 0,      FTRAPCC,        003,            "ftrapoge",
366 0,      FTRAPCC,        014,            "ftrapult",
367 0,      FTRAPCC,        004,            "ftrapolt",
368 0,      FTRAPCC,        013,            "ftrapuge",
369 0,      FTRAPCC,        005,            "ftrapole",
370 0,      FTRAPCC,        012,            "ftrapugt",
371 0,      FTRAPCC,        006,            "ftrapogl",
372 0,      FTRAPCC,        011,            "ftrapueq",
373 0,      FTRAPCC,        007,            "ftrapor",
374 0,      FTRAPCC,        010,            "ftrapun",
375 0,      FTRAPCC,        000,            "ftrapf",
376 0,      FTRAPCC,        017,            "ftrapt",
377 0,      FTRAPCC,        020,            "ftrapsf",
378 0,      FTRAPCC,        037,            "ftrapst",
379 0,      FTRAPCC,        021,            "ftrapseq",
380 0,      FTRAPCC,        036,            "ftrapsne",
381
382 0,      CP,             00000,          "c0",
383 0,      CP,             01000,          "c1",
384 0,      CP,             02000,          "c2",
385 0,      CP,             03000,          "c3",
386 0,      CP,             04000,          "c4",
387 0,      CP,             05000,          "c5",
388 0,      CP,             06000,          "c6",
389 0,      CP,             07000,          "c7",