]> git.lizzy.rs Git - plan9front.git/blob - sys/src/cmd/2l/optab.c
Import sources from 2011-03-30 iso image - lib
[plan9front.git] / sys / src / cmd / 2l / optab.c
1 #include        "l.h"
2
3 #define X1      0
4 #define X2      0
5 #define X3      0
6 #define C       0xf200
7
8 Optab optab[] =
9 /*      as, fas, srcsp, dstsp, optype, opcode */
10 {
11         { AXXX },
12         { AABCD, AXXX, X1, X2, X3, 0x4e71 },
13         { AADDB, AXXX, 2, 0, 3, 0xd000, 0x5000,      0, 0x0600 },
14         { AADDL, AXXX, 4, 0, 3, 0xd080, 0x5080, 0xd1c0, 0x0680 },
15         { AADDW, AXXX, 2, 0, 3, 0xd040, 0x5040, 0xd0c0, 0x0640 },
16         { AADDXB },
17         { AADDXL },
18         { AADDXW },
19         { AADJSP },
20         { AANDB, AXXX, 2, 0, 9, 0xc000, 0xc100, 0x0200 },
21         { AANDL, AXXX, 4, 0, 9, 0xc080, 0xc180, 0x0280 },
22         { AANDW, AXXX, 2, 0, 9, 0xc040, 0xc140, 0x0240 },
23         { AASLB, AXXX, 0, 2, 12, 0xe100 },
24         { AASLL, AXXX, 0, 4, 12, 0xe180 },
25         { AASLW, AXXX, 0, 2, 12, 0xe140 },
26         { AASRB, AXXX, 0, 2, 12, 0xe000 },
27         { AASRL, AXXX, 0, 4, 12, 0xe080 },
28         { AASRW, AXXX, 0, 2, 12, 0xe040 },
29         { ABCASE, AXXX, 0, 0, 33 },
30         { ABCC, AXXX, 0, 0, 1, 0x6400 },
31         { ABCHG, AXXX, 2, 2, 27, 0x0140, 0x0840 },
32         { ABCLR, AXXX, 2, 2, 27, 0x0180, 0x0880 },
33         { ABCS, AXXX, 0, 0, 1, 0x6500 },
34         { ABEQ, AXXX, 0, 0, 1, 0x6700 },
35         { ABFCHG, AXXX, 0, 0, 24, 0xeac0 },
36         { ABFCLR, AXXX, 0, 0, 24, 0xecc0 },
37         { ABFEXTS, AXXX, 0, 0, 24, 0xebc0 },
38         { ABFEXTU, AXXX, 0, 0, 24, 0xe9c0 },
39         { ABFFFO, AXXX, 0, 0, 24, 0xedc0 },
40         { ABFINS, AXXX, 0, 0, 24, 0xefc0 },
41         { ABFSET, AXXX, 0, 0, 24, 0xeec0 },
42         { ABFTST, AXXX, 0, 0, 24, 0xe8c0 },
43         { ABGE, AXXX, 0, 0, 1, 0x6c00 },
44         { ABGT, AXXX, 0, 0, 1, 0x6e00 },
45         { ABHI, AXXX, 0, 0, 1, 0x6200 },
46         { ABKPT },
47         { ABLE, AXXX, 0, 0, 1, 0x6f00 },
48         { ABLS, AXXX, 0, 0, 1, 0x6300 },
49         { ABLT, AXXX, 0, 0, 1, 0x6d00 },
50         { ABMI, AXXX, 0, 0, 1, 0x6b00 },
51         { ABNE, AXXX, 0, 0, 1, 0x6600 },
52         { ABPL, AXXX, 0, 0, 1, 0x6a00 },
53         { ABRA, AXXX, 0, 0, 1, 0x6000 },
54         { ABSET, AXXX, 2, 2, 27, 0x01c0, 0x08c0 },
55         { ABSR, AXXX, 0, 0, 1, 0x6100, 0x4eb8 },
56         { ABTST, AXXX, 2, 2, 27, 0x0100, 0x0800 },
57         { ABVC, AXXX, 0, 0, 1, 0x6800 },
58         { ABVS, AXXX, 0, 0, 1, 0x6900 },
59         { ACALLM },
60         { ACAS2B },
61         { ACAS2L },
62         { ACAS2W },
63         { ACASB },
64         { ACASEW, AXXX, 0, 0, 32, 0x4efb, 0 },
65         { ACASL },
66         { ACASW },
67         { ACHK2B, AXXX, 2, 0, 31, 0x00c0, 0x0800 },
68         { ACHK2L, AXXX, 4, 0, 31, 0x04c0, 0x0800 },
69         { ACHK2W, AXXX, 2, 0, 31, 0x02c0, 0x0800 },
70         { ACHKL, AXXX, 4, 4, 26, 0x4100 },
71         { ACHKW, AXXX, 2, 2, 26, 0x4180 },
72         { ACLRB, AXXX, 0, -2, 5, 0x4200 },
73         { ACLRL, AXXX, 0, -4, 5, 0x4280 },
74         { ACLRW, AXXX, 0, -2, 5, 0x4240 },
75         { ACMP2B, AXXX, 2, 0, 31, 0x00c0, 0x0000 },
76         { ACMP2L, AXXX, 4, 0, 31, 0x04c0, 0x0000 },
77         { ACMP2W, AXXX, 2, 0, 31, 0x02c0, 0x0000 },
78         { ACMPB, AXXX, 2, 2, 7, 0xb000,      0, 0x0c00, 0xb108 },
79         { ACMPL, AXXX, 4, 4, 7, 0xb080, 0xb100, 0x0c80, 0xb188 },
80         { ACMPW, AXXX, 2, 2, 7, 0xb040, 0xb080, 0x0c40, 0xb148 },
81         { ADATA },
82         { ADBCC, AXXX, 0, 0, 15, 0x54c8 },
83         { ADBCS, AXXX, 0, 0, 15, 0x55c8 },
84         { ADBEQ, AXXX, 0, 0, 15, 0x57c8 },
85         { ADBF, AXXX, 0, 0, 15, 0x51c8 },
86         { ADBGE, AXXX, 0, 0, 15, 0x5cc8 },
87         { ADBGT, AXXX, 0, 0, 15, 0x5ec8 },
88         { ADBHI, AXXX, 0, 0, 15, 0x52c8 },
89         { ADBLE, AXXX, 0, 0, 15, 0x5fc8 },
90         { ADBLS, AXXX, 0, 0, 15, 0x53c8 },
91         { ADBLT, AXXX, 0, 0, 15, 0x5dc8 },
92         { ADBMI, AXXX, 0, 0, 15, 0x5bc8 },
93         { ADBNE, AXXX, 0, 0, 15, 0x56c8 },
94         { ADBPL, AXXX, 0, 0, 15, 0x5ac8 },
95         { ADBT, AXXX, 0, 0, 15, 0x50c8 },
96         { ADBVC, AXXX, 0, 0, 15, 0x58c8 },
97         { ADBVS, AXXX, 0, 0, 15, 0x59c8 },
98         { ADIVSL, AXXX, 4, 0, 14, 0x4c40, 0x0800 },
99         { ADIVSW, AXXX, 2, 0, 13, 0x81c0 },
100         { ADIVUL, AXXX, 4, 0, 14, 0x4c40, 0x0000 },
101         { ADIVUW, AXXX, 2, 0, 13, 0x80c0 },
102         { AEND },
103         { AEORB, AXXX, 2, 0, 10, 0xb100, 0x0a00 },
104         { AEORL, AXXX, 4, 0, 10, 0xb180, 0x0a80 },
105         { AEORW, AXXX, 2, 0, 10, 0xb140, 0x0a40 },
106         { AEXG },
107         { AEXTBL, AXXX, 0, 0, 11, 0x49c0 },
108         { AEXTBW, AXXX, 0, 0, 11, 0x4880 },
109         { AEXTWL, AXXX, 0, 0, 11, 0x48c0 },
110         { AFABSB, AXXX, 2, 0, 17, C, 0x0018, 0x5818 },
111         { AFABSD, AFABSL, 8, 0, 17, C, 0x0018, 0x5418 },
112         { AFABSF, AFABSL, 4, 0, 17, C, 0x0018, 0x4418 },
113         { AFABSL, AXXX, 4, 0, 17, C, 0x0018, 0x4018 },
114         { AFABSW, AXXX, 2, 0, 17, C, 0x0018, 0x5018 },
115         { AFACOSB, AXXX, 2, 0, 17, C, 0x001c, 0x581c },
116         { AFACOSD, AFACOSL, 8, 0, 17, C, 0x001c, 0x541c },
117         { AFACOSF, AFACOSL, 4, 0, 17, C, 0x001c, 0x441c },
118         { AFACOSL, AXXX, 4, 0, 17, C, 0x001c, 0x401c },
119         { AFACOSW, AXXX, 2, 0, 17, C, 0x001c, 0x501c },
120         { AFADDB, AXXX, 2, 0, 17, C, 0x0022, 0x5822 },
121         { AFADDD, AFADDL, 8, 0, 17, C, 0x0022, 0x5422 },
122         { AFADDF, AFADDL, 4, 0, 17, C, 0x0022, 0x4422 },
123         { AFADDL, AXXX, 4, 0, 17, C, 0x0022, 0x4022 },
124         { AFADDW, AXXX, 2, 0, 17, C, 0x0022, 0x5022 },
125         { AFASINB, AXXX, 2, 0, 17, C, 0x000c, 0x580c },
126         { AFASIND, AFASINL, 8, 0, 17, C, 0x000c, 0x540c },
127         { AFASINF, AFASINL, 4, 0, 17, C, 0x000c, 0x440c },
128         { AFASINL, AXXX, 4, 0, 17, C, 0x000c, 0x400c },
129         { AFASINW, AXXX, 2, 0, 17, C, 0x000c, 0x500c },
130         { AFATANB, AXXX, 2, 0, 17, C, 0x000a, 0x580a },
131         { AFATAND, AFATANL, 8, 0, 17, C, 0x000a, 0x540a },
132         { AFATANF, AFATANL, 4, 0, 17, C, 0x000a, 0x440a },
133         { AFATANHB, AXXX, 2, 0, 17, C, 0x000d, 0x580d },
134         { AFATANHD, AFATANHL, 8, 0, 17, C, 0x000d, 0x540d },
135         { AFATANHF, AFATANHL, 4, 0, 17, C, 0x000d, 0x440d },
136         { AFATANHL, AXXX, 4, 0, 17, C, 0x000d, 0x400d },
137         { AFATANHW, AXXX, 2, 0, 17, C, 0x000d, 0x500d },
138         { AFATANL, AXXX, 4, 0, 17, C, 0x000a, 0x400a },
139         { AFATANW, AXXX, 2, 0, 17, C, 0x000a, 0x500a },
140         { AFBEQ, AXXX, 0, 0, 18, C+0x81 },
141         { AFBF, AXXX, 0, 0, 18, C+0x8f },
142         { AFBGE, AXXX, 0, 0, 18, C+0x93 },
143         { AFBGT, AXXX, 0, 0, 18, C+0x92 },
144         { AFBLE, AXXX, 0, 0, 18, C+0x95 },
145         { AFBLT, AXXX, 0, 0, 18, C+0x94 },
146         { AFBNE, AXXX, 0, 0, 18, C+0x8e },
147         { AFBT, AXXX, 0, 0, 18, C+0x80 },
148         { AFCMPB, AXXX, 0, 2, 22, C, 0x0038, 0x5838 },
149         { AFCMPD, AFCMPL, 0, 8, 22, C, 0x0038, 0x5438 },
150         { AFCMPF, AFCMPL, 0, 4, 22, C, 0x0038, 0x4438 },
151         { AFCMPL, AXXX, 0, 4, 22, C, 0x0038, 0x4038 },
152         { AFCMPW, AXXX, 0, 2, 22, C, 0x0038, 0x5038 },
153         { AFCOSB, AXXX, 2, 0, 17, C, 0x001d, 0x581d },
154         { AFCOSD, AFCOSL, 8, 0, 17, C, 0x001d, 0x541d },
155         { AFCOSF, AFCOSL, 4, 0, 17, C, 0x001d, 0x441d },
156         { AFCOSHB, AXXX, 2, 0, 17, C, 0x0019, 0x5819 },
157         { AFCOSHD, AFCOSHL, 8, 0, 17, C, 0x0019, 0x5419 },
158         { AFCOSHF, AFCOSHL, 4, 0, 17, C, 0x0019, 0x4419 },
159         { AFCOSHL, AXXX, 4, 0, 17, C, 0x0019, 0x4019 },
160         { AFCOSHW, AXXX, 2, 0, 17, C, 0x0019, 0x5019 },
161         { AFCOSL, AXXX, 4, 0, 17, C, 0x001d, 0x401d },
162         { AFCOSW, AXXX, 2, 0, 17, C, 0x001d, 0x501d },
163         { AFDBEQ, AXXX, 0, 0, 19, C+0x48, 0x01 },
164         { AFDBF, AXXX, 0, 0, 19, C+0x48, 0x0f },
165         { AFDBGE, AXXX, 0, 0, 19, C+0x48, 0x13 },
166         { AFDBGT, AXXX, 0, 0, 19, C+0x48, 0x12 },
167         { AFDBLE, AXXX, 0, 0, 19, C+0x48, 0x15 },
168         { AFDBLT, AXXX, 0, 0, 19, C+0x48, 0x14 },
169         { AFDBNE, AXXX, 0, 0, 19, C+0x48, 0x0e },
170         { AFDBT, AXXX, 0, 0, 19, C+0x48, 0x00 },
171         { AFDIVB, AXXX, 2, 0, 17, C, 0x0020, 0x5820 },
172         { AFDIVD, AFDIVL, 8, 0, 17, C, 0x0020, 0x5420 },
173         { AFDIVF, AFDIVL, 4, 0, 17, C, 0x0020, 0x4420 },
174         { AFDIVL, AXXX, 4, 0, 17, C, 0x0020, 0x4020 },
175         { AFDIVW, AXXX, 2, 0, 17, C, 0x0020, 0x5020 },
176         { AFETOXB, AXXX, 2, 0, 17, C, 0x0010, 0x5810 },
177         { AFETOXD, AFETOXL, 8, 0, 17, C, 0x0010, 0x5410 },
178         { AFETOXF, AFETOXL, 4, 0, 17, C, 0x0010, 0x4410 },
179         { AFETOXL, AXXX, 4, 0, 17, C, 0x0010, 0x4010 },
180         { AFETOXM1B, AXXX, 2, 0, 17, C, 0x0008, 0x5808 },
181         { AFETOXM1D, AFETOXM1L, 8, 0, 17, C, 0x0008, 0x5408 },
182         { AFETOXM1F, AFETOXM1L, 4, 0, 17, C, 0x0008, 0x4408 },
183         { AFETOXM1L, AXXX, 4, 0, 17, C, 0x0008, 0x4008 },
184         { AFETOXM1W, AXXX, 2, 0, 17, C, 0x0008, 0x5008 },
185         { AFETOXW, AXXX, 2, 0, 17, C, 0x0010, 0x5010 },
186         { AFGETEXPB, AXXX, 2, 0, 17, C, 0x001e, 0x581e },
187         { AFGETEXPD, AFGETEXPL, 8, 0, 17, C, 0x001e, 0x541e },
188         { AFGETEXPF, AFGETEXPL, 4, 0, 17, C, 0x001e, 0x441e },
189         { AFGETEXPL, AXXX, 4, 0, 17, C, 0x001e, 0x401e },
190         { AFGETEXPW, AXXX, 2, 0, 17, C, 0x001e, 0x501e },
191         { AFGETMANB, AXXX, 2, 0, 17, C, 0x001f, 0x581f },
192         { AFGETMAND, AFGETMANL, 8, 0, 17, C, 0x001f, 0x541f },
193         { AFGETMANF, AFGETMANL, 4, 0, 17, C, 0x001f, 0x441f },
194         { AFGETMANL, AXXX, 4, 0, 17, C, 0x001f, 0x401f },
195         { AFGETMANW, AXXX, 2, 0, 17, C, 0x001f, 0x501f },
196         { AFINTB, AXXX, 2, 0, 17, C, 0x0001, 0x5801 },
197         { AFINTD, AFINTL, 8, 0, 17, C, 0x0001, 0x5401 },
198         { AFINTF, AFINTL, 4, 0, 17, C, 0x0001, 0x4401 },
199         { AFINTL, AXXX, 4, 0, 17, C, 0x0001, 0x4001 },
200         { AFINTRZB, AXXX, 2, 0, 17, C, 0x0003, 0x5803 },
201         { AFINTRZD, AFINTRZL, 8, 0, 17, C, 0x0003, 0x5403 },
202         { AFINTRZF, AFINTRZL, 4, 0, 17, C, 0x0003, 0x4403 },
203         { AFINTRZL, AXXX, 4, 0, 17, C, 0x0003, 0x4003 },
204         { AFINTRZW, AXXX, 2, 0, 17, C, 0x0003, 0x5003 },
205         { AFINTW, AXXX, 2, 0, 17, C, 0x0001, 0x5001 },
206         { AFLOG10B, AXXX, 2, 0, 17, C, 0x0015, 0x5815 },
207         { AFLOG10D, AFLOG10L, 8, 0, 17, C, 0x0015, 0x5415 },
208         { AFLOG10F, AFLOG10L, 4, 0, 17, C, 0x0015, 0x4415 },
209         { AFLOG10L, AXXX, 4, 0, 17, C, 0x0015, 0x4015 },
210         { AFLOG10W, AXXX, 2, 0, 17, C, 0x0015, 0x5015 },
211         { AFLOG2B, AXXX, 2, 0, 17, C, 0x0016, 0x5816 },
212         { AFLOG2D, AFLOG2L, 8, 0, 17, C, 0x0016, 0x5416 },
213         { AFLOG2F, AFLOG2L, 4, 0, 17, C, 0x0016, 0x4416 },
214         { AFLOG2L, AXXX, 4, 0, 17, C, 0x0016, 0x4016 },
215         { AFLOG2W, AXXX, 2, 0, 17, C, 0x0016, 0x5016 },
216         { AFLOGNB, AXXX, 2, 0, 17, C, 0x0014, 0x5814 },
217         { AFLOGND, AFLOGNL, 8, 0, 17, C, 0x0014, 0x5414 },
218         { AFLOGNF, AFLOGNL, 4, 0, 17, C, 0x0014, 0x4414 },
219         { AFLOGNL, AXXX, 4, 0, 17, C, 0x0014, 0x4014 },
220         { AFLOGNP1B, AXXX, 2, 0, 17, C, 0x0006, 0x5806 },
221         { AFLOGNP1D, AFLOGNP1L, 8, 0, 17, C, 0x0006, 0x5406 },
222         { AFLOGNP1F, AFLOGNP1L, 4, 0, 17, C, 0x0006, 0x4406 },
223         { AFLOGNP1L, AXXX, 4, 0, 17, C, 0x0006, 0x4006 },
224         { AFLOGNP1W, AXXX, 2, 0, 17, C, 0x0006, 0x5006 },
225         { AFLOGNW, AXXX, 2, 0, 17, C, 0x0014, 0x5014 },
226         { AFMODB, AXXX, 2, 0, 17, C, 0x0021, 0x5821 },
227         { AFMODD, AFMODL, 8, 0, 17, C, 0x0021, 0x5421 },
228         { AFMODF, AFMODL, 4, 0, 17, C, 0x0021, 0x4421 },
229         { AFMODL, AXXX, 4, 0, 17, C, 0x0021, 0x4021 },
230         { AFMODW, AXXX, 2, 0, 17, C, 0x0021, 0x5021 },
231         { AFMOVEB, AXXX, 2, -2, 16, C, 0x0000, 0x7800, 0x5800 },
232         { AFMOVED, AFMOVEL, 8, -8, 16, C, 0x0000, 0x7400, 0x5400 },
233         { AFMOVEF, AFMOVEL, 4, -4, 16, C, 0x0000, 0x6400, 0x4400 },
234         { AFMOVEL, AXXX, 4, -4, 16, C, 0x0000, 0x6000, 0x4000 },
235         { AFMOVEM, AXXX, 2, 2, 28, C },
236         { AFMOVEMC, AXXX, 2, 2, 29, C },
237         { AFMOVEW, AXXX, 2, -2, 16, C, 0x0000, 0x7000, 0x5000 },
238         { AFMULB, AXXX, 2, 0, 17, C, 0x0023, 0x5823 },
239         { AFMULD, AFMULL, 8, 0, 17, C, 0x0023, 0x5423 },
240         { AFMULF, AFMULL, 4, 0, 17, C, 0x0023, 0x4423 },
241         { AFMULL, AXXX, 4, 0, 17, C, 0x0023, 0x4023 },
242         { AFMULW, AXXX, 2, 0, 17, C, 0x0023, 0x5023 },
243         { AFNEGB, AXXX, 2, 0, 21, C, 0x001a, 0x581a },
244         { AFNEGD, AFNEGL, 8, 0, 21, C, 0x001a, 0x541a },
245         { AFNEGF, AFNEGL, 4, 0, 21, C, 0x001a, 0x441a },
246         { AFNEGL, AXXX, 4, 0, 21, C, 0x001a, 0x401a },
247         { AFNEGW, AXXX, 2, 0, 21, C, 0x001a, 0x501a },
248         { AFREMB, AXXX, 2, 0, 17, C, 0x0025, 0x5825 },
249         { AFREMD, AFREML, 8, 0, 17, C, 0x0025, 0x5425 },
250         { AFREMF, AFREML, 4, 0, 17, C, 0x0025, 0x4425 },
251         { AFREML, AXXX, 4, 0, 17, C, 0x0025, 0x4025 },
252         { AFREMW, AXXX, 2, 0, 17, C, 0x0025, 0x5025 },
253         { AFRESTORE, AXXX, 0, 2, 5, C+0x0140 },
254         { AFSAVE, AXXX, 0, 2, 5, C+0x0100 },
255         { AFSCALEB, AXXX, 2, 0, 17, C, 0x0026, 0x5826 },
256         { AFSCALED, AFSCALEL, 8, 0, 17, C, 0x0026, 0x5426 },
257         { AFSCALEF, AFSCALEL, 4, 0, 17, C, 0x0026, 0x4426 },
258         { AFSCALEL, AXXX, 4, 0, 17, C, 0x0026, 0x4026 },
259         { AFSCALEW, AXXX, 2, 0, 17, C, 0x0026, 0x5026 },
260         { AFSEQ, AXXX, X1, X2, X3, 0xffff },
261         { AFSF, AXXX, 4, X2, X3, 0xffff },
262         { AFSGE, AXXX, X1, X2, X3, 0xffff },
263         { AFSGT, AXXX, X1, X2, X3, 0xffff },
264         { AFSINB, AXXX, 2, 0, 17, C, 0x000e, 0x580e },
265         { AFSIND, AFSINL, 8, 0, 17, C, 0x000e, 0x540e },
266         { AFSINF, AFSINL, 4, 0, 17, C, 0x000e, 0x440e },
267         { AFSINHB, AXXX, 2, 0, 17, C, 0x0002, 0x5802 },
268         { AFSINHD, AFSINHL, 8, 0, 17, C, 0x0002, 0x5402 },
269         { AFSINHF, AFSINHL, 4, 0, 17, C, 0x0002, 0x4402 },
270         { AFSINHL, AXXX, 4, 0, 17, C, 0x0002, 0x4002 },
271         { AFSINHW, AXXX, 2, 0, 17, C, 0x0002, 0x5002 },
272         { AFSINL, AXXX, 4, 0, 17, C, 0x000e, 0x400e },
273         { AFSINW, AXXX, 2, 0, 17, C, 0x000e, 0x500e },
274         { AFSLE, AXXX, X1, X2, X3, 0xffff },
275         { AFSLT, AXXX, X1, X2, X3, 0xffff },
276         { AFSNE, AXXX, X1, X2, X3, 0xffff },
277         { AFSQRTB, AXXX, 2, 0, 17, C, 0x0004, 0x5804 },
278         { AFSQRTD, AFSQRTL, 8, 0, 17, C, 0x0004, 0x5404 },
279         { AFSQRTF, AFSQRTL, 4, 0, 17, C, 0x0004, 0x4404 },
280         { AFSQRTL, AXXX, 4, 0, 17, C, 0x0004, 0x4004 },
281         { AFSQRTW, AXXX, 2, 0, 17, C, 0x0004, 0x5004 },
282         { AFST, AXXX, X1, X2, X3, 0xffff },
283         { AFSUBB, AXXX, 2, 0, 17, C, 0x0028, 0x5828 },
284         { AFSUBD, AFSUBL, 8, 0, 17, C, 0x0028, 0x5428 },
285         { AFSUBF, AFSUBL, 4, 0, 17, C, 0x0028, 0x4428 },
286         { AFSUBL, AXXX, 4, 0, 17, C, 0x0028, 0x4028 },
287         { AFSUBW, AXXX, 2, 0, 17, C, 0x0028, 0x5028 },
288         { AFTANB, AXXX, 2, 0, 17, C, 0x000f, 0x580f },
289         { AFTAND, AFTANL, 8, 0, 17, C, 0x000f, 0x540f },
290         { AFTANF, AFTANL, 4, 0, 17, C, 0x000f, 0x440f },
291         { AFTANHB, AXXX, 2, 0, 17, C, 0x0009, 0x5809 },
292         { AFTANHD, AFTANHL, 8, 0, 17, C, 0x0009, 0x5409 },
293         { AFTANHF, AFTANHL, 4, 0, 17, C, 0x0009, 0x4409 },
294         { AFTANHL, AXXX, 4, 0, 17, C, 0x0009, 0x4009 },
295         { AFTANHW, AXXX, 2, 0, 17, C, 0x0009, 0x5009 },
296         { AFTANL, AXXX, 4, 0, 17, C, 0x000f, 0x400f },
297         { AFTANW, AXXX, 2, 0, 17, C, 0x000f, 0x500f },
298         { AFTENTOXB, AXXX, 2, 0, 17, C, 0x0012, 0x5812 },
299         { AFTENTOXD, AFTENTOXL, 8, 0, 17, C, 0x0012, 0x5412 },
300         { AFTENTOXF, AFTENTOXL, 4, 0, 17, C, 0x0012, 0x4412 },
301         { AFTENTOXL, AXXX, 4, 0, 17, C, 0x0012, 0x4012 },
302         { AFTENTOXW, AXXX, 2, 0, 17, C, 0x0012, 0x5012 },
303         { AFTSTB, AXXX, 0, 2, 20, C, 0x003a, 0x583a },
304         { AFTSTD, AFTSTL, 0, 8, 20, C, 0x003a, 0x543a },
305         { AFTSTF, AFTSTL, 0, 4, 20, C, 0x003a, 0x443a },
306         { AFTSTL, AXXX, 0, 4, 20, C, 0x003a, 0x403a },
307         { AFTSTW, AXXX, 0, 2, 20, C, 0x003a, 0x503a },
308         { AFTWOTOXB, AXXX, 2, 0, 17, C, 0x0011, 0x5811 },
309         { AFTWOTOXD, AFTWOTOXL, 8, 0, 17, C, 0x0011, 0x5411 },
310         { AFTWOTOXF, AFTWOTOXL, 4, 0, 17, C, 0x0011, 0x4411 },
311         { AFTWOTOXL, AXXX, 4, 0, 17, C, 0x0011, 0x4011 },
312         { AFTWOTOXW, AXXX, 2, 0, 17, C, 0x0011, 0x5011 },
313         { AGLOBL },
314         { AGOK },
315         { AHISTORY },
316         { AILLEG, AXXX, 0, 0, 4, 0x4efc },
317         { AINSTR },
318         { AJMP, AXXX, 0, 0, 5, 0x4ec0 },
319         { AJSR, AXXX, 0, 0, 5, 0x4e80 },
320         { ALEA, AXXX, 0, 0, 6, 0x41c0 },
321         { ALINKL },
322         { ALINKW },
323         { ALOCATE },
324         { ALONG, AXXX, 0, 4, 23 },
325         { ALSLB, AXXX, 0, 2, 12, 0xe108 },
326         { ALSLL, AXXX, 0, 4, 12, 0xe188 },
327         { ALSLW, AXXX, 0, 2, 12, 0xe148 },
328         { ALSRB, AXXX, 0, 2, 12, 0xe008 },
329         { ALSRL, AXXX, 0, 4, 12, 0xe088 },
330         { ALSRW, AXXX, 0, 2, 12, 0xe048 },
331         { AMOVB, AXXX, 2, -2, 2, 0x1000, 0x7000 },
332         { AMOVEM, AXXX, 2, 2, 25, 0x48c0 },
333         { AMOVEPL },
334         { AMOVEPW },
335         { AMOVESB, AXXX, 2, -2, 34, 0xe00 },
336         { AMOVESL, AXXX, 4, -4, 34, 0xe80 },
337         { AMOVESW, AXXX, 2, -2, 34, 0xe40 },
338         { AMOVL, AXXX, 4, -4, 2, 0x2000, 0x7000 },
339         { AMOVW, AXXX, 2, -2, 2, 0x3000, 0x7000 },
340         { AMULSL, AXXX, 4, 0, 14, 0x4c00, 0x0800 },
341         { AMULSW, AXXX, 2, 0, 13, 0xc1c0 },
342         { AMULUL, AXXX, 4, 0, 14, 0x4c00, 0x0000 },
343         { AMULUW, AXXX, 2, 0, 13, 0xc0c0 },
344         { ANAME },
345         { ANBCD },
346         { ANEGB, AXXX, 0, 0, 5, 0x4400 },
347         { ANEGL, AXXX, 0, 0, 5, 0x4480 },
348         { ANEGW, AXXX, 0, 0, 5, 0x4440 },
349         { ANEGXB },
350         { ANEGXL },
351         { ANEGXW },
352         { ANOP },
353         { ANOTB, AXXX, 0, 0, 5, 0x4600 },
354         { ANOTL, AXXX, 0, 0, 5, 0x4680 },
355         { ANOTW, AXXX, 0, 0, 5, 0x4640 },
356         { AORB, AXXX, 2, 0, 9, 0x8000, 0x8100, 0x0000 },
357         { AORL, AXXX, 4, 0, 9, 0x8080, 0x8180, 0x0080 },
358         { AORW, AXXX, 2, 0, 9, 0x8040, 0x8140, 0x0040 },
359         { APACK },
360         { APEA, AXXX, 0, 0, 5, 0x4840 },
361         { ARESET },
362         { AROTLB, AXXX, 0, 2, 12, 0xe118 },
363         { AROTLL, AXXX, 0, 4, 12, 0xe198 },
364         { AROTLW, AXXX, 0, 2, 12, 0xe158 },
365         { AROTRB, AXXX, 0, 2, 12, 0xe018 },
366         { AROTRL, AXXX, 0, 4, 12, 0xe098 },
367         { AROTRW, AXXX, 0, 2, 12, 0xe058 },
368         { AROXLB },
369         { AROXLL },
370         { AROXLW },
371         { AROXRB },
372         { AROXRL },
373         { AROXRW },
374         { ARTD },
375         { ARTE, AXXX, 0, 0, 4, 0x4e73 },
376         { ARTM },
377         { ARTR },
378         { ARTS, AXXX, 0, 0, 4, 0x4e75 },
379         { ASBCD },
380         { ASCC },
381         { ASCS },
382         { ASEQ },
383         { ASF },
384         { ASGE },
385         { ASGT },
386         { ASHI },
387         { ASLE },
388         { ASLS },
389         { ASLT },
390         { ASMI },
391         { ASNE },
392         { ASPL },
393         { AST },
394         { ASTOP },
395         { ASUBB, AXXX, 2, 0, 3, 0x9000, 0x5100,      0, 0x0400 },
396         { ASUBL, AXXX, 4, 0, 3, 0x9080, 0x5180, 0x91c0, 0x0480 },
397         { ASUBW, AXXX, 2, 0, 3, 0x9040, 0x5140, 0x90c0, 0x0440 },
398         { ASUBXB },
399         { ASUBXL },
400         { ASUBXW },
401         { ASVC },
402         { ASVS },
403         { ASWAP, AXXX, 0, 0, 35, 0x4840 },
404         { ASYS, AXXX, 0, 2, 8, 0x4e40 },
405         { ATAS, AXXX, 0, 2, 5, 0x4ac0 },
406         { ATEXT },
407         { ATRAP, AXXX, 0, 0, 30, 0x4e40 },
408         { ATRAPCC, AXXX, 0, 0, 4, 0x54fc },
409         { ATRAPCS, AXXX, 0, 0, 4, 0x55fc },
410         { ATRAPEQ, AXXX, 0, 0, 4, 0x57fc },
411         { ATRAPF, AXXX, 0, 0, 4, 0x51fc },
412         { ATRAPGE, AXXX, 0, 0, 4, 0x5cfc },
413         { ATRAPGT, AXXX, 0, 0, 4, 0x5efc },
414         { ATRAPHI, AXXX, 0, 0, 4, 0x52fc },
415         { ATRAPLE, AXXX, 0, 0, 4, 0x5ffc },
416         { ATRAPLS, AXXX, 0, 0, 4, 0x53fc },
417         { ATRAPLT, AXXX, 0, 0, 4, 0x5dfc },
418         { ATRAPMI, AXXX, 0, 0, 4, 0x5bfc },
419         { ATRAPNE, AXXX, 0, 0, 4, 0x56fc },
420         { ATRAPPL, AXXX, 0, 0, 4, 0x5afc },
421         { ATRAPT, AXXX, 0, 0, 4, 0x50fc },
422         { ATRAPV, AXXX, 0, 0, 4, 0x4e76 },
423         { ATRAPVC, AXXX, 0, 0, 4, 0x58fc },
424         { ATRAPVS, AXXX, 0, 0, 4, 0x59fc },
425         { ATSTB, AXXX, 0, 2, 5, 0x4a00 },
426         { ATSTL, AXXX, 0, 4, 5, 0x4a80 },
427         { ATSTW, AXXX, 0, 2, 5, 0x4a40 },
428         { AUNLK },
429         { AUNPK },
430         { AWORD, AXXX, 0, 2, 23 },
431         { AXXX }
432 };
433
434 char    mmsize[] =
435 {
436         /*  0 */        0, 2, 2, 2, 2,
437         /*  5 */        2, 2, 2, 4, 2,
438         /* 10 */        2, 2, 2, 2, 4,
439         /* 15 */        4, 4, 4, 4, 6,
440         /* 20 */        4, 4, 4, 0, 4,
441         /* 25 */        2, 2, 2, 2, 2,
442         /* 30 */        2, 4, 4, 0, 4,
443         /* 35 */        2, 0, 0, 0, 0,
444 };