file reorg, pathnames.h, paths.h
[unix-history] / usr / src / old / dbx / ops.iris.c
CommitLineData
a41c9b3c
DS
1/*
2 * Copyright (c) 1983 Regents of the University of California.
3 * All rights reserved. The Berkeley software License Agreement
4 * specifies the terms and conditions for redistribution.
5 */
6
7#ifndef lint
8static char sccsid[] = "@(#)ops.iris.c 5.1 (Berkeley) %G%";
9#endif not lint
10
11static char rcsid[] = "$Header: ops.c,v 1.2 87/03/26 20:27:48 donn Exp $";
12
13/*
14 * Machine operators.
15 */
16
17#include "defs.h"
18#include "ops.h"
19#include "machine.h"
20
21#ifndef public
22
23/*
24 * 68000 opcodes.
25 */
26
27#define IMDF "#0x%x" /* immediate data format */
28
29typedef struct {
30 unsigned short mask, match;
31 int (*opfun)();
32 char *farg;
33} Optab;
34
35#endif
36
37public String bname[16] = {
38 "ra", "sr", "hi", "ls", "cc", "cs", "ne",
39 "eq", "vc", "vs", "pl", "mi", "ge", "lt", "gt", "le"
40};
41
42public String cname[16] = {
43 "ra", "f", "hi", "ls", "cc", "cs", "ne",
44 "eq", "vc", "vs", "pl", "mi", "ge", "lt", "gt", "le"
45};
46
47public String dbname[16] = {
48 "t", "ra", "hi", "ls", "cc", "cs", "ne",
49 "eq", "vc", "vs", "pl", "mi", "ge", "lt", "gt", "le"
50};
51
52public String shro[4] = { "as", "ls", "rox", "ro" };
53
54public String bit[4] = { "btst", "bchg", "bclr", "bset" };
55
56/*
57 * order is important here
58 */
59
60public Optab optab[] = {
61 0xF000, 0x1000, omove, "b", /* move instructions */
62 0xF000, 0x2000, omove, "l",
63 0xF000, 0x3000, omove, "w",
64 0xF000, 0x6000, obranch, 0, /* branches */
65 0xFF00, 0x0000, oimmed, "or", /* op class 0 */
66 0xFF00, 0x0200, oimmed, "and",
67 0xFF00, 0x0400, oimmed, "sub",
68 0xFF00, 0x0600, oimmed, "add",
69 0xFF00, 0x0A00, oimmed, "eor",
70 0xFF00, 0x0C00, oimmed, "cmp",
71 0xFF00, 0x0E00, omovs, "movs",
72 0xF100, 0x0100, biti, 0,
73 0xF800, 0x0800, biti, 0,
74 0xFFC0, 0x40C0, oneop, "move_from_sr\t", /* op class 4 */
75 0xFF00, 0x4000, soneop, "negx",
76 0xFFC0, 0x42C0, oneop, "movw cc,",
77 0xFF00, 0x4200, soneop, "clr",
78 0xFFC0, 0x44C0, oneop, "move_to_ccr ",
79 0xFF00, 0x4400, soneop, "neg",
80 0xFFC0, 0x46C0, oneop, "move_to_sr ",
81 0xFF00, 0x4600, soneop, "not",
82 0xFFC0, 0x4800, oneop, "nbcd ",
83 0xFFF8, 0x4840, oreg, "\tswap\td%D",
84 0xFFC0, 0x4840, oneop, "pea ",
85 0xFFF8, 0x4880, oreg, "\textw\td%D",
86 0xFFF8, 0x48C0, oreg, "\textl\td%D",
87 0xFB80, 0x4880, omovem, 0,
88 0xFFC0, 0x4AC0, oneop, "tas ",
89 0xFF00, 0x4A00, soneop, "tst",
90 0xFFF0, 0x4E40, otrap, 0,
91 0xFFF8, 0x4E50, olink, 0,
92 0xFFFE, 0x4E7A, omovc, "\tmovc\t",
93 0xFFF8, 0x4880, oreg, "\textw\td%D",
94 0xFFF8, 0x48C0, oreg, "\textl\td%D",
95 0xFFF8, 0x4E58, oreg, "\tunlk\ta%D",
96 0xFFF8, 0x4E60, oreg, "\tmove\ta%D,usp",
97 0xFFF8, 0x4E68, oreg, "\tmove\tusp,a%D",
98 0xFFFF, 0x4E70, oprint, "reset",
99 0xFFFF, 0x4E71, oprint, "nop",
100 0xFFFF, 0x4E72, ostop, "\tstop\t0x%x",
101 0xFFFF, 0x4E73, oprint, "rte",
102 0xFFFF, 0x4E74, ortspop, "\trts\t0x%x",
103 0xFFFF, 0x4E75, orts, "rts",
104 0xFFFF, 0x4E76, oprint, "trapv",
105 0xFFFF, 0x4E77, oprint, "rtr",
106 0xFFC0, 0x4E80, jsrop, "jsr ",
107 0xFFC0, 0x4EC0, jmpop, "jmp ",
108 0xF1C0, 0x4180, ochk, "chk",
109 0xF1C0, 0x41C0, ochk, "lea",
110 0xF0F8, 0x50C8, odbcc, "\tdb%s\td%D,",
111 0xF0C0, 0x50C0, oscc, 0,
112 0xF100, 0x5000, oquick, "addq",
113 0xF100, 0x5100, oquick, "subq",
114 0xF000, 0x7000, omoveq, 0,
115 0xF1C0, 0x80C0, ochk, "divu",
116 0xF1C0, 0x81C0, ochk, "divs",
117 0xF1F0, 0x8100, extend, "sbcd",
118 0xF000, 0x8000, opmode, "or",
119 0xF1C0, 0x91C0, opmode, "sub",
120 0xF130, 0x9100, extend, "subx",
121 0xF000, 0x9000, opmode, "sub",
122 0xF1C0, 0xB1C0, opmode, "cmp",
123 0xF138, 0xB108, extend, "cmpm",
124 0xF100, 0xB000, opmode, "cmp",
125 0xF100, 0xB100, opmode, "eor",
126 0xF1C0, 0xC0C0, ochk, "mulu",
127 0xF1C0, 0xC1C0, ochk, "muls",
128 0xF1F8, 0xC188, extend, "exg",
129 0xF1F8, 0xC148, extend, "exg",
130 0xF1F8, 0xC140, extend, "exg",
131 0xF1F0, 0xC100, extend, "abcd",
132 0xF000, 0xC000, opmode, "and",
133 0xF1C0, 0xD1C0, opmode, "add",
134 0xF130, 0xD100, extend, "addx",
135 0xF000, 0xD000, opmode, "add",
136 0xF100, 0xE000, shroi, "r",
137 0xF100, 0xE100, shroi, "l",
138 0, 0, 0, 0
139};
140